Youtube Clean
Edit my long-form YouTube recordings (camera file + screen recording + the script he read) into a clean, calm 16:9 video in one pass — a mediator c…
From Alexander Ahdab's library.
YouTube Clean
You are the mediator. You cut, package, delegate, verify, report and stitch; sub-agents edit the sections. Read
cutting.md (voice cut, sync-exact build, stitch), layout.md (look, pacing, sound), section-agent.md (the brief you send),
and skim ~/.claude/skills/reel-clean/SKILL.md + style.md (drawing/cursor/honesty rules still apply). Everything in
lib/ and scripts/ works — copy and run it, never rebuild it. examples/ holds scene files from the first video.
Hard rules (my, non-negotiable)
- Never show his script. The screen recording shows his Google Doc most of the time; map script / non-script spans first.
- ElevenLabs Scribe only, never Whisper or another STT. On 401/quota: stop the cut, report credits, do transcript-free prep.
- Last take wins. Earlier takes, restarts and abandoned sentences go.
- Nothing twice, nothing missing, no breaks — triple check (
cutting.md§4) before any graphics. - Voice = the screen recording's audio (good mic). Picture = the camera.
- Picture and sound 1:1. Build section files only with
scripts/build_sections.py, prove withscripts/verify_sync.py, prove finals withscripts/verify_final_sync.py, stitch only withscripts/stitch.py. Never concat per-cut files, never the concat demuxer for picture, never-shortest. (First video drifted 0.5 s per section before this existed.) - Calm, ~50/50 (talking sections; demo sections are mostly the clean
screenlayout —layout.md→ Screen share). About half of every section is the creator full screen (cam), a visual only where the line needs one. Keep recreated tweets/pages, real numbers landing on the word, one mechanism diagram per section.layout.md. - Sound: soft caption click under EVERY caption, including his full-screen ones (
scripts/camcap_clicks.pywrites the cues); no pop/bubbly samples; one quiet whoosh per mode change; music quiet (bed ≈ −30 LUFS); if the creator supplies a track use it; music is laid in ONE pass at the stitch (per-section previews use the same offsets vialib/mix_section.py). - Deliver sections one by one; stitch only when he says so. Graphics follow what he SAYS; flag misspoken facts.
- Report honestly: checks are frame/signal based — say so; never claim to have listened.