modules/programs/agents/shared/skills/sonarr/SKILL.md
Search, add, inspect, and manage TV shows in my self-hosted Sonarr library. Use when the user asks about TV shows, mentions Sonarr, asks to add/remove a series, check what's downloading, what's upcoming, what's missing, view queue/history, or trigger searches.
npx skillsauth add MichaelVessia/nixos-config sonarrInstall 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 Sonarr (v3 API) TV library: search and add shows, inspect the library, see what's downloading/upcoming/missing, trigger searches, remove series.
Credentials are exported into the shell by sops-nix (see
modules/programs/shell.nix):
SONARR_URL — base URL (no trailing slash)SONARR_API_KEY — API keySONARR_DEFAULT_QUALITY_PROFILE — optional, defaults to 1The sonarr CLI reports a JSON error envelope when they are missing.
Use the installed sonarr CLI for common operations. It always emits a single
JSON envelope with ok, command, result or error, and next_actions.
scripts/sonarr.sh remains as a compatibility shim for older workflows.
sonarr search "Severance" # TVDB lookup
sonarr exists 81189 # is it in the library?
sonarr add 81189 # add + search for episodes
sonarr add 81189 --no-search # add but don't search
sonarr remove 81189 # delete from library, keep files
sonarr remove 81189 --delete-files # refuses without confirmation
sonarr remove 81189 --delete-files --confirm-delete-files
sonarr config # root folders + quality profiles
sonarr queue --limit 100 # active downloads
sonarr calendar --days 14 # upcoming releases
sonarr missing --limit 100 # monitored episodes with no file
sonarr history --limit 50 # recent history
sonarr status # system/status sanity check
For anything not covered, call the API directly with $SONARR_URL and
$SONARR_API_KEY — see references/api-endpoints.md and
references/quick-reference.md.
sonarr search "<title>" — present results to user with
[Title (Year)](https://thetvdb.com/dereferrer/series/<tvdbId>) links.sonarr exists <tvdbId> — confirm it's not already there.sonarr add <tvdbId> — adds and starts a search.Use the high-level subcommands first (queue, calendar, missing, history,
status). Drop to raw curl for niche queries.
Always confirm with the user before:
remove <tvdbId> --delete-files --confirm-delete-files (irreversible — removes media files)/api/v3references/api-endpoints.md — full v3 endpoint reference with
request/response shapesreferences/quick-reference.md — copy-paste curl recipes for common opsreferences/troubleshooting.md — auth, connection, and common error fixes/api/ (v1) paths return 404.X-Api-Key header beats ?apikey= (avoids leaking the key into logs).GET /api/v3/command/{id} polls a command's status.SONARR_URL is unreachable, surface that to the
user rather than guessing.development
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.
development
Turn an idea or objective into a goal package for /goal. Interviews the user, builds a reviewed fact sheet via Plannotator, then explores the codebase to produce an execution plan.
development
Open Plannotator's browser-based code review UI for the current worktree or a pull request URL, then act on the feedback that comes back.
testing
Open Plannotator on the latest rendered assistant message and use the returned annotations to revise that message or continue.