agentleFS
jpfmsceljpfmscel/model-router/skills/pick-model/SKILL.md

pick-model

Skill1 starsChanged 4 months agoMITView on GitHub

Use when deciding which Claude model a task should run on, when asked to pick/route/choose a model, or before starting a chunk of work whose cost-vs-quality tradeoff matters. Routes self-contained sub-work to the quick/standard/deep model-pinned subagents and advises on `/model` for the main session.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. whyashthakker/estack★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Default to delegate when the task is separable.

    line 23
  2. Very specific:

    Always use the aliases haiku / sonnet / opus (and subagents quick / standard / deep) — an alias always resolves to the *latest* model in …

    line 27
  3. Distinctive:

    → Quick (Haiku): when the task is:

    line 45
  4. Distinctive:

    → Standard (Sonnet): when the task is:

    line 51
  5. Distinctive:

    → Deep (Opus): when the task involves any of:

    line 56
  6. Very specific:

    Quick / Haiku: no effort setting (the current Haiku tier does not support effort).

    line 75
  7. Distinctive:

    Don't route *down* to save money on anything with high cost-of-error — a subtly wrong result is the expensive outcome.

    line 96
  8. Distinctive:

    Don't route *up* reflexively — Opus on well-specified everyday coding is mostly wasted spend.

    line 98

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Picking the best model for the task

Match the task to the cheapest model that will still do it well. Spending Opus on a mechanical rename wastes money and time; spending Haiku on an architecture decision produces a confident wrong answer. This skill picks the tier (and effort) and then acts on it.

How model selection actually works here (read first)

You cannot switch the main session's model yourself — /model is a user action, and hooks can't route models. The one lever you control is subagents: dispatch a self-contained sub-task to a model-pinned subagent via the Task tool. So there are exactly two moves:

  • Delegate — the work is a self-contained sub-task → dispatch the matching subagent (quick / standard / deep). This genuinely runs that sub-task on the chosen model.
  • Advise — the whole session's work belongs on a different tier → tell the user which /model <tier> to run and why. You can't do it for them.

Default to delegate when the task is separable; advise when it defines the session.

The tiers

Always use the aliases haiku / sonnet / opus (and subagents quick / standard / deep) — an alias always resolves to the latest model in its tier, so you never pin a stale version. The "Currently" column is informational and will drift; the routing logic never depends on the exact version.

Tieralias · subagentCurrentlyRelative costUse for
Quickhaiku · quickHaiku 4.5$ (cheapest)mechanical, deterministic, low-stakes, high-volume
Standardsonnet · standardSonnet 5$$everyday coding, moderate reasoning, well-specified
Deepopus · deepOpus 4.8$$$architecture, hard/underspecified debugging, review, long-horizon

opus is Claude Code's default main model. Route down to save cost/latency, or up when the work genuinely needs it.

Decision rubric

Score the task on these signals; the highest-firing signal wins.

→ Quick (Haiku) when the task is:

  • purely mechanical: formatting, mechanical rename, single string/enum edit, boilerplate
  • a known command to run + report output
  • a simple lookup / "where is X" with an obvious answer
  • high-volume and individually low-stakes (bulk apply the same trivial edit)

→ Standard (Sonnet) when the task is:

  • everyday coding you could hold in your head: implement a well-specified feature, write tests, a straightforward bug fix, a focused single-concern refactor
  • moderate reasoning, bounded scope, low blast radius

→ Deep (Opus) when the task involves any of:

  • design / architecture or a cross-cutting change touching many files
  • hard or underspecified debugging (root cause unknown, intermittent, "it's weird")
  • security-sensitive or hard-to-reverse changes
  • code review of nontrivial diffs
  • long-horizon autonomous multi-step work, or a large context to reason over

Tie-breakers (apply after the base pick)

  • High cost-of-error (production, security, hard to undo) → bump up one tier.
  • Cost-sensitive + bulk + reversible → start at Quick; escalate only on failure.
  • Latency-critical + low-stakes → prefer Quick.
  • Genuinely unsure between two tiers → pick the higher one once, and note it — a wrong cheap answer usually costs more than the tier difference.

Effort (second lever, orthogonal to model)

Set effort on the subagent / recommend it alongside /model:

  • Quick / Haiku: no effort setting (the current Haiku tier does not support effort).
  • Standard / Sonnet: medium default; high when the task is reasoning-heavy but still Sonnet-appropriate.
  • Deep / Opus: high default; xhigh (the ceiling) for coding/agentic work and the hardest reasoning — Claude Code's own default.

A cheaper model at higher effort often beats a pricier model at low effort — reach for the effort lever before the model lever when the task is borderline.

Act on the pick

  1. Self-contained sub-task → delegate. Dispatch the matching subagent with the Task tool (subagent_type: quick | standard | deep). Give it the full task spec up front; for deep long-horizon work, state the goal and constraints in one shot. Relay its result.
  2. Whole-session direction → advise. Say: "This session is mostly <kind of work> — consider /model &lt;tier&gt;" (+ effort). Don't nag; recommend once.
  3. Mixed session → stay on the default (Opus) and delegate the cheap parts down. Keep hard reasoning on the main thread; fan mechanical/bulk sub-tasks out to quick/standard.

Cautions

  • Don't route down to save money on anything with high cost-of-error — a subtly wrong result is the expensive outcome.
  • Don't route up reflexively — Opus on well-specified everyday coding is mostly wasted spend; Sonnet 5 is near-Opus on coding.
  • Switching the main model mid-session invalidates the prompt cache. Prefer delegating a sub-task to a subagent over asking the user to /model back and forth.
  • Re-evaluate when the task changes character (a "quick edit" that turns into a redesign should move up a tier).

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.