Fine-grained YouTube playlist organizer + Claude-powered research analyzer.
Two things this does:
-
Organizes your YouTube library into precise, narrow playlists — no more 300-video "Photography" dumpster. Claude proposes splits like
Photography - Camera Technique/Photography - Drone/Photography - Editing, you confirm, it actually executes the moves. -
Evaluates research playlists with verdicts against your stack — drop videos into
Research - Claude CodeorResearch - MCP Servers, run the analyzer, and Claude rendersBUILD_NOW / ADOPT / IMPROVE_ON / REDUNDANT / AVOID / SKIPverdicts comparing each video to what you already run (defined instack_profile.md).
| Doc | What it covers |
|---|---|
| SETUP.md | First-time setup — Google Cloud OAuth, Anthropic key, config.yaml, cookies |
| USAGE.md | Day-to-day commands, when to use each, example workflows |
| stack_profile.md.template | Template — copy to stack_profile.md and edit. Directly controls verdict quality. |
| docs/ARCHITECTURE.md | Code internals, data flow, database schema |
| docs/TROUBLESHOOTING.md | Common errors and fixes |
.venv\Scripts\python.exe main.py auth-test # verify OAuth (zero cost)
.venv\Scripts\python.exe main.py drain-wl # migrate Watch Later to Inbox (zero Claude cost)
.venv\Scripts\python.exe main.py organize # one-time taxonomy build
.venv\Scripts\python.exe main.py classify # route newly-added videos
.venv\Scripts\python.exe main.py intel # verdicts on a research playlistEquivalent slash commands in Claude Code: /yt-drain-wl, /yt-organize, /yt-classify, /yt-intel.
Equivalent desktop shortcuts in triggers/shortcuts/ (5 numbered .lnk files).
YouTube's Data API cannot read or write Watch Later. Google blocked this in 2016.
drain-wl works around it: scrapes WL via yt-dlp + browser cookies, adds each video
to a real "Inbox - To Sort" playlist. You then clear WL manually in your browser
(single-click options exist — drain-wl prints instructions). Going forward, save
into Inbox - To Sort directly instead of clicking Watch Later, and the problem
never returns.
- Windows 11, Python 3.10+ (tested on 3.14)
- Google account (for YouTube OAuth)
- Anthropic API key (separate from Claude Pro subscription — preloaded credits)
- Obsidian vault (optional — output notes are written here)
- n8n instance (optional — webhooks fire here)
API costs are billed separately from Claude Pro. Typical usage:
| Command | Model | Cost per run |
|---|---|---|
organize (rare) |
Opus 4.6 | ~$1.43 |
classify (frequent) |
Sonnet 4.6 | ~$0.05 |
intel (per ~20-video playlist) |
Sonnet 4.6 | ~$0.51 |
Typical month: ~$1.70. $10-20 in starting credits lasts months.
Models are configurable per-command in config.yaml. See CLAUDE.md for the tiering reasoning.
Scaffolded and ready for first run. See SETUP.md for the 7-step first-time setup.