mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-18 15:06:28 +03:00
Two CLIs, one skill wrapper. radarr-cli manages movies (list, lookup, calendar, collections), sonarr-cli manages TV series (list, lookup, episodes, calendar, wanted). Separate API keys and server URLs per app. All cli-builder patterns: --json, --dry-run, --quiet, --verbose, lazy auth, emit() dual-output, structured logging, pre-parsed flags. Signed-off-by: Jasper <magnus@groktop.us>
5.3 KiB
5.3 KiB
name, description, license, compatibility, metadata
| name | description | license | compatibility | metadata | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| arr-cli | Manage your media library with Radarr (movies) and Sonarr (TV series) from the terminal. Search and list movies and series, check calendars, view wanted/missing episodes, and monitor library status. Use when the user mentions Radarr, Sonarr, the *arr stack, movie automation, TV series management, or media server setup. | MIT | Requires ARR_SERVER_RADARR and ARR_KEY_RADARR (for Radarr) or ARR_SERVER_SONARR and ARR_KEY_SONARR (for Sonarr), Python 3.8+, and the `requests` library. API keys from each app's Settings → General. |
|
arr-cli — Radarr + Sonarr Media Library Management
Two CLIs, one skill wrapper. radarr-cli for movies, sonarr-cli for TV series. Radarr and Sonarr share the same API pattern but use separate server URLs and API keys.
Setup
- Get API keys from each app: Settings → General → API Key
- Set environment variables:
# Radarr
export ARR_SERVER_RADARR="http://localhost:7878"
export ARR_KEY_RADARR="your-radarr-api-key"
# Sonarr
export ARR_SERVER_SONARR="http://localhost:8989"
export ARR_KEY_SONARR="your-sonarr-api-key"
--help and --dry-run work without credentials on both CLIs.
Radarr Commands
status — Server info
radarr-cli status # version, OS, database
radarr-cli status --json # machine-readable
movies — List your movie library
radarr-cli movies # all movies
radarr-cli movies --status released # filter by status (released, inCinemas, announced)
radarr-cli movies --limit 10 # top 10
radarr-cli movies --json # machine-readable
Icons: ✅ = has file, 👁️ = monitored but missing, 🚫 = unmonitored.
lookup — Search for movies to add
radarr-cli lookup --term "Dune" # search by title
radarr-cli lookup --term "Dune" --json # includes TMDb ID and overview
calendar — Upcoming releases
radarr-cli calendar # upcoming releases
radarr-cli calendar --json # machine-readable
collections — Movie collections
radarr-cli collections # list all collections
radarr-cli collections --json # with movie counts
Sonarr Commands
status — Server info
sonarr-cli status # version, OS, database
sonarr-cli status --json # machine-readable
series — List your TV series
sonarr-cli series # all series
sonarr-cli series --status continuing # filter (continuing, ended, upcoming)
sonarr-cli series --limit 10 # top 10
sonarr-cli series --json # machine-readable
lookup — Search for series to add
sonarr-cli lookup --term "Severance" # search by title
sonarr-cli lookup --term "Severance" --json # with TVDB ID
episodes — List episodes of a series
sonarr-cli episodes --series-id 1 # all episodes
sonarr-cli episodes --series-id 1 --limit 10 # recent episodes
Get the series ID from sonarr-cli series --json.
calendar — Upcoming episodes
sonarr-cli calendar # upcoming episodes
sonarr-cli calendar --json # machine-readable
wanted — Missing episodes
sonarr-cli wanted # missing episodes
sonarr-cli wanted --limit 50 # more results
sonarr-cli wanted --json # machine-readable
Global Flags
All flags work in any position on both CLIs:
radarr-cli --json movies # flag before subcommand
radarr-cli movies --json # flag after subcommand
radarr-cli --dry-run lookup --term "Dune" # preview
sonarr-cli --quiet series # suppress non-essential output
Known Gotchas
- Separate credentials — Radarr and Sonarr use different API keys and different ports (7878 vs 8989). Set both ARR_KEY_RADARR and ARR_KEY_SONARR.
- API keys from Settings → General — Not from the user profile page. Look under the General settings tab in each app.
- *Movie/series IDs are the arr internal IDs, not TMDb/TVDB IDs. Use
lookupfirst to find the internal ID, or use--jsonto get both. - Quality profile IDs default to 4 (HD-1080p). Override by setting the profile ID in your scripts if you use a different profile.
- Calendar can be slow on large libraries. Sonarr's calendar may take several seconds to respond.
- Sonarr wanted endpoint is paginated — it returns a
totalRecordsfield. Use--limitto control page size.
References
- scripts/radarr-cli — Radarr CLI binary. cli-builder patterns:
--json,--dry-run,--quiet,--verbose, dual-output viaemit(), lazy auth. - scripts/sonarr-cli — Sonarr CLI binary. Same patterns as radarr-cli.
- Radarr API docs — Official API reference.
- Sonarr API docs — Official API reference.