analyze-video
Internal sub-procedure (not a standalone entry point) — the shared footage-analysis pipeline that produces audio transcripts,…
Reset a library's visual analysis (contact sheets, summaries, legacy visual_transcripts) and re-run the current analyze-video pipeline on it. Keeps audio transcripts, cuts, plans, and library metadata. Use when a library was processed under the older pipeline and the user wants
$ npx -y skills add barefootford/buttercut --skill reprocess-with-contact-sheets --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/reprocess-with-contact-sheetsContext preview
The summary Claude sees to decide when to auto-load this skill.
Reset a library's visual analysis (contact sheets, summaries, legacy visual_transcripts) and re-run the current analyze-video pipeline on it. Keeps audio transcripts, cuts, plans, and library metadata. Use when a library was processed under the older pipeline and the user wants
name: reprocess-with-contact-sheets description: Reset a library's visual analysis (contact sheets, summaries, legacy visual_transcripts) and re-run the current analyze-video pipeline on it. Keeps audio transcripts, cuts, plans, and library metadata. Use when a library was processed under the older pipeline and the user wants to bring it onto the contact-sheet-based one.
Bring a library that was analyzed under the old pipeline (visual_transcripts, no contact sheets) onto the current one (audio transcript + contact sheet + summary). Audio transcripts and any cuts/plans the user has already built are preserved — only the visual layer is rebuilt.
If the user named a library, use it. If not, list candidates with `ruby lib/buttercut/library.rb recent` and use `AskUserQuestion` to pick one.
Verify it exists and read the snapshot:
ruby lib/buttercut/library.rb <name> exists ruby lib/buttercut/library.rb <name> summary
Run any schema migrations from AGENTS.md → Critical Principles before touching anything else.
This is destructive. Tell the user, in plain terms, what will happen:
Use `AskUserQuestion` with a clear yes/no before proceeding. Don't reset on assumption.
Always back up before the reset — this step is mildly risky and a fresh archive is the cheapest insurance. Run the `backup-library` skill against the chosen library and wait for it to finish before touching anything else. If the backup fails, stop and surface the error; don't proceed to the reset.
One command wipes contact sheets, summaries, and legacy visual transcripts and clears the matching fields on every clip:
ruby lib/buttercut/library.rb <name> reset_all_except_audio_transcripts
If a clip is missing its audio transcript (some libraries predate even that), the analyze-video skill's footage-processing step (transcripts) will fill it in on the next step — no special handling here.
Hand off to `skills/analyze-video/SKILL.md` end-to-end. Skip the audio-transcript pass for any clip that already has `transcript` set in the snapshot; run contact sheets and summaries for every clip. The confirm-footage-understanding pass is still worth doing — the new summaries may surface details the old visual_transcripts missed.
Verify readiness before reporting done:
ruby lib/buttercut/library.rb <name> ready
This is the source code for the core ButterCut XML generator and video editing agent. If you love or hate Docker, have opinions on types, and have a favorite text editor, this is the spot for you.
Internal sub-procedure (not a standalone entry point) — the shared footage-analysis pipeline that produces audio transcripts,…
Backs up user libraries and all their contents (external video excluded). This skill can also be useful when you need to restore…
The ButterCut home menu — welcome the user back, then ask what they'd like to do (start a new cut, add footage to a library, a…
The ButterCut home menu — welcome the user back, then ask what they'd like to do (start a new cut, add footage to a library, a…
Builds a contact sheet from a video clip — evenly spaced frames laid out in a single grid image, each with its hh:mm:ss timestamp…
Create a new ButterCut library. Gather library info (name, footage location, language, transcript proofreading) and scaffold the…