본문으로 건너뛰기
cccskills
무료GitHub에 공개

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구ElevenLabs
설치 방법 보기

포함된 파일(2)

  • SKILL.md4.7 KB
  • scripts/cut-silences.mjs11.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 .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 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 .claude/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

FlagDefaultMeaning
--video <path>—Source video; enables the ffmpeg command / render
--out-dir <dir>next to transcriptWhere outputs are written
--output <path><video-stem>.silenced.mp4Cut-video path
--gap <s>0.55Minimum pause treated as trimmable silence
--head-pad <s>0.22Silence kept before the first word
--tail-pad <s>0.34Silence kept after the last word
--applyoffActually 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.24s for long pauses (≥2s), 0.20s after a sentence ender (. ! ?), 0.14s otherwise. 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 + concat filtergraph (written to a *.silence-filter.txt script and passed via -/filter_complex), so video and audio stay in sync.

Outputs (written to --out-dir)

FilePurpose
<stem>.silence-edl.jsonKeep/delete ranges, durations, params — the edit list
<stem>.silence-transcript.jsonWords re-timed onto the edited timeline (feeds Agent 2 + beats)
<stem>.silence-decisions.mdHuman-readable summary + largest pauses trimmed
<stem>.silence-filter.txtThe ffmpeg filtergraph (only with --video)
<video-stem>.silenced.mp4The 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 --gap for 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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Agent 2 of the video editing pipeline. Finds and removes spoken mistakes — stutters, repeated words, false starts, and retakes (re-recorded lines) — from a talking-head recording. Use after cut-silences, when asked to cut mistakes, remove stutters / repeats / filler restarts, clean up flubs, or keep the best take. Works review-gated: it proposes every cut with context and a reason for approval, then renders only the approved cuts via ffmpeg. Requires a word-level transcript.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nateherkai/hyperframes-student-kit1.5천2026년 10월 13일 업데이트

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nateherkai/hyperframes-student-kit1.5천2026년 10월 13일 업데이트

gsap

무료

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nateherkai/hyperframes-student-kit1.5천2026년 10월 13일 업데이트

Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For CLI commands (init, lint, preview, render, transcribe, tts) see the hyperframes-cli skill.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nateherkai/hyperframes-student-kit1.5천2026년 10월 13일 업데이트

HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nateherkai/hyperframes-student-kit1.5천2026년 10월 13일 업데이트

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nateherkai/hyperframes-student-kit1.5천2026년 10월 13일 업데이트

nateherkai의 스킬 모두 보기

이 스킬의 문제 신고