← ClaudeAtlas

video-analysislisted

Understand what is actually in a video, fully locally and for free. Use this skill whenever the user wants to summarise, describe, transcribe, caption, chapter, or answer questions about a video or its audio — "what happens in this video", "summarise this screen recording", "transcribe this meeting", "what does the speaker say", "find the moment X happens", "read the text on screen", "turn this call into notes", "describe this clip for accessibility", "make chapters", "who says what". It samples timestamped frames with ffmpeg, transcribes speech with a local Whisper backend (whisper.cpp / whisperx / faster-whisper / openai-whisper), then reads the frames and transcript to answer — no cloud APIs, no keys, no per-minute cost, nothing leaves the machine. This is the understanding counterpart to ffmpeg-workbench, which transforms/encodes media (convert, compress, clip, GIF, burn subtitles). If the user wants to CHANGE a file rather than understand it, use ffmpeg-workbench instead.
SalZaki/video-analysis-workbench · ★ 0 · Data & Documents · score 70
Install: claude install-skill SalZaki/video-analysis-workbench
# Video Analysis Workbench Understand a video with a fixed loop: **probe the environment → probe the input → extract evidence → read the evidence → verify before answering**. The scripts don't understand anything — they turn a video into frames and a transcript that *you* (Claude) read. Every claim must be grounded in a frame timestamp or a transcript segment. Never assume; always look. **Local and free is a hard constraint.** Transcription runs on a local Whisper install; frame understanding is your own vision. Do not call any cloud transcription/vision API, and do not fall back to guessing from the filename or a thumbnail. If a required piece is missing, relay the install hint and stop. ## The core loop ### 1. Probe the environment (once per session) Before the first analysis in a session, run: ```bash node "${CLAUDE_PLUGIN_ROOT}/skills/video-analysis/scripts/probe_env.mjs" ``` (`${CLAUDE_PLUGIN_ROOT}` is exported by Claude Code for plugin skills. If it's unset — e.g. running this skill outside the plugin runtime — substitute this skill's own directory.) It prints JSON: ffmpeg/ffprobe versions, which **local Whisper backends** are installed, the `preferred_transcriber` (whisper.cpp first), any downloaded whisper.cpp models, and `install_hint` when something is missing. Rules: - **No ffmpeg** → relay `install_hint.ffmpeg` and stop. - **`transcription_available: false`** → you can still do *visual-only* analysis (frames), but say transcription is unavailable and rela