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.
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…
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mrmps/classifier-dev model-and-skill-router --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "model-and-skill-router" agent skill from https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-router into .claude/skills/model-and-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-and-skill-router", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-routerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mrmps/classifier-dev model-and-skill-router --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrmps/classifier-dev.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/model-and-skill-router .agents/skills/model-and-skill-router && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "model-and-skill-router" agent skill from https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-router into .agents/skills/model-and-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-and-skill-router", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mrmps/classifier-dev model-and-skill-router --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrmps/classifier-dev.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/model-and-skill-router .cursor/skills/model-and-skill-router && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "model-and-skill-router" agent skill from https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-router into .cursor/skills/model-and-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-and-skill-router", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mrmps/classifier-dev.git --path skills/model-and-skill-router--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mrmps/classifier-dev model-and-skill-router --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrmps/classifier-dev.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/model-and-skill-router .gemini/skills/model-and-skill-router && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "model-and-skill-router" agent skill from https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-router into .gemini/skills/model-and-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-and-skill-router", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mrmps/classifier-dev model-and-skill-routerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mrmps/classifier-dev.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/model-and-skill-router .github/skills/model-and-skill-router && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "model-and-skill-router" agent skill from https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-router into .github/skills/model-and-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-and-skill-router", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mrmps/classifier-dev --skill model-and-skill-router -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mrmps/classifier-dev model-and-skill-router --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mrmps/classifier-dev.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/model-and-skill-router .opencode/skills/model-and-skill-router && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "model-and-skill-router" agent skill from https://github.com/mrmps/classifier-dev/tree/main/skills/model-and-skill-router into .opencode/skills/model-and-skill-router/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "model-and-skill-router", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
model-and-skill-routerClassify 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. 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.
Read from SKILL.md and the folder at commit 629df75. It shows what the files ask for, not the result of running them.
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.
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.
Hosts in commands or code, which the agent is likely to contact:
classifier.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from mrmps/classifier-dev at commit 629df75, republished under its MIT licence (© mrmps). 493 words, ~1,499 tokens.
.claude/skills/model-and-skill-router/SKILL.md (or your agent's skills folder).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.
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.
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 databOrdered 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.
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.
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.unclear.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
Just SKILL.md in skills/model-and-skill-router of mrmps/classifier-dev.
Open the folder on GitHubat commit 629df75
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Model And Skill Router this skillmrmps/classifier-dev | 424 | — | ~1.5k | Automated safety check: Pass | MIT | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch | 66k | — | ~2k | Automated safety check: Pass | MIT | |
| Deep Reading Analystginobefun/deep-reading-analyst-skill | 353 | 4 repos | ~3.6k | Automated safety check: Pass | MIT | |
| OpenMAIC Setup and ExtensionTHU-MAIC/OpenMAIC | 40k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Codebase to Coursezarazhangrui/codebase-to-course | 5.7k | — | ~4.4k | Automated safety check: Pass | None |
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.
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.
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…
THU-MAIC/OpenMAIC
Guides setup, classroom generation and secondary development for OpenMAIC, the multi-agent interactive classroom, one confirmed phase at a time.
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.
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.
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.
mrmps/classifier-dev
Pick a browser or desktop agent's next action by choosing among the actions actually on screen instead of inventing one.
mrmps/classifier-dev
Check user-generated text against a written policy before it is published.
mrmps/classifier-dev
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…
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.
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…
Categories
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.
Model And Skill Router fits situations like: deciding which model; skill should take a request; someone says route this; which model should handle this.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.