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/oh-story-dsh --skill video-assemblegit clone --depth 1 https://github.com/zenstory-ai/oh-story-dshWrote 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/oh-story-dsh/video-assemble)<a href="https://agentmods.dev/skills/zenstory-ai/oh-story-dsh/video-assemble"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/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/oh-story-dsh/video-assemble"><img src="https://agentmods.dev/badge/skills/zenstory-ai/oh-story-dsh/video-assemble.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.00109 | $0.03680 |
| Opus 5.5 | $0.00044 | $0.01472 |
| Sonnet 5.5 | $0.00022 | $0.00736 |
| Haiku 4.5 | $0.00011 | $0.00368 |
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 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.
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 — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
1. 定位
本技能负责最终合成:
- 把各段旁白音频放到视频时间线上。
- 在旁白窗口内用固定包络压低原声(盖住原声对白时与落在安静段时各用一档音量),间隙恢复原声。
- 根据旁白位置生成
subtitles.srt;默认同时生成并烧录subtitles.ass,--no-burn-subtitles可关闭。不烧录时(关闭或降级),subtitles.srt复制到成片旁,名为recap_<stem>.srt;烧录时删掉旧的同名外挂字幕。 - 可选把最终响度标准化到目标 LUFS:两遍 loudnorm,只用一个恒定增益,不做动态压缩;混音的真峰值放不下这么大的增益时,先过 4 倍过采样的真峰值限幅器(最多削
LOUDNESS_LIMITER_MAX_DB,默认 6 dB),超出部分才下调目标响度。真峰值目标针对交付的 AAC 文件:AAC 编码会让真峰值比 PCM 混音高 0.3–1.4 dB,所以首次渲染瞄准 TP 下 0.5 dB,渲染后解码成片实测;仍超过 -1 dBTP 时按超出量再降 0.1 dB 只重编码音频(画面流复制),最多两次,仍超出则以delivered_true_peak_over_target阻断。ffmpeg 实际用的模式、限幅量与成片实测值记在assembly_qc.json的loudness_mode与loudnorm_final_pass(delivered)。 - 成片不带原片的容器元数据(
title、comment等标签与章节)。
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:默认narration模式必需;配音阶段写出的{segments: [...]}。每段包含audio_path、时间、pause_after_ms、overlaps_speech和用于混音/字幕的位置。显式source-mix/adopted-packet-copy模式不读取它。- 已采用的配音使用显式
--tts-meta和--narration-adoption:后者由调用方独立确认文字、请求的引擎/声线和速度策略,不能从待消费元数据自动“批准”出来。完整格式与记录边界见references/narration-adoption.md。 - 已采用的完整声音底轨与逐段配音可再传
--audio-mix-adoption;严格格式、48 kHz 声道矩阵和双 binding 事务见references/explicit-audio-mix.md。
下面的 scripts/... 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。
4. 运行命令
python3 scripts/assemble.py <video> --work-dir <work_dir> \
[--audio-mode narration|source-mix|adopted-packet-copy] [--audio-stream-index <N>] \
[--tts-meta <tts_meta.json> --narration-adoption <narration_adoption.json>] \
[--audio-mix-adoption <audio_mix_adoption.json>] \
[--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>]]
What ships with it
57 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/audio-modes.md 3.4 KB
- references/explicit-audio-mix.md 3.9 KB
- references/jianying/empty_draft_meta_info.json 1.7 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 703 B
- references/narration-adoption.md 4.7 KB
- references/packaging.md 2.7 KB
- references/source-score.md 6.7 KB
- references/subtitle-track.md 8.5 KB
- scripts/adoption/__init__.py 94 B runs code
- scripts/adoption/audio_mix_binding.py 14 KB runs code
- scripts/adoption/av_clock.py 5.8 KB runs code
- scripts/adoption/frozen_audio.py 7.6 KB runs code
- scripts/adoption/narration_binding.py 15 KB runs code
- scripts/adoption/strict_inputs.py 4.1 KB runs code
- scripts/adoption/strict_publish.py 6.2 KB runs code
- scripts/artifacts.py 1.1 KB runs code
- scripts/assemble_constants.py 1.9 KB runs code
- scripts/assemble.py 36 KB runs code
- scripts/assembly_contract.py 12 KB runs code
- scripts/assembly_settings.py 6.1 KB runs code
- scripts/audio_automation.py 6.7 KB runs code
- scripts/audio_mix.py 21 KB runs code
- scripts/codec_peak.py 5.1 KB runs code
- scripts/export_jianying.py 5.6 KB runs code
- scripts/jianying/__init__.py 49 B runs code
- scripts/jianying/builders.py 11 KB runs code
- scripts/jianying/model.py 2.7 KB runs code
- scripts/jianying/optional.py 1012 B runs code
- scripts/jianying/schema.py 2.5 KB runs code
- scripts/jianying/templates.py 1.0 KB runs code
- scripts/jianying/timeline_contract.py 5.8 KB runs code
- scripts/jianying/tracks.py 2.0 KB runs code
- scripts/jianying/writer.py 7.8 KB runs code
- scripts/lib.py 13 KB runs code
- scripts/loudness.py 15 KB runs code
- scripts/media.py 14 KB runs code
- scripts/narration_audio.py 20 KB runs code
- scripts/packaging.py 5.5 KB runs code
- scripts/render_preflight.py 3.4 KB runs code
- scripts/source_score.py 24 KB runs code
- scripts/source_subtitles.py 21 KB runs code
- scripts/subtitles/__init__.py 56 B runs code
- scripts/subtitles/core.py 15 KB runs code
- scripts/subtitles/render.py 3.5 KB runs code
- scripts/subtitles/track_binding.py 9.9 KB runs code
- scripts/subtitles/track.py 12 KB runs code
- scripts/timeline_emit.py 7.6 KB runs code
- scripts/timeline.py 8.2 KB runs code
- scripts/visual_render.py 18 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.
- 12d ago Changed · -3 lines 88ab7ae6de32
- 24d ago Changed · +2 lines db9ba594e52b
- 29d ago Changed · +15 lines 0d2225578266
- 1mo ago First seen · 98 lines · 109 tokens per session scan A e0771facf681
video-assemble is a skill published in the GitHub repository zenstory-ai/oh-story-dsh (629 stars, last pushed today), licensed MIT. It adds 109 tokens to every session and 3,680 once invoked, about $0.0004 per session on Opus 5.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-09-05.
Other skills, from other repositories
story-deslop
A writing editor for Chinese web novels that detects writing patterns often associated with AI-generated text and makes the prose feel more natural.
story-long-analyze
A long-form fiction analysis workflow for breaking down a novel’s opening chapters, characters, pacing, turning points, relationships, and overall structure.
browser-cdp
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions. Covers: launching Chrome in debug mode, opening URLs, waiting for page load, evaluating JavaScript, taking snapshots, and extracting auth tokens. Trigger phrases: browser automation, CDP…
workflow-manager
A writing workflow tracker for chapter-based projects. It records whether each chapter is being assembled, drafted, reviewed, confirmed, polished, or archived.
review-chapter
A six-part review of a manuscript chapter. It compares the chapter with the outline and reports quality, coverage, review status, and problems supported by evidence from the text.
revise-span
A revision workflow for changing selected passages in a manuscript. It shows the original and proposed text, then applies changes only after the author confirms them.