analyze-video
Internal sub-procedure (not a standalone entry point) — the shared footage-analysis pipeline that produces audio transcripts,…
Transcribes video audio using WhisperX, preserving original timestamps. Creates JSON transcript with word-level timing. Use when you need to generate audio transcripts for videos.
$ npx -y skills add barefootford/buttercut --skill transcribe-audio --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/transcribe-audioContext preview
The summary Claude sees to decide when to auto-load this skill.
Transcribes video audio using WhisperX, preserving original timestamps. Creates JSON transcript with word-level timing. Use when you need to generate audio transcripts for videos.
name: transcribe-audio description: Transcribes video audio using WhisperX, preserving original timestamps. Creates JSON transcript with word-level timing. Use when you need to generate audio transcripts for videos.
> **Note:** In the library pipeline, transcription runs mechanically via `ruby lib/buttercut/process_footage.rb transcripts <library>` (using `TranscribeJob`), not by dispatching this sub-agent — so footage analysis comes out identical across models. The WhisperX command lives in exactly one place, `lib/buttercut/transcribe_job.rb`, which also runs standalone: `ruby lib/buttercut/transcribe_job.rb <video_path> <output_dir> <language_code> <whisper_model>`. `refine_instructions.md` remains the playbook for the separate (judgment) refinement step that `analyze-video` Step 3 dispatches.
Transcribes video audio using WhisperX and produces a clean JSON transcript with word-level timing.
`SKILL.md` is the parent's dispatch brief. The sub-agent's working prompt lives in `agent_prompt.md` — inline its contents when launching the Task agent. Don't pass `SKILL.md`.
Launch at most **2 in parallel**. WhisperX is already multithreaded internally (~4 CPU threads via CTranslate2); 2 processes is the throughput-vs-RAM sweet spot on a 16GB machine.
The parent reads `library.yaml` and `settings.yaml` and passes these values inline in each agent's prompt:
After the agent returns, update `library.yaml` with `transcript: <filename>.json`.
Once all videos have audio transcripts, dispatch `analyze-video` for visual descriptions.
WhisperX must be installed. Use the **setup** skill to verify.
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…