scdownload
vixsrc.to (stable domain, TMDB-id based) → vendored StreamingCommunity HLS downloader.
Output: ~/Downloads/StreamingCommunity/{Movie,Serie}/.
Token budget: only step 1 uses your reasoning. Steps 2–3 are one launch command; do not tail/read the log or poll — the menu-bar shows progress and a notification fires on finish.
1. Resolve the TMDB id (the only non-programmatic step)
From the user's title, work out the TMDB id (you know many; else WebSearch "<title>" tmdb id
or read a themoviedb.org URL). State the title + id you picked. If unsure it's on vixsrc:
curl -s "https://vixsrc.to/api/movie/<id>?lang=it" → JSON = available, 404 = not.
2. Launch (background, single command)
Specs (one or more in the same command — they download sequentially):
movie:<tmdb>tv:<tmdb>:<season>→ whole seasontv:<tmdb>:<season>:<episode>→ one episode- append
lang=en(etc.) to change audio/subs language (defaultit)
~/.claude/tools/scdl/.venv/bin/python ~/.claude/tools/scdl/scdl.py <spec> [<spec> ...] > ~/.claude/tools/scdl/last.log 2>&1
Examples: scdl.py movie:27205 · scdl.py tv:1399:1 (GoT season 1) ·
scdl.py movie:27205 movie:101299 (two films) · scdl.py tv:1399:1:1 tv:1399:1:2.
Run with run_in_background: true. It auto-opens the menu-bar indicator (overall
⬇ 3/10 · 45%; click it for the per-item list). Re-running a season skips episodes already
downloaded. Tell the user one line: what's downloading + "watch the menu bar; notification on finish".
3. Finish
You'll be notified when the background task exits. Then, in ONE command, report the file:
ls -lhtR ~/Downloads/StreamingCommunity | head. If it never produced an mp4 and the log has
Failed segments: N>0, say the CDN dropped segments — re-run the same command.
Notes: menu-bar app = menubar.py (rumps), auto-quits on done/error. Manual live view if wanted:
bash ~/.claude/tools/scdl/scwatch.sh. ffmpeg required (Homebrew).