Scope dispatch & models¶
Dispatch modes¶
Agents and review skills match by scope.extensions and scope.require_dependencies in their frontmatter. The dispatch mode depends on the role:
| Role | Dispatch | Example (PyTorch project, .py files) |
|---|---|---|
*-coder |
Exclusive — most specific wins | pytorch-coder (not python-coder) |
*-quality-reviewer |
Additive — all matching fire | python-quality-reviewer + pytorch-quality-reviewer |
*-review-lite |
Additive — all matching fire | python-review-lite |
*-design-reviewer |
Additive — all matching fire | python-design-reviewer + rust-design-reviewer |
*-review skills (standalone) |
Additive — all matching fire | python-review + rust-review |
spec-reviewer, intent-reviewer |
Explicit — language-agnostic, dispatched by name | spec-reviewer per task; intent-reviewer at completion |
mutation-tester |
Explicit — language-agnostic, dispatched by name | mutation-tester at completion (Step 6), in an isolated worktree |
Exclusive means exactly one agent does the work — the most specific match. Additive means every agent matching the file extensions fires on the same diff; if findings conflict, the more specific agent's guidance wins. Explicit agents aren't matched by file type at all — the skills dispatch them by name. mutation-tester is explicit because it breaks code and runs the project's own tests, which needs no language-specific tooling; it fires once whenever the change includes testable source.
Model selection¶
Each role runs on the least powerful model that can handle it. Where an agent's frontmatter pins no model, it inherits the dispatch model.
| Model | Used for |
|---|---|
| Haiku | Isolated functions, clear spec, 1–2 files, mechanical changes |
| Sonnet | Multi-file coordination, integration, pattern matching — the coders |
| Opus | Architecture and design judgment, broad understanding — the quality, design, and conformance reviewers |
Every dispatch announces its model and agent, e.g. "Dispatching sonnet rust-coder agent for Task 5 (refactor pipeline)."