🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

ClawARR Suite

by @omiron33

Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...

Versionv1.0.1
Downloads2,446
Stars⭐ 4
Comments2
TERMINAL
clawhub install clawarr-suite

πŸ“– About This Skill


name: clawarr-suite description: > Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl). homepage: https://github.com/omiron33/clawarr-suite metadata: { "openclaw": { "requires": { "bins": ["bash", "curl", "jq", "bc", "sed"] }, "security": { "networkScope": "local-lan-and-user-configured-hosts", "secretsPolicy": "api keys loaded from env/user config only; never hardcoded", "destructiveActions": "none by default; explicit command required for delete/remove actions" }, "capabilities": [ "arr-api-management", "docker-service-observability", "dashboard-generation", "media-tracker-sync" ] } }

ClawARR Suite

Unified deep-integration control for self-hosted media automation stacks. This skill provides comprehensive agent-executable operations across the entire *arr ecosystem with rich analytics, dashboard generation, and advanced library exploration.

Security & Scanner Clarity

  • Local-first operations: all API calls target user-provided local hosts (typically LAN/NAS).
  • No embedded secrets: API keys/tokens are sourced from environment variables or user-owned config files.
  • No telemetry/exfiltration paths: scripts do not transmit credentials or library data to third-party endpoints.
  • Destructive behavior is opt-in: delete/remove actions require explicit command invocation by the user/agent.
  • Setup logic avoids dynamic eval and uses explicit variable mapping for scanner-friendly shell behavior.
  • Quick Start

    First time setup (recommended):

    scripts/setup.sh 
    
    Discovers services, grabs API keys, verifies connections, and outputs your config.

    Common operations:

    scripts/status.sh              # Health check all services
    scripts/library.sh stats all   # Library statistics
    scripts/analytics.sh activity  # Current Plex streams
    scripts/dashboard.sh           # Generate HTML dashboard
    scripts/manage.sh wanted all   # Show missing content
    scripts/requests.sh list       # Overseerr requests
    

    Scripts Overview

    Core Operations

  • setup.sh β€” Guided setup wizard with auto-discovery
  • discover.sh β€” Scan host for *arr services
  • status.sh β€” Health check all configured services
  • diagnose.sh β€” Automated troubleshooting
  • Library Exploration (library.sh)

    Deep statistics and exploration for Radarr/Sonarr/Lidarr:
    library.sh stats [app]          # Overall library stats
    library.sh quality [app]        # Quality profile breakdown
    library.sh missing [app]        # Missing/wanted content
    library.sh unmonitored [app]    # Unmonitored items
    library.sh recent [app] [days]  # Recently added (default: 7)
    library.sh genres [app]         # Genre distribution
    library.sh years [app]          # Year distribution
    library.sh studios [app]        # Studio/network breakdown
    library.sh nofiles [app]        # Monitored but no files
    library.sh disk [app]           # Disk usage by root folder
    

    Analytics (analytics.sh)

    Rich viewing analytics from Tautulli/Plex:
    analytics.sh activity                 # Currently watching
    analytics.sh history [count]          # Watch history
    analytics.sh most-watched [period]    # Most watched (week/month/year)
    analytics.sh popular-genres [period]  # Popular genres
    analytics.sh peak-hours               # Peak watching hours
    analytics.sh user-stats [user]        # User activity
    analytics.sh library-stats            # Plex library stats
    analytics.sh recent-added [count]     # Recently added to Plex
    analytics.sh play-totals              # Total play statistics
    

    Content Management (manage.sh)

    Add, remove, and manage content:
    manage.sh add-movie "" [quality] [root]
    manage.sh add-series "<title>" [quality] [root]
    manage.sh remove <app> <id>
    manage.sh wanted [app]
    manage.sh calendar [app] [days]
    manage.sh history [app] [count]
    manage.sh rename <app> <id>
    manage.sh refresh <app> [id]
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Request Management (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">requests.sh</code>)</h4>
    Overseerr request handling:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">requests.sh list [pending|approved|available|all]
    requests.sh approve <id>
    requests.sh deny <id> [reason]
    requests.sh info <id>
    requests.sh stats
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Subtitle Management (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">subtitles.sh</code>)</h4>
    Bazarr operations:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">subtitles.sh wanted
    subtitles.sh history [count]
    subtitles.sh search <series|movie> <id>
    subtitles.sh languages
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Indexer Management (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">indexers.sh</code>)</h4>
    Prowlarr operations:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">indexers.sh list
    indexers.sh test [id]
    indexers.sh stats
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Download Client (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">downloads.sh</code>)</h4>
    SABnzbd operations:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">downloads.sh active
    downloads.sh speed
    downloads.sh history [count]
    downloads.sh pause
    downloads.sh resume
    downloads.sh queue
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Dashboard Generation (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">dashboard.sh</code>)</h4>
    Generate self-contained HTML dashboard:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">dashboard.sh [output_file]
    </code></pre>
    Creates beautiful dark-themed dashboard with:
    <li style="color:#94a3b8;margin:3px 0">System health</li>
    <li style="color:#94a3b8;margin:3px 0">Download activity</li>
    <li style="color:#94a3b8;margin:3px 0">Library statistics</li>
    <li style="color:#94a3b8;margin:3px 0">Recent activity</li>
    <li style="color:#94a3b8;margin:3px 0">Viewing analytics</li>
    <li style="color:#94a3b8;margin:3px 0">Disk usage</li></p><p style="margin:8px 0">Output defaults to <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">clawarr-dashboard.html</code> (open in any browser).</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Media Tracker Integration (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">trakt.sh</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">trackers.sh</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">letterboxd.sh</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">simkl.sh</code>)</h4></p><p style="margin:8px 0">Track and sync what you watch across services like Trakt.tv, Letterboxd, Simkl, and more.</p><p style="margin:8px 0"><strong style="color:#e5e7eb">Unified Interface (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">trackers.sh</code>):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trackers.sh setup              # Interactive setup wizard
    trackers.sh status             # Show configured trackers
    trackers.sh sync plex trakt    # Sync Plex β†’ Trakt
    trackers.sh export trakt json  # Export watch history
    trackers.sh import letterboxd file.csv
    trackers.sh compare trakt simkl
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Trakt.tv Integration (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">trakt.sh</code>):</strong></p><p style="margin:8px 0">*Authentication:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh auth                  # Device code OAuth flow
    trakt.sh auth-status           # Check authentication
    </code></pre></p><p style="margin:8px 0">*Profile & Stats:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh profile [username]    # Show profile
    trakt.sh stats [username]      # Detailed statistics
    </code></pre></p><p style="margin:8px 0">*Watching & History:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh watching              # Currently watching
    trakt.sh history [movies|shows|episodes] [limit]
    trakt.sh sync-history export file.json
    trakt.sh sync-history import file.json
    </code></pre></p><p style="margin:8px 0">*Scrobbling:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh scrobble start movie 12345
    trakt.sh scrobble stop movie 12345 100
    trakt.sh checkin movie "Inception"
    </code></pre></p><p style="margin:8px 0">*Lists & Collections:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh watchlist [movies|shows]
    trakt.sh watchlist-add movie "Dune Part Two"
    trakt.sh collection movies
    trakt.sh collection-add movie 12345
    trakt.sh lists                 # Custom lists
    trakt.sh list-items my-favorites
    </code></pre></p><p style="margin:8px 0">*Ratings:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh ratings movies 8      # Movies rated 8+
    trakt.sh rate movie "Inception" 10
    </code></pre></p><p style="margin:8px 0">*Discovery:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh recommendations movies
    trakt.sh trending shows
    trakt.sh popular movies
    trakt.sh calendar all 7        # Next 7 days
    </code></pre></p><p style="margin:8px 0">*Search:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh search "Breaking Bad" show
    </code></pre></p><p style="margin:8px 0">*Sync:*
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trakt.sh sync-plex             # Sync Plex watch history to Trakt
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Letterboxd Integration (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">letterboxd.sh</code>):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">letterboxd.sh export           # Export from Plex as Letterboxd CSV
    letterboxd.sh import diary.csv # Import Letterboxd diary
    letterboxd.sh profile username # View public profile
    letterboxd.sh diary username 2024
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Simkl Integration (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">simkl.sh</code>):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">simkl.sh auth                  # OAuth authentication
    simkl.sh profile               # Show profile
    simkl.sh stats                 # Viewing statistics
    simkl.sh history movies        # Watch history
    simkl.sh watchlist all         # View watchlist
    simkl.sh sync                  # Sync with Plex
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Traktarr & Retraktarr Integration</h4></p><p style="margin:8px 0">Automate content discovery and library syncing with Trakt lists.</p><p style="margin:8px 0"><strong style="color:#e5e7eb">Traktarr (Trakt β†’ Radarr/Sonarr):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Status and configuration
    trakt.sh traktarr-status       # Check if installed
    trakt.sh traktarr-config       # Configure Traktarr</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Add content from Trakt lists</h2>
    trakt.sh traktarr-add movies trending 10
    trakt.sh traktarr-add movies anticipated 15
    trakt.sh traktarr-add movies popular 5
    trakt.sh traktarr-add shows trending 5
    trakt.sh traktarr-add movies watchlist 50
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Retraktarr (Radarr/Sonarr β†’ Trakt):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Status and configuration
    trakt.sh retraktarr-status     # Check if installed
    trakt.sh retraktarr-config     # Configure Retraktarr</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Sync library to Trakt lists</h2>
    trakt.sh retraktarr-sync all   # Sync movies and shows
    trakt.sh retraktarr-sync movies
    trakt.sh retraktarr-sync shows
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Installation via Setup Wizard:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">trackers.sh setup
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Choose option 5 for Traktarr</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Choose option 6 for Retraktarr</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Offers to install via pip if not found</h2>
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">What They Do:</strong>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb">Traktarr:</strong> Automatically adds content from Trakt lists (trending, anticipated, watchlist, custom) to Radarr/Sonarr for download</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb">Retraktarr:</strong> Syncs your Radarr/Sonarr library back to Trakt as public/private lists</li></p><p style="margin:8px 0">See <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/traktarr-retraktarr.md</code> for complete setup, cron scheduling, and usage patterns.</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Prowlarr Indexer Management (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">prowlarr.sh</code>)</h4>
    Centralized indexer management across all *arr apps:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">prowlarr.sh indexers              # List all indexers
    prowlarr.sh test [id]             # Test indexer(s)
    prowlarr.sh stats                 # Indexer & app sync statistics
    prowlarr.sh search <query> [type] # Search across all indexers (type: movie|tv|audio|book)
    prowlarr.sh apps                  # List sync targets (Sonarr/Radarr/etc)
    prowlarr.sh add-app <type> <url> <key>  # Add app sync target
    prowlarr.sh sync                  # Trigger sync to all apps
    prowlarr.sh status                # Health check
    prowlarr.sh logs [count]          # Recent logs
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Recyclarr Quality Profiles (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">recyclarr.sh</code>)</h4>
    Sync TRaSH Guides quality profiles to Sonarr/Radarr:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">recyclarr.sh status               # Check status & config
    recyclarr.sh sync [instance]      # Sync profiles (all or specific)
    recyclarr.sh diff [instance]      # Preview changes without applying
    recyclarr.sh profiles             # List available TRaSH profiles
    recyclarr.sh qualities [app]      # List quality definitions
    recyclarr.sh config               # Show current config
    recyclarr.sh create-config        # Generate config template
    recyclarr.sh logs [count]         # View recent logs
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Maintainerr Library Cleanup (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">maintainerr.sh</code>)</h4>
    Automated library cleanup based on rules:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">maintainerr.sh status             # Check status
    maintainerr.sh rules              # List cleanup rules
    maintainerr.sh collections        # List managed collections
    maintainerr.sh run [rule_id]      # Trigger rules (all or specific)
    maintainerr.sh media <rule_id>    # Show media matched by a rule
    maintainerr.sh exclude <media_id> <rule_id>  # Exclude media from rule
    maintainerr.sh logs               # View activity log
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Notifiarr Notifications (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">notifiarr.sh</code>)</h4>
    Unified notification management across *arr services:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">notifiarr.sh status               # Check status & integrations
    notifiarr.sh triggers             # List notification triggers
    notifiarr.sh services             # Show connected services
    notifiarr.sh test [channel]       # Send test notification
    notifiarr.sh config               # Configuration summary
    notifiarr.sh logs                 # Recent notification log
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Kometa Collection Manager (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">kometa.sh</code>)</h4>
    Plex collection, overlay, and metadata automation:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">kometa.sh status                  # Check container status
    kometa.sh run [library]           # Run Kometa (all or specific library)
    kometa.sh collections             # Show Plex collections
    kometa.sh overlays                # Check overlay config
    kometa.sh config                  # Show Kometa config
    kometa.sh templates               # List available default collections/overlays
    kometa.sh logs [count]            # View recent logs
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Unpackerr Archive Extraction (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">unpackerr.sh</code>)</h4>
    Automatic archive extraction for download clients:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">unpackerr.sh status               # Check status & config
    unpackerr.sh activity             # Recent extraction activity
    unpackerr.sh errors               # Recent errors/warnings
    unpackerr.sh config               # Show configuration
    unpackerr.sh logs [count]         # View recent logs
    unpackerr.sh restart              # Restart container
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Legacy Scripts</h4>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">queue.sh</code></strong> β€” View download queues (use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">manage.sh wanted</code> or <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">downloads.sh active</code> for more detail)</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">search.sh</code></strong> β€” Search content (use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">manage.sh add-*</code> for full workflow)</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Configuration</h3></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Environment Variables</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Core Services:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">export CLAWARR_HOST=192.168.1.100
    export SONARR_KEY=abc123...
    export RADARR_KEY=def456...
    export LIDARR_KEY=ghi789...
    export READARR_KEY=jkl012...
    export PROWLARR_KEY=mno345...
    export BAZARR_KEY=pqr678...
    export OVERSEERR_KEY=stu901...
    export PLEX_TOKEN=vwx234...
    export TAUTULLI_KEY=yz567...
    export SABNZBD_KEY=abc890...
    export NOTIFIARR_KEY=xyz123...</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Companion services (auto-detected, keys optional)</h2>
    export PROWLARR_KEY=abc123...   # Required for prowlarr.sh</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Docker-based services (SSH access for remote management)</h2>
    export RECYCLARR_SSH=mynas       # SSH host for recyclarr container
    export KOMETA_SSH=mynas          # SSH host for kometa container
    export UNPACKERR_SSH=mynas       # SSH host for unpackerr container
    export DOCKER_CONFIG_BASE=/opt/docker  # Docker config root (default: /volume1/docker for Synology)
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Media Trackers (optional):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Trakt.tv (register app at https://trakt.tv/oauth/applications/new)
    export TRAKT_CLIENT_ID=your_client_id
    export TRAKT_CLIENT_SECRET=your_client_secret</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Simkl (register at https://simkl.com/settings/developer)</h2>
    export SIMKL_CLIENT_ID=your_client_id
    export SIMKL_CLIENT_SECRET=your_client_secret</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Letterboxd (requires API approval)</h2>
    export LETTERBOXD_API_KEY=your_api_key  # Optional, uses CSV export if not set
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Token Storage:</strong>
    <li style="color:#94a3b8;margin:3px 0">Tokens are automatically saved to <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">~/.config/clawarr/</code></li>
    <li style="color:#94a3b8;margin:3px 0">Files: <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">trakt_tokens.json</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">simkl_tokens.json</code></li>
    <li style="color:#94a3b8;margin:3px 0">Permissions: 600 (user read/write only)</li></p><p style="margin:8px 0">Store in <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">.env</code> file and source before running scripts.</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Standard Ports</h4>
    <li style="color:#94a3b8;margin:3px 0">Sonarr: 8989</li>
    <li style="color:#94a3b8;margin:3px 0">Radarr: 7878</li>
    <li style="color:#94a3b8;margin:3px 0">Lidarr: 8686</li>
    <li style="color:#94a3b8;margin:3px 0">Readarr: 8787</li>
    <li style="color:#94a3b8;margin:3px 0">Prowlarr: 9696</li>
    <li style="color:#94a3b8;margin:3px 0">Bazarr: 6767</li>
    <li style="color:#94a3b8;margin:3px 0">Overseerr: 5055</li>
    <li style="color:#94a3b8;margin:3px 0">Plex: 32400</li>
    <li style="color:#94a3b8;margin:3px 0">Tautulli: 8181</li>
    <li style="color:#94a3b8;margin:3px 0">SABnzbd: 38080</li>
    <li style="color:#94a3b8;margin:3px 0">Notifiarr: 5454</li>
    <li style="color:#94a3b8;margin:3px 0">Maintainerr: 6246</li>
    <li style="color:#94a3b8;margin:3px 0">FlareSolverr: 8191</li>
    <li style="color:#94a3b8;margin:3px 0">Homarr: 7575</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">API Key Discovery</h3></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Method 1: /initialize.json (Easiest)</h4>
    Most *arr apps expose API key at public endpoint:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">curl -s http://HOST:7878/initialize.json | jq -r '.apiKey'
    </code></pre></p><p style="margin:8px 0">For older versions (v3):
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">curl -s http://HOST:7878/initialize.js | grep -o "apiKey: '[^']*'" | cut -d"'" -f2
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Method 2: Config Files</h4>
    <strong style="color:#e5e7eb">Docker/Unraid/Synology:</strong> <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">/config/config.xml</code> (inside container)
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">grep '<ApiKey>' /path/to/config.xml | sed 's/.*<ApiKey>\(.*\)<\/ApiKey>.*/\1/'
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Method 3: Web UI</h4>
    Settings β†’ General β†’ Security β†’ API Key</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Plex Token</h4>
    From Plex Web UI:
    1. Open any media item
    2. "Get Info" β†’ "View XML"
    3. URL contains <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">X-Plex-Token=...</code></p><p style="margin:8px 0">Or use:
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">curl -u "username:password" -X POST \
      'https://plex.tv/users/sign_in.json' \
      -H "X-Plex-Client-Identifier: <unique-id>"
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Tautulli API Key</h4>
    Settings β†’ Web Interface β†’ API β†’ API Key</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">SABnzbd API Key</h4>
    Config β†’ General β†’ Security β†’ API Key</p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Common Workflows</h3></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Library Analysis</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Get complete library overview
    scripts/library.sh stats all</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Find quality upgrade candidates</h2>
    scripts/library.sh quality radarr</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Show missing content</h2>
    scripts/library.sh missing all</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Check disk usage</h2>
    scripts/library.sh disk all
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Viewing Analytics</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Current activity
    scripts/analytics.sh activity</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Most watched this month</h2>
    scripts/analytics.sh most-watched month</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">User statistics</h2>
    scripts/analytics.sh user-stats</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Peak hours</h2>
    scripts/analytics.sh peak-hours
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Request Management</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Show pending requests
    scripts/requests.sh list pending</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Approve request</h2>
    scripts/requests.sh approve 123</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Request statistics</h2>
    scripts/requests.sh stats
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Content Management</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Add movie
    scripts/manage.sh add-movie "Dune Part Two"</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Show calendar</h2>
    scripts/manage.sh calendar all 7</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">View history</h2>
    scripts/manage.sh history radarr 30</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Show wanted/missing</h2>
    scripts/manage.sh wanted all
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Indexer Management (Prowlarr)</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># List and test all indexers
    scripts/prowlarr.sh indexers
    scripts/prowlarr.sh test</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Search across all indexers</h2>
    scripts/prowlarr.sh search "Dune" movie</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Add Sonarr/Radarr as sync targets</h2>
    scripts/prowlarr.sh add-app sonarr http://host:8989 <sonarr_key>
    scripts/prowlarr.sh add-app radarr http://host:7878 <radarr_key></p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Trigger indexer sync to all apps</h2>
    scripts/prowlarr.sh sync
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Quality Profiles (Recyclarr)</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Preview changes
    scripts/recyclarr.sh diff</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Sync TRaSH Guides profiles</h2>
    scripts/recyclarr.sh sync</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Check status</h2>
    scripts/recyclarr.sh status
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Library Cleanup (Maintainerr)</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># View rules and matched media
    scripts/maintainerr.sh rules
    scripts/maintainerr.sh media 1</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Run cleanup</h2>
    scripts/maintainerr.sh run</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Exclude something from cleanup</h2>
    scripts/maintainerr.sh exclude 12345 1
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Collections & Overlays (Kometa)</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Run collection/overlay generation
    scripts/kometa.sh run</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">View existing collections</h2>
    scripts/kometa.sh collections</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">See available templates</h2>
    scripts/kometa.sh templates
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Dashboard</h4>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Generate dashboard
    scripts/dashboard.sh my-dashboard.html</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Open in browser</h2>
    open my-dashboard.html
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Media Tracking Workflows</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Initial Setup:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Set up Trakt.tv
    scripts/trackers.sh setup
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Select option 1 (Trakt.tv)</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Follow device auth flow</h2></p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Check status</h2>
    scripts/trackers.sh status
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Sync Plex to Trakt:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># One-time sync of watch history
    scripts/trakt.sh sync-plex</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Or use unified interface</h2>
    scripts/trackers.sh sync plex trakt
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Export for Letterboxd:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Generate Letterboxd-compatible CSV
    scripts/letterboxd.sh export</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Upload at letterboxd.com/import/</h2>
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Cross-Tracker Sync:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Export from Trakt, convert for Letterboxd
    scripts/trackers.sh sync trakt letterboxd</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Compare two services</h2>
    scripts/trackers.sh compare trakt simkl
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Discovery & Recommendations:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Get personalized recommendations
    scripts/trakt.sh recommendations movies</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">See what's trending</h2>
    scripts/trakt.sh trending shows</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Check upcoming releases</h2>
    scripts/trakt.sh calendar all 7
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Track Viewing:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># See what you're currently watching
    scripts/trakt.sh watching</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">View watch history</h2>
    scripts/trakt.sh history movies 50</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Rate something you watched</h2>
    scripts/trakt.sh rate movie "Inception" 10
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Automation with Traktarr/Retraktarr:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Set up Traktarr (Trakt β†’ Arr)
    scripts/trackers.sh setup  # Option 5</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Add trending movies to Radarr</h2>
    scripts/trakt.sh traktarr-add movies trending 10</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Add anticipated shows to Sonarr</h2>
    scripts/trakt.sh traktarr-add shows anticipated 5</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Set up Retraktarr (Arr β†’ Trakt)</h2>
    scripts/trackers.sh setup  # Option 6</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Sync library to Trakt lists</h2>
    scripts/trakt.sh retraktarr-sync all</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Schedule automation (cron):</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Traktarr every 6 hours: 0 */6 * * * traktarr run</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Retraktarr daily at 3am: 0 3 * * * retraktarr sync</h2>
    </code></pre></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Troubleshooting</h3></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">No Files Eligible for Import</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Diagnosis:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/diagnose.sh
    </code></pre></p><p style="margin:8px 0">Common causes:
    1. <strong style="color:#e5e7eb">Stale Docker mounts</strong> β€” Container restarted but host didn't
    2. <strong style="color:#e5e7eb">Path mapping</strong> β€” Download client and *arr app see different paths
    3. <strong style="color:#e5e7eb">Permissions</strong> β€” *arr app can't read download directory
    4. <strong style="color:#e5e7eb">Category mismatch</strong> β€” Download in wrong category</p><p style="margin:8px 0"><strong style="color:#e5e7eb">Solutions:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Restart containers (fixes stale mounts)
    docker restart radarr sonarr</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Check path mappings</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Settings β†’ Download Clients β†’ Remote Path Mappings</h2>
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Queue Stuck</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Check download client:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/downloads.sh active
    scripts/downloads.sh speed
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Check *arr queues:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/manage.sh wanted all
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Check indexers:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/indexers.sh test
    scripts/indexers.sh stats
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Missing Subtitles</h4></p><p style="margin:8px 0"><pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/subtitles.sh wanted
    scripts/subtitles.sh search series <id>
    </code></pre></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Reference Documentation</h3></p><p style="margin:8px 0"><li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/api-endpoints.md</code></strong> β€” Complete API reference for all services</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/tracker-apis.md</code></strong> β€” Media tracker API documentation (Trakt, Simkl, Letterboxd)</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/traktarr-retraktarr.md</code></strong> β€” Complete guide to Traktarr & Retraktarr automation</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/companion-services.md</code></strong> β€” Prowlarr, Recyclarr, FlareSolverr, Unpackerr, Notifiarr, Maintainerr, Kometa reference</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/common-issues.md</code></strong> β€” Troubleshooting guide with solutions</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/setup-guide.md</code></strong> β€” Platform-specific installation</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/prompts.md</code></strong> β€” Suggested natural-language prompts for agents</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb"><code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/dashboard-templates.md</code></strong> β€” HTML/CSS templates for dashboards</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Example Agent Prompts</h3></p><p style="margin:8px 0">See <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">references/prompts.md</code> for complete list. Examples:</p><p style="margin:8px 0"><strong style="color:#e5e7eb">Library & Downloads:</strong>
    <li style="color:#94a3b8;margin:3px 0">"Show me what's downloading right now"</li>
    <li style="color:#94a3b8;margin:3px 0">"What movies were added this week?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Generate a dashboard of my media library"</li>
    <li style="color:#94a3b8;margin:3px 0">"What are the most watched shows this month?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Find all 720p movies that could be upgraded to 4K"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show missing episodes for all monitored shows"</li>
    <li style="color:#94a3b8;margin:3px 0">"What's coming out this week?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Approve all pending Overseerr requests"</li>
    <li style="color:#94a3b8;margin:3px 0">"How much disk space am I using per library?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show my Plex viewing stats for the last 30 days"</li>
    <li style="color:#94a3b8;margin:3px 0">"What subtitles are missing?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Test all my indexers"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Media Tracking:</strong>
    <li style="color:#94a3b8;margin:3px 0">"Set up Trakt tracking for my Plex library"</li>
    <li style="color:#94a3b8;margin:3px 0">"Sync my Plex watch history to Trakt"</li>
    <li style="color:#94a3b8;margin:3px 0">"What am I currently watching on Trakt?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show my Trakt watch history from this month"</li>
    <li style="color:#94a3b8;margin:3px 0">"Get movie recommendations based on my Trakt ratings"</li>
    <li style="color:#94a3b8;margin:3px 0">"What's trending on Trakt right now?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Export my library for Letterboxd"</li>
    <li style="color:#94a3b8;margin:3px 0">"Compare my Trakt and Simkl watch histories"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show me upcoming movie releases I'm tracking"</li>
    <li style="color:#94a3b8;margin:3px 0">"Rate Inception 10/10 on Trakt"</li>
    <li style="color:#94a3b8;margin:3px 0">"Add Dune Part Two to my Trakt watchlist"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show my Letterboxd profile stats"</li>
    <li style="color:#94a3b8;margin:3px 0">"What are my top-rated movies on Trakt?"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Prowlarr & Indexers:</strong>
    <li style="color:#94a3b8;margin:3px 0">"Show all my indexers and test them"</li>
    <li style="color:#94a3b8;margin:3px 0">"Search across all indexers for Breaking Bad"</li>
    <li style="color:#94a3b8;margin:3px 0">"Sync Prowlarr indexers to Sonarr and Radarr"</li>
    <li style="color:#94a3b8;margin:3px 0">"Add Sonarr as a sync target in Prowlarr"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Quality Profiles (Recyclarr):</strong>
    <li style="color:#94a3b8;margin:3px 0">"Sync TRaSH Guides quality profiles"</li>
    <li style="color:#94a3b8;margin:3px 0">"Preview what Recyclarr would change"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show available quality profiles for Radarr"</li>
    <li style="color:#94a3b8;margin:3px 0">"What quality definitions does Sonarr have?"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Library Cleanup (Maintainerr):</strong>
    <li style="color:#94a3b8;margin:3px 0">"Show my library cleanup rules"</li>
    <li style="color:#94a3b8;margin:3px 0">"What movies are flagged for deletion?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Run all cleanup rules now"</li>
    <li style="color:#94a3b8;margin:3px 0">"Exclude this movie from the cleanup rule"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Collections & Overlays (Kometa):</strong>
    <li style="color:#94a3b8;margin:3px 0">"Run Kometa to update collections"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show all my Plex collections"</li>
    <li style="color:#94a3b8;margin:3px 0">"What overlay templates are available?"</li>
    <li style="color:#94a3b8;margin:3px 0">"Add IMDb Top 250 collection to my movie library"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Notifications (Notifiarr):</strong>
    <li style="color:#94a3b8;margin:3px 0">"Check Notifiarr status and integrations"</li>
    <li style="color:#94a3b8;margin:3px 0">"Send a test notification"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show recent notifications"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Archive Extraction (Unpackerr):</strong>
    <li style="color:#94a3b8;margin:3px 0">"Check Unpackerr status"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show recent extraction activity"</li>
    <li style="color:#94a3b8;margin:3px 0">"Any extraction errors?"</li></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Traktarr/Retraktarr Automation:</strong>
    <li style="color:#94a3b8;margin:3px 0">"Set up Traktarr to auto-add trending movies"</li>
    <li style="color:#94a3b8;margin:3px 0">"Add the top 10 anticipated movies from Trakt to Radarr"</li>
    <li style="color:#94a3b8;margin:3px 0">"Configure Traktarr to monitor my Trakt watchlist"</li>
    <li style="color:#94a3b8;margin:3px 0">"Sync my Radarr library to a public Trakt list"</li>
    <li style="color:#94a3b8;margin:3px 0">"Show Traktarr status and configuration"</li>
    <li style="color:#94a3b8;margin:3px 0">"Add trending shows to Sonarr via Traktarr"</li>
    <li style="color:#94a3b8;margin:3px 0">"Set up automatic syncing between Trakt and my *arr apps"</li>
    <li style="color:#94a3b8;margin:3px 0">"What's Retraktarr doing? Is it synced?"</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Technical Notes</h3></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Bash 3.2 Compatibility</h4>
    All scripts are compatible with macOS bash 3.2:
    <li style="color:#94a3b8;margin:3px 0">No associative arrays (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">declare -A</code>)</li>
    <li style="color:#94a3b8;margin:3px 0">No uppercase parameter expansion (<code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">${var^^}</code>)</li>
    <li style="color:#94a3b8;margin:3px 0">Use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">$(echo "$var" | tr '[:lower:]' '[:upper:]')</code> for case conversion</li>
    <li style="color:#94a3b8;margin:3px 0">No <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">|&</code> (pipe stderr), use <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">2>&1</code> instead</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Dependencies</h4>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb">curl</strong> β€” HTTP requests</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb">jq</strong> β€” JSON parsing</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb">bc</strong> β€” Math calculations (for percentages, GB conversions)</li>
    <li style="color:#94a3b8;margin:3px 0"><strong style="color:#e5e7eb">sed</strong> β€” Text processing</li></p><p style="margin:8px 0">All standard on macOS/Linux.</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Security</h4>
    <li style="color:#94a3b8;margin:3px 0">Never log API keys</li>
    <li style="color:#94a3b8;margin:3px 0">Confirm destructive actions (delete, remove)</li>
    <li style="color:#94a3b8;margin:3px 0">Rate limiting for bulk operations</li>
    <li style="color:#94a3b8;margin:3px 0">Use HTTPS for remote access</li></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Performance</h4>
    <li style="color:#94a3b8;margin:3px 0">Scripts cache API responses where possible</li>
    <li style="color:#94a3b8;margin:3px 0">Dashboard generation pulls data once per run</li>
    <li style="color:#94a3b8;margin:3px 0">Bulk operations use batch APIs when available</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Version Compatibility</h3></p><p style="margin:8px 0">Tested with:
    <li style="color:#94a3b8;margin:3px 0">Sonarr v4.x (API v3)</li>
    <li style="color:#94a3b8;margin:3px 0">Radarr v5.x (API v3)</li>
    <li style="color:#94a3b8;margin:3px 0">Lidarr v2.x (API v1)</li>
    <li style="color:#94a3b8;margin:3px 0">Readarr v0.3.x (API v1)</li>
    <li style="color:#94a3b8;margin:3px 0">Prowlarr v1.x (API v1)</li>
    <li style="color:#94a3b8;margin:3px 0">Bazarr v1.4.x</li>
    <li style="color:#94a3b8;margin:3px 0">Overseerr v1.33.x (API v1)</li>
    <li style="color:#94a3b8;margin:3px 0">Plex Media Server (all recent versions)</li>
    <li style="color:#94a3b8;margin:3px 0">Tautulli v2.x (API v2)</li>
    <li style="color:#94a3b8;margin:3px 0">SABnzbd v4.x</li>
    <li style="color:#94a3b8;margin:3px 0">Recyclarr v7.x</li>
    <li style="color:#94a3b8;margin:3px 0">Unpackerr v0.14.x</li>
    <li style="color:#94a3b8;margin:3px 0">Notifiarr v0.8.x</li>
    <li style="color:#94a3b8;margin:3px 0">Maintainerr v2.x</li>
    <li style="color:#94a3b8;margin:3px 0">Kometa v2.x (Plex Meta Manager successor)</li>
    <li style="color:#94a3b8;margin:3px 0">FlareSolverr v3.x</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">Contributing</h3></p><p style="margin:8px 0">Report issues or suggest features via GitHub. Include:
    <li style="color:#94a3b8;margin:3px 0">Script name and command run</li>
    <li style="color:#94a3b8;margin:3px 0">Error output (sanitize API keys!)</li>
    <li style="color:#94a3b8;margin:3px 0">Service versions</li>
    <li style="color:#94a3b8;margin:3px 0">Platform (Docker/Unraid/Synology/etc)</li></p><p style="margin:8px 0"><h3 style="color:#e5e7eb;margin:18px 0 8px;font-size:1.05em">License</h3></p><p style="margin:8px 0">MIT License - See repository for details.
    </p></div></section><section class="skill-card" style="margin-bottom:20px"><h2 style="color:#f8fafc;font-size:1.2em;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px">πŸ’‘ Examples</h2><div style="font-size:.92em;color:#94a3b8;line-height:1.75"><p style="margin:8px 0"><strong style="color:#e5e7eb">First time setup (recommended):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/setup.sh <host-ip-or-hostname>
    </code></pre>
    Discovers services, grabs API keys, verifies connections, and outputs your config.</p><p style="margin:8px 0"><strong style="color:#e5e7eb">Common operations:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/status.sh              # Health check all services
    scripts/library.sh stats all   # Library statistics
    scripts/analytics.sh activity  # Current Plex streams
    scripts/dashboard.sh           # Generate HTML dashboard
    scripts/manage.sh wanted all   # Show missing content
    scripts/requests.sh list       # Overseerr requests
    </code></pre></p></div></section><section class="skill-card" style="margin-bottom:20px"><h2 style="color:#f8fafc;font-size:1.2em;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px">βš™οΈ Configuration</h2><div style="font-size:.92em;color:#94a3b8;line-height:1.75"><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Environment Variables</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Core Services:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">export CLAWARR_HOST=192.168.1.100
    export SONARR_KEY=abc123...
    export RADARR_KEY=def456...
    export LIDARR_KEY=ghi789...
    export READARR_KEY=jkl012...
    export PROWLARR_KEY=mno345...
    export BAZARR_KEY=pqr678...
    export OVERSEERR_KEY=stu901...
    export PLEX_TOKEN=vwx234...
    export TAUTULLI_KEY=yz567...
    export SABNZBD_KEY=abc890...
    export NOTIFIARR_KEY=xyz123...</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Companion services (auto-detected, keys optional)</h2>
    export PROWLARR_KEY=abc123...   # Required for prowlarr.sh</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Docker-based services (SSH access for remote management)</h2>
    export RECYCLARR_SSH=mynas       # SSH host for recyclarr container
    export KOMETA_SSH=mynas          # SSH host for kometa container
    export UNPACKERR_SSH=mynas       # SSH host for unpackerr container
    export DOCKER_CONFIG_BASE=/opt/docker  # Docker config root (default: /volume1/docker for Synology)
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Media Trackers (optional):</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Trakt.tv (register app at https://trakt.tv/oauth/applications/new)
    export TRAKT_CLIENT_ID=your_client_id
    export TRAKT_CLIENT_SECRET=your_client_secret</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Simkl (register at https://simkl.com/settings/developer)</h2>
    export SIMKL_CLIENT_ID=your_client_id
    export SIMKL_CLIENT_SECRET=your_client_secret</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Letterboxd (requires API approval)</h2>
    export LETTERBOXD_API_KEY=your_api_key  # Optional, uses CSV export if not set
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Token Storage:</strong>
    <li style="color:#94a3b8;margin:3px 0">Tokens are automatically saved to <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">~/.config/clawarr/</code></li>
    <li style="color:#94a3b8;margin:3px 0">Files: <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">trakt_tokens.json</code>, <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">simkl_tokens.json</code></li>
    <li style="color:#94a3b8;margin:3px 0">Permissions: 600 (user read/write only)</li></p><p style="margin:8px 0">Store in <code style="background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em">.env</code> file and source before running scripts.</p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Standard Ports</h4>
    <li style="color:#94a3b8;margin:3px 0">Sonarr: 8989</li>
    <li style="color:#94a3b8;margin:3px 0">Radarr: 7878</li>
    <li style="color:#94a3b8;margin:3px 0">Lidarr: 8686</li>
    <li style="color:#94a3b8;margin:3px 0">Readarr: 8787</li>
    <li style="color:#94a3b8;margin:3px 0">Prowlarr: 9696</li>
    <li style="color:#94a3b8;margin:3px 0">Bazarr: 6767</li>
    <li style="color:#94a3b8;margin:3px 0">Overseerr: 5055</li>
    <li style="color:#94a3b8;margin:3px 0">Plex: 32400</li>
    <li style="color:#94a3b8;margin:3px 0">Tautulli: 8181</li>
    <li style="color:#94a3b8;margin:3px 0">SABnzbd: 38080</li>
    <li style="color:#94a3b8;margin:3px 0">Notifiarr: 5454</li>
    <li style="color:#94a3b8;margin:3px 0">Maintainerr: 6246</li>
    <li style="color:#94a3b8;margin:3px 0">FlareSolverr: 8191</li>
    <li style="color:#94a3b8;margin:3px 0">Homarr: 7575</li></p></div></section><section class="skill-card" style="margin-bottom:20px"><h2 style="color:#f8fafc;font-size:1.2em;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px">πŸ“‹ Tips & Best Practices</h2><div style="font-size:.92em;color:#94a3b8;line-height:1.75"><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">No Files Eligible for Import</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Diagnosis:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/diagnose.sh
    </code></pre></p><p style="margin:8px 0">Common causes:
    1. <strong style="color:#e5e7eb">Stale Docker mounts</strong> β€” Container restarted but host didn't
    2. <strong style="color:#e5e7eb">Path mapping</strong> β€” Download client and *arr app see different paths
    3. <strong style="color:#e5e7eb">Permissions</strong> β€” *arr app can't read download directory
    4. <strong style="color:#e5e7eb">Category mismatch</strong> β€” Download in wrong category</p><p style="margin:8px 0"><strong style="color:#e5e7eb">Solutions:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em"># Restart containers (fixes stale mounts)
    docker restart radarr sonarr</p><p style="margin:8px 0"><h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Check path mappings</h2>
    <h2 style="color:#f3f4f6;margin:20px 0 10px;font-size:1.15em">Settings β†’ Download Clients β†’ Remote Path Mappings</h2>
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Queue Stuck</h4></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Check download client:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/downloads.sh active
    scripts/downloads.sh speed
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Check *arr queues:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/manage.sh wanted all
    </code></pre></p><p style="margin:8px 0"><strong style="color:#e5e7eb">Check indexers:</strong>
    <pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/indexers.sh test
    scripts/indexers.sh stats
    </code></pre></p><p style="margin:8px 0"><h4 style="color:#d1d5db;margin:14px 0 6px;font-size:.95em">Missing Subtitles</h4></p><p style="margin:8px 0"><pre style="background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0"><code style="color:#a5f3fc;background:none;padding:0;font-size:1em">scripts/subtitles.sh wanted
    scripts/subtitles.sh search series <id>
    </code></pre></p></div></section></div><div class="two-col-side"></div></div></div><script>
            document.querySelectorAll('.copy-btn, .script-copy-btn').forEach(btn => {
              btn.addEventListener('click', () => {
                const cmd = btn.getAttribute('data-cmd');
                if (!cmd) return;
                navigator.clipboard.writeText(cmd).then(() => {
                  const orig = btn.textContent;
                  btn.textContent = 'Copied!';
                  setTimeout(() => btn.textContent = orig, 1500);
                }).catch(() => {});
              });
            });
          </script><!--$--><!--/$--></main><footer style="background:var(--bg-primary);border-top:1px solid var(--border-secondary);margin-top:60px"><div style="border-top:1px solid var(--border-light);max-width:1200px;margin:0 auto;padding:24px 20px"><div style="display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:24px"><div><div style="font-weight:700;color:var(--text-muted);margin-bottom:8px">BytesAgain</div><div style="color:var(--text-muted3);font-size:.82em;max-width:200px">Discover the best AI agent skills for your workflow.</div></div><div><div style="color:var(--text-muted);font-size:.75em;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px">Explore</div><div style="margin-bottom:6px"><a href="/skills" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Skills</a></div><div style="margin-bottom:6px"><a href="/articles" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Articles</a></div><div style="margin-bottom:6px"><a href="/use-case" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Cases</a></div></div><div><div style="color:var(--text-muted);font-size:.75em;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px">Company</div><div style="margin-bottom:6px"><a href="/about" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">About</a></div><div style="margin-bottom:6px"><a href="/contact" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Contact</a></div><div style="margin-bottom:6px"><a href="/privacy-policy" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Privacy Policy</a></div><div style="margin-bottom:6px"><a href="/terms" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Terms</a></div><div style="margin-bottom:6px"><a href="/feedback" style="color:var(--text-muted2);text-decoration:none;font-size:.85em">Feedback</a></div></div></div><div style="border-top:1px solid var(--border-light);padding-top:16px"><div style="color:var(--text-muted4);font-size:.8em;margin-bottom:8px">Β© <!-- -->2026<!-- --> BytesAgain. All rights reserved.</div><div style="color:var(--text-muted5);font-size:.75em;line-height:1.6;max-width:720px">BytesAgain is an independent skill directory. We index and link to third-party content (ClawHub, GitHub, LobeHub, Dify, etc.) for informational purposes only. All trademarks, skill names, and content are the property of their respective owners. BytesAgain does not claim ownership of any indexed content.</div></div></div></footer><button style="position:fixed;bottom:28px;right:28px;z-index:1000;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,#667eea,#00d4ff);color:#fff;font-size:1.3em;box-shadow:0 4px 20px #667eea66;display:flex;align-items:center;justify-content:center;transition:transform .2s">πŸ’¬</button><script src="/_next/static/chunks/0ze4gu236oq96.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[62894,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"LangProvider\"]\n3:I[89220,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"ThemeProvider\"]\n4:I[16988,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\ne:I[68027,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\",1]\n:HL[\"/_next/static/chunks/051nc0vy_6.rl.css?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"style\"]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:Td5e,"])</script><script>self.__next_f.push([1,"[{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BytesAgain\",\"url\":\"https://bytesagain.com\",\"description\":\"Search 60,000+ verified AI agent skills via MCP API or REST. Supports 7 languages. Free, no auth required.\",\"inLanguage\":[\"en\",\"zh\",\"es\",\"fr\",\"de\",\"ja\",\"ko\"],\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https://bytesagain.com/skills?q={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}},{\"@context\":\"https://schema.org\",\"@type\":\"Organization\",\"name\":\"BytesAgain\",\"url\":\"https://bytesagain.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://bytesagain.com/og-image.png\"},\"description\":\"AI agent skill directory. Search 60,000+ skills, 1,000+ use cases, and community requests.\",\"foundingDate\":\"2026\",\"foundingLocation\":{\"@type\":\"Place\",\"name\":\"Global\"},\"sameAs\":[\"https://x.com/bytesagain\",\"https://github.com/bytesagain/ai-skills\",\"https://clawhub.ai/profile/bytesagain\"],\"contactPoint\":{\"@type\":\"ContactPoint\",\"email\":\"hello@bytesagain.com\",\"contactType\":\"customer support\"},\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"value\":1}},{\"@context\":\"https://schema.org\",\"@type\":\"WebApplication\",\"name\":\"BytesAgain AI Skills Search\",\"url\":\"https://bytesagain.com\",\"applicationCategory\":\"DeveloperApplication\",\"operatingSystem\":\"Web\",\"description\":\"Search engine and MCP API for 60,000+ AI agent skills. Semantic search, role recommendations, and use case packs.\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\"},\"featureList\":[\"Search 60,000+ AI agent skills\",\"Role-based recommendations for developers, creators, and traders\",\"1,000+ curated use case packs\",\"Free MCP API and REST API\",\"Multi-language search (EN, ZH, ES, FR, DE, JA, KO)\"],\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":\"https://bytesagain.com/skills?q={search_term_string}\",\"query-input\":\"required name=search_term_string\"},\"dateModified\":\"2026-07-21\"},{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is BytesAgain?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"BytesAgain is a curated directory of 60,000+ AI agent skills from ClawHub, GitHub, LobeHub, and Dify. Search skills by keyword in 7 languages, browse by role (developer, creator, trader, marketer) or by use case.\"}},{\"@type\":\"Question\",\"name\":\"How do I find AI skills on BytesAgain?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use the search bar on BytesAgain.com to search by keyword in 7 languages. You can also browse by role (developer, creator, trader, marketer) or by use case. Each skill shows install instructions for Claude, Cursor, OpenClaw, Continue, and more.\"}},{\"@type\":\"Question\",\"name\":\"Is BytesAgain free?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, BytesAgain is completely free. No registration required for searching skills. The MCP API is also free with rate limits.\"}},{\"@type\":\"Question\",\"name\":\"Does BytesAgain have an API for AI agents?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes! BytesAgain provides a free MCP SSE endpoint at /api/mcp/sse for AI agents, plus a REST API at /api/mcp?action=search\u0026q=\u003cquery\u003e. No authentication needed.\"}},{\"@type\":\"Question\",\"name\":\"Can I request a new AI skill on BytesAgain?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes! Visit the Requests page on BytesAgain.com to submit a skill request. Your request will be visible to the community and notified to the site admin.\"}}]}]"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"skill\",\"clawarr-suite\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"skill\",{\"children\":[[\"slug\",\"clawarr-suite\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/051nc0vy_6.rl.css?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"llms\",\"href\":\"/llms.txt\"}],[\"$\",\"link\",null,{\"rel\":\"llms-full\",\"href\":\"/llms-full.txt\"}],[\"$\",\"script\",null,{\"async\":true,\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-3C1MM9FWYF\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n          window.dataLayer = window.dataLayer || [];\\n          function gtag(){dataLayer.push(arguments);}\\n          gtag('js', new Date());\\n          gtag('config', 'G-3C1MM9FWYF');\\n        \"}}]]}],[\"$\",\"body\",null,{\"className\":\"geist_9e050971-module__05dp7a__className\",\"style\":{\"margin\":0},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"width\":\"100%\",\"background\":\"var(--bg-subscribe)\",\"borderBottom\":\"1px solid var(--border-primary)\",\"padding\":\"8px 20px\",\"textAlign\":\"center\",\"fontSize\":\".82em\",\"color\":\"#818cf8\"},\"children\":[\"🎁 \",[\"$\",\"strong\",null,{\"style\":{\"color\":\"var(--text-primary)\"},\"children\":\"Get the FREE AI Skills Starter Guide\"}],\" β€” \",[\"$\",\"a\",null,{\"href\":\"/register\",\"style\":{\"color\":\"#00d4ff\",\"textDecoration\":\"underline\"},\"children\":\"Subscribe β†’\"}]]}],[\"$\",\"$L4\",null,{}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$5\"}}],\"$L6\",\"$L7\",\"$L8\"]}]}]}]]}]]}],{\"children\":[\"$L9\",{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,null]},null,false,\"$@c\"]},null,false,\"$@c\"]},null,false,null],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[\"$Lf\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:I[39756,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n11:I[37457,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n12:I[22016,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0ka051yepewro.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"\"]\n13:I[90940,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n14:I[16397,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n16:I[97367,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"OutletBoundary\"]\n17:\"$Sreact.suspense\"\n1a:I[97367,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"ViewportBoundary\"]\n1c:I[97367,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"MetadataBoundary\"]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"main\",null,{\"children\":[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"main\",null,{\"style\":{\"minHeight\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"background\":\"#050611\",\"color\":\"#e5e7eb\"},\"children\":[[\"$\",\"style\",null,{\"children\":\"\\n        .nf-box { text-align: center; padding: 60px 32px; }\\n        .nf-code { font-size: 6rem; font-weight: 900; color: #22d3ee; line-height: 1; margin: 0; }\\n        .nf-title { font-size: 1.8rem; font-weight: 800; margin: 12px 0 8px; }\\n        .nf-desc { color: var(--text-muted2); font-size: 1rem; margin-bottom: 32px; max-width: 440px; }\\n        .nf-link { display: inline-block; padding: 12px 28px; background: linear-gradient(135deg,#34d399,#22d3ee); color: #000; font-weight: 900; border-radius: 12px; text-decoration: none; }\\n      \"}],[\"$\",\"div\",null,{\"className\":\"nf-box\",\"children\":[[\"$\",\"p\",null,{\"className\":\"nf-code\",\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"nf-title\",\"children\":\"Page Not Found\"}],[\"$\",\"p\",null,{\"className\":\"nf-desc\",\"children\":\"The skill or page you're looking for doesn't exist or has been moved.\"}],[\"$\",\"$L12\",null,{\"className\":\"nf-link\",\"href\":\"/\",\"children\":\"Back to BytesAgain\"}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"$L13\",null,{}]\n8:[\"$\",\"$L14\",null,{}]\n9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L10\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[\"$L15\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/12w5ognupk9fb.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@18\"}]}]]}]\n19:[]\nc:\"$W19\"\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1a\",null,{\"children\":\"$L1b\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1c\",null,{\"children\":[\"$\",\"$17\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1d\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\nf:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/051nc0vy_6.rl.css?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"1b:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"1e:I[27201,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"IconMark\"]\n18:null\n"])</script><script>self.__next_f.push([1,"1d:[[\"$\",\"title\",\"0\",{\"children\":\"ClawARR Suite β€” AI Agent Skill | BytesAgain | BytesAgain\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"3\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"4\",{\"name\":\"llms-txt\",\"content\":\"https://bytesagain.com/llms.txt\"}],[\"$\",\"meta\",\"5\",{\"name\":\"llms-full-txt\",\"content\":\"https://bytesagain.com/llms-full.txt\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"https://bytesagain.com/skill/clawarr-suite\"}],[\"$\",\"meta\",\"7\",{\"name\":\"baidu-site-verification\",\"content\":\"codeva-0evUqX1TFs\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"ClawARR Suite β€” AI Agent Skill | BytesAgain\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:url\",\"content\":\"https://bytesagain.com/skill/clawarr-suite\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:site_name\",\"content\":\"BytesAgain\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image\",\"content\":\"https://bytesagain.com/social-preview.png\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"ClawARR Suite β€” AI Agent Skill | BytesAgain\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://bytesagain.com/social-preview.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L1e\",\"23\",{}]]\n"])</script><script>self.__next_f.push([1,"1f:T1562,"])</script><script>self.__next_f.push([1,"\n        .skill-page { max-width: 1100px; margin: 0 auto; padding: 32px 20px 80px; }\n        .two-col { display: flex; gap: 32px; align-items: flex-start; }\n        .two-col-main { flex: 1; min-width: 0; }\n        .two-col-side { width: 300px; flex-shrink: 0; }\n        @media (max-width: 860px) {\n          .two-col { flex-direction: column; }\n          .two-col-side { width: 100%; }\n        }\n        .breadcrumb { font-size: .82em; color: var(--text-muted2); margin-bottom: 28px; }\n        .breadcrumb a { color: #818cf8; text-decoration: none; }\n        .breadcrumb a:hover { text-decoration: underline; }\n        .skill-card { background: var(--bg-card); border: 1px solid var(--border-card); border-radius: 20px; padding: 28px; margin-bottom: 24px; }\n        .skill-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }\n        .skill-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }\n        .skill-top-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }\n        .badge { display: inline-flex; align-items: center; gap: 5px; font-size: .75em; font-weight: 600; padding: 4px 12px; border-radius: 999px; border: 1px solid transparent; }\n        .skill-title { font-size: 1.6em; font-weight: 800; color: var(--text-primary); margin: 0 0 4px; line-height: 1.2; }\n        .skill-owner { font-size: .82em; color: var(--text-muted2); margin: 0 0 14px; }\n        .skill-owner span { color: #818cf8; }\n        .skill-desc { font-size: .92em; color: var(--text-secondary); line-height: 1.65; margin: 0 0 16px; }\n        .skill-meta { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--border-card); }\n        .meta-item { display: flex; flex-direction: column; gap: 2px; }\n        .meta-label { font-size: .7em; color: var(--text-muted5); text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }\n        .meta-value { font-size: .92em; color: var(--text-muted2); font-weight: 600; }\n        .tags-row { display: flex; gap: 6px; flex-wrap: wrap; }\n        .tag { font-size: .75em; color: #6366f1; background: #6366f115; border: 1px solid #6366f130; border-radius: 6px; padding: 3px 10px; text-decoration: none; }\n        .tag:hover { background: #6366f125; }\n        .install-box { background: var(--bg-deep); border: 1px solid var(--border-card); border-radius: 12px; overflow: hidden; margin-bottom: 24px; }\n        .install-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border-bottom: 1px solid var(--border-card); }\n        .install-dots { display: flex; gap: 6px; }\n        .dot { width: 10px; height: 10px; border-radius: 50%; }\n        .install-label { font-size: .72em; color: var(--text-muted5); font-family: monospace; letter-spacing: 1px; }\n        .install-body { padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }\n        .install-cmd { color: var(--text-code);\n font-family: 'Courier New', monospace; font-size: 1em; }\n        .copy-btn { font-size: .75em; color: #6366f1; background: #6366f115; border: 1px solid #6366f130; border-radius: 6px; padding: 5px 12px; cursor: pointer; white-space: nowrap; transition: all .15s; }\n        .copy-btn:hover { background: #6366f125; }\n        .btn-secondary { display: inline-flex; align-items: center; gap: 8px; padding: 13px 24px; background: transparent; border: 1px solid var(--border-card); border-radius: 10px; color: #6b7280; text-decoration: none; font-weight: 600; font-size: .95em; transition: all .15s; }\n        .btn-secondary:hover { border-color: #818cf8; color: #818cf8; }\n        .ours-badge { display: inline-flex; align-items: center; gap: 6px; font-size: .72em; font-weight: 700; color: #22d3ee; background: #22d3ee10; border: 1px solid #22d3ee30; border-radius: 999px; padding: 4px 14px; }\n        .section-card { background: var(--bg-card); border: 1px solid var(--border-card); border-radius: 16px; padding: 22px 24px; margin-bottom: 20px; }\n        .section-title { color: var(--text-primary); font-size: 1.08em; font-weight: 800; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }\n        /* Script box */\n        .script-header { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; background: var(--bg-input); border-bottom: 1px solid var(--border-card); }\n        .script-filename { font-size: .72em; color: var(--text-muted2); font-family: 'Courier New', monospace; }\n        .script-copy-btn { font-size: .72em; color: #6366f1; background: none; border: 1px solid #6366f130; border-radius: 4px; padding: 2px 10px; cursor: pointer; }\n        .script-copy-btn:hover { background: #6366f115; }\n        .script-body { padding: 14px 16px; font-family: 'Courier New', monospace; font-size: .82em; line-height: 1.6; color: var(--text-code); overflow-x: auto; max-height: 420px; overflow-y: auto; white-space: pre; }\n        /* Articles */\n        .article-card { display: block; background: var(--bg-secondary); border: 1px solid var(--border-primary); border-radius: 10px; padding: 14px 16px; text-decoration: none; transition: border-color .15s; }\n        .article-card:hover { border-color: #6366f1; }\n        @media (max-width: 600px) {\n          .skill-card { padding: 20px; }\n          .skill-title { font-size: 1.5em; }\n        }\n      "])</script><script>self.__next_f.push([1,"15:[[\"$\",\"style\",null,{\"children\":\"$1f\"}],\"$L20\",\"$L21\"]\n"])</script><script>self.__next_f.push([1,"22:I[78297,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/12w5ognupk9fb.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n23:Tf1cc,"])</script><script>self.__next_f.push([1,"\u003cp style=\"margin:8px 0\"\u003e\u003chr style=\"border:none;border-top:1px solid #1e1e3f;margin:12px 0\"\u003e\nname: clawarr-suite\ndescription: \u003e\n  Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr,\n  Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr,\n  Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation,\n  content management, request handling, subtitle management, indexer control, download monitoring,\n  quality profile sync, library cleanup automation, notification routing, collection/overlay\n  management, and media tracker integration (Trakt, Letterboxd, Simkl).\nhomepage: https://github.com/omiron33/clawarr-suite\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": { \"bins\": [\"bash\", \"curl\", \"jq\", \"bc\", \"sed\"] },\n        \"security\":\n          {\n            \"networkScope\": \"local-lan-and-user-configured-hosts\",\n            \"secretsPolicy\": \"api keys loaded from env/user config only; never hardcoded\",\n            \"destructiveActions\": \"none by default; explicit command required for delete/remove actions\"\n          },\n        \"capabilities\":\n          [\n            \"arr-api-management\",\n            \"docker-service-observability\",\n            \"dashboard-generation\",\n            \"media-tracker-sync\"\n          ]\n      }\n  }\n\u003chr style=\"border:none;border-top:1px solid #1e1e3f;margin:12px 0\"\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eClawARR Suite\u003c/h2\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eUnified deep-integration control for self-hosted media automation stacks. This skill provides comprehensive agent-executable operations across the entire *arr ecosystem with rich analytics, dashboard generation, and advanced library exploration.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eSecurity \u0026 Scanner Clarity\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eLocal-first operations: all API calls target user-provided local hosts (typically LAN/NAS).\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNo embedded secrets: API keys/tokens are sourced from environment variables or user-owned config files.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNo telemetry/exfiltration paths: scripts do not transmit credentials or library data to third-party endpoints.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDestructive behavior is opt-in: delete/remove actions require explicit command invocation by the user/agent.\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSetup logic avoids dynamic \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eeval\u003c/code\u003e and uses explicit variable mapping for scanner-friendly shell behavior.\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eQuick Start\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eFirst time setup (recommended):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/setup.sh \u003chost-ip-or-hostname\u003e\n\u003c/code\u003e\u003c/pre\u003e\nDiscovers services, grabs API keys, verifies connections, and outputs your config.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCommon operations:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/status.sh              # Health check all services\nscripts/library.sh stats all   # Library statistics\nscripts/analytics.sh activity  # Current Plex streams\nscripts/dashboard.sh           # Generate HTML dashboard\nscripts/manage.sh wanted all   # Show missing content\nscripts/requests.sh list       # Overseerr requests\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eScripts Overview\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eCore Operations\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esetup.sh\u003c/code\u003e\u003c/strong\u003e β€” Guided setup wizard with auto-discovery\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ediscover.sh\u003c/code\u003e\u003c/strong\u003e β€” Scan host for *arr services\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003estatus.sh\u003c/code\u003e\u003c/strong\u003e β€” Health check all configured services\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ediagnose.sh\u003c/code\u003e\u003c/strong\u003e β€” Automated troubleshooting\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eLibrary Exploration (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003elibrary.sh\u003c/code\u003e)\u003c/h4\u003e\nDeep statistics and exploration for Radarr/Sonarr/Lidarr:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003elibrary.sh stats [app]          # Overall library stats\nlibrary.sh quality [app]        # Quality profile breakdown\nlibrary.sh missing [app]        # Missing/wanted content\nlibrary.sh unmonitored [app]    # Unmonitored items\nlibrary.sh recent [app] [days]  # Recently added (default: 7)\nlibrary.sh genres [app]         # Genre distribution\nlibrary.sh years [app]          # Year distribution\nlibrary.sh studios [app]        # Studio/network breakdown\nlibrary.sh nofiles [app]        # Monitored but no files\nlibrary.sh disk [app]           # Disk usage by root folder\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eAnalytics (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eanalytics.sh\u003c/code\u003e)\u003c/h4\u003e\nRich viewing analytics from Tautulli/Plex:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eanalytics.sh activity                 # Currently watching\nanalytics.sh history [count]          # Watch history\nanalytics.sh most-watched [period]    # Most watched (week/month/year)\nanalytics.sh popular-genres [period]  # Popular genres\nanalytics.sh peak-hours               # Peak watching hours\nanalytics.sh user-stats [user]        # User activity\nanalytics.sh library-stats            # Plex library stats\nanalytics.sh recent-added [count]     # Recently added to Plex\nanalytics.sh play-totals              # Total play statistics\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eContent Management (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003emanage.sh\u003c/code\u003e)\u003c/h4\u003e\nAdd, remove, and manage content:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003emanage.sh add-movie \"\u003ctitle\u003e\" [quality] [root]\nmanage.sh add-series \"\u003ctitle\u003e\" [quality] [root]\nmanage.sh remove \u003capp\u003e \u003cid\u003e\nmanage.sh wanted [app]\nmanage.sh calendar [app] [days]\nmanage.sh history [app] [count]\nmanage.sh rename \u003capp\u003e \u003cid\u003e\nmanage.sh refresh \u003capp\u003e [id]\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eRequest Management (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003erequests.sh\u003c/code\u003e)\u003c/h4\u003e\nOverseerr request handling:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003erequests.sh list [pending|approved|available|all]\nrequests.sh approve \u003cid\u003e\nrequests.sh deny \u003cid\u003e [reason]\nrequests.sh info \u003cid\u003e\nrequests.sh stats\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eSubtitle Management (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esubtitles.sh\u003c/code\u003e)\u003c/h4\u003e\nBazarr operations:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003esubtitles.sh wanted\nsubtitles.sh history [count]\nsubtitles.sh search \u003cseries|movie\u003e \u003cid\u003e\nsubtitles.sh languages\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eIndexer Management (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eindexers.sh\u003c/code\u003e)\u003c/h4\u003e\nProwlarr operations:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eindexers.sh list\nindexers.sh test [id]\nindexers.sh stats\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eDownload Client (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003edownloads.sh\u003c/code\u003e)\u003c/h4\u003e\nSABnzbd operations:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003edownloads.sh active\ndownloads.sh speed\ndownloads.sh history [count]\ndownloads.sh pause\ndownloads.sh resume\ndownloads.sh queue\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eDashboard Generation (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003edashboard.sh\u003c/code\u003e)\u003c/h4\u003e\nGenerate self-contained HTML dashboard:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003edashboard.sh [output_file]\n\u003c/code\u003e\u003c/pre\u003e\nCreates beautiful dark-themed dashboard with:\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSystem health\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDownload activity\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eLibrary statistics\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRecent activity\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eViewing analytics\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDisk usage\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eOutput defaults to \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eclawarr-dashboard.html\u003c/code\u003e (open in any browser).\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMedia Tracker Integration (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003etrakt.sh\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003etrackers.sh\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eletterboxd.sh\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esimkl.sh\u003c/code\u003e)\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eTrack and sync what you watch across services like Trakt.tv, Letterboxd, Simkl, and more.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eUnified Interface (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003etrackers.sh\u003c/code\u003e):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrackers.sh setup              # Interactive setup wizard\ntrackers.sh status             # Show configured trackers\ntrackers.sh sync plex trakt    # Sync Plex β†’ Trakt\ntrackers.sh export trakt json  # Export watch history\ntrackers.sh import letterboxd file.csv\ntrackers.sh compare trakt simkl\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eTrakt.tv Integration (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003etrakt.sh\u003c/code\u003e):\u003c/strong\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Authentication:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh auth                  # Device code OAuth flow\ntrakt.sh auth-status           # Check authentication\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Profile \u0026 Stats:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh profile [username]    # Show profile\ntrakt.sh stats [username]      # Detailed statistics\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Watching \u0026 History:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh watching              # Currently watching\ntrakt.sh history [movies|shows|episodes] [limit]\ntrakt.sh sync-history export file.json\ntrakt.sh sync-history import file.json\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Scrobbling:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh scrobble start movie 12345\ntrakt.sh scrobble stop movie 12345 100\ntrakt.sh checkin movie \"Inception\"\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Lists \u0026 Collections:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh watchlist [movies|shows]\ntrakt.sh watchlist-add movie \"Dune Part Two\"\ntrakt.sh collection movies\ntrakt.sh collection-add movie 12345\ntrakt.sh lists                 # Custom lists\ntrakt.sh list-items my-favorites\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Ratings:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh ratings movies 8      # Movies rated 8+\ntrakt.sh rate movie \"Inception\" 10\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Discovery:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh recommendations movies\ntrakt.sh trending shows\ntrakt.sh popular movies\ntrakt.sh calendar all 7        # Next 7 days\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Search:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh search \"Breaking Bad\" show\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e*Sync:*\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrakt.sh sync-plex             # Sync Plex watch history to Trakt\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eLetterboxd Integration (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eletterboxd.sh\u003c/code\u003e):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eletterboxd.sh export           # Export from Plex as Letterboxd CSV\nletterboxd.sh import diary.csv # Import Letterboxd diary\nletterboxd.sh profile username # View public profile\nletterboxd.sh diary username 2024\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eSimkl Integration (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esimkl.sh\u003c/code\u003e):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003esimkl.sh auth                  # OAuth authentication\nsimkl.sh profile               # Show profile\nsimkl.sh stats                 # Viewing statistics\nsimkl.sh history movies        # Watch history\nsimkl.sh watchlist all         # View watchlist\nsimkl.sh sync                  # Sync with Plex\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eTraktarr \u0026 Retraktarr Integration\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eAutomate content discovery and library syncing with Trakt lists.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eTraktarr (Trakt β†’ Radarr/Sonarr):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Status and configuration\ntrakt.sh traktarr-status       # Check if installed\ntrakt.sh traktarr-config       # Configure Traktarr\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eAdd content from Trakt lists\u003c/h2\u003e\ntrakt.sh traktarr-add movies trending 10\ntrakt.sh traktarr-add movies anticipated 15\ntrakt.sh traktarr-add movies popular 5\ntrakt.sh traktarr-add shows trending 5\ntrakt.sh traktarr-add movies watchlist 50\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eRetraktarr (Radarr/Sonarr β†’ Trakt):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Status and configuration\ntrakt.sh retraktarr-status     # Check if installed\ntrakt.sh retraktarr-config     # Configure Retraktarr\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSync library to Trakt lists\u003c/h2\u003e\ntrakt.sh retraktarr-sync all   # Sync movies and shows\ntrakt.sh retraktarr-sync movies\ntrakt.sh retraktarr-sync shows\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eInstallation via Setup Wizard:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003etrackers.sh setup\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eChoose option 5 for Traktarr\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eChoose option 6 for Retraktarr\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eOffers to install via pip if not found\u003c/h2\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eWhat They Do:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eTraktarr:\u003c/strong\u003e Automatically adds content from Trakt lists (trending, anticipated, watchlist, custom) to Radarr/Sonarr for download\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eRetraktarr:\u003c/strong\u003e Syncs your Radarr/Sonarr library back to Trakt as public/private lists\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eSee \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/traktarr-retraktarr.md\u003c/code\u003e for complete setup, cron scheduling, and usage patterns.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eProwlarr Indexer Management (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eprowlarr.sh\u003c/code\u003e)\u003c/h4\u003e\nCentralized indexer management across all *arr apps:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eprowlarr.sh indexers              # List all indexers\nprowlarr.sh test [id]             # Test indexer(s)\nprowlarr.sh stats                 # Indexer \u0026 app sync statistics\nprowlarr.sh search \u003cquery\u003e [type] # Search across all indexers (type: movie|tv|audio|book)\nprowlarr.sh apps                  # List sync targets (Sonarr/Radarr/etc)\nprowlarr.sh add-app \u003ctype\u003e \u003curl\u003e \u003ckey\u003e  # Add app sync target\nprowlarr.sh sync                  # Trigger sync to all apps\nprowlarr.sh status                # Health check\nprowlarr.sh logs [count]          # Recent logs\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eRecyclarr Quality Profiles (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003erecyclarr.sh\u003c/code\u003e)\u003c/h4\u003e\nSync TRaSH Guides quality profiles to Sonarr/Radarr:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003erecyclarr.sh status               # Check status \u0026 config\nrecyclarr.sh sync [instance]      # Sync profiles (all or specific)\nrecyclarr.sh diff [instance]      # Preview changes without applying\nrecyclarr.sh profiles             # List available TRaSH profiles\nrecyclarr.sh qualities [app]      # List quality definitions\nrecyclarr.sh config               # Show current config\nrecyclarr.sh create-config        # Generate config template\nrecyclarr.sh logs [count]         # View recent logs\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMaintainerr Library Cleanup (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003emaintainerr.sh\u003c/code\u003e)\u003c/h4\u003e\nAutomated library cleanup based on rules:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003emaintainerr.sh status             # Check status\nmaintainerr.sh rules              # List cleanup rules\nmaintainerr.sh collections        # List managed collections\nmaintainerr.sh run [rule_id]      # Trigger rules (all or specific)\nmaintainerr.sh media \u003crule_id\u003e    # Show media matched by a rule\nmaintainerr.sh exclude \u003cmedia_id\u003e \u003crule_id\u003e  # Exclude media from rule\nmaintainerr.sh logs               # View activity log\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eNotifiarr Notifications (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003enotifiarr.sh\u003c/code\u003e)\u003c/h4\u003e\nUnified notification management across *arr services:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003enotifiarr.sh status               # Check status \u0026 integrations\nnotifiarr.sh triggers             # List notification triggers\nnotifiarr.sh services             # Show connected services\nnotifiarr.sh test [channel]       # Send test notification\nnotifiarr.sh config               # Configuration summary\nnotifiarr.sh logs                 # Recent notification log\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eKometa Collection Manager (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ekometa.sh\u003c/code\u003e)\u003c/h4\u003e\nPlex collection, overlay, and metadata automation:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003ekometa.sh status                  # Check container status\nkometa.sh run [library]           # Run Kometa (all or specific library)\nkometa.sh collections             # Show Plex collections\nkometa.sh overlays                # Check overlay config\nkometa.sh config                  # Show Kometa config\nkometa.sh templates               # List available default collections/overlays\nkometa.sh logs [count]            # View recent logs\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eUnpackerr Archive Extraction (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eunpackerr.sh\u003c/code\u003e)\u003c/h4\u003e\nAutomatic archive extraction for download clients:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eunpackerr.sh status               # Check status \u0026 config\nunpackerr.sh activity             # Recent extraction activity\nunpackerr.sh errors               # Recent errors/warnings\nunpackerr.sh config               # Show configuration\nunpackerr.sh logs [count]         # View recent logs\nunpackerr.sh restart              # Restart container\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eLegacy Scripts\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003equeue.sh\u003c/code\u003e\u003c/strong\u003e β€” View download queues (use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003emanage.sh wanted\u003c/code\u003e or \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003edownloads.sh active\u003c/code\u003e for more detail)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esearch.sh\u003c/code\u003e\u003c/strong\u003e β€” Search content (use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003emanage.sh add-*\u003c/code\u003e for full workflow)\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eConfiguration\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eEnvironment Variables\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCore Services:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eexport CLAWARR_HOST=192.168.1.100\nexport SONARR_KEY=abc123...\nexport RADARR_KEY=def456...\nexport LIDARR_KEY=ghi789...\nexport READARR_KEY=jkl012...\nexport PROWLARR_KEY=mno345...\nexport BAZARR_KEY=pqr678...\nexport OVERSEERR_KEY=stu901...\nexport PLEX_TOKEN=vwx234...\nexport TAUTULLI_KEY=yz567...\nexport SABNZBD_KEY=abc890...\nexport NOTIFIARR_KEY=xyz123...\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCompanion services (auto-detected, keys optional)\u003c/h2\u003e\nexport PROWLARR_KEY=abc123...   # Required for prowlarr.sh\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eDocker-based services (SSH access for remote management)\u003c/h2\u003e\nexport RECYCLARR_SSH=mynas       # SSH host for recyclarr container\nexport KOMETA_SSH=mynas          # SSH host for kometa container\nexport UNPACKERR_SSH=mynas       # SSH host for unpackerr container\nexport DOCKER_CONFIG_BASE=/opt/docker  # Docker config root (default: /volume1/docker for Synology)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eMedia Trackers (optional):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Trakt.tv (register app at https://trakt.tv/oauth/applications/new)\nexport TRAKT_CLIENT_ID=your_client_id\nexport TRAKT_CLIENT_SECRET=your_client_secret\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSimkl (register at https://simkl.com/settings/developer)\u003c/h2\u003e\nexport SIMKL_CLIENT_ID=your_client_id\nexport SIMKL_CLIENT_SECRET=your_client_secret\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eLetterboxd (requires API approval)\u003c/h2\u003e\nexport LETTERBOXD_API_KEY=your_api_key  # Optional, uses CSV export if not set\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eToken Storage:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTokens are automatically saved to \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e~/.config/clawarr/\u003c/code\u003e\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eFiles: \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003etrakt_tokens.json\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esimkl_tokens.json\u003c/code\u003e\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePermissions: 600 (user read/write only)\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eStore in \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e.env\u003c/code\u003e file and source before running scripts.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eStandard Ports\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSonarr: 8989\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRadarr: 7878\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eLidarr: 8686\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eReadarr: 8787\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eProwlarr: 9696\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eBazarr: 6767\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eOverseerr: 5055\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePlex: 32400\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTautulli: 8181\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSABnzbd: 38080\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNotifiarr: 5454\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eMaintainerr: 6246\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eFlareSolverr: 8191\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eHomarr: 7575\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eAPI Key Discovery\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMethod 1: /initialize.json (Easiest)\u003c/h4\u003e\nMost *arr apps expose API key at public endpoint:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003ecurl -s http://HOST:7878/initialize.json | jq -r '.apiKey'\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eFor older versions (v3):\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003ecurl -s http://HOST:7878/initialize.js | grep -o \"apiKey: '[^']*'\" | cut -d\"'\" -f2\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMethod 2: Config Files\u003c/h4\u003e\n\u003cstrong style=\"color:#e5e7eb\"\u003eDocker/Unraid/Synology:\u003c/strong\u003e \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e/config/config.xml\u003c/code\u003e (inside container)\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003egrep '\u003cApiKey\u003e' /path/to/config.xml | sed 's/.*\u003cApiKey\u003e\\(.*\\)\u003c\\/ApiKey\u003e.*/\\1/'\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMethod 3: Web UI\u003c/h4\u003e\nSettings β†’ General β†’ Security β†’ API Key\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003ePlex Token\u003c/h4\u003e\nFrom Plex Web UI:\n1. Open any media item\n2. \"Get Info\" β†’ \"View XML\"\n3. URL contains \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003eX-Plex-Token=...\u003c/code\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eOr use:\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003ecurl -u \"username:password\" -X POST \\\n  'https://plex.tv/users/sign_in.json' \\\n  -H \"X-Plex-Client-Identifier: \u003cunique-id\u003e\"\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eTautulli API Key\u003c/h4\u003e\nSettings β†’ Web Interface β†’ API β†’ API Key\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eSABnzbd API Key\u003c/h4\u003e\nConfig β†’ General β†’ Security β†’ API Key\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eCommon Workflows\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eLibrary Analysis\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Get complete library overview\nscripts/library.sh stats all\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eFind quality upgrade candidates\u003c/h2\u003e\nscripts/library.sh quality radarr\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eShow missing content\u003c/h2\u003e\nscripts/library.sh missing all\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCheck disk usage\u003c/h2\u003e\nscripts/library.sh disk all\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eViewing Analytics\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Current activity\nscripts/analytics.sh activity\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eMost watched this month\u003c/h2\u003e\nscripts/analytics.sh most-watched month\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eUser statistics\u003c/h2\u003e\nscripts/analytics.sh user-stats\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003ePeak hours\u003c/h2\u003e\nscripts/analytics.sh peak-hours\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eRequest Management\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Show pending requests\nscripts/requests.sh list pending\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eApprove request\u003c/h2\u003e\nscripts/requests.sh approve 123\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eRequest statistics\u003c/h2\u003e\nscripts/requests.sh stats\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eContent Management\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Add movie\nscripts/manage.sh add-movie \"Dune Part Two\"\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eShow calendar\u003c/h2\u003e\nscripts/manage.sh calendar all 7\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eView history\u003c/h2\u003e\nscripts/manage.sh history radarr 30\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eShow wanted/missing\u003c/h2\u003e\nscripts/manage.sh wanted all\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eIndexer Management (Prowlarr)\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# List and test all indexers\nscripts/prowlarr.sh indexers\nscripts/prowlarr.sh test\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSearch across all indexers\u003c/h2\u003e\nscripts/prowlarr.sh search \"Dune\" movie\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eAdd Sonarr/Radarr as sync targets\u003c/h2\u003e\nscripts/prowlarr.sh add-app sonarr http://host:8989 \u003csonarr_key\u003e\nscripts/prowlarr.sh add-app radarr http://host:7878 \u003cradarr_key\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eTrigger indexer sync to all apps\u003c/h2\u003e\nscripts/prowlarr.sh sync\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eQuality Profiles (Recyclarr)\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Preview changes\nscripts/recyclarr.sh diff\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSync TRaSH Guides profiles\u003c/h2\u003e\nscripts/recyclarr.sh sync\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCheck status\u003c/h2\u003e\nscripts/recyclarr.sh status\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eLibrary Cleanup (Maintainerr)\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# View rules and matched media\nscripts/maintainerr.sh rules\nscripts/maintainerr.sh media 1\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eRun cleanup\u003c/h2\u003e\nscripts/maintainerr.sh run\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eExclude something from cleanup\u003c/h2\u003e\nscripts/maintainerr.sh exclude 12345 1\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eCollections \u0026 Overlays (Kometa)\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Run collection/overlay generation\nscripts/kometa.sh run\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eView existing collections\u003c/h2\u003e\nscripts/kometa.sh collections\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSee available templates\u003c/h2\u003e\nscripts/kometa.sh templates\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eDashboard\u003c/h4\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Generate dashboard\nscripts/dashboard.sh my-dashboard.html\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eOpen in browser\u003c/h2\u003e\nopen my-dashboard.html\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMedia Tracking Workflows\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eInitial Setup:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Set up Trakt.tv\nscripts/trackers.sh setup\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSelect option 1 (Trakt.tv)\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eFollow device auth flow\u003c/h2\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCheck status\u003c/h2\u003e\nscripts/trackers.sh status\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eSync Plex to Trakt:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# One-time sync of watch history\nscripts/trakt.sh sync-plex\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eOr use unified interface\u003c/h2\u003e\nscripts/trackers.sh sync plex trakt\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eExport for Letterboxd:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Generate Letterboxd-compatible CSV\nscripts/letterboxd.sh export\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eUpload at letterboxd.com/import/\u003c/h2\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCross-Tracker Sync:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Export from Trakt, convert for Letterboxd\nscripts/trackers.sh sync trakt letterboxd\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCompare two services\u003c/h2\u003e\nscripts/trackers.sh compare trakt simkl\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eDiscovery \u0026 Recommendations:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Get personalized recommendations\nscripts/trakt.sh recommendations movies\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSee what's trending\u003c/h2\u003e\nscripts/trakt.sh trending shows\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCheck upcoming releases\u003c/h2\u003e\nscripts/trakt.sh calendar all 7\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eTrack Viewing:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# See what you're currently watching\nscripts/trakt.sh watching\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eView watch history\u003c/h2\u003e\nscripts/trakt.sh history movies 50\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eRate something you watched\u003c/h2\u003e\nscripts/trakt.sh rate movie \"Inception\" 10\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eAutomation with Traktarr/Retraktarr:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Set up Traktarr (Trakt β†’ Arr)\nscripts/trackers.sh setup  # Option 5\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eAdd trending movies to Radarr\u003c/h2\u003e\nscripts/trakt.sh traktarr-add movies trending 10\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eAdd anticipated shows to Sonarr\u003c/h2\u003e\nscripts/trakt.sh traktarr-add shows anticipated 5\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSet up Retraktarr (Arr β†’ Trakt)\u003c/h2\u003e\nscripts/trackers.sh setup  # Option 6\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSync library to Trakt lists\u003c/h2\u003e\nscripts/trakt.sh retraktarr-sync all\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSchedule automation (cron):\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eTraktarr every 6 hours: 0 */6 * * * traktarr run\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eRetraktarr daily at 3am: 0 3 * * * retraktarr sync\u003c/h2\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eTroubleshooting\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eNo Files Eligible for Import\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eDiagnosis:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/diagnose.sh\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eCommon causes:\n1. \u003cstrong style=\"color:#e5e7eb\"\u003eStale Docker mounts\u003c/strong\u003e β€” Container restarted but host didn't\n2. \u003cstrong style=\"color:#e5e7eb\"\u003ePath mapping\u003c/strong\u003e β€” Download client and *arr app see different paths\n3. \u003cstrong style=\"color:#e5e7eb\"\u003ePermissions\u003c/strong\u003e β€” *arr app can't read download directory\n4. \u003cstrong style=\"color:#e5e7eb\"\u003eCategory mismatch\u003c/strong\u003e β€” Download in wrong category\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eSolutions:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Restart containers (fixes stale mounts)\ndocker restart radarr sonarr\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCheck path mappings\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSettings β†’ Download Clients β†’ Remote Path Mappings\u003c/h2\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eQueue Stuck\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCheck download client:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/downloads.sh active\nscripts/downloads.sh speed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCheck *arr queues:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/manage.sh wanted all\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCheck indexers:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/indexers.sh test\nscripts/indexers.sh stats\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMissing Subtitles\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/subtitles.sh wanted\nscripts/subtitles.sh search series \u003cid\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eReference Documentation\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/api-endpoints.md\u003c/code\u003e\u003c/strong\u003e β€” Complete API reference for all services\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/tracker-apis.md\u003c/code\u003e\u003c/strong\u003e β€” Media tracker API documentation (Trakt, Simkl, Letterboxd)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/traktarr-retraktarr.md\u003c/code\u003e\u003c/strong\u003e β€” Complete guide to Traktarr \u0026 Retraktarr automation\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/companion-services.md\u003c/code\u003e\u003c/strong\u003e β€” Prowlarr, Recyclarr, FlareSolverr, Unpackerr, Notifiarr, Maintainerr, Kometa reference\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/common-issues.md\u003c/code\u003e\u003c/strong\u003e β€” Troubleshooting guide with solutions\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/setup-guide.md\u003c/code\u003e\u003c/strong\u003e β€” Platform-specific installation\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/prompts.md\u003c/code\u003e\u003c/strong\u003e β€” Suggested natural-language prompts for agents\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003e\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/dashboard-templates.md\u003c/code\u003e\u003c/strong\u003e β€” HTML/CSS templates for dashboards\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eExample Agent Prompts\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eSee \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003ereferences/prompts.md\u003c/code\u003e for complete list. Examples:\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eLibrary \u0026 Downloads:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show me what's downloading right now\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What movies were added this week?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Generate a dashboard of my media library\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What are the most watched shows this month?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Find all 720p movies that could be upgraded to 4K\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show missing episodes for all monitored shows\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What's coming out this week?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Approve all pending Overseerr requests\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"How much disk space am I using per library?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show my Plex viewing stats for the last 30 days\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What subtitles are missing?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Test all my indexers\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eMedia Tracking:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Set up Trakt tracking for my Plex library\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Sync my Plex watch history to Trakt\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What am I currently watching on Trakt?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show my Trakt watch history from this month\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Get movie recommendations based on my Trakt ratings\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What's trending on Trakt right now?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Export my library for Letterboxd\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Compare my Trakt and Simkl watch histories\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show me upcoming movie releases I'm tracking\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Rate Inception 10/10 on Trakt\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Add Dune Part Two to my Trakt watchlist\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show my Letterboxd profile stats\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What are my top-rated movies on Trakt?\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eProwlarr \u0026 Indexers:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show all my indexers and test them\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Search across all indexers for Breaking Bad\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Sync Prowlarr indexers to Sonarr and Radarr\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Add Sonarr as a sync target in Prowlarr\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eQuality Profiles (Recyclarr):\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Sync TRaSH Guides quality profiles\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Preview what Recyclarr would change\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show available quality profiles for Radarr\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What quality definitions does Sonarr have?\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eLibrary Cleanup (Maintainerr):\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show my library cleanup rules\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What movies are flagged for deletion?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Run all cleanup rules now\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Exclude this movie from the cleanup rule\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCollections \u0026 Overlays (Kometa):\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Run Kometa to update collections\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show all my Plex collections\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What overlay templates are available?\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Add IMDb Top 250 collection to my movie library\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eNotifications (Notifiarr):\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Check Notifiarr status and integrations\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Send a test notification\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show recent notifications\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eArchive Extraction (Unpackerr):\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Check Unpackerr status\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show recent extraction activity\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Any extraction errors?\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eTraktarr/Retraktarr Automation:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Set up Traktarr to auto-add trending movies\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Add the top 10 anticipated movies from Trakt to Radarr\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Configure Traktarr to monitor my Trakt watchlist\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Sync my Radarr library to a public Trakt list\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Show Traktarr status and configuration\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Add trending shows to Sonarr via Traktarr\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"Set up automatic syncing between Trakt and my *arr apps\"\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\"What's Retraktarr doing? Is it synced?\"\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eTechnical Notes\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eBash 3.2 Compatibility\u003c/h4\u003e\nAll scripts are compatible with macOS bash 3.2:\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNo associative arrays (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003edeclare -A\u003c/code\u003e)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNo uppercase parameter expansion (\u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e${var^^}\u003c/code\u003e)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e$(echo \"$var\" | tr '[:lower:]' '[:upper:]')\u003c/code\u003e for case conversion\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNo \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e|\u0026\u003c/code\u003e (pipe stderr), use \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e2\u003e\u00261\u003c/code\u003e instead\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eDependencies\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003ecurl\u003c/strong\u003e β€” HTTP requests\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003ejq\u003c/strong\u003e β€” JSON parsing\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003ebc\u003c/strong\u003e β€” Math calculations (for percentages, GB conversions)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003esed\u003c/strong\u003e β€” Text processing\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eAll standard on macOS/Linux.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eSecurity\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNever log API keys\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eConfirm destructive actions (delete, remove)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRate limiting for bulk operations\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUse HTTPS for remote access\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003ePerformance\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eScripts cache API responses where possible\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eDashboard generation pulls data once per run\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eBulk operations use batch APIs when available\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eVersion Compatibility\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eTested with:\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSonarr v4.x (API v3)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRadarr v5.x (API v3)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eLidarr v2.x (API v1)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eReadarr v0.3.x (API v1)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eProwlarr v1.x (API v1)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eBazarr v1.4.x\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eOverseerr v1.33.x (API v1)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePlex Media Server (all recent versions)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTautulli v2.x (API v2)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSABnzbd v4.x\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRecyclarr v7.x\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eUnpackerr v0.14.x\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNotifiarr v0.8.x\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eMaintainerr v2.x\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eKometa v2.x (Plex Meta Manager successor)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eFlareSolverr v3.x\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eContributing\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eReport issues or suggest features via GitHub. Include:\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eScript name and command run\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eError output (sanitize API keys!)\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eService versions\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePlatform (Docker/Unraid/Synology/etc)\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch3 style=\"color:#e5e7eb;margin:18px 0 8px;font-size:1.05em\"\u003eLicense\u003c/h3\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eMIT License - See repository for details.\n\u003c/p\u003e"])</script><script>self.__next_f.push([1,"20:[\"$\",\"div\",null,{\"className\":\"skill-page\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"SoftwareApplication\\\",\\\"name\\\":\\\"ClawARR Suite\\\",\\\"description\\\":\\\"Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...\\\",\\\"url\\\":\\\"https://bytesagain.com/skill/clawarr-suite\\\",\\\"applicationCategory\\\":\\\"clawhub\\\",\\\"operatingSystem\\\":\\\"Any\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"0\\\",\\\"priceCurrency\\\":\\\"USD\\\"},\\\"publisher\\\":{\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"BytesAgain\\\",\\\"url\\\":\\\"https://bytesagain.com\\\"}}\"}}],[\"$\",\"div\",null,{\"className\":\"breadcrumb\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/\",\"children\":\"BytesAgain\"}],\" β€Ί \",[\"$\",\"a\",null,{\"href\":\"/skills\",\"children\":\"Skills\"}],\" β€Ί \",\"ClawARR Suite\"]}],[\"$\",\"div\",null,{\"className\":\"two-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"two-col-main\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skill-card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skill-header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"skill-badges\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge\",\"style\":{\"color\":\"#818cf8\",\"background\":\"#818cf822\",\"borderColor\":\"#818cf844\"},\"children\":[\"πŸ¦€\",\" \",\"ClawHub\"]}],false]}],[\"$\",\"div\",null,{\"className\":\"skill-top-actions\",\"children\":[\"$\",\"$L22\",null,{\"slug\":\"clawarr-suite\"}]}]]}],[\"$\",\"h1\",null,{\"className\":\"skill-title\",\"children\":\"ClawARR Suite\"}],[\"$\",\"p\",null,{\"className\":\"skill-owner\",\"children\":[\"by \",[\"$\",\"span\",null,{\"children\":[\"@\",\"omiron33\"]}]]}],[\"$\",\"p\",null,{\"className\":\"skill-desc\",\"children\":\"Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...\"}],[\"$\",\"div\",null,{\"className\":\"skill-meta\",\"children\":[[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Version\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":[\"v\",\"1.0.1\"]}]]}],[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Downloads\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":\"2,446\"}]]}],false,[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Stars\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":[\"⭐ \",\"4\"]}]]}],[\"$\",\"div\",null,{\"className\":\"meta-item\",\"children\":[[\"$\",\"span\",null,{\"className\":\"meta-label\",\"children\":\"Comments\"}],[\"$\",\"span\",null,{\"className\":\"meta-value\",\"children\":\"2\"}]]}],[\"$\",\"div\",null,{\"className\":\"meta-item\",\"style\":{\"flexDirection\":\"row\",\"gap\":6,\"alignItems\":\"center\"},\"children\":[[\"$\",\"a\",\"legal\",{\"href\":\"/?q=legal\",\"className\":\"tag\",\"children\":[\"#\",\"legal\"]}],[\"$\",\"a\",\"productivity\",{\"href\":\"/?q=productivity\",\"className\":\"tag\",\"children\":[\"#\",\"productivity\"]}]]}]]}],[\"$\",\"div\",null,{\"style\":{\"marginTop\":6},\"children\":[\"$\",\"a\",null,{\"href\":\"https://clawhub.ai/omiron33/clawarr-suite\",\"target\":\"_blank\",\"rel\":\"noopener\",\"className\":\"btn-secondary\",\"style\":{\"padding\":\"6px 12px\",\"fontSize\":\".82em\",\"borderRadius\":8,\"background\":\"transparent\",\"border\":\"1px solid var(--border-card)\",\"color\":\"var(--text-muted2)\",\"textDecoration\":\"none\",\"whiteSpace\":\"nowrap\"},\"children\":[\"View on \",\"ClawHub\",\" β†’\"]}]}]]}],[\"$\",\"div\",null,{\"className\":\"install-box\",\"children\":[[\"$\",\"div\",null,{\"className\":\"install-header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"install-dots\",\"children\":[[\"$\",\"div\",null,{\"className\":\"dot\",\"style\":{\"background\":\"#ef4444\"}}],[\"$\",\"div\",null,{\"className\":\"dot\",\"style\":{\"background\":\"#eab308\"}}],[\"$\",\"div\",null,{\"className\":\"dot\",\"style\":{\"background\":\"#22c55e\"}}]]}],[\"$\",\"span\",null,{\"className\":\"install-label\",\"children\":\"TERMINAL\"}]]}],[\"$\",\"div\",null,{\"className\":\"install-body\",\"style\":{\"flexWrap\":\"wrap\"},\"children\":[[\"$\",\"code\",null,{\"className\":\"install-cmd\",\"children\":\"clawhub install clawarr-suite\"}],[\"$\",\"button\",null,{\"className\":\"copy-btn\",\"data-cmd\":\"clawhub install clawarr-suite\",\"style\":{\"fontWeight\":700},\"children\":\"Copy\"}]]}]]}],[\"$\",\"section\",null,{\"className\":\"skill-card\",\"style\":{\"marginBottom\":20},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"color\":\"#f8fafc\",\"fontSize\":\"1.2em\",\"fontWeight\":800,\"margin\":\"0 0 16px\",\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":8},\"children\":\"πŸ“– About This Skill\"}],[\"$\",\"div\",null,{\"style\":{\"fontSize\":\".92em\",\"color\":\"#94a3b8\",\"lineHeight\":1.75},\"dangerouslySetInnerHTML\":{\"__html\":\"$23\"}}]]}],null,\"$L24\",\"$L25\",\"$L26\",null,null,null,false,false]}],\"$L27\"]}]]}]\n"])</script><script>self.__next_f.push([1,"21:[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n        document.querySelectorAll('.copy-btn, .script-copy-btn').forEach(btn =\u003e {\\n          btn.addEventListener('click', () =\u003e {\\n            const cmd = btn.getAttribute('data-cmd');\\n            if (!cmd) return;\\n            navigator.clipboard.writeText(cmd).then(() =\u003e {\\n              const orig = btn.textContent;\\n              btn.textContent = 'Copied!';\\n              setTimeout(() =\u003e btn.textContent = orig, 1500);\\n            }).catch(() =\u003e {});\\n          });\\n        });\\n      \"}}]\n"])</script><script>self.__next_f.push([1,"2b:I[71521,[\"/_next/static/chunks/0ph_0rx9ah5dc.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/0i_x3w546rsb3.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/06ig5gym-0n-u.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\",\"/_next/static/chunks/12w5ognupk9fb.js?dpl=dpl_9zPFH6pojPkqyspdDNz28GzCc6KQ\"],\"default\"]\n28:T42f,\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eFirst time setup (recommended):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/setup.sh \u003chost-ip-or-hostname\u003e\n\u003c/code\u003e\u003c/pre\u003e\nDiscovers services, grabs API keys, verifies connections, and outputs your config.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCommon operations:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/status.sh              # Health check all services\nscripts/library.sh stats all   # Library statistics\nscripts/analytics.sh activity  # Current Plex streams\nscripts/dashboard.sh           # Generate HTML dashboard\nscripts/manage.sh wanted all   # Show missing content\nscripts/requests.sh list       # Overseerr requests\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e24:[\"$\",\"section\",null,{\"className\":\"skill-card\",\"style\":{\"marginBottom\":20},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"color\":\"#f8fafc\",\"fontSize\":\"1.2em\",\"fontWeight\":800,\"margin\":\"0 0 16px\",\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":8},\"children\":\"πŸ’‘ Examples\"}],[\"$\",\"div\",null,{\"style\":{\"fontSize\":\".92em\",\"color\":\"#94a3b8\",\"lineHeight\":1.75},\"dangerouslySetInnerHTML\":{\"__html\":\"$28\"}}]]}]\n29:T1009,"])</script><script>self.__next_f.push([1,"\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eEnvironment Variables\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCore Services:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003eexport CLAWARR_HOST=192.168.1.100\nexport SONARR_KEY=abc123...\nexport RADARR_KEY=def456...\nexport LIDARR_KEY=ghi789...\nexport READARR_KEY=jkl012...\nexport PROWLARR_KEY=mno345...\nexport BAZARR_KEY=pqr678...\nexport OVERSEERR_KEY=stu901...\nexport PLEX_TOKEN=vwx234...\nexport TAUTULLI_KEY=yz567...\nexport SABNZBD_KEY=abc890...\nexport NOTIFIARR_KEY=xyz123...\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCompanion services (auto-detected, keys optional)\u003c/h2\u003e\nexport PROWLARR_KEY=abc123...   # Required for prowlarr.sh\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eDocker-based services (SSH access for remote management)\u003c/h2\u003e\nexport RECYCLARR_SSH=mynas       # SSH host for recyclarr container\nexport KOMETA_SSH=mynas          # SSH host for kometa container\nexport UNPACKERR_SSH=mynas       # SSH host for unpackerr container\nexport DOCKER_CONFIG_BASE=/opt/docker  # Docker config root (default: /volume1/docker for Synology)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eMedia Trackers (optional):\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Trakt.tv (register app at https://trakt.tv/oauth/applications/new)\nexport TRAKT_CLIENT_ID=your_client_id\nexport TRAKT_CLIENT_SECRET=your_client_secret\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSimkl (register at https://simkl.com/settings/developer)\u003c/h2\u003e\nexport SIMKL_CLIENT_ID=your_client_id\nexport SIMKL_CLIENT_SECRET=your_client_secret\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eLetterboxd (requires API approval)\u003c/h2\u003e\nexport LETTERBOXD_API_KEY=your_api_key  # Optional, uses CSV export if not set\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eToken Storage:\u003c/strong\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTokens are automatically saved to \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e~/.config/clawarr/\u003c/code\u003e\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eFiles: \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003etrakt_tokens.json\u003c/code\u003e, \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003esimkl_tokens.json\u003c/code\u003e\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePermissions: 600 (user read/write only)\u003c/li\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eStore in \u003ccode style=\"background:#0d0d1e;color:#a5f3fc;padding:1px 5px;border-radius:3px;font-size:.88em\"\u003e.env\u003c/code\u003e file and source before running scripts.\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eStandard Ports\u003c/h4\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSonarr: 8989\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eRadarr: 7878\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eLidarr: 8686\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eReadarr: 8787\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eProwlarr: 9696\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eBazarr: 6767\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eOverseerr: 5055\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003ePlex: 32400\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eTautulli: 8181\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eSABnzbd: 38080\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eNotifiarr: 5454\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eMaintainerr: 6246\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eFlareSolverr: 8191\u003c/li\u003e\n\u003cli style=\"color:#94a3b8;margin:3px 0\"\u003eHomarr: 7575\u003c/li\u003e\u003c/p\u003e"])</script><script>self.__next_f.push([1,"25:[\"$\",\"section\",null,{\"className\":\"skill-card\",\"style\":{\"marginBottom\":20},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"color\":\"#f8fafc\",\"fontSize\":\"1.2em\",\"fontWeight\":800,\"margin\":\"0 0 16px\",\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":8},\"children\":\"βš™οΈ Configuration\"}],[\"$\",\"div\",null,{\"style\":{\"fontSize\":\".92em\",\"color\":\"#94a3b8\",\"lineHeight\":1.75},\"dangerouslySetInnerHTML\":{\"__html\":\"$29\"}}]]}]\n2a:Tbf0,"])</script><script>self.__next_f.push([1,"\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eNo Files Eligible for Import\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eDiagnosis:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/diagnose.sh\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003eCommon causes:\n1. \u003cstrong style=\"color:#e5e7eb\"\u003eStale Docker mounts\u003c/strong\u003e β€” Container restarted but host didn't\n2. \u003cstrong style=\"color:#e5e7eb\"\u003ePath mapping\u003c/strong\u003e β€” Download client and *arr app see different paths\n3. \u003cstrong style=\"color:#e5e7eb\"\u003ePermissions\u003c/strong\u003e β€” *arr app can't read download directory\n4. \u003cstrong style=\"color:#e5e7eb\"\u003eCategory mismatch\u003c/strong\u003e β€” Download in wrong category\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eSolutions:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003e# Restart containers (fixes stale mounts)\ndocker restart radarr sonarr\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eCheck path mappings\u003c/h2\u003e\n\u003ch2 style=\"color:#f3f4f6;margin:20px 0 10px;font-size:1.15em\"\u003eSettings β†’ Download Clients β†’ Remote Path Mappings\u003c/h2\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eQueue Stuck\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCheck download client:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/downloads.sh active\nscripts/downloads.sh speed\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCheck *arr queues:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/manage.sh wanted all\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cstrong style=\"color:#e5e7eb\"\u003eCheck indexers:\u003c/strong\u003e\n\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/indexers.sh test\nscripts/indexers.sh stats\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003ch4 style=\"color:#d1d5db;margin:14px 0 6px;font-size:.95em\"\u003eMissing Subtitles\u003c/h4\u003e\u003c/p\u003e\u003cp style=\"margin:8px 0\"\u003e\u003cpre style=\"background:#0a0a1c;border:1px solid #1e1e3f;border-radius:6px;padding:10px 12px;overflow-x:auto;font-size:.9em;margin:8px 0\"\u003e\u003ccode style=\"color:#a5f3fc;background:none;padding:0;font-size:1em\"\u003escripts/subtitles.sh wanted\nscripts/subtitles.sh search series \u003cid\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e"])</script><script>self.__next_f.push([1,"26:[\"$\",\"section\",null,{\"className\":\"skill-card\",\"style\":{\"marginBottom\":20},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"color\":\"#f8fafc\",\"fontSize\":\"1.2em\",\"fontWeight\":800,\"margin\":\"0 0 16px\",\"display\":\"flex\",\"alignItems\":\"center\",\"gap\":8},\"children\":\"πŸ“‹ Tips \u0026 Best Practices\"}],[\"$\",\"div\",null,{\"style\":{\"fontSize\":\".92em\",\"color\":\"#94a3b8\",\"lineHeight\":1.75},\"dangerouslySetInnerHTML\":{\"__html\":\"$2a\"}}]]}]\n27:[\"$\",\"div\",null,{\"className\":\"two-col-side\",\"children\":[\"$\",\"$L2b\",null,{\"category\":\"clawhub\",\"currentSlug\":\"clawarr-suite\",\"name\":\"ClawARR Suite\",\"tags\":[\"legal\",\"productivity\"]}]}]\n"])</script></body></html>