Agent skill

Model And Skill Router

by mrmps in mrmps/classifier-dev

Classify an incoming task by intent, difficulty and risk in three parallel calls to a keyless classifier, then route it to a cheap model, a strong model, a named skill or the user, from a routing…

MITAuto-check passedEducation

Install Model And Skill Router

skills CLI
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mrmps/classifier-dev model-and-skill-router --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mrmps/classifier-dev.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/model-and-skill-router .claude/skills/model-and-skill-router && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
model-and-skill-router
GitHub stars
424
Token cost
~1.5k tokens
SKILL.md length
493 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Classify an incoming task by intent, difficulty and risk in three parallel calls to a keyless classifier, then route it to a cheap model, a strong model, a named skill or the user, from a routing…

  • Deciding which model
  • SKILL.md covers Three questions, The router, Read the rubric as an expected… and Thresholds, plus 2 more sections
  • Reaches classifier.dev
  • Skill should take a request

What it does

Model And Skill Router is an agent skill from mrmps/classifier-dev. Classify an incoming task by intent, difficulty and risk in three parallel calls to a keyless classifier, then route it to a cheap model, a strong model, a named skill or the user, from a routing table you maintain instead of a prompt. Use when deciding which model or skill should take a request, when someone says "route this", "which model should handle this" or "pick the right skill", or when a queue of tasks should not all get the same treatment.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Education. The repository describes itself as: Zero-shot text classification over plain HTTP — no API key, no account. One Cloudflare Worker, a CLI, and an MCP server. https://classifier.dev. The licence is MIT.

When your agent uses it

  • Deciding which model
  • Skill should take a request
  • Someone says route this
  • Which model should handle this

Example prompts

  • “route this”
  • “which model should handle this”
  • “pick the right skill”
  • “/model-and-skill-router”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 629df75. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • classifier.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Model And Skill Router loads about 1.5k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~119
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mrmps/classifier-dev at commit 629df75, republished under its MIT licence (© mrmps). 493 words, ~1,499 tokens.

Download SKILL.mdSave it as .claude/skills/model-and-skill-router/SKILL.md (or your agent's skills folder).
name
model-and-skill-router
description
Classify an incoming task by intent, difficulty and risk in three parallel calls to a keyless classifier, then route it to a cheap model, a strong model, a named skill or the user, from a routing table you maintain instead of a prompt. Use when deciding which model or skill should take a request, when someone says "route this", "which model should handle this" or "pick the right skill", or when a queue of tasks should not all get the same treatment.
license
MIT

Route a task before you spend a model on it

Asking a strong model which model should answer costs a strong model call. Three classifier calls run in parallel cost about 120ms and return numbers, so the decision lives in a table you can read and correct rather than in a prompt that drifts.

Three questions

One question per call, each batching every waiting task: intent (six labels), difficulty (an ordered rubric from 1 to 5) and risk (three labels), all set out in the code below. difficulty and risk each need an instructions line; intent does not. Keep none of these in the intent set: every call returns one of your labels whether or not any fit.

The router

python
import json, sys, urllib.request
from concurrent.futures import ThreadPoolExecutor

INTENT = ["answer a question about existing code", "write or change code",
          "find the cause of a failure", "operate infrastructure or data",
          "research something outside the repository", "none of these"]
DIFFICULTY = ["1 mechanical", "2 easy", "3 moderate", "4 hard",
              "5 needs deep reasoning"]
RISK = ["safe to do unattended", "the user should confirm first",
        "irreversible or affects production"]

# The table you maintain: intent, difficulty, risk. First match wins.
ROUTES = [
    (lambda i, d, r: r == RISK[2],                 "ask the user"),
    (lambda i, d, r: d <= 2.0 and r == RISK[0],    "cheap model"),
    (lambda i, d, r: i == "unclear",               "ask the user"),
    (lambda i, d, r: i == INTENT[3],               "ask the user"),
    (lambda i, d, r: i == INTENT[2],               "strong model, debug skill"),
    (lambda i, d, r: i == INTENT[0] and d <= 3.5,  "cheap model, repo search skill"),
    (lambda i, d, r: True,                         "strong model"),
]

def ask(labels, inputs, instructions=None):
    body = {"labels": labels, "inputs": inputs}
    if instructions: body["instructions"] = instructions
    req = urllib.request.Request("https://classifier.dev/v1/classify",
        data=json.dumps(body).encode(),
        headers={"content-type": "application/json", "user-agent": "router/1"})
    return json.load(urllib.request.urlopen(req))["results"]

def route(tasks):
    with ThreadPoolExecutor(3) as pool:
        i_f = pool.submit(ask, INTENT, tasks)
        d_f = pool.submit(ask, DIFFICULTY, tasks,
            "Rate how much reasoning a coding agent needs to finish this request.")
        r_f = pool.submit(ask, RISK, tasks,
            "Judge the blast radius if a coding agent carried this out with no one "
            "watching. Production data, deploys and anything git cannot undo are "
            "the top label.")
    for task, i, d, r in zip(tasks, i_f.result(), d_f.result(), r_f.result()):
        ev = sum(float(k.split()[0]) * v for k, v in d["scores"].items())
        intent = i["label"] if (i["confidence"] or 0) >= 0.5 else "unclear"
        risk = r["label"] if (r["confidence"] or 0) >= 0.5 else RISK[1]
        dest = next(d for t, d in ROUTES if t(intent, ev, risk))
        yield task, dest, f'{intent} {i["confidence"]}', ev

for task, dest, why, ev in route([l.strip() for l in sys.stdin if l.strip()]):
    print(f"{dest:30} d={ev:.1f}  {why:38} {task[:44]}")
python3 route.py < tasks.txt
cheap model                 d=1.0  unclear 0.47              Fix the typo in the READ
strong model, debug skill   d=4.1  find the cause of a fail  Why does the checkout fl
strong model                d=2.5  write or change code 1    Add a --json flag to the
ask the user                d=1.6  operate infrastructure 1  Delete the staging datab

Read the rubric as an expected value

Ordered labels make the scores map a distribution. The debugging task above had 5 needs deep reasoning on top at 0.21 confidence, which alone says nothing; the expected value across the five labels was 4.1, the number you want. The typo scored 1 mechanical at 0.98, expected value 1.0. Route on the expected value, keep the argmax for display.

Thresholds

The classifier returns labels, scores and calibrated confidence, no prose. Act at 0.9 and above, where answers were right 82 to 92% of the time. Between 0.5 and 0.9 route up, to the stronger model or the more careful path: a bigger model costs less than a wrong route. Below 0.5 treat the dimension as unknown, which above turns intent into unclear. Ask the person only when the unknown changes the destination; an unclear intent on a difficulty-1.0 task with no risk still goes to the cheap model.

Show full SKILL.md (163 more words)Show less

Pitfalls

  • Do not fold the three questions into one multi-label call. Asked that way, "Fix the typo in the README heading" came back as only easy for a small model: a code change scored 0.68, under the 0.7 multi-label floor, so the intent dimension vanished. Three calls, run at once.
  • A routing table is data. Add a row when a route is wrong, rather than a sentence to a prompt.
  • Re-route after a plan changes. The label describes the request as written; if the typo fix turns out to need a migration, the route is stale. One-word requests come back at low confidence and land in unclear.

When not to use this

Skip it when only one model is available, when the task is in context and cheap to simply do, or when one person is typing one request and waiting. It earns its place on a queue, a webhook or a batch of issues, where tasks arrive faster than anyone triages them.

© mrmps, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/model-and-skill-router of mrmps/classifier-dev.

Open the folder on GitHubat commit 629df75

Compare with similar skills

Model And Skill Router next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Model And Skill Router compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Model And Skill Router this skillmrmps/classifier-dev424—~1.5kAutomated safety check: PassMIT
DeepTutor CLIHKUDS/DeepTutor41k—~2.8kAutomated safety check: PassApache-2.0
AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch66k—~2kAutomated safety check: PassMIT
Deep Reading Analystginobefun/deep-reading-analyst-skill3534 repos~3.6kAutomated safety check: PassMIT
OpenMAIC Setup and ExtensionTHU-MAIC/OpenMAIC40k—~1.7kAutomated safety check: NotesMIT
Codebase to Coursezarazhangrui/codebase-to-course5.7k—~4.4kAutomated safety check: PassNone

Similar skills

  • DeepTutor CLI

    HKUDS/DeepTutor

    Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.

    41k GitHub stars~2.8k tokensUpdated yesterday
    EducationAuto-check passed
  • AI Engineering Placement Quiz

    rohitg00/ai-engineering-from-scratch

    Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.

    66k GitHub stars~2k tokensUpdated today
    EducationAuto-check passed
  • Deep Reading Analyst

    ginobefun/deep-reading-analyst-skill

    Comprehensive framework for deep analysis of articles, papers, and long-form content using 10+ thinking models (SCQA, 5W2H, critical thinking, inversion, mental models, first principles, systems…

    353 GitHub starsUsed in 4 repos~3.6k tokens
    EducationAuto-check passed
  • Guides setup, classroom generation and secondary development for OpenMAIC, the multi-agent interactive classroom, one confirmed phase at a time.

    40k GitHub stars~1.7k tokensUpdated today
    EducationAuto-check: notes
  • Codebase to Course

    zarazhangrui/codebase-to-course

    Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.

    5.7k GitHub stars~4.4k tokensUpdated 6 mo ago
    EducationAuto-check passed
  • Zhang Xuefeng Perspective

    alchaincyf/zhangxuefeng-skill

    Answers education and career questions in the voice of Zhang Xuefeng, looking up current employment and admissions data before giving a direct verdict.

    10k GitHub stars~2.6k tokensUpdated 1 mo ago
    EducationAuto-check passed

More from mrmps/classifier-dev

All 21 skills in this repo
  • Bulk Classify

    mrmps/classifier-dev

    Sort many texts into your own categories without reading them, using a keyless HTTP API that returns a calibrated confidence per answer.

    424 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • Computer Use Action Picker

    mrmps/classifier-dev

    Pick a browser or desktop agent's next action by choosing among the actions actually on screen instead of inventing one.

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Content Moderation Gate

    mrmps/classifier-dev

    Check user-generated text against a written policy before it is published.

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Label each context chunk keep, drop or replace-with-a-pointer and pass the survivors through byte for byte instead of summarising, with key-shaped chunks decided locally and never sent, and a…

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Document Intake Routing

    mrmps/classifier-dev

    Label each page of an intake packet with a document type and a page role before extraction runs, so only confident pages reach an extractor and the rest reach a person.

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Headline Filter Map Reduce

    mrmps/classifier-dev

    Filter hundreds or thousands of headlines, search results or feed items against a written brief before opening any of them, using a two-stage cascade that spends a fast model on everything and a…

    424 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Model And Skill Router

What does Model And Skill Router do?

Classify an incoming task by intent, difficulty and risk in three parallel calls to a keyless classifier, then route it to a cheap model, a strong model, a named skill or the user, from a routing…. Model And Skill Router is an agent skill from mrmps/classifier-dev. Classify an incoming task by intent, difficulty and risk in three parallel calls to a keyless classifier, then route it to a cheap model, a strong model, a named skill or the user, from a routing table you maintain instead of a prompt.

When should I use Model And Skill Router?

Model And Skill Router fits situations like: deciding which model; skill should take a request; someone says route this; which model should handle this.

How do I install Model And Skill Router in Claude Code?

Run `npx skills add mrmps/classifier-dev --skill model-and-skill-router -a claude-code`. Or copy the skill folder (skills/model-and-skill-router in mrmps/classifier-dev) into .claude/skills/model-and-skill-router in your project. Claude Code loads it when a task matches its description.

How do I install Model And Skill Router in Codex?

Run `npx skills add mrmps/classifier-dev --skill model-and-skill-router -a codex`. Or copy the skill folder (skills/model-and-skill-router in mrmps/classifier-dev) into .agents/skills/model-and-skill-router in your project. Codex loads it when a task matches its description.

Can I use Model And Skill Router in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mrmps/classifier-dev --skill model-and-skill-router -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/model-and-skill-router, .gemini/skills/model-and-skill-router, .github/skills/model-and-skill-router and .opencode/skills/model-and-skill-router in your project.

What does Model And Skill Router need to run?

SKILL.md names no scripts, command-line tools or credentials: Model And Skill Router is instructions for the agent only. Our summary lists: Python 3.

Does Model And Skill Router access the network?

SKILL.md names 1 domain. In commands or code: classifier.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Model And Skill Router safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Model And Skill Router use?

Model And Skill Router is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Model And Skill Router use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Model And Skill Router?

Skills that share tags, products or a category with Model And Skill Router: DeepTutor CLI (HKUDS/DeepTutor, 41k stars), AI Engineering Placement Quiz (rohitg00/ai-engineering-from-scratch, 66k stars), Deep Reading Analyst (ginobefun/deep-reading-analyst-skill, 353 stars) and OpenMAIC Setup and Extension (THU-MAIC/OpenMAIC, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Model And Skill Router?

mrmps (a GitHub user) maintains it in mrmps/classifier-dev, which has 424 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 7, 2026.

Source: mrmps/classifier-dev on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.