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 zenstory-ai/video-recap-skills --skill video-assemblegit clone --depth 1 https://github.com/zenstory-ai/video-recap-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/zenstory-ai/video-recap-skills/video-assemble)<a href="https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-assemble"><img src="https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-assemble/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/zenstory-ai/video-recap-skills/video-assemble"><img src="https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-assemble.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00109 | $0.02010 |
| Opus 5 | $0.00055 | $0.01005 |
| Sonnet 5 | $0.00022 | $0.00402 |
| Haiku 4.5 | $0.00011 | $0.00201 |
Grade A, and why
video-assemble 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 13d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- video-assemble — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.
1. 定位
本技能负责最终合成:
- 把各段旁白音频放到视频时间线上。
- 在旁白窗口内压低原声,支持 fixed / sidechain / zone 模式。
- 根据旁白位置生成
subtitles.srt;默认同时生成并烧录subtitles.ass,--no-burn-subtitles可关闭。 - 可选把最终响度标准化到目标 LUFS。
2. 声音收尾契约
合成阶段只实现创作决定,不凭空制造决定。Agent 在写旁白位置前,已在 visual_audio_board.json 为每个 beat 指定 audio_owner:
original_dialogueaction_soundambience/musicsilencenarration
因此,旁白间隙是主动选择,不是必须填满的空白。不要为了“更满”而加入通用 BGM、压住必须听见的台词或消除有意义的沉默。
当前渲染器不解析 visual_audio_board.json;Agent 通过旁白时间、overlaps_speech、原声留白与现有混音参数落实这些决定。
3. 输入契约
<video>:源视频;cut 模式下为edited_source.mp4。work_dir/tts_meta.json:配音阶段写出的{segments: [...]}。每段包含audio_path、时间、pause_after_ms、overlaps_speech和用于混音/字幕的位置。
下面的 scripts/... 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。脚本不从其他技能目录读取文件;外部输入仅限命令显式传入的视频、参数与 work_dir 产物。
4. 运行命令
python3 scripts/assemble.py <video> --work-dir <work_dir> \
[--recap-stem <name>] [--output-dir <dir>] [--no-burn-subtitles] \
[--subtitle-y-top <inclusive-y> --subtitle-y-bot <exclusive-y>] \
[--source-video <orig.mp4>] [--export-jianying [--jianying-out <dir>]]
5. 输出契约
recap_<stem>.mp4:稳定的最终输出别名;每次运行覆盖更新。work_dir/output.mp4:工作目录内成片。subtitles.srt:旁白字幕;烧录时另有subtitles.ass。timeline.json:后端无关的多轨模型,包含视频、原声、旁白、BGM、字幕和 ducking 自动化。_placed_*.wav:实际写入主混音的完整逐段旁白 PCM;时间线与剪映只引用这些文件。assembly_manifest.json:输入来源、cut 来源指纹、渲染设置与最终输出路径。assembly_qc.json:旁白完整性、原声句末交接、时间线素材时长与交付质量的发布门禁。- 剪映草稿目录:仅
--export-jianying时生成,包含draft_content.json、draft_info.json与draft_meta_info.json。
6. 合成规则
- 音频按轨道混合:原声、可选 BGM 与旁白各自独立。
- 旁白不做任何容差裁尾;温和加速后仍放不下即
no_safe_fit。每段_placed_*.wav必须与序列化后的时间线区间等长或更短,否则timeline_audio_mismatch阻断。 - 原声在旁白结束后保持压低到下一可靠句末的
pause_start,只在实测停顿内渐强, 于source_restore_at回满;无后续锚点时保持压低到时间线末端,而不是放出半句。 --export-jianying/EXPORT_JIANYING=1可把timeline.json导出为可编辑草稿。cut 模式应传--source-video <orig>,让草稿引用真实原片区间。- 剪映导出默认把视频、音频与图片复制到
Resources/local/{video,audio,image},保持草稿可搬迁;--jianying-no-bundle-media只适合原路径始终可访问的情况。 - 重叠覆盖物会拆到编号轨道;非空目标目录不会覆盖,而会创建编号兄弟目录。
- 常速、倒放、变换、富文本、转场、蒙版、LUT、绿幕复合草稿及显式特效轨道通过 timeline v2 扩展表达。需要素材包的功能只接受调用方合法提供的离线资源。
- 剪映草稿引用未烧录的源视频,因此原片硬字幕仍会保留,必要时在剪映内另行遮罩。
- 字幕外观可用
SUBTITLE_FONT_SIZE、SUBTITLE_MARGIN_V、SUBTITLE_MAX_CHARS等控制。 SUBTITLE_Y_TOP/BOT把 ASS 基线放到测得的原片字幕区域,坐标为半开[top, bot);显式遮罩策略下默认SUBTITLE_MASK_OPACITY=0.6,SOURCE_SUBTITLE_MASK_TIMING=narration。- 原声在旁白间隙回到
IDLE_ORIG_VOLUME,旁白下压到SPEECH_DUCKING_VOLUME;DUCK_FADE_SECONDS控制过渡。还可配置DUCKING_MODE、ZONE_DUCKING_VOLUME、FINAL_LOUDNORM与TARGET_LUFS。 - 可通过
BGM_PATH指定 BGM;它会循环到成片长度,并按BGM_VOLUME/BGM_DUCKING_VOLUME混音。不要在没有创作依据时设置通用 BGM。 - 烧录字幕需要带
subtitles/ libass 的 ffmpeg;合成阶段会预检并在缺失时明确失败。 - 原声留白中的对白字幕优先读取 Agent 校对的
original_subtitles.json;否则保守映射 ASR。只有遮罩覆盖留白或用户字幕明确要求替换时才烧录原声对白,并用「」与旁白区分。
What ships with it
39 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.
- references/jianying/empty_draft_meta_info.json 1.7 KB
- references/jianying/empty_jy_combination_segment.json 1.6 KB
- references/jianying/empty_jy_combination_video_material.json 2.2 KB
- references/jianying/empty_jy_draft.json 5.4 KB
- references/jianying/empty_jy_material_video.json 1.8 KB
- references/jianying/empty_jy_meta_material_value.json 358 B
- references/jianying/empty_jy_project_info.json 3.6 KB
- references/jianying/empty_jy_segment.json 1.3 KB
- references/jianying/empty_jy_text_styles.json 440 B
- references/jianying/empty_yj_material_audio.json 865 B
- references/jianying/empty_yj_material_text.json 2.4 KB
- references/jianying/LICENSE.duo-video 1.0 KB
- references/jianying/SOURCE.md 728 B
- scripts/artifacts.py 2.7 KB runs code
- scripts/assemble_constants.py 1.0 KB runs code
- scripts/assemble.py 16 KB runs code
- scripts/assembly_contract.py 11 KB runs code
- scripts/assembly_settings.py 4.4 KB runs code
- scripts/audio_automation.py 6.7 KB runs code
- scripts/audio_mix.py 19 KB runs code
- scripts/export_jianying.py 8.7 KB runs code
- scripts/jianying_builders.py 31 KB runs code
- scripts/jianying_model.py 3.7 KB runs code
- scripts/jianying_optional.py 1013 B runs code
- scripts/jianying_schema.py 5.6 KB runs code
- scripts/jianying_templates.py 1.2 KB runs code
- scripts/jianying_timeline_contract.py 8.5 KB runs code
- scripts/jianying_tracks.py 2.6 KB runs code
- scripts/jianying_writer.py 15 KB runs code
- scripts/lib.py 13 KB runs code
- scripts/media.py 8.5 KB runs code
- scripts/narration_audio.py 18 KB runs code
- scripts/render_preflight.py 1.3 KB runs code
- scripts/source_subtitles.py 19 KB runs code
- scripts/subtitle_core.py 13 KB runs code
- scripts/subtitle_render.py 3.3 KB runs code
- scripts/timeline_emit.py 3.6 KB runs code
- scripts/timeline.py 10 KB runs code
- scripts/visual_render.py 16 KB runs code
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.
- 13d ago First seen · 98 lines · 109 tokens per session scan A e0771facf681
video-assemble is a skill published in the GitHub repository zenstory-ai/video-recap-skills (505 stars, last pushed yesterday), licensed MIT. It adds 109 tokens to every session and 2,010 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-30.
Other skills, from other repositories
narrator-ai-cli
A command-line client for creating AI-narrated movie and short-drama videos. It can guide a workflow from selecting source material, templates, music, and voices to writing narration and combining the video.
narrator-ai-cli
Create AI-narrated film/drama commentary videos via CLI. Two workflow paths (Original & Adapted narration), 93 movies, 146 BGM tracks, 63 dubbing voices in 11 languages, 90+ narration templates. Use when creating narration videos, film commentary, short drama dubbing, or video production.
director-agent
Skill "director-agent" from 6174/recut, covering director agent, core rule, usability and anti-laziness contract, output must be usable and modes.
recut-editor
A timeline-editing skill for creating new videos or changing parts of an existing timeline in a CapCut-style editor. It can work with media assets and export the result while keeping edits undoable.
recut-directing-qc
A quality-control workflow for diagnosing problems in a finished video. It connects each visible symptom to a likely cause and a repair, then checks whether the fix passes review.
recut-directing-short-drama
A directing guide for planning the production of story-based AI short dramas, animated dramas, and narrative short videos. It covers decisions from story intent through a controlled production process and contract management.