MoviePilot command-dispatch
install
source · Clone the upstream repo
git clone https://github.com/jxxghp/MoviePilot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jxxghp/MoviePilot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/command-dispatch" ~/.claude/skills/jxxghp-moviepilot-command-dispatch && rm -rf "$T"
manifest:
skills/command-dispatch/SKILL.mdsource content
Command Dispatch
Use this skill to identify user intent and dispatch the corresponding system or plugin command.
When to Use
- The user sends a
slash command (execute directly)/xxx - The user describes an action in natural language, for example:
- "Sync sites" →
/cookiecloud - "Show my subscriptions" →
/subscribes - "Refresh subscriptions" →
/subscribe_refresh - "What's downloading?" →
/downloading - "Organize downloaded files" →
/transfer - "Clear cache" →
/clear_cache - "Restart the system" →
/restart - "Pause all QB tasks" →
(plugin command)/pause_torrents
- "Sync sites" →
Tools
— List all available slash commands (system + plugin), returns command name, description, and categorylist_slash_commands
— Query detailed plugin capabilities (commands, actions, scheduled services)query_plugin_capabilities
— Execute a specified command (works for both system and plugin commands)run_slash_command
Workflow
Step 1: Identify User Intent
Determine whether the user's message is requesting the execution of a command:
- Direct command: Message starts with
, e.g./
,/sites
→ skip to Step 3/subscribes - Natural language: The user describes an actionable request → continue to Step 2
Step 2: Find Matching Command
Use
list_slash_commands to retrieve all available commands. Match the user's described intent against the description and category fields of each command.
If the user's description involves a specific plugin's functionality, additionally use
query_plugin_capabilities to query that plugin's detailed capabilities.
Matching strategy:
- Prefer exact matches on command description
- Then narrow down by category and match
- If no matching command is found, inform the user that no corresponding function is available
Step 3: Extract Parameters and Execute
Some commands support additional arguments (space-separated after the command), for example:
— Manually re-organize a specific record/redo <history_id>
— Delete a specific subscription/subscribe_delete <name>
Use
run_slash_command to execute the command in the format /command_name arg1 arg2.
Step 4: Report Result
Command execution is asynchronous. After triggering, inform the user that the command has started. If the command does not exist, list available commands for reference.
Important Notes
- Command execution requires admin privileges; the tool will automatically check permissions
- Both system and plugin commands are executed via the
tool — no need to distinguish between themrun_slash_command - If you are unsure which command matches the user's intent, use
first to look up before decidinglist_slash_commands - Never guess non-existent commands; always select from the available command list