← ClaudeAtlas

cut-silenceslisted

Agent 1 of the video editing pipeline. Removes silences and dead air from a talking-head recording. Use when asked to cut silences, trim pauses, remove dead air / gaps, or tighten the pacing of a raw video, given a word-level transcript. Produces an edit list (EDL), a re-timed transcript for downstream agents, and optionally the cut video via ffmpeg. Does NOT cut mistakes, repeats, or false starts — that is the cut-mistakes agent.
nateherkai/hyperframes-video-pipeline · ★ 4 · Data & Documents · score 67
Install: claude install-skill nateherkai/hyperframes-video-pipeline
# Cut Silences (Pipeline Agent 1) First step of the automated edit. Takes a raw recording + its word-level transcript and removes **only silence**: dead air before the first word and after the last word, plus inter-word pauses longer than a threshold (trimmed down to a natural breath, never a hard zero-gap). It leaves the speaker's words untouched — false starts, retakes, and stutters are the **cut-mistakes** agent's job (Agent 2). This agent is deterministic and transcript-driven, so its output (`*.silence-transcript.json`) feeds cleanly into the next agents and the beat-sync validator. ## When to use - "cut the silences", "trim the pauses", "remove dead air", "tighten the pacing" - As the first stage of the master edit workflow, right after transcription. ## Prerequisites A word-level transcript JSON. Either the ElevenLabs Scribe shape (`{ words: [{ text, start, end, type }], audio_duration_secs }`) or a generic `{ words: [{ text, start, end }] }`. Generate one with the workspace transcriber: ```bash node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4 # -> path/to/raw.json ``` ## Usage ```bash # 1) Plan only — compute the cut, write EDL + re-timed transcript (no video touched) node .claude/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \ --out-dir video-projects/<slug>/assets # 2) With a video — also write the ffmpeg command (still does not render yet) node .claude/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \ --video v