← All skills
video-assemble
95 / 100 · Low risk
Fine to try.
By zenstory-ai/oh-story-dsh (GitHub) · writing · 728 stars · scanned at commit 148ac13
合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、tts_meta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this.
Found in 14 places.
Show 11 more
- packages/knowledge/video-recap/skills/video-assemble/scripts/adoption/strict_inputs.py, line 88
result = subprocess.run( - packages/knowledge/video-recap/skills/video-assemble/scripts/adoption/strict_inputs.py, line 105
result = subprocess.run(command, capture_output=True, text=True, timeout=timeout) - packages/knowledge/video-recap/skills/video-assemble/scripts/assembly_contract.py, line 106
result = subprocess.run( - packages/knowledge/video-recap/skills/video-assemble/scripts/export_jianying.py, line 49
result = subprocess.run( - packages/knowledge/video-recap/skills/video-assemble/scripts/lib.py, line 164
return subprocess.run(cmd, capture_output=True, text=True, **kwargs) - packages/knowledge/video-recap/skills/video-assemble/scripts/lib.py, line 184
result = subprocess.run(["ffmpeg", "-hide_banner", "-/filter_complex", graph], - packages/knowledge/video-recap/skills/video-assemble/scripts/lib.py, line 185
stdin=subprocess.DEVNULL, capture_output=True, text=True, - packages/knowledge/video-recap/skills/video-assemble/scripts/loudness.py, line 63
result = subprocess.run(["ffmpeg", "-hide_banner", "-h", "filter=alimiter"], - packages/knowledge/video-recap/skills/video-assemble/scripts/loudness.py, line 64
stdin=subprocess.DEVNULL, capture_output=True, text=True, - packages/knowledge/video-recap/skills/video-assemble/scripts/render_preflight.py, line 13
result = subprocess.run(["ffmpeg", "-hide_banner", "-filters"], - packages/knowledge/video-recap/skills/video-assemble/scripts/source_score.py, line 312
result = subprocess.run(
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'video-assemble' ] || [ -L ~/.agents/skills/'video-assemble' ]; then echo 'A skill folder named video-assemble already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/zenstory-ai/oh-story-dsh' "$d" && git -C "$d" checkout --quiet '148ac13c6c59f78f485ea841437ab00702ed3682' -- 'packages/knowledge/video-recap/skills/video-assemble' && mkdir -p ~/.agents/skills && cp -R "$d"/'packages/knowledge/video-recap/skills/video-assemble' ~/.agents/skills/'video-assemble' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'video-assemble' ~/.claude/skills/'video-assemble' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for zenstory-ai/oh-story-dsh shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/zenstory-ai/oh-story-dsh/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | 148ac13 | 95 |
| 2026-11-08 | ed56e4a | 95 |
| 2026-11-07 | ed56e4a | 95 |