video-watchlisted
Install: claude install-skill belschak/video-watch
# video-watch
Video -> Whisper transcript -> findings. The script handles download, conversion, transcription and retention on its own; your job is steps 2 and 3.
**Setup (once):** copy `.env.example` (repo root) to `.env` in the repo root or in this skill folder (both locations are read) and set `WHISPER_API_URL` (plus `WHISPER_API_KEY` for hosted APIs). Groq, OpenAI and self-hosted servers all work; the endpoint just has to accept OpenAI-style `audio/transcriptions` requests. `yt-dlp` and `ffmpeg` must be on PATH (if they were installed seconds ago, refresh PATH or restart the shell first).
## Workflow
1. **Transcribe** (run from the workspace root; a `video-watch/` folder appears there):
```
python3 <skill-path>/scripts/video-watch.py "<url>" [--frames] [--vocab "Term1, Term2"]
```
- `--vocab`: proper nouns and jargon likely to occur in the video (derive from title and topic, e.g. product names). Improves Whisper accuracy noticeably.
- `--frames`: only when visual questions are on the table or the user wants images (downloads the video on top of the audio). Frames are spread **smartly over the full runtime**: transcript pointer cues first ("look at this", "as you can see"), then even time coverage, so the second half of the video is represented too. A dedup pass (on by default) drops near-identical frames (talking head, held slide); `index.md` maps each frame to its timestamp and source. `--no-dedup` keeps everything.
- **Never run two videos with `--