agent-dispatchlisted
Install: claude install-skill 0xUrsanomics/utopia-os
# agent-dispatch
Right subagent, right tools, right brief. Pull from the domain registry. don't freestyle.
## When to invoke
About to spawn an Agent AND:
- Task is non-trivial (>3min inline, or 3+ files / 5+ commands per the delegation threshold)
- Fits one of the 5 domains below
Skip dispatch (do inline) if: <3min, depends on active session state, or multi-turn user conversation.
## The 5 domains
Read `memory/Infra/agent-phase-domains.json` (canonical schema). One-line cheat sheet:
| domain | purpose | subagent_type | writes? |
|---|---|---|---|
| **research** | doc-mining, repo audits, web research, codebase exploration | `Explore` | ❌ read-only |
| **build** | code-writing: skills, scripts, configs | `general-purpose` | ✅ filesystem (scope-limited) |
| **draft** | creative content: proposals, briefs, posts, decks | `general-purpose` | ✅ outputs/raw/ only |
| **verify** | smoke tests, validation, audits, output QA | `general-purpose` | ❌ read+exec only |
| **ops** | routine operations: status progression, follow-up, briefings, triage | `general-purpose` | ⚠️ outputs/ only, NO external writes |
## Dispatch flow
1. **Classify** the task. Pick ONE domain. If it spans 2+, decompose into separate subagent calls (one per domain): don't blend.
2. **Load** the domain entry from `agent-phase-domains.json`. Pull: `recommended_subagent_type`, `tools_denied`, `briefing_scaffold`.
3. **Brief** using the scaffold. Fill EVERY placeholder. Don't skip "stack context (paste-in)". su