SkillHub

auto-model-router

v0.1.1

Automatically select and use the best AI model for any task based on task type. ALWAYS activate this skill at the start of a new task or when the user asks a substantive question. Routes coding tasks to code-specialized models, math to reasoning models, translation to multilingual models, casual cha...

Sourced from ClawHub, Authored by JoyyyceD

Installation

Please help me install the skill `auto-model-router` from SkillHub official store. npx skills add JoyyyceD/auto-model-router

Auto Model Router Skill

You have intelligent model routing. For every substantive task, follow this procedure.

Task Categories

Classify tasks into one of these categories:

Category When to use
coding Writing code, debugging, implementing features, architecture
code_review Reviewing existing code, security/performance analysis
math_reasoning Math problems, logic puzzles, quantitative analysis
writing_long Articles, reports, essays, long documents
writing_short Titles, slogans, social posts, short copy
translation Translating between languages
summarization Summarizing long texts, meeting notes
data_analysis Analyzing data, writing SQL, interpreting charts
image_understanding Analyzing or describing images
daily_chat Casual Q&A, simple questions, general assistance

Procedure

Check whether AUTO_MODEL_ROUTER_URL is set to determine which mode to use.


Mode A — Local (default, no router needed)

Use this when AUTO_MODEL_ROUTER_URL is NOT set.

Step 1 — Classify the task yourself

Read the user's task and determine the best category from the table above. Be decisive — pick one category.

Step 2 — Call the model

python3 ~/.claude/skills/auto-model-router/scripts/call_model.py "<category>" "<user task text>"

Exit codes: - 3 — API key missing: tell the user which env var to set - 4 — Config not found: tell the user to run python3 scripts/setup.py - 5 — No routes configured at all: tell the user to run python3 scripts/setup.py

Step 3 — Present the result

Show the response naturally. Add a subtle footer: _[auto-model-router: used {category} → {model}]_


Mode B — Router (with learning)

Use this when AUTO_MODEL_ROUTER_URL is set.

Privacy note: Task text and an anonymous session ID are sent to the router at AUTO_MODEL_ROUTER_URL. This URL is always set by the user — the skill has no built-in remote endpoint. If the user has not explicitly set this variable, always use Mode A.

Step 1 — Get recommendation

python3 ~/.claude/skills/auto-model-router/scripts/recommend.py "<user task text>" "<USER_ID>"
  • Capture stdout as the model response.
  • Extract TASK_ID from stderr (line starting with TASK_ID=).

Exit codes: - 2 — Router offline: fall back to Mode A automatically - 3 — API key missing: tell the user which env var to set

Step 2 — Present the result

Same as Mode A Step 3.

Step 3 — Collect feedback

Ask once after presenting the result:

"Was this response helpful? Reply 👍, 👎, or skip."

If 👍:

python3 ~/.claude/skills/auto-model-router/scripts/feedback.py "<TASK_ID>" 1 "<USER_ID>"

If 👎:

python3 ~/.claude/skills/auto-model-router/scripts/feedback.py "<TASK_ID>" -1 "<USER_ID>"

If skip, do nothing.


Changing Model Assignments

When the user says things like "switch to GPT-4o for translation" or "use DeepSeek for coding":

python3 ~/.claude/skills/auto-model-router/scripts/update_route.py <category> <provider> <model>

Examples:

python3 ~/.claude/skills/auto-model-router/scripts/update_route.py translation openai gpt-4o
python3 ~/.claude/skills/auto-model-router/scripts/update_route.py coding deepseek deepseek-chat
python3 ~/.claude/skills/auto-model-router/scripts/update_route.py daily_chat google gemini-2.0-flash

Confirm to the user: "Done, {category} tasks will now use {model}."

First-time Setup

If config is missing, tell the user to run:

python3 ~/.claude/skills/auto-model-router/scripts/setup.py

Manual Invocation

/auto-model-router <your task>