From sonarr
Search TV shows by name, add to Sonarr library with quality profiles and monitor options, check existence, remove shows via bash API scripts.
npx claudepluginhub jmagar/claude-homelabThis skill uses the workspace's default tool permissions.
**⚠️ MANDATORY SKILL INVOCATION ⚠️**
Manages Sonarr TV show library: search by name, add with quality profiles/monitor options/search-on-add, check existence, remove with optional file deletion, view configs.
Search and add TV shows to Sonarr library via bash scripts. Supports monitor options, search-on-add, quality profiles, existence checks, and removal with file delete.
Manages Radarr movie library: search movies by name or TMDB ID, add individuals or collections, check existence, remove with optional file deletion, list configs via bash API scripts.
Share bugs, ideas, or general feedback.
⚠️ 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-here"
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>