
cut-silences
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.
- Installs
- 177
- Last 24h
- +9
- Trending rank
- #9069
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/nateherkai/herk-edit-kit --skill cut-silences- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads cut-silences automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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:
node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4 # -> path/to/raw.json
Usage
# 1) Plan only — compute the cut, write EDL + re-timed transcript (no video touched)
node .agents/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 .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
--video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets
# 3) Render the cut video (local ffmpeg, re-encode, A/V kept in sync)
# add --apply to actually run ffmpeg
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
--video video-projects/<slug>/assets/raw.mp4 --apply \
--output video-projects/<slug>/assets/edited-silenced.mp4
Options
| Flag | Default | Meaning |
|---|---|---|
--video <path> | — | Source video; enables the ffmpeg command / render |
--out-dir <dir> | next to transcript | Where outputs are written |
--output <path> | <video-stem>.silenced.mp4 | Cut-video path |
--gap <s> | 0.55 | Minimum pause treated as trimmable silence |
--head-pad <s> | 0.22 | Silence kept before the first word |
--tail-pad <s> | 0.34 | Silence kept after the last word |
--apply | off | Actually run ffmpeg to render the cut |
How it decides (the silence rules)
- Pauses below
--gap(0.55s) are left alone — natural speech rhythm. - For a trimmed pause, a natural breath is kept, scaled by context:
0.24sfor long pauses (≥2s),0.20safter a sentence ender (. ! ?),0.14sotherwise. The kept breath is biased slightly toward the end of the previous phrase. - Head/tail dead air is trimmed to
--head-pad/--tail-pad. - Delete ranges are merged; keep ranges are the complement. The cut is rendered with an ffmpeg
trim/atrim+concatfiltergraph (written to a*.silence-filter.txtscript and passed via-/filter_complex), so video and audio stay in sync.
Outputs (written to --out-dir)
| File | Purpose |
|---|---|
<stem>.silence-edl.json | Keep/delete ranges, durations, params — the edit list |
<stem>.silence-transcript.json | Words re-timed onto the edited timeline (feeds Agent 2 + beats) |
<stem>.silence-decisions.md | Human-readable summary + largest pauses trimmed |
<stem>.silence-filter.txt | The ffmpeg filtergraph (only with --video) |
<video-stem>.silenced.mp4 | The cut video (only with --apply) |
The JSON summary printed to stdout includes removed, removedPct, range counts, and output paths — useful for the master workflow to log and chain.
Tuning notes
- Talking-head YouTube default (
--gap 0.55) removes roughly 15-20% of a typical raw take as pure silence. Lower--gapfor a punchier, faster cut; raise it to preserve more natural breathing room. - If a cut feels too aggressive at sentence boundaries, raise the sentence-break breath, or raise
--gap.
Hand-off to the next agent
Pass <stem>.silence-transcript.json (and the silenced.mp4 if rendered) to the cut-mistakes agent. Because timestamps are already on the edited timeline, downstream beat timing and scripts/validate-beat-sync.mjs work without further adjustment.
FAQ
What does the cut-silences skill do?
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.
How do I install cut-silences?
Run npx skills add https://github.com/nateherkai/herk-edit-kit --skill cut-silences in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/cut-silences/ (personal) or .claude/skills/cut-silences/ (project).
Which AI agents can use cut-silences?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is cut-silences safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains cut-silences?
It is published by nateherkai in nateherkai/herk-edit-kit. It has 177 recorded installs.
More from nateherkai/herk-edit-kit
make-a-video
nateherkai/herk-edit-kit
Beginner-friendly end-to-end video creator for HyperFrames. Use when the user says "make a video", "create a video", "new video", "build a video", "video from scratch", "I want to make a video", "help me create a video", or when someone who's never used HyperFrames before arrives with a concept, script, or rough idea and wants a finished MP4. Interviews the user in one pass, then builds the full video with mandatory preview and visual-verification gates.
short-form-edit
nateherkai/herk-edit-kit
Turn talking-head footage into a finished reel, YouTube Short, or short advertisement with curiosity-led openings, earned payoffs, story-driven cuts, transcript-synced motion graphics, moving B-roll, captions, subtle music, and synchronized sound effects. Use for short-form editing; use edit-video for long-form videos and cut-silences for pause removal alone.
video-storytelling
nateherkai/herk-edit-kit
Open the skill to read its SKILL.md instructions.
edit-video
nateherkai/herk-edit-kit
Edit a raw talking-head video through transcription, silence trimming, mistake review, visual storytelling, motion graphics, and verified HyperFrames rendering. Use for a complete edit; route a single requested operation directly to its specialist skill.
hyperframes-video-beats
nateherkai/herk-edit-kit
Plan, write, time, style, and validate motion-graphic beats for long-form talking-head HyperFrames videos. Use when Codex is asked to add or improve visual beats, glassmorphism lower thirds, crumpled-paper full-screen takeovers, transcript-synced callouts, pacing coverage, YouTube retention graphics, or render-ready overlays in an existing HyperFrames video project.
Popular media & creative skills
hyperframes
heygen-com/hyperframes
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
media-use
heygen-com/hyperframes
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
hyperframes-registry
heygen-com/hyperframes
About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.
hyperframes-creative
heygen-com/hyperframes
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.
ai-video-generation
101-skills/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
101-skills/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image