video-assemble
Installation
SKILL.md
What this does
- Mixes the narration audio segments onto the source video at their placed times.
- Ducks the original audio under narration (fixed / sidechain / zone modes).
- Renders subtitles from the narration placement →
subtitles.srt(+subtitles.asswhen burning, which is on by default;--no-burn-subtitlesto disable). - Optional final loudness normalization to a target LUFS.
Input contract
<video>— the source video (the original, oredited_source.mp4in cut mode).work_dir/tts_meta.json—{segments: [...]}from video-voiceover (each segment carriesaudio_path, timing,pause_after_ms, andoverlaps_speech/placement used for ducking + subtitles).
Running the scripts below — the
scripts/…paths are relative to this skill's own directory (the folder containing thisSKILL.md). Claude Code runs commands from there, so they work as written. If your harness runs commands from the project root instead (opencode / Codex / OpenClaw commonly do), prefix this skill's absolute directory — e.g.<skill-dir>/scripts/…, using the directory your harness reports when it loads the skill. The scripts self-locate from their own path, so once started by the correct path they resolve their sibling skills and assets regardless of the working directory.