← 返回 Skills 市场
omiron33

ClawARR Suite

作者 omiron33 · GitHub ↗ · v1.0.1
cross-platform ⚠ suspicious
1139
总下载
4
收藏
3
当前安装
2
版本数
在 OpenClaw 中安装
/install clawarr-suite
功能描述
Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa...
使用说明 (SKILL.md)

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 \x3Chost-ip-or-hostname>

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 "\x3Ctitle>" [quality] [root]
manage.sh add-series "\x3Ctitle>" [quality] [root]
manage.sh remove \x3Capp> \x3Cid>
manage.sh wanted [app]
manage.sh calendar [app] [days]
manage.sh history [app] [count]
manage.sh rename \x3Capp> \x3Cid>
manage.sh refresh \x3Capp> [id]

Request Management (requests.sh)

Overseerr request handling:

requests.sh list [pending|approved|available|all]
requests.sh approve \x3Cid>
requests.sh deny \x3Cid> [reason]
requests.sh info \x3Cid>
requests.sh stats

Subtitle Management (subtitles.sh)

Bazarr operations:

subtitles.sh wanted
subtitles.sh history [count]
subtitles.sh search \x3Cseries|movie> \x3Cid>
subtitles.sh languages

Indexer Management (indexers.sh)

Prowlarr operations:

indexers.sh list
indexers.sh test [id]
indexers.sh stats

Download Client (downloads.sh)

SABnzbd operations:

downloads.sh active
downloads.sh speed
downloads.sh history [count]
downloads.sh pause
downloads.sh resume
downloads.sh queue

Dashboard Generation (dashboard.sh)

Generate self-contained HTML dashboard:

dashboard.sh [output_file]

Creates beautiful dark-themed dashboard with:

  • System health
  • Download activity
  • Library statistics
  • Recent activity
  • Viewing analytics
  • Disk usage

Output defaults to clawarr-dashboard.html (open in any browser).

Media Tracker Integration (trakt.sh, trackers.sh, letterboxd.sh, simkl.sh)

Track and sync what you watch across services like Trakt.tv, Letterboxd, Simkl, and more.

Unified Interface (trackers.sh):

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

Trakt.tv Integration (trakt.sh):

Authentication:

trakt.sh auth                  # Device code OAuth flow
trakt.sh auth-status           # Check authentication

Profile & Stats:

trakt.sh profile [username]    # Show profile
trakt.sh stats [username]      # Detailed statistics

Watching & History:

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

Scrobbling:

trakt.sh scrobble start movie 12345
trakt.sh scrobble stop movie 12345 100
trakt.sh checkin movie "Inception"

Lists & Collections:

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

Ratings:

trakt.sh ratings movies 8      # Movies rated 8+
trakt.sh rate movie "Inception" 10

Discovery:

trakt.sh recommendations movies
trakt.sh trending shows
trakt.sh popular movies
trakt.sh calendar all 7        # Next 7 days

Search:

trakt.sh search "Breaking Bad" show

Sync:

trakt.sh sync-plex             # Sync Plex watch history to Trakt

Letterboxd Integration (letterboxd.sh):

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

Simkl Integration (simkl.sh):

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

Traktarr & Retraktarr Integration

Automate content discovery and library syncing with Trakt lists.

Traktarr (Trakt → Radarr/Sonarr):

# Status and configuration
trakt.sh traktarr-status       # Check if installed
trakt.sh traktarr-config       # Configure Traktarr

# Add content from Trakt lists
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

Retraktarr (Radarr/Sonarr → Trakt):

# Status and configuration
trakt.sh retraktarr-status     # Check if installed
trakt.sh retraktarr-config     # Configure Retraktarr

# Sync library to Trakt lists
trakt.sh retraktarr-sync all   # Sync movies and shows
trakt.sh retraktarr-sync movies
trakt.sh retraktarr-sync shows

Installation via Setup Wizard:

trackers.sh setup
# Choose option 5 for Traktarr
# Choose option 6 for Retraktarr
# Offers to install via pip if not found

What They Do:

  • Traktarr: Automatically adds content from Trakt lists (trending, anticipated, watchlist, custom) to Radarr/Sonarr for download
  • Retraktarr: Syncs your Radarr/Sonarr library back to Trakt as public/private lists

See references/traktarr-retraktarr.md for complete setup, cron scheduling, and usage patterns.

Prowlarr Indexer Management (prowlarr.sh)

Centralized indexer management across all *arr apps:

prowlarr.sh indexers              # List all indexers
prowlarr.sh test [id]             # Test indexer(s)
prowlarr.sh stats                 # Indexer & app sync statistics
prowlarr.sh search \x3Cquery> [type] # Search across all indexers (type: movie|tv|audio|book)
prowlarr.sh apps                  # List sync targets (Sonarr/Radarr/etc)
prowlarr.sh add-app \x3Ctype> \x3Curl> \x3Ckey>  # Add app sync target
prowlarr.sh sync                  # Trigger sync to all apps
prowlarr.sh status                # Health check
prowlarr.sh logs [count]          # Recent logs

Recyclarr Quality Profiles (recyclarr.sh)

Sync TRaSH Guides quality profiles to Sonarr/Radarr:

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

Maintainerr Library Cleanup (maintainerr.sh)

Automated library cleanup based on rules:

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 \x3Crule_id>    # Show media matched by a rule
maintainerr.sh exclude \x3Cmedia_id> \x3Crule_id>  # Exclude media from rule
maintainerr.sh logs               # View activity log

Notifiarr Notifications (notifiarr.sh)

Unified notification management across *arr services:

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

Kometa Collection Manager (kometa.sh)

Plex collection, overlay, and metadata automation:

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

Unpackerr Archive Extraction (unpackerr.sh)

Automatic archive extraction for download clients:

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

Legacy Scripts

  • queue.sh — View download queues (use manage.sh wanted or downloads.sh active for more detail)
  • search.sh — Search content (use manage.sh add-* for full workflow)

Configuration

Environment Variables

Core Services:

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...

# Companion services (auto-detected, keys optional)
export PROWLARR_KEY=abc123...   # Required for prowlarr.sh

# Docker-based services (SSH access for remote management)
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)

Media Trackers (optional):

# 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

# Simkl (register at https://simkl.com/settings/developer)
export SIMKL_CLIENT_ID=your_client_id
export SIMKL_CLIENT_SECRET=your_client_secret

# Letterboxd (requires API approval)
export LETTERBOXD_API_KEY=your_api_key  # Optional, uses CSV export if not set

Token Storage:

  • Tokens are automatically saved to ~/.config/clawarr/
  • Files: trakt_tokens.json, simkl_tokens.json
  • Permissions: 600 (user read/write only)

Store in .env file and source before running scripts.

Standard Ports

  • Sonarr: 8989
  • Radarr: 7878
  • Lidarr: 8686
  • Readarr: 8787
  • Prowlarr: 9696
  • Bazarr: 6767
  • Overseerr: 5055
  • Plex: 32400
  • Tautulli: 8181
  • SABnzbd: 38080
  • Notifiarr: 5454
  • Maintainerr: 6246
  • FlareSolverr: 8191
  • Homarr: 7575

API Key Discovery

Method 1: /initialize.json (Easiest)

Most *arr apps expose API key at public endpoint:

curl -s http://HOST:7878/initialize.json | jq -r '.apiKey'

For older versions (v3):

curl -s http://HOST:7878/initialize.js | grep -o "apiKey: '[^']*'" | cut -d"'" -f2

Method 2: Config Files

Docker/Unraid/Synology: /config/config.xml (inside container)

grep '\x3CApiKey>' /path/to/config.xml | sed 's/.*\x3CApiKey>\(.*\)\x3C\/ApiKey>.*/\1/'

Method 3: Web UI

Settings → General → Security → API Key

Plex Token

From Plex Web UI:

  1. Open any media item
  2. "Get Info" → "View XML"
  3. URL contains X-Plex-Token=...

Or use:

curl -u "username:password" -X POST \
  'https://plex.tv/users/sign_in.json' \
  -H "X-Plex-Client-Identifier: \x3Cunique-id>"

Tautulli API Key

Settings → Web Interface → API → API Key

SABnzbd API Key

Config → General → Security → API Key

Common Workflows

Library Analysis

# Get complete library overview
scripts/library.sh stats all

# Find quality upgrade candidates
scripts/library.sh quality radarr

# Show missing content
scripts/library.sh missing all

# Check disk usage
scripts/library.sh disk all

Viewing Analytics

# Current activity
scripts/analytics.sh activity

# Most watched this month
scripts/analytics.sh most-watched month

# User statistics
scripts/analytics.sh user-stats

# Peak hours
scripts/analytics.sh peak-hours

Request Management

# Show pending requests
scripts/requests.sh list pending

# Approve request
scripts/requests.sh approve 123

# Request statistics
scripts/requests.sh stats

Content Management

# Add movie
scripts/manage.sh add-movie "Dune Part Two"

# Show calendar
scripts/manage.sh calendar all 7

# View history
scripts/manage.sh history radarr 30

# Show wanted/missing
scripts/manage.sh wanted all

Indexer Management (Prowlarr)

# List and test all indexers
scripts/prowlarr.sh indexers
scripts/prowlarr.sh test

# Search across all indexers
scripts/prowlarr.sh search "Dune" movie

# Add Sonarr/Radarr as sync targets
scripts/prowlarr.sh add-app sonarr http://host:8989 \x3Csonarr_key>
scripts/prowlarr.sh add-app radarr http://host:7878 \x3Cradarr_key>

# Trigger indexer sync to all apps
scripts/prowlarr.sh sync

Quality Profiles (Recyclarr)

# Preview changes
scripts/recyclarr.sh diff

# Sync TRaSH Guides profiles
scripts/recyclarr.sh sync

# Check status
scripts/recyclarr.sh status

Library Cleanup (Maintainerr)

# View rules and matched media
scripts/maintainerr.sh rules
scripts/maintainerr.sh media 1

# Run cleanup
scripts/maintainerr.sh run

# Exclude something from cleanup
scripts/maintainerr.sh exclude 12345 1

Collections & Overlays (Kometa)

# Run collection/overlay generation
scripts/kometa.sh run

# View existing collections
scripts/kometa.sh collections

# See available templates
scripts/kometa.sh templates

Dashboard

# Generate dashboard
scripts/dashboard.sh my-dashboard.html

# Open in browser
open my-dashboard.html

Media Tracking Workflows

Initial Setup:

# Set up Trakt.tv
scripts/trackers.sh setup
# Select option 1 (Trakt.tv)
# Follow device auth flow

# Check status
scripts/trackers.sh status

Sync Plex to Trakt:

# One-time sync of watch history
scripts/trakt.sh sync-plex

# Or use unified interface
scripts/trackers.sh sync plex trakt

Export for Letterboxd:

# Generate Letterboxd-compatible CSV
scripts/letterboxd.sh export

# Upload at letterboxd.com/import/

Cross-Tracker Sync:

# Export from Trakt, convert for Letterboxd
scripts/trackers.sh sync trakt letterboxd

# Compare two services
scripts/trackers.sh compare trakt simkl

Discovery & Recommendations:

# Get personalized recommendations
scripts/trakt.sh recommendations movies

# See what's trending
scripts/trakt.sh trending shows

# Check upcoming releases
scripts/trakt.sh calendar all 7

Track Viewing:

# See what you're currently watching
scripts/trakt.sh watching

# View watch history
scripts/trakt.sh history movies 50

# Rate something you watched
scripts/trakt.sh rate movie "Inception" 10

Automation with Traktarr/Retraktarr:

# Set up Traktarr (Trakt → Arr)
scripts/trackers.sh setup  # Option 5

# Add trending movies to Radarr
scripts/trakt.sh traktarr-add movies trending 10

# Add anticipated shows to Sonarr
scripts/trakt.sh traktarr-add shows anticipated 5

# Set up Retraktarr (Arr → Trakt)
scripts/trackers.sh setup  # Option 6

# Sync library to Trakt lists
scripts/trakt.sh retraktarr-sync all

# Schedule automation (cron):
# Traktarr every 6 hours: 0 */6 * * * traktarr run
# Retraktarr daily at 3am: 0 3 * * * retraktarr sync

Troubleshooting

No Files Eligible for Import

Diagnosis:

scripts/diagnose.sh

Common causes:

  1. Stale Docker mounts — Container restarted but host didn't
  2. Path mapping — Download client and *arr app see different paths
  3. Permissions — *arr app can't read download directory
  4. Category mismatch — Download in wrong category

Solutions:

# Restart containers (fixes stale mounts)
docker restart radarr sonarr

# Check path mappings
# Settings → Download Clients → Remote Path Mappings

Queue Stuck

Check download client:

scripts/downloads.sh active
scripts/downloads.sh speed

*Check arr queues:

scripts/manage.sh wanted all

Check indexers:

scripts/indexers.sh test
scripts/indexers.sh stats

Missing Subtitles

scripts/subtitles.sh wanted
scripts/subtitles.sh search series \x3Cid>

Reference Documentation

  • references/api-endpoints.md — Complete API reference for all services
  • references/tracker-apis.md — Media tracker API documentation (Trakt, Simkl, Letterboxd)
  • references/traktarr-retraktarr.md — Complete guide to Traktarr & Retraktarr automation
  • references/companion-services.md — Prowlarr, Recyclarr, FlareSolverr, Unpackerr, Notifiarr, Maintainerr, Kometa reference
  • references/common-issues.md — Troubleshooting guide with solutions
  • references/setup-guide.md — Platform-specific installation
  • references/prompts.md — Suggested natural-language prompts for agents
  • references/dashboard-templates.md — HTML/CSS templates for dashboards

Example Agent Prompts

See references/prompts.md for complete list. Examples:

Library & Downloads:

  • "Show me what's downloading right now"
  • "What movies were added this week?"
  • "Generate a dashboard of my media library"
  • "What are the most watched shows this month?"
  • "Find all 720p movies that could be upgraded to 4K"
  • "Show missing episodes for all monitored shows"
  • "What's coming out this week?"
  • "Approve all pending Overseerr requests"
  • "How much disk space am I using per library?"
  • "Show my Plex viewing stats for the last 30 days"
  • "What subtitles are missing?"
  • "Test all my indexers"

Media Tracking:

  • "Set up Trakt tracking for my Plex library"
  • "Sync my Plex watch history to Trakt"
  • "What am I currently watching on Trakt?"
  • "Show my Trakt watch history from this month"
  • "Get movie recommendations based on my Trakt ratings"
  • "What's trending on Trakt right now?"
  • "Export my library for Letterboxd"
  • "Compare my Trakt and Simkl watch histories"
  • "Show me upcoming movie releases I'm tracking"
  • "Rate Inception 10/10 on Trakt"
  • "Add Dune Part Two to my Trakt watchlist"
  • "Show my Letterboxd profile stats"
  • "What are my top-rated movies on Trakt?"

Prowlarr & Indexers:

  • "Show all my indexers and test them"
  • "Search across all indexers for Breaking Bad"
  • "Sync Prowlarr indexers to Sonarr and Radarr"
  • "Add Sonarr as a sync target in Prowlarr"

Quality Profiles (Recyclarr):

  • "Sync TRaSH Guides quality profiles"
  • "Preview what Recyclarr would change"
  • "Show available quality profiles for Radarr"
  • "What quality definitions does Sonarr have?"

Library Cleanup (Maintainerr):

  • "Show my library cleanup rules"
  • "What movies are flagged for deletion?"
  • "Run all cleanup rules now"
  • "Exclude this movie from the cleanup rule"

Collections & Overlays (Kometa):

  • "Run Kometa to update collections"
  • "Show all my Plex collections"
  • "What overlay templates are available?"
  • "Add IMDb Top 250 collection to my movie library"

Notifications (Notifiarr):

  • "Check Notifiarr status and integrations"
  • "Send a test notification"
  • "Show recent notifications"

Archive Extraction (Unpackerr):

  • "Check Unpackerr status"
  • "Show recent extraction activity"
  • "Any extraction errors?"

Traktarr/Retraktarr Automation:

  • "Set up Traktarr to auto-add trending movies"
  • "Add the top 10 anticipated movies from Trakt to Radarr"
  • "Configure Traktarr to monitor my Trakt watchlist"
  • "Sync my Radarr library to a public Trakt list"
  • "Show Traktarr status and configuration"
  • "Add trending shows to Sonarr via Traktarr"
  • "Set up automatic syncing between Trakt and my *arr apps"
  • "What's Retraktarr doing? Is it synced?"

Technical Notes

Bash 3.2 Compatibility

All scripts are compatible with macOS bash 3.2:

  • No associative arrays (declare -A)
  • No uppercase parameter expansion (${var^^})
  • Use $(echo "$var" | tr '[:lower:]' '[:upper:]') for case conversion
  • No |& (pipe stderr), use 2>&1 instead

Dependencies

  • curl — HTTP requests
  • jq — JSON parsing
  • bc — Math calculations (for percentages, GB conversions)
  • sed — Text processing

All standard on macOS/Linux.

Security

  • Never log API keys
  • Confirm destructive actions (delete, remove)
  • Rate limiting for bulk operations
  • Use HTTPS for remote access

Performance

  • Scripts cache API responses where possible
  • Dashboard generation pulls data once per run
  • Bulk operations use batch APIs when available

Version Compatibility

Tested with:

  • Sonarr v4.x (API v3)
  • Radarr v5.x (API v3)
  • Lidarr v2.x (API v1)
  • Readarr v0.3.x (API v1)
  • Prowlarr v1.x (API v1)
  • Bazarr v1.4.x
  • Overseerr v1.33.x (API v1)
  • Plex Media Server (all recent versions)
  • Tautulli v2.x (API v2)
  • SABnzbd v4.x
  • Recyclarr v7.x
  • Unpackerr v0.14.x
  • Notifiarr v0.8.x
  • Maintainerr v2.x
  • Kometa v2.x (Plex Meta Manager successor)
  • FlareSolverr v3.x

Contributing

Report issues or suggest features via GitHub. Include:

  • Script name and command run
  • Error output (sanitize API keys!)
  • Service versions
  • Platform (Docker/Unraid/Synology/etc)

License

MIT License - See repository for details.

安全使用建议
This skill appears to implement exactly what it claims (deep management of *arr media stacks) but has important mismatches you should review before installing: - Inspect the scripts (start with scripts/setup.sh, discover.sh, diagnose.sh, manage.sh, and maintainerr.sh). Look for commands that call docker, docker-compose, ssh, curl to external hosts, or read files like /config/config.xml or initialize.js. These indicate the skill will access container configs and may require host-level access. - Expect to provide many secrets: Plex/Tautulli/Radarr/Sonarr API keys, Trakt/Simkl client secrets, and possibly SSH access to your NAS. The registry metadata did not declare these env vars; supply them only after auditing the scripts and understanding where they are used/stored. - Because the skill performs potentially destructive operations (library deletions, container restarts, file removals) ensure you: - Backup important data first. - Run the skill in a safe/non-production environment to test behavior. - Limit the agent's ability to invoke the skill autonomously if you do not want it taking actions without explicit approval. - If you plan to run the scripts on a machine lacking docker/ssh, the scripts may fail or attempt alternate flows; the absence of docker/ssh from the declared requirements is an incoherence — add those tools or correct the manifest. - If you are not comfortable auditing shell scripts yourself, ask a knowledgeable administrator to review for any unexpected network exfiltration (curl to remote domains), eval/exec usage, or secrets being written to remote endpoints. Overall: do not deploy this skill with unattended privileges until you (or someone you trust) have reviewed the scripts and provided only the minimal secrets and access needed for the features you intend to use.
功能分析
Type: OpenClaw Skill Name: clawarr-suite Version: 1.0.1 The OpenClaw AgentSkills skill bundle is classified as 'suspicious' due to its extensive use of powerful system commands (`docker exec`, `ssh`, `pip install`) and direct interaction with local network services and user-configured hosts. While these capabilities are plausible and necessary for managing a self-hosted media stack, they introduce significant vulnerability risks. Specifically, the scripts `kometa.sh`, `recyclarr.sh`, and `unpackerr.sh` execute commands via `docker exec` or `ssh` using arguments derived from environment variables (`DOCKER_HOST_SSH`, `DOCKER_CMD`) and potentially user-controlled input. This pattern, if exploited through prompt injection or a compromised environment, could lead to Remote Code Execution (RCE) on the host system. Additionally, `scripts/trakt.sh` offers to `pip install --user traktarr` and `retraktarr`, introducing external software dependencies. There is no clear evidence of intentional malicious behavior (e.g., data exfiltration to unauthorized endpoints, backdoors, or stealth), and the `SKILL.md` explicitly claims to avoid telemetry and destructive actions without explicit user command, which is generally supported by the code's logic. The 'suspicious' classification reflects the high-risk capabilities and potential for exploitation, rather than proven malicious intent.
能力评估
Purpose & Capability
Name/description align with the included scripts and reference docs (numerous scripts for Sonarr/Radarr/Plex/Tautulli/etc.). However, the SKILL/README repeatedly reference Docker and SSH operations (docker exec, docker restart, docker-compose, SSH-based companion service access), and companion containers (kometa, recyclarr, unpackerr) — yet the registry metadata's required binaries list only includes bash, curl, jq, bc, sed. Docker, ssh, and related tooling are plausibly required for many documented workflows but are not declared, which is an incoherence between stated purpose and declared dependencies.
Instruction Scope
SKILL.md and README instruct the agent to run many scripts (setup.sh, discover.sh, status.sh, diagnose.sh, manage.sh, etc.). The docs explicitly describe auto-discovery and 'grabs API keys' behavior and show commands that read container config files (e.g., cat /config/config.xml, curl initialize.js) and run docker commands. That implies the scripts will read local configuration and may execute docker/ssh commands against the host — actions that go beyond simple API calls and require privileged access to local hosts/containers. The SKILL.md claims 'local-first' ops and 'no telemetry', but the runtime instructions give the agent broad discretion to probe the LAN, inspect service configs, and run container/SSH commands; that scope should have been declared explicitly.
Install Mechanism
No install spec is provided (instruction-only in registry), but the skill bundle does include 24 bash scripts and many reference docs. Because the skill ships scripts (not just prose), those files will be available to the agent at runtime; there is no automated install/downloader in the registry metadata. This is lower risk than executing an arbitrary downloaded archive, but it means you should review included scripts before executing them on a live system.
Credentials
Registry metadata declares no required environment variables, but README/SKILL.md document many API tokens/credentials (SONARR_KEY, RADARR_KEY, PLEX_TOKEN, TAUTULLI_KEY, PROWLARR_KEY, TRAKT_CLIENT_ID/SECRET, SSH host envs, UNPACKERR envs, etc.). The skill will expect and use secrets but did not declare them in the registry manifest. That mismatch makes it unclear what secrets the skill will read and from where (env vs. config files), and raises a risk that the agent may attempt to access tokens or config locations the user did not intend to expose.
Persistence & Privilege
The skill does not request 'always: true' and keeps default autonomous invocation (disable-model-invocation: false). It documents destructive actions as 'opt-in' (remove/delete commands require explicit invocation). That is reasonable for an operations skill, but because the scripts can run docker/ssh and perform deletions (e.g., Maintainerr delete rules, delete via Radarr/Sonarr API), users should be explicit about when the agent is allowed to run those commands. Consider restricting autonomous invocation unless you trust the skill and have audited the scripts.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install clawarr-suite
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /clawarr-suite 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Remove dynamic eval from setup discovery/key parsing and add security metadata/clarity docs for ClewHub classifier compatibility.
v1.0.0
Initial release: 24 bash scripts, 8 reference docs, zero-input network autodiscovery UI, HTML dashboard
元数据
Slug clawarr-suite
版本 1.0.1
许可证
累计安装 3
当前安装数 3
历史版本数 2
常见问题

ClawARR Suite 是什么?

Comprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpa... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1139 次。

如何安装 ClawARR Suite?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install clawarr-suite」即可一键安装,无需额外配置。

ClawARR Suite 是免费的吗?

是的,ClawARR Suite 完全免费(开源免费),可自由下载、安装和使用。

ClawARR Suite 支持哪些平台?

ClawARR Suite 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 ClawARR Suite?

由 omiron33(@omiron33)开发并维护,当前版本 v1.0.1。

💬 留言讨论