setup_routinglisted
Install: claude install-skill blendsdk/claude-codeops
# Model & Effort Routing Setup (`setup_routing`)
> **CodeOps Skills Version**: 3.20.0
Configure **per-project model and effort routing** for the project the user is currently in, so
that expensive reasoning (Opus, high/xhigh thinking) is spent only where it changes output
quality, and high-volume mechanical work runs on Sonnet. Invoked as `/codeops:setup_routing` or
the typeable alias `/setup_routing`.
## The two-layer principle (preserve this throughout)
Routing has **two layers**, and they must stay coordinated:
1. **Policy layer (soft, behavioral).** A block in the project's `CLAUDE.md` decides *which
model* each phase runs on — inline-first — and which pinned executor backs a dispatch when
one is warranted, expressed as a rule over task tags.
2. **Enforcement layer (hard, guaranteed).** Each executor subagent's frontmatter pins both
`model:` (which model runs) and `effort:` (which reasoning effort runs) when that executor is
invoked. Claude Code enforces both, overriding the user's session/`settings.json`/env config —
so routing works *regardless of what the user has already configured*. The sole exception is the
`CLAUDE_CODE_SUBAGENT_MODEL` env var, which sits above subagent frontmatter and forces every
subagent onto one model (a deliberate global cost-cap escape hatch — surface it in Phase 5).
> The policy is only trustworthy because the pinned executors exist to back it. Since v3.2.0 the
> two executors (`plan-task-executor`, `plan-task-execu