--- name: lidarr description: Manage your Lidarr music library — search artists, inspect stats and missing albums. metadata: {"openclaw": {"requires": {"bins": ["bash", "curl", "jq", "bc"], "env": []}}} --- # Lidarr Manage your Lidarr music library: search for artists and inspect library health. Scripts are adapted from the upstream `clawarr-suite` bundle (per-service URLs, OpenClaw secret-store support). ## Prerequisites Required binaries: `bash`, `curl`, `jq`, `bc`. | Variable | Purpose | |----------|---------| | `LIDARR_URL` | Lidarr base URL, e.g. `https://lidarr.example.ts.net` or `http://192.168.1.100:8686` | | `LIDARR_API_KEY` | API key (Settings → General → Security → API Key) | | `CLAWARR_HOST` | Optional fallback when `LIDARR_URL` is unset: `http://$CLAWARR_HOST:8686` (`CLAWARR_SCHEME`, `LIDARR_PORT` override) | Configure both with the `clawarr-core` skill: `scripts/setup.sh lidarr `. Over HTTPS the key is a protected OpenClaw store secret and `$LIDARR_API_KEY` holds an `oc-sent-…` sentinel; over plain HTTP it is plaintext in `~/.openclaw/.env`. `bc` is required: `library.sh stats lidarr` uses it unguarded for size math. A missing sibling (`SONARR_*`, `RADARR_*`) only disables that app's section in shared scripts — Lidarr functionality is unaffected. Lidarr API: `$LIDARR_URL/api/v1`, auth header `X-Api-Key: $LIDARR_API_KEY`. Full endpoint list: `references/api-endpoints.md`. **Calling the API yourself:** always use `$LIDARR_URL` with `$LIDARR_API_KEY`. Never add `--noproxy`, unset `HTTP_PROXY`/`HTTPS_PROXY`, or print the key: an `oc-sent-…` value only works through the OpenClaw egress proxy, over HTTPS, to the host it is bound to. On a 401 report it and point the user at `clawarr-core`'s `scripts/setup.sh`; do not try other variables. ## Scripts Scripts are adapted from upstream `clawarr-suite`; keep shared copies across skills identical. ### `scripts/search.sh` — Find music ```bash scripts/search.sh "" music scripts/search.sh "pink floyd" music ``` Looks up `GET /search?term=` on Lidarr and prints artist, album title, album type, and release year. ### `scripts/library.sh` — Library exploration (app = `lidarr`) ```bash scripts/library.sh stats lidarr # artist/album/track counts scripts/library.sh disk lidarr # disk usage by root folder ``` Only `stats` and `disk` have Lidarr branches in the upstream script. `quality`, `missing`, `unmonitored`, `recent`, `genres`, `years`, and `nofiles` are Radarr/Sonarr-only and print an empty report for `lidarr` — use the API directly instead (e.g. `GET /wanted/missing`, `GET /artist` filtered with jq; see `references/api-endpoints.md`). Note: there is no `manage.sh` for Lidarr in this skill — add artists directly via `POST /artist` (see `references/api-endpoints.md`), and remove entries only on explicit user request. ## Troubleshooting See `references/common-issues.md` (Import Issues + Path Mapping verbatim upstream, plus a condensed permission checklist) for "No files eligible for import" fixes, remote path mappings, and permission checks. ## Example Prompts - "Search Lidarr for Pink Floyd" - "What's missing from my music library?" - "Show Lidarr library stats" - "Which albums are monitored but have no files?"