Minions Pattern
Treat the top-level host as a thin control plane and direct executor of last resort. Keep only user intent, decomposition and routing decisions, integration of verified evidence, irreversible actions unless explicitly delegated, and final accountability in the host. Delegate as much bounded execution as practical, including discovery, draft planning and architecture analysis, implementation, test and check execution, and adversarial review. Give each coherent work unit one owner.
The host may work a unit directly only when it is truly atomic and dispatch overhead would exceed execution, required tools, authority, or conversation context cannot be delegated safely, or the documented retry and escalation policy has been exhausted. Record the reason in the routing ledger. Default to depth-one delegation; prohibit worker fan-out unless the user deliberately requests it.
Route progressively
Load only the references selected by this decision:
- Read model-routing.md.
- Read one host adapter:
- Claude Code → claude-host.md
- Codex → codex-host.md
- Creating or debugging persistent Claude roles → also read claude-custom-agents.md
- Creating or debugging persistent Codex roles → also read codex-custom-agents.md
- Read one primary pattern:
- Feature or refactor → plan-build-verify.md
- Repository research → explore.md
- Bug or regression → bugfix.md
- Frontend or visual work → frontend.md
- Provider/session handoff → handoff.md
- Truly atomic direct action that meets a host exception → load no pattern
- Resolve adversarial mode:
adversarial: on→ read adversarial-review.mdadversarial: off→ do not load it and do not dispatch a verifier- Unspecified → default to
on
- Read examples.md only when the user supplies an example to preserve, explicitly asks to consult prior examples, or the route remains ambiguous after steps 1–4.
- Read benchmark-notes.md only when the user asks why a tier was chosen or wants benchmark-driven alternatives.
- Load one cross-provider command runbook only when the worker or verifier uses the other provider:
- Claude host → claude-calls-codex.md
- Codex host → codex-calls-claude.md
Do not preload all patterns. An ordinary request to route or perform a task is not a request to read examples. Do not read examples merely for reassurance after the route is clear.
Dispatch complete context
Assume every minion starts with zero conversation context. Include:
Role: <worker role and pinned model/effort>
Goal: <observable outcome>
Repo: <absolute path>
Context: <relevant facts, anchors, and rejected approaches>
Ownership: <files/modules it may change>
Constraints: <rules, non-goals, and no-subagent instruction>
Acceptance: <exact checks or test commands>
Output: <files changed, checks/results, risks, and unresolved questions>
Stop: <explicit boundary>
Do not accept a worker summary as proof. The host must inspect the artifact, diff, and check evidence, and independently validate any claim material to acceptance. Delegate check execution where practical; rerun a targeted check in the host only when independent validation requires it.
Capture user examples
When the user provides a task example intended as a reusable precedent, determine its host, pattern, worker tier, adversarial mode, verifier tier, and rationale. Confirm any ambiguous mapping, then add a compact entry to references/examples.md. Use examples as flexible routing precedents.
Close with a routing ledger
Report the host/orchestrator, worker(s), adversarial mode, verifier when enabled, provider substitutions, checks and evidence validated, verdict, and escalation. For every directly executed unit, include a short exception justification. Keep the ledger compact.