This skill should be used when managing TV shows in Sonarr. Use when the user asks to "add a TV show", "search Sonarr", "find a series", "add to Sonarr", "remove a show", "check if show exists", "Sonarr library", "TVDB lookup", or mentions TV show management or Sonarr operations.
From homelab-corenpx claudepluginhub jmagar/claude-homelab --plugin homelab-coreThis skill uses the workspace's default tool permissions.
README.mdload-env.shreferences/api-endpoints.mdreferences/quick-reference.mdreferences/troubleshooting.mdscripts/sonarr.shGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Optimizes cloud costs on AWS, Azure, GCP via rightsizing, tagging strategies, reserved instances, spot usage, and spending analysis. Use for expense reduction and governance.
⚠️ MANDATORY SKILL INVOCATION ⚠️
YOU MUST invoke this skill (NOT optional) when the user mentions ANY of these triggers:
Failure to invoke this skill when triggers occur violates your operational requirements.
Search and add TV shows to your Sonarr library with support for monitor options, quality profiles, and search-on-add.
This skill enables management of your Sonarr TV show library:
Operations include both read and write actions. Always confirm before removing shows with file deletion.
Add credentials to .env file: ~/.claude-homelab/.env
SONARR_URL="http://localhost:8989"
SONARR_API_KEY="<your_api_key>"
SONARR_DEFAULT_QUALITY_PROFILE="1" # Optional: defaults to 1 if not set
Configuration variables:
SONARR_URL: Your Sonarr server URL (no trailing slash)SONARR_API_KEY: API key from Sonarr (Settings → General → API Key)SONARR_DEFAULT_QUALITY_PROFILE: Quality profile ID (optional, defaults to 1)All commands return JSON output.
bash scripts/sonarr.sh search "Breaking Bad"
bash scripts/sonarr.sh search "The Office"
Output: Numbered list with TVDB IDs, titles, years, and overview.
bash scripts/sonarr.sh exists <tvdbId>
Output: Boolean indicating if show is in library.
bash scripts/sonarr.sh add <tvdbId> # Searches immediately (default)
bash scripts/sonarr.sh add <tvdbId> --no-search # Add without searching
bash scripts/sonarr.sh remove <tvdbId> # Keep files
bash scripts/sonarr.sh remove <tvdbId> --delete-files # Delete files too
Important: Always ask the user if they want to delete files when removing!
bash scripts/sonarr.sh config
Output: Available root folders and quality profiles with their IDs.
When the user asks about TV shows:
search "Breaking Bad", present results with TVDB links, then add <tvdbId>exists <tvdbId>remove <tvdbId> with appropriate flagconfigAlways include TVDB links when presenting search results:
[Title (Year)](https://thetvdb.com/series/SLUG)<tvdbId>: TVDB ID of the show (required)--no-search: Don't search for episodes after adding<tvdbId>: TVDB ID of the show (required)--delete-files: Also delete media files (default: keep files)config to discover yoursSONARR_DEFAULT_QUALITY_PROFILE from .env is used when adding shows (defaults to 1)For detailed local reference, see:
CRITICAL: When invoking scripts from this skill via the zsh-tool, ALWAYS use pty: true.
Without PTY mode, command output will not be visible even though commands execute successfully.
Correct invocation pattern:
<invoke name="mcp__plugin_zsh-tool_zsh-tool__zsh">
<parameter name="command">./skills/SKILL_NAME/scripts/SCRIPT.sh [args]</parameter>
<parameter name="pty">true</parameter>
</invoke>