modules/programs/agents/shared/skills/sabnzbd/SKILL.md
Inspect and control my self-hosted SABnzbd Usenet downloader. Use when the user asks about SABnzbd, NZB downloads, the Usenet queue, download history, server stats, or asks to pause/resume/delete a download.
npx skillsauth add MichaelVessia/nixos-config sabnzbdInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage my self-hosted SABnzbd (HTTP API, v4.5+): check the download queue and history, pause/resume the queue, delete queue items, and view server stats.
Credentials are exported into the shell by sops-nix (see
modules/programs/shell.nix):
SABNZBD_URL — base URL (no trailing slash)SABNZBD_API_KEY — API key from SABnzbd Config -> General -> SecurityThe sabnzbd CLI reports a JSON error envelope when they are missing.
SABnzbd authenticates via query string, not header. Every request includes
?apikey=$SABNZBD_API_KEY&output=json&mode=<mode>. The CLI handles this.
Use the installed sabnzbd CLI for common operations. It always emits a single
JSON envelope with ok, command, result or error, and next_actions.
scripts/sabnzbd.sh remains as a compatibility shim for older workflows.
sabnzbd status # version, uptime, paused, disk, warnings
sabnzbd version # SABnzbd version
sabnzbd queue --limit 50 # active download queue
sabnzbd history --limit 50 # recent history
sabnzbd pause # pause the queue
sabnzbd resume # resume the queue
sabnzbd delete <nzo_id> # remove from queue, keep files
sabnzbd delete <nzo_id> --files --confirm-delete-files
sabnzbd server-stats # day/week/month/total bytes per server
For anything not covered (adding NZBs, speed limits, history retry, category
changes), call the API directly with $SABNZBD_URL and $SABNZBD_API_KEY —
see references/api-endpoints.md and references/quick-reference.md.
Use the high-level subcommands first (status, queue, history,
server-stats). Drop to raw curl for niche operations.
Always confirm with the user before:
sabnzbd delete <nzo_id> --files --confirm-delete-files (deletes downloaded files from disk)purge style operations (mode=queue&name=delete&value=all)mode=history&name=delete&value=all)/api that mutates statereferences/api-endpoints.md — full API mode reference with
request/response shapesreferences/quick-reference.md — copy-paste curl recipes for common opsreferences/troubleshooting.md — auth, connection, and common error fixes?mode=<mode> against a single /api endpoint, not REST.output=json is required for JSON responses; default is XML.$SABNZBD_URL is unreachable, surface that to
the user rather than guessing.SABnzbd_nzo_xxxxxxxx and identify both queue and history
items.tools
User guide for the local squash-safe `stack` CLI for stacked PR/MR repair on GitHub and GitLab. Use when someone asks how to inspect, track, sync, merge, document, or undo stacked pull requests / merge requests in squash-merge repositories. Prefer this tool over GitHub's `gh stack` command for this workflow.
tools
Control herdr from inside it. Manage workspaces and tabs, split panes, spawn agents, read output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1).
development
Inspect my self-hosted AutoCaliWeb library. Use when the user asks about AutoCaliWeb, books in Calibre, OPDS status, recent imports, shelves, catalog stats, or wants to search the ebook library.
data-ai
Subscribe a YouTube channel in TubeArchivist, queue its top videos by views from recent uploads, wait for the first file, scan Jellyfin, and rename + lock the channel folder to a friendly display name. Use when the user says "add a youtube channel", "subscribe to <channel>", or wants a curated TubeArchivist + Jellyfin import for a creator.