Skip to content
cccskills
FreePublished on GitHub

cut-mistakes

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md4.1 KB
  • scripts/apply-cuts.mjs8.6 KB
  • scripts/find-cut-candidates.mjs8.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Cut Mistakes & Repeats (Pipeline Agent 2)

Second step of the automated edit, run after cut-silences. It removes the things a human editor cuts on a second pass: stutters ("the the", "I- I-"), immediately repeated words, false starts (an abandoned phrase that restarts), and retakes (a line re-recorded — keep the clean take, drop the botched one).

Deciding what counts as a mistake is judgment, not a formula — emphatic repetition ("never, never") and rhetorical doubling ("the first piece is, is this…") look identical to a stutter mechanically. So this agent is review-gated by default: it surfaces candidates with full context; the agent (and the user) decide; only approved cuts are rendered.

When to use

  • "cut the mistakes", "remove stutters / repeats", "clean up the flubs", "keep the best take", "cut false starts"
  • As the second stage of the master edit workflow, on cut-silences' output.

The three-part flow

1. Find candidates (mechanical)

node .claude/skills/cut-mistakes/scripts/find-cut-candidates.mjs \
  <silence-transcript.json> --out-dir video-projects/<slug>/assets

Input is normally Agent 1's <stem>.silence-transcript.json, so cuts land on the already-silenced timeline. Writes:

  • <stem>.cut-candidates.json — structured candidates (type, confidence, proposed cut range, removes/keeps text, context, recommendation)
  • <stem>.cut-candidates.md — readable proposal

Candidate types: stutter (immediate word repeat), retake (duplicate/near-duplicate segment via Jaccard similarity), false_start (short abandoned phrase that restarts).

2. Review (the gate — REQUIRED)

Read each candidate in context and decide keep-or-cut. The mechanical detector cannot tell intentional emphasis/rhetoric from a real flub, so do not trust recommend blindly — read removes + context. Common false positives: emphatic repetition ("it's never, never hands-off"), copula-then-question ("the piece is, is this…"), listing.

Present the candidates to the user with a recommendation per item; collect approvals. Write the approved cuts to a file:

{ "cuts": [ { "start": 100.93, "end": 101.06, "reason": "I- false start" }, ... ] }

(start/end in seconds on the input transcript/video timeline. You can widen a candidate's range — e.g. for a retake, cut from the botched take's start to the clean restart.)

3. Apply approved cuts

node .claude/skills/cut-mistakes/scripts/apply-cuts.mjs \
  <silence-transcript.json> --cuts approved-cuts.json \
  --video video-projects/<slug>/assets/edited-silenced.mp4 \
  --output video-projects/<slug>/assets/edited-clean.mp4 --apply

Writes the EDL, a re-timed <stem>.mistakes-transcript.json (feeds the motion-graphics agent + validate-beat-sync.mjs), a decisions log, and — with --apply — the cut video (ffmpeg trim+concat, A/V in sync). Drop --apply for a dry run.

Reviewing the result

Use the shared review tool to eyeball the cuts and spot-check boundaries:

node scripts/build-edl-review.mjs <stem>.mistakes-edl.json \
  --original video-projects/<slug>/assets/edited-silenced.mp4 \
  --edited   video-projects/<slug>/assets/edited-clean.mp4 \
  --output   video-projects/<slug>/assets/mistakes-review.html
npx serve . -p 8080 -n

Notes

  • A very clean delivery may yield few or zero real cuts — that's a valid outcome; don't cut natural speech to hit a quota.
  • Cuts between two spoken words are hard joins. They're usually clean for stutters/false starts; for tighter audio a 20-30ms fade can be added later.
  • Hand the mistakes-transcript.json + the clean video to Agent 3 (motion graphics / tiered cards).

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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.

The English summary is being prepared. Showing the original description.

nateherkai/hyperframes-student-kit1.5KUpdated Oct 13, 2026

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.

The English summary is being prepared. Showing the original description.

nateherkai/hyperframes-student-kit1.5KUpdated Oct 13, 2026

gsap

Free

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.

The English summary is being prepared. Showing the original description.

nateherkai/hyperframes-student-kit1.5KUpdated Oct 13, 2026

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.

The English summary is being prepared. Showing the original description.

nateherkai/hyperframes-student-kit1.5KUpdated Oct 13, 2026

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.

The English summary is being prepared. Showing the original description.

nateherkai/hyperframes-student-kit1.5KUpdated Oct 13, 2026

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.

The English summary is being prepared. Showing the original description.

nateherkai/hyperframes-student-kit1.5KUpdated Oct 13, 2026

See all skills by nateherkai

Report a problem with this skill