Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add chenyuxiaojin/video-agent-skills --skill video-agent-editorgit clone --depth 1 https://github.com/chenyuxiaojin/video-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/chenyuxiaojin/video-agent-skills/video-agent-editor)<a href="https://agentmods.dev/skills/chenyuxiaojin/video-agent-skills/video-agent-editor"><img src="https://agentmods.dev/badge/skills/chenyuxiaojin/video-agent-skills/video-agent-editor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/chenyuxiaojin/video-agent-skills/video-agent-editor"><img src="https://agentmods.dev/badge/skills/chenyuxiaojin/video-agent-skills/video-agent-editor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00108 | $0.02316 |
| Opus 5 | $0.00054 | $0.01158 |
| Sonnet 5 | $0.00022 | $0.00463 |
| Haiku 4.5 | $0.00011 | $0.00232 |
Grade A, and why
video-agent-editor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 259 lines — stays where its author put it; the contents beside it link to each section on GitHub.
video-agent-editor(剪辑师)
职责边界
- ✅ 读取视觉时间轴,将所有素材导入达芬奇
- ✅ 创建多轨时间轴(视频轨、音频轨、字幕轨)
- ✅ 处理"后期制作"标记的镜头(生成文字/数据占位素材)
- ✅ 为静态图片添加 Ken Burns 效果
- ✅ 添加字幕和基础转场
- ❌ 设计画面内容(分镜师负责)
- ❌ 搜索或生成素材(美术师负责)
- ❌ 配音(配音师负责)
输入 → 输出
- 输入:
visual-timeline.json(美术师产出)audio/voiceover.mp3audio/subtitles.srtvisuals/*.png(美术师下载/生成的素材)storyboard.md(参考,用于后期制作镜头的细节)
- 输出:
- DaVinci Resolve 项目(通过 API 直接创建)
editor-report.md(剪辑报告)
轨道结构
| 轨道 | 类型 | 内容 |
|---|---|---|
| V1 | 视频 | 图片/视频素材(按 visual-timeline.json 排列) |
| V2 | 视频 | 文字动效占位素材(后期替换) |
| V3 | 视频 | 数据动效/图表占位素材(后期替换) |
| A1 | 音频 | voiceover.mp3 |
| A2 | 音频 | BGM 预留轨(留空) |
| Subtitle | 字幕 | 根据 subtitles.srt 生成 |
执行步骤
步骤 1:预处理后期制作镜头
读取 visual-timeline.json,找出所有 acquire_method: "post_production" 的镜头。
为每个后期镜头生成一个占位素材(纯色背景 + 白色文字说明)。
python scripts/generate_placeholders.py <project>/visual-timeline.json <project>/visuals/
占位素材规则:
- 文字动效(文字):黑色背景,居中白色文字显示画面描述
- 数据动效(数据):深蓝背景,白色文字显示"数据图表:" + 描述
- 分屏(分屏):灰色背景,用线条分割区域,标注各区域内容
占位素材命名:visuals/placeholder_XXX.png(XXX 为镜头编号)
这些占位素材的作用是让你在达芬奇里能直接看到每个镜头的位置和内容,后续手动替换为正式的动效。
步骤 2:导入达芬奇
达芬奇必须处于运行状态。
python scripts/import_to_resolve.py <project_dir>
脚本执行流程:
import DaVinciResolveScript as dvr_script
# 1. 连接达芬奇
resolve = dvr_script.scriptapp("Resolve")
projectManager = resolve.GetProjectManager()
# 2. 创建项目
project = projectManager.CreateProject("视频标题")
project.SetSetting("timelineFrameRate", "30")
project.SetSetting("timelineResolutionWidth", "1920")
project.SetSetting("timelineResolutionHeight", "1080")
# 3. 导入素材到 Media Pool
mediaPool = project.GetMediaPool()
mediaStorage = resolve.GetMediaStorage()
# 导入所有视觉素材
visual_clips = mediaStorage.AddItemsToMediaPool("/path/to/visuals/")
# 导入音频
audio_clips = mediaStorage.AddItemsToMediaPool("/path/to/audio/voiceover.mp3")
# 4. 创建时间轴
timeline = mediaPool.CreateEmptyTimeline("主时间轴")
# 5. 按 visual-timeline.json 顺序添加素材到时间轴
for visual in timeline_data["visuals"]:
clip_info = {
"mediaPoolItem": find_clip_by_name(visual["file"]),
"trackIndex": get_track_index(visual), # V1/V2/V3
"startFrame": time_to_frame(visual["start_time"]),
"endFrame": time_to_frame(visual["end_time"])
}
mediaPool.AppendToTimeline([clip_info])
# 6. 添加音频到 A1 轨
# 7. 添加字幕
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 259 lines · 108 tokens per session scan A ccaa9984d2e2
video-agent-editor is a skill published in the GitHub repository chenyuxiaojin/video-agent-skills (9 stars, last pushed 3mo ago), licensed MIT. It adds 108 tokens to every session and 2,316 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
suggest-sfx
The SFX pass. Analyze a short's beats + narration and propose tasteful sound effects synced to them, drawing from (and growing) a shared, reusable SFX library, then render an SFX-mixed audition preview. Use when the user wants to "add SFX / sound effects", "suggest sfx", "score the transitions", "sound-design this…
make-ai-short
Build a GENERATIVE-pixels vertical short (1080×1920, 35-40s) end-to-end — a recurring locked character animated by a fal video model (Seedance 1.5 Pro default) under a philosophical/story VO, composited in Remotion with word-synced captions, SFX audition, seamless frame-0==last-frame loop. Use when the user wants to…
make-short
Build a fully-synthetic vertical short (1080×1920, 40s) end-to-end from a topic — script + beats.json, linked TSX beats over a persistent canvas, phone-scale QA, render, ElevenLabs voice with exact word-synced captions, SFX audition, optional music bed. Use when the user wants to "make a short", "create a shorts…
make-vox
Build a Vox-style LAYERED-COLLAGE vertical short end-to-end — script + scene dissection into image layers, layer production (AI images via genimage.py + cutout.py, HTML→PNG, SVG-in-TSX), choreographed TSX assembly on the collage kit (CollageBoard camera, parallax, cutouts, chips, routes), frame QA, render, then…
talking-head-edit
Edit interviews, lessons, commentary, podcasts, and direct-to-camera recordings built around speech. Use it to remove dead air, filler words, false starts, repeated lines, and discarded retakes while preserving natural delivery and keeping captions aligned. When the user asks for visual enhancement, also use it for…
montage-edit
Discover the governing emotion and visual motifs in a body of footage, then compose a montage whose image, rhythm, sound, and text form one intentional experience.