What does this skill do, and when should you use it?
Video Processor is an Agent Skill living at .claude/skills/video-processor/ in the disler/claude-code-hooks-multi-agent-observability repository, built around a single Python script (video_processor.py) that wraps common FFmpeg and OpenAI Whisper operations. It offers four subcommands: audio extraction, MP4 conversion, WebM conversion, and Whisper transcription with txt/srt/vtt/ output and language selection. Dependencies are declared via PEP 723 and run through uv, with input validation, dependency checks, and temp-file cleanup built in. Note that the parent repository is a multi-agent observability system; this skill is just one of the independent tools bundled alongside it.
Reads a user-supplied video or audio file and runs three kinds of operations via FFmpeg: (1) extract-audio: pulls the audio track to wav/mp3/aac/flac; (2) to-mp4 / to-webm: format conversion with selectable codecs (libx264/libx265, libvpx-vp9) and speed/quality presets; (3) transcribe: video inputs are first auto-extracted to a temporary WAV (at Whisper's optimal 16kHz sample rate), then sent to OpenAI Whisper, producing txt, srt (timestamped subtitles), vtt, or with word-level timestamps, followed by automatic temp-file cleanup. Model size (tiny through large), language code, and output format are all controlled via CLI flags.
- Content creators batch-converting AVI files exported from old cameras into universal MP4 without memorizing ffmpeg encoding flags
- Instructors or students who recorded lectures and need transcripts or SRT subtitles for publishing and review
- Putting a presentation on a website as web-optimized WebM with matching SRT/WebVTT subtitles
- Processing multilingual material (e.g., a Spanish interview) with a specified language and the medium model for publication-grade accuracy
- Working through a folder of training videos: converting each to WebM and transcribing each to text archives
How do you install this skill?
- Shell / CLI
- Network access
- Local filesystem
FFmpegOpenAI Whisper (pip install openai-whisper)Python with uvclickffmpeg-python
The skill lives at .claude/skills/video-processor/ in the repository; per the repo README, copy the whole .claude directory to your project root: cp -R .claude /path/to/your/project/. Two external tools must already be installed: FFmpeg (macOS: brew install ffmpeg; Ubuntu: apt-get install ffmpeg) and OpenAI Whisper (pip install -U openai-whisper). The click and ffmpeg-python packages are declared via PEP 723 metadata inside the script and handled by uv. Note: the repo-wide setup (Bun server, Vue client, hook configuration) belongs to the observability system and is unrelated to using this skill.
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/disler/claude-code-hooks-multi-agent-observability.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.claude/skills/video-processor" ~/.claude/skills/
rm -rf "$tmp"Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.
How do you use this skill?
On clients that support Agent Skills, it triggers when the user mentions video conversion, audio extraction, transcription, mp4, webm, ffmpeg, or whisper transcription. All work happens through script commands, e.g.: uv run .claude/skills/video-processor/scripts/video_processor.py to-mp4 old_video.avi output.mp4; extract audio: ... extract-audio lecture.mp4 lecture.wav --format wav; transcribe to subtitles: ... transcribe lecture.mp4 lecture.srt --format srt --model small --language es. SKILL.md documents no interface beyond this; batch processing means looping the commands yourself.
What are this skill's strengths and limitations?
- One well-documented script covers three high-frequency tasks — conversion, audio extraction, transcription — with sensible defaults
- Complete transcription output range: txt, timestamped srt/vtt, and with word-level timestamps
- PEP 723 + uv removes manual Python dependency setup; includes input validation, dependency checks, and automatic temp cleanup
- Selectable model size and language, with documented RAM footprints and speed/accuracy trade-offs per tier
- Hard dependency on locally installed FFmpeg and Whisper — the script checks but does not install them, and fails clearly when missing
- Larger transcription models need significant RAM (medium ~5GB, large ~10GB); long-video transcription is slow, and WebM/VP9 encoding is also slow
- No license declared anywhere in the repo, so verify terms before commercial use
- Batch processing, progress display, and segmented transcription are textual tips only — the script offers none natively, and there is no bundled test suite
- Transcription quality depends on local OpenAI Whisper models; the source mentions no hosted API or pricing options
How does this skill compare with similar options?
Side by side with related skills; every score comes from the same FSRS standard.
| Skill | FS score | Stars | Last updated | License |
|---|---|---|---|---|
| Video Processor this page | 63 · Recommended | ★ 1.5k | 8mo ago | — |
| VideoDB Video Perception Skill | 57 · Use with care | ★ 129 | 1mo ago | MIT |
| BoTTube Skill | 45 · Not recommended | ★ 367 | 17d ago | MIT |
| AutoMagicCalib Video Calibration ✓ NVIDIA · Official | 53 · Use with care | ★ 3.6k | 11d ago | Apache-2.0 |
| memU | 50 · Use with care | ★ 15k | 12d ago | NOASSERTION |
The skill's documentation positions FFmpeg and Whisper as complementary building blocks — FFmpeg prepares audio but cannot transcribe, Whisper only converts speech to text — and this skill chains them into one pipeline. The source names no competing packaged products, so no further comparison is offered.
How did FollowSkills review this skill?
Local audio/video processing/transcription via FFmpeg + Whisper, dependencies must be self-installed, local file operations.
Open a dimension to read why it scored that way
Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.
This review was completed under FSRS 1.0. Dimension scores are not converted; it is queued for re-review under FSRS 2.0.
See the full review method →