From homelab-core
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/homelab-core:sonarrThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**⚠️ MANDATORY SKILL INVOCATION ⚠️**
⚠️ 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>
npx claudepluginhub jmagar/claude-homelab --plugin tautulliSearches for TV shows on TheTVDB and adds them to a Sonarr library with configurable quality profiles and monitor options.
Manages Radarr movie library: search/add/remove individual movies or collections, check existence, view quality profiles/root folders via bash API scripts.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.