Purpose
Pick the cheapest capability tier that still yields excellent results, and suggest which OS skills to run.
When to Use / When NOT to Use
Use when: starting a non-trivial task; cost/latency matters; engineering-os wants a tier hint.
Do not use when: user already pinned a model; task is already mid-flight with a working setup.
Preconditions
Task description available. Optional: risk, context size estimate, deadline.
Inputs / Outputs
Inputs: task, risk, rough context size, iteration expectation.
Outputs: ROUTE_DECISION
Upstream / Downstream
Upstream: engineering-os, user.
Downstream: whatever skills are suggested—router does not execute them.
Core Principles
- Optimize quality-to-cost.
- Route by capability tier, not brand names.
- Risk elevates tier.
- Large context elevates long-context tier or demands context-loader first.
- Always provide a fallback chain.
- Prefer skill sequence over “use a bigger model for everything.”
- Never do the task.
Process
- Classify — architecture, coding, debugging, review, docs, security, etc.
- Complexity — Trivial → Very High (reasoning depth, unknowns, cross-service—not just file count).
- Risk — Low/Medium/High/Critical elevates tier one step when ≥ High.
- Context — if huge, recommend context-loader + long-context tier; avoid stuffing.
- Select tier:
| Tier |
Use for |
fast |
tiny edits, formatting, simple Q&A |
coding |
implementation, tests, focused refactors |
deep-reasoning |
architecture, security strategy, hard bugs, ADRs |
long-context |
large diffs, multi-package reasoning when necessary |
writing |
docs, PR prose, RFC polishing |
- Map tiers to the user’s available models (from their environment) without assuming a specific vendor SKU. If unknown, name the tier and let the host pick.
- Suggest ordered skills (usually via engineering-os paths).
- Fallback chain: e.g. deep-reasoning → coding → fast.
Evidence Requirements
Brief rationale tied to complexity/risk/context. No fake token counts.
Stop Conditions / Failure Modes
| Condition |
Action |
| Insufficient task info |
Ask one clarifying question; default coding + standard path |
| Preferred tier unavailable |
Use next fallback |
Severity + Confidence
Risk feeds tier. Confidence on classification if ambiguous.
Output Contract
## ROUTE_DECISION
Tier: fast | coding | deep-reasoning | long-context | writing
Fallback chain: ...
Suggested skills: [ordered]
Path hint: lite | standard | incident | architecture | review-only
Rationale: ...
Decision: Proceed
Handoffs
- engineering-os — execute suggested path
- Individual skills as listed
Never
- Never hard-require “Claude Opus” / “GPT-X” as the only answer—tiers first.
- Never perform implementation/review inside the router.
- Never upsell the largest model for chores.
1---2name: model-router3description: Routes work to capability tiers (fast, coding, deep-reasoning, long-context, writing) with fallbacks and a suggested skill sequence. Use before costly multi-step work. Emits ROUTE_DECISION. Never performs the engineering task itself and never hardcodes ephemeral vendor model marketing names as the only option.4---56# Purpose78Pick the cheapest capability tier that still yields excellent results, and suggest which OS skills to run.910# When to Use / When NOT to Use1112**Use when:** starting a non-trivial task; cost/latency matters; engineering-os wants a tier hint.1314**Do not use when:** user already pinned a model; task is already mid-flight with a working setup.1516# Preconditions1718Task description available. Optional: risk, context size estimate, deadline.1920# Inputs / Outputs2122**Inputs:** task, risk, rough context size, iteration expectation.2324**Outputs:** `ROUTE_DECISION`2526# Upstream / Downstream2728**Upstream:** engineering-os, user.2930**Downstream:** whatever skills are suggested—router does not execute them.3132# Core Principles33341. Optimize quality-to-cost.352. Route by capability tier, not brand names.363. Risk elevates tier.374. Large context elevates long-context tier or demands context-loader first.385. Always provide a fallback chain.396. Prefer skill sequence over “use a bigger model for everything.”407. Never do the task.4142# Process43441. **Classify** — architecture, coding, debugging, review, docs, security, etc.452. **Complexity** — Trivial → Very High (reasoning depth, unknowns, cross-service—not just file count).463. **Risk** — Low/Medium/High/Critical elevates tier one step when ≥ High.474. **Context** — if huge, recommend context-loader + long-context tier; avoid stuffing.485. **Select tier:**4950| Tier | Use for |51|------|---------|52| `fast` | tiny edits, formatting, simple Q&A |53| `coding` | implementation, tests, focused refactors |54| `deep-reasoning` | architecture, security strategy, hard bugs, ADRs |55| `long-context` | large diffs, multi-package reasoning when necessary |56| `writing` | docs, PR prose, RFC polishing |57586. Map tiers to the user’s available models (from their environment) without assuming a specific vendor SKU. If unknown, name the tier and let the host pick.597. Suggest ordered skills (usually via engineering-os paths).608. Fallback chain: e.g. deep-reasoning → coding → fast.6162# Evidence Requirements6364Brief rationale tied to complexity/risk/context. No fake token counts.6566# Stop Conditions / Failure Modes6768| Condition | Action |69|-----------|--------|70| Insufficient task info | Ask one clarifying question; default coding + standard path |71| Preferred tier unavailable | Use next fallback |7273# Severity + Confidence7475Risk feeds tier. Confidence on classification if ambiguous.7677# Output Contract7879```80## ROUTE_DECISION81Tier: fast | coding | deep-reasoning | long-context | writing82Fallback chain: ...83Suggested skills: [ordered]84Path hint: lite | standard | incident | architecture | review-only85Rationale: ...86Decision: Proceed87```8889# Handoffs9091- **engineering-os** — execute suggested path92- Individual skills as listed9394# Never9596- Never hard-require “Claude Opus” / “GPT-X” as the only answer—tiers first.97- Never perform implementation/review inside the router.98- Never upsell the largest model for chores.