update-routing
Skill4 starsChanged 16 days agoMITView on GitHub
Refreshes the model roster in the routing table that `route` reads, when new models ship. Compares models within each provider, sources and dates every number, and edits only the table. Trigger on: "update the routing table", "new models are out", "refresh /route's model list", or a shared benchmark chart or model-picker screenshot.
In this repository34 other files it gives its agents.
- abstraction-finderSkill
- analyze-issueSkill
- backlog-routingSkill
- band-aid-finderSkill
- browser-debugger-cliSkill
- ci-fix-with-memorySkill
- code-health-auditSkill
- comment-reaperSkill
- cyoaSkill
- dead-code-cleanupSkill
- doc-rotSkill
- drupal-mental-modelSkill
- ds-guardSkill
- evidence-checkSkill
- github-screenshotSkill
- issue-maintenanceSkill
- kissSkill
- plain-language-auditSkill
- post-mergeSkill
- prioritize-issuesSkill
- project-bootstrapSkill
- project-pulseSkill
- pr-review-fix-pipelineSkill
- routeSkill
- ship-issueSkill
- skill-paritySkill
- tdd-implementSkill
- test-fixSkill
- test-reaperSkill
- test-workflowSkill
- visual-crawlSkill
- visual-qa-pipelineSkill
- worktree-enhancedSkill
- wrap-it-upSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 6 are distinctive, and 1 is 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.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
Search the web for current messages-per-5h figures per model.
- Distinctive: line 41
Update only the parts of the table that carry the roster:
- Distinctive: line 46
Leave worked examples alone unless a model *name* changed.
- Very specific: line 51
Run /route once afterward on a real task to check the output still reads right end to end.
- Distinctive: line 56
Don't overwrite a benchmark citation with a number for a newer model unless that model was measured on the same benchmark.
- Distinctive: line 59
Don't fold a cross-provider cost comparison into the reason for a routing change.
- Distinctive: line 61
Don't silently drop the prior generation from the rate-limit card while the provider still offers it.
≈ “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.
Files
Update routing
Refresh the model roster in the routing table that the route skill reads:
$AI_ROUTING_TABLE, default ~/.agents/ai-routing.md. If it's missing, stop and say so; the
starter is ai-routing.example.md next to the route skill. This is judgment work, not a
find-replace. The comparisons in step 2 are where most of the value is.
Steps
- Get current data: a fresh intelligence-vs-cost chart (or an equivalent benchmark) and a screenshot of the current model picker for each provider the table routes to. If what the user shares is cropped, missing an axis, or otherwise incomplete, ask for the rest rather than guessing at it.
- Compare within each provider only. The table rations flat-rate subscription seats, so a
chart's dollar-cost axis is pay-per-use API pricing. That's valid for comparing tiers or
generations within one provider, never for ranking across providers: "this model is
cheaper than that provider's model" isn't a reason to prefer it when both seats are already
paid for. For each provider, note:
- Genuine dominance: a newer tier or generation matches or beats an older one on intelligence at the same or lower cost. It replaces the old first choice.
- A real trade-off: cheaper but also less capable. Don't force a swap. List both and say which axis moved.
- Models from a provider the table doesn't list as a seat: mention them if relevant, but never route to them.
- Search the web for current messages-per-5h figures per model. Date and cite every number you add. If a figure isn't published for a new model yet (common right after a launch), say so: mark it inherited from the slot the previous generation held, or as an estimate. Never present a guess as measured.
- Update only the parts of the table that carry the roster:
- The main phase table (bare model names, no reasoning-tier suffix).
- The rate-limit reference card (throughput numbers, sourced and dated).
- An efficient-settings section, if the table has one (which tier or generation is worth spending on, and why). Leave worked examples alone unless a model name changed. They reference the main table's choices by name, so tier-only changes don't touch them.
- Bump every "Last checked" date you touched to today.
- Run
/routeonce afterward on a real task to check the output still reads right end to end.
What not to do
- Don't overwrite a benchmark citation with a number for a newer model unless that model was measured on the same benchmark. A different benchmark measuring a different thing isn't a substitute.
- Don't fold a cross-provider cost comparison into the reason for a routing change. It's the wrong axis for a flat-rate-seat problem.
- Don't silently drop the prior generation from the rate-limit card while the provider still offers it. Note it as the prior generation instead of deleting the row.
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
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.

