Setup video vision
Skill bengemine/agent-video-vision/skills/setup-video-vision
Use when the user says "set up video vision", "install video vision", "configure video transcription", asks to configure agent-video-vision, or hits first-run setup errors (missing engine, venv, or Parakeet model). Interactive wizard — choose a transcription engine, install deps, download models, verify.From its SKILL.md
npx -y skills add bengemine/agent-video-vision --skill setup-video-visionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.8 KB, as published. Nobody here has run it
Setup Video Vision
Guide the user through configuring agent-video-vision step by step. Ask one question at a time using multiple choice. Everything runs locally — there is no API key or cloud backend to configure.
Step 0: Build the server (fresh installs)
A fresh plugin install ships source only — the MCP server must be built once. Find the repo root (it is two directories up from this SKILL.md file; on Claude Code plugin installs it lives under ~/.claude/plugins/). Then check whether mcp-server/dist/index.js exists there. If it does not:
cd <repo-root>/mcp-server
npm install
npm run build
Requires Node.js 20+. If the video_* tools were unavailable in this session, the host must restart its session after the build (and, on Codex manual setups, after the config.toml wiring in "Host-specific final steps") for the MCP server to connect — tell the user this explicitly, and continue setup in the new session.
Step 1: Engine Selection
Ask the user:
Which local transcription engine do you want?
a) parakeet (recommended) — NVIDIA Parakeet TDT 0.6B v3, ONNX int8 on CPU. ~5x realtime, English + 24 European languages. Needs a one-time ~670MB model download and a small Python venv.
b) whisper-cpp — whisper.cpp (
whisper-cli). ~1–2x realtime, 99 languages. Models auto-download on first use.c) whisper-python — openai-whisper CLI. Slowest, 99 languages. Use only if you already have it installed.
All engines use ffmpeg to extract video frames — your agent sees the frames directly.
Step 2: Dependency Check
Call video_setup with the chosen engine. Report exactly what is present and what is missing (ffmpeg, whisper-cli, Python venv, Parakeet model dir, yt-dlp). Mention that yt-dlp is optional and only needed for YouTube URLs.
If the video_* tools are not available at all, jump to "Host-specific final steps" below to wire up the MCP server first, then come back here.
For anything missing, walk through the relevant section below.
Step 3a: Parakeet Setup (engine = parakeet)
First ask:
Do you already have a Parakeet ONNX model directory on disk (for example from the Handy app)?
a) Yes — give me the path
b) No — download it for me (~670MB)
If yes: call video_configure with parakeet_model_dir set to their path. Skip the model download below, but still verify the venv.
If no (or venv missing), guide through these exact commands.
- Create the venv:
python3 -m venv ~/.agent-video-vision/venv
If that fails (missing python3-venv / "ensurepip is not available"), use uv instead:
uv venv ~/.agent-video-vision/venv
- Install onnx-asr (note the onnxruntime pin — newer versions break onnx-asr):
~/.agent-video-vision/venv/bin/pip install "onnx-asr[cpu,hub]" "onnxruntime<1.24"
uv variant:
uv pip install --python ~/.agent-video-vision/venv/bin/python "onnx-asr[cpu,hub]" "onnxruntime<1.24"
- Download the int8 model from HuggingFace (
istupakov/parakeet-tdt-0.6b-v3-onnx):
~/.agent-video-vision/venv/bin/python -c "
from huggingface_hub import snapshot_download
snapshot_download(
'istupakov/parakeet-tdt-0.6b-v3-onnx',
allow_patterns=['*.int8.onnx', 'vocab.txt', 'config.json'],
local_dir='~/.agent-video-vision/models/parakeet-tdt-0.6b-v3-int8'.replace('~', __import__('os').path.expanduser('~')),
)
print('done')
"
Offer to run these commands for the user. Run them one at a time and confirm each succeeds before the next.
WSL note: if the user points at a model dir under /mnt/* (a Windows drive), warn that it loads much slower than the Linux filesystem and suggest copying it to ~/.agent-video-vision/models/.
Step 3b: Whisper Setup (engine = whisper-cpp or whisper-python)
- whisper-cpp: needs the
whisper-clibinary (brew install whisper-cppon macOS, or build whisper.cpp from source on Linux). Models auto-download from HuggingFace (ggerganov/whisper.cpp) on first use — no manual download. - whisper-python: needs the
whisperCLI (pip install openai-whisper).
Then ask:
Which whisper model?
a) tiny (75MB) — very fast, basic quality
b) small (500MB) — good balance
c) large-v3-turbo (1.5GB) — best cost-benefit, 8GB+ RAM
d) large-v3 (2.9GB) — maximum quality, 16GB+ RAM
e) auto — pick based on your hardware
Call video_configure with whisper_model.
Step 4: Frame Configuration
Ask these one at a time (skip if user says "defaults"):
Resolution
Frame extraction resolution (width in pixels, height auto-scales)?
a) 256px — low res, fast, fewer tokens
b) 512px (default) — good balance
c) 768px — higher detail
d) 1024px — maximum detail, more tokens
Call video_configure with frame_resolution.
Frame Mode
How should frames be delivered?
a) Images (Claude Code default) — frames come back as inline images in the tool result (better perception, more tokens)
b) Paths (Codex default) — the tool returns
timestamp -> /abs/pathfile lists; the agent opens the frame files it needsc) Descriptions — frames are converted to text descriptions by the host agent (fewer tokens, loses visual nuance)
Call video_configure with frame_mode. The host-specific section below has the right default per host.
Step 5: Save Engine
Call video_configure with the chosen engine (plus parakeet_model_dir if not already saved). Confirm the resulting config back to the user.
Step 6: Host-specific final steps
Do the section matching the host you are running on.
If you are Codex
-
MCP server connection. If the
video_*tools are not available in this session, the MCP server isn't connected. Add this block to~/.codex/config.toml(use the absolute path to the plugin/clone directory):[mcp_servers.agent-video-vision] command = "node" args = ["/home/YOUR_USER/agent-video-vision/mcp-server/dist/index.js"] # absolute path — ~ does not expand in TOMLThen tell the user to restart the Codex session so the tools load.
-
Install the frame-describer custom agent. Codex plugins cannot bundle agents, so copy the TOML into the personal agents dir:
mkdir -p ~/.codex/agents cp ~/agent-video-vision/codex/agents/frame-describer.toml ~/.codex/agents/ -
Recommend paths mode. Codex cannot see inline MCP images — it must open frame files with its
view_imagetool. Save it:video_configure { "frame_mode": "paths" }
If you are Claude Code
Nothing extra — the plugin already provides the MCP server, skills, and the frame-describer subagent. Keep frame_mode: "images" (the default) so frames come back inline.
Step 7: Verify
Run video_setup once more — everything should now report OK.
Then ask:
Setup complete! Want to run a quick smoke test? Give me a path to any short video file.
If the user provides one, call video_info on it, then video_analyze with transcription: true to confirm the engine actually transcribes. Report duration, resolution, and the first transcription line.
Important
- Ask ONE question at a time — never combine multiple questions
- Call
video_configureafter EACH answer to save incrementally - If the user says "default" or "just use defaults", set engine to
parakeetwith defaults, jump to Step 2, then still do Step 6 for your host - If the user seems experienced, keep it concise — don't over-explain