--- name: agent-dispatch description: Guide for selecting the right model (opus/sonnet/haiku) when launching subagents. Apply this before EVERY Agent tool call. user-invocable: false --- # Subagent Model Selection Guide Before launching ANY Agent, evaluate the task and select the appropriate model. Default to sonnet unless the task clearly requires opus. ## Decision Matrix ### Use OPUS when: - Reading technical documentation and making architectural decisions - Auditing code for logical/business errors (not just syntax) - Designing new features with multiple valid approaches - Cross-referencing multiple data sources to find inconsistencies - Writing code that requires deep domain knowledge (e.g., ACI class hierarchy, EVPN semantics) - Evaluating trade-offs between approaches - Any task where getting it wrong is expensive to fix ### Use SONNET when: - Writing code following an established pattern (e.g., new plugin matching existing plugin structure) - Fixing a known bug with clear instructions (file, line, what to change) - Running tests (executing curl commands, comparing results) - CSS/UI styling adjustments - File operations (git, cleanup, rename, copy) - Simple search-and-replace across files - Building frontend components with clear specs - Installing dependencies - Any task where the "what" is clear and only the "how" needs execution ### Use HAIKU when: - Quick file searches (grep, glob) - Counting things (plugin count, line count) - Simple data extraction (parse JSON, extract field) - Status checks (is server running, what's the file size) ## Examples from autoACI development | Task | Model | Why | |------|-------|-----| | Read Cisco ACI Multi-Site Design Guide | opus | Deep technical comprehension needed | | Audit 60 plugins for ACI terminology accuracy | opus | Domain expertise required to judge correctness | | Design EP Tunnel Trace 3-segment path | opus | Novel architecture decision | | Create fabric_isis plugin (follows routing_state pattern) | sonnet | Clear pattern to follow | | Fix contract scope context→VRF | sonnet | One-line mapping change | | Reorder columns in 7 plugins | sonnet | Repetitive mechanical edits | | Run 5-agent production test | sonnet | Execute curl, compare results | | Beautify CSS (fonts, colors, spacing) | sonnet | Style-only, no logic | | Evaluate external GitHub project | sonnet | Web search + summarize | | Verify topology data against APIC | sonnet | Execute queries, compare numbers | ## How to apply When about to call the Agent tool: 1. Classify the task using the matrix above 2. Set `model: "opus"` only if the task matches OPUS criteria 3. Default to `model: "sonnet"` for everything else 4. Never use opus "just to be safe" — sonnet handles 70% of tasks equally well 5. For mixed tasks (e.g., "read docs then write code"), split into two agents: opus for research, sonnet for implementation