agent-team
Routes each ask to one owning role, then enforces work order → specialist → verify → handoff.
looks for
- a new task with no clear owner
- work that touches more than one module or repo
- who should do this?
- switching from planning to building, or pausing mid-task
outputs
- → the owning role and any reviewers
- → a pointer to the active work order (or a request to create one)
- → the skills to load before editing
SKILL.md
Agent team router
One task, one owner. Before anyone edits a file, decide who owns this, make sure there is a work order, load the owner's skill, and plan the handoff.
The loop
- Route. Read the ask and pick one primary role from the table below.
Unclear, or touches two areas? Send it to
eng-managerfirst. - Work order. Check
{{WORK_ORDERS_DIR}}for an active work order. None? Theeng-managerwrites one (seework-order) before work starts. - Specialist. The owner loads their skill and does only what the work order says. Anything outside the work order goes back to step 1.
- Verify.
qa-verifier(or theverifysubagent) runs the checks. Red means back to the specialist, with the failure quoted. - Handoff. Whenever the role changes or the session ends, write a handoff
(see
handoff). The next agent starts from it, not from memory.
Routing table (template)
| Ask involves | Route to |
|---|---|
| Unclear ownership, more than one area, sprint/backlog | eng-manager |
| Architecture, API or data contracts, new dependency | tech-lead |
| Visual redesign, layout, a screen "looks off" | ui-ux-designer (read-only) → implementer |
| Finding where something lives | scout subagent |
| "Is it green?", CI, test results | qa-verifier / verify subagent |
| Docs, folder maps, contracts after a change | docs-scribe |
{{AREA_1}} (e.g. web frontend) | {{ROLE_1}} |
{{AREA_2}} (e.g. API / database) | {{ROLE_2}} |
{{AREA_3}} (e.g. mobile) | {{ROLE_3}} |
Rules
- One primary owner per work order. Reviewers are optional; owners are not.
- Load the matching skill before editing, not after something breaks.
- Never close work without a verify result recorded in the work order.
- A role switch without a handoff is a bug in the process: write one.
- Read-only roles (designer, scouts, reviewers) report; they do not edit.
Customize for your project
{{WORK_ORDERS_DIR}}: where work orders live, e.g.docs/work-orders/.- Replace
{{AREA_n}}/{{ROLE_n}}with your real modules and the skill or subagent that owns each one. - Paste the "Quick routing" table into
CLAUDE.mdorAGENTS.mdso it is always loaded.
pairs with
- workflowtrueorfalse
work-order
Turns an ask into a scoped work order file with acceptance criteria, story points and verify commands.
- a task accepted with no written scope
- "add X" requests that touch several files or modules
- scope creep mid-task
Claude · Codex · ChatGPT - workflowtrueorfalse
handoff
Records done / not done / decisions / files / risks / next 3 actions so work survives a role switch or a pause.
- end of a session with work unfinished
- a role switch inside a work order
- QA failed and goes back to the implementer
Claude · Codex · ChatGPT - personatrueorfalse
eng-manager
Turns asks into work orders, sizes them, assigns one owner, and closes them only after verify passes.
- a brand-new ask
- work spanning more than one module
- a sprint plan or backlog question
Claude · Codex · ChatGPT - personatrueorfalse
tech-lead
Locks contracts and architecture decisions before specialists build, and unblocks them when the design is unclear.
- a change that crosses module or service boundaries
- a new or changed endpoint, event or table
- a proposed new dependency
Claude · Codex · ChatGPT - personatrueorfalse
qa-verifier
Runs the real checks, records an honest PASS/FAIL/PENDING report in the work order, and never fakes green.
- implementation finished
- a request to close a work order or merge
- is it green?
Claude · Codex · ChatGPT - personatrueorfalse
docs-scribe
Updates the docs that a change made stale, documenting only what was actually built.
- a new or changed endpoint
- a new table, column or model field
- a new folder or module without a map
Claude · Codex · ChatGPT - agenttrueorfalse
scout
Answers "where is X / what does this touch / who calls this" with path:line evidence and stops.
- "where is…", "what handles…", "who calls…"
- a task that needs mapping before assignment
- a field or route about to be renamed or removed
Claude · Codex · ChatGPT