Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/barefootford-transcribe-audio/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 12% | 0% |
| case-06 | ✓→✓ | = Same ✓ | -47% | 0% |
| case-07 | ✓→✓ | = Same ✓ | 8% | 0% |
| case-08 | ✓→✓ | = Same ✓ | -14% | 0% |
> 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 Mac.
The parent reads library.yaml and settings.yaml and passes these values inline in each agent's prompt:
video_path — absolute path to the video filetranscript_output_dir — where to write the transcript JSON (e.g. libraries/<library>/transcripts)language_code — ISO 639-1 code (e.g. en, es) — parent maps from library.yaml's language namewhisper_model — model size from settings.yaml (e.g. small, medium, turbo)transcript_refinement — boolean from library.yaml. If true, also pass:user_context (may be empty string)footage_summary (may be empty string)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.
Other measured skills in the registry, with their headline benchmark lift.