yt-video-analyzerlisted
Install: claude install-skill Auxlife32/yt-video-analyzer
# YouTube Video Analyzer
Turns a video into a digest with timestamps and screenshots.
## Dependencies
```bash
yt-dlp --version || brew install yt-dlp
ffmpeg -version || brew install ffmpeg # or apt install ffmpeg
```
Tested with yt-dlp 2026.08.19 and ffmpeg 8.0.1. The scripts are plain Python —
no third-party packages, no virtualenv. For videos without subtitles `whisper`
is useful (optional).
Level 4, "the model actually watches", needs `OPENROUTER_API_KEY`. The script
looks for it in the environment, then in `.env` — in the current directory,
next to the skill, or in `~/.config/yt-video-analyzer/.env`. Get a key at
openrouter.ai/keys. No other step needs a key at all.
## Pipeline
### 1. Metadata + subtitles
```bash
python scripts/fetch.py "<URL>" --workdir ./_yt
```
Writes to `_yt/<video_id>/`: `meta.json`, `subs.srt`, `chapters.json`.
If there are no auto-subtitles, the script can run whisper (`--whisper`).
**Read `subs.srt` in full.** It is cheaper than any video and carries 80% of
the meaning.
### 2. Decide where to cut frames
Two sources of timestamps — use both:
- **From subtitles.** Look for marker phrases: "right here", "we click",
"let's open", "this setting", "that checkbox", "parameter", names of panels
and effects. Every such spot is a screenshot candidate. Add +1.5 s to the
caption timestamp — what's on screen always lags behind speech.
- **From scene changes.** `python scripts/frames.py <dir> --scenes` returns the
list of cuts. Useful w