From configarr
Use when writing, editing, validating, debugging, or extending a configarr.yml — the single declarative YAML that configarr uses to manage Radarr, Sonarr, Prowlarr, Bazarr, and SABnzbd. Triggers when: (1) creating or changing a configarr.yml; (2) adding a quality profile, custom format, root folder, naming/media-management setting, delay or release profile, quality definition, download client, indexer, application, notification connection, Bazarr language profile or provider, or SABnzbd server/category/misc setting to a configarr config; (3) determining which YAML keys configarr accepts, or why a configarr run reports FAILED/UNCHANGED. Targets the configarr YAML schema specifically — not general Sonarr/Radarr/Prowlarr/Bazarr/SABnzbd usage or their native APIs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/configarr:configarr-configThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
configarr reads a single `configarr.yml` and syncs Radarr, Sonarr, Prowlarr, Bazarr, and SABnzbd
configarr reads a single configarr.yml and syncs Radarr, Sonarr, Prowlarr, Bazarr, and SABnzbd
from it. Every service is nested under <service>.instances.<name>, where <name> is an arbitrary
label you choose. For exact keys, accepted values, and defaults for every resource, consult
references/schema.md.
${VAR} anywhere in string values. A .env file beside configarr.yml is
loaded automatically. Missing variables are left as the literal ${VAR} string — they are not
errors at parse time.references/schema.md for the
keys that configarr actually accepts.configarr.yml, or start from the skeleton in the Core recipes section below.radarr, sonarr, prowlarr, bazarr, sabnzbd) and the resource
type you need to add or change.references/schema.md for that resource before writing any keys. Copy the exact
nesting and key names shown there; do not guess.${VAR} and add the variable to your .env file.configarr.yml.Scoping a run — use --service <name> and/or --instance <name> to limit which services or
instances are touched. This is the only blast-radius control for non-Bazarr services.
Dry-run and debug
--dry-run is Bazarr-only. For every other service, a run applies changes immediately.--debug enables verbose logging but does not prevent mutations for any service.Result vocabulary — CREATED / UPDATED / UNCHANGED / FAILED. SABnzbd servers and categories always report CREATED or UPDATED; they never report UNCHANGED even when values match.
Common errors
missing implementation — implementation is required for download clients, notifications,
indexers, and applications; omitting it causes a FAILED result.base_url or api_key missing — both are required on every instance;
omission raises a validation error before any sync runs.${VAR} in a URL or key — the variable was not set in the environment or .env file.references/schema.md.radarr:
instances:
main:
base_url: "${RADARR_URL}"
api_key: "${RADARR_API_KEY}"
sonarr:
instances:
main:
base_url: "${SONARR_URL}"
api_key: "${SONARR_API_KEY}"
prowlarr:
instances:
main:
base_url: "${PROWLARR_URL}"
api_key: "${PROWLARR_API_KEY}"
bazarr:
instances:
main:
base_url: "${BAZARR_URL}"
api_key: "${BAZARR_API_KEY}"
sabnzbd:
instances:
main:
base_url: "${SABNZBD_URL}"
api_key: "${SABNZBD_API_KEY}"
sonarr:
instances:
main:
base_url: "${SONARR_URL}"
api_key: "${SONARR_API_KEY}"
custom_formats:
definitions:
HDR:
include_when_renaming: false
specifications:
- name: HDR
implementation: ReleaseTitleSpecification
negate: false
required: true
fields:
value: "\\bHDR\\b"
profiles:
quality_profiles:
definitions:
HD-1080p:
upgrades_allowed: true
upgrade_until_quality: WEBDL-1080p
upgrade_until_custom_format_score: 10000
minimum_custom_format_score: 0
custom_format_scores:
HDR: 10
qualities:
- WEBDL-1080p
- name: WEB 1080p
qualities:
- WEBDL-1080p
- WEBRip-1080p
enabled: true
release_profiles is Sonarr-only; configarr ignores it on Radarr instances.qualities entries are either a bare string (single quality) or an object with
name, qualities (list), and enabled (for quality groups).custom_format_scores maps custom-format names to integer scores; the format must already exist
(either defined earlier in the same file or pre-existing in the *arr instance) for scores to apply.--verbose (payload logging) is also Bazarr-only, like --dry-run.references/schema.md.Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub aldoborrero/configarr --plugin configarr