subagent-orchestration
Skill0 starsChanged 8 days agoApache-2.0View on GitHub
Plan and delegate work as the Opus orchestrator by breaking a request into goal, tasks, and subtasks, routing each subtask to the right Solo Empire sub-agent and model, writing a detailed delegation brief, integrating the structured handoffs, and closing with an external review-and-fix loop. Use before spawning any solo-* sub-agent, when a request spans several files or steps, or when Haiku workers need precise instructions.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- zxyycom/skillstheir own version, first seen Nov 8, 2026
- SWEStash/swe-workflow-skillstheir own version, first seen Nov 8, 2026
- elastic/sourcerertheir own version, first seen Oct 13, 2026
- wzy-20130517/Claude-Code-Mobiletheir own version, first seen Oct 11, 2026
- wicii2120/skillstheir own version, first seen Aug 29, 2026
- ArcanEdge-AI/coding-agent-playbook-codextheir own version, first seen Aug 17, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- elastic/sourcerer★ 20same name
- moabualruz/fulcrum★ 4same name
- ArcanEdge-AI/coding-agent-playbook-codex★ 3same name
- wzy-20130517/Claude-Code-Mobile★ 3same name
- thoitiettxl-cyber/Claw-II★ 2same name
- zxyycom/skills★ 2same name
- SWEStash/swe-workflow-skills★ 1same name
- wicii2120/skills★ 1same name
- ArcanEdge-AI/coding-agent-playbook-claude-code★ 0same name
- nbsp1221/agent-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- ai-agentsSkill
- ai-agent-workflowsSkill
- ai-native-estimationSkill
- ai-product-deliverySkill
- book-dev-engineering-loopSkill
- business-analysisSkill
- client-discovery-and-proposalsSkill
- content-distributionSkill
- data-engineeringSkill
- flow-videoSkill
- game-engineeringSkill
- govern-ai-skillsSkill
- graphic-designSkill
- lead-research-and-crmSkill
- main-only-developmentSkill
- product-managementSkill
- product-ownerSkill
- project-managementSkill
- qa-testingSkill
- security-and-privacySkill
- skill-templateSkill
- solo-empire-operatorSkill
- solution-architectureSkill
- system-docpackSkill
- unused-file-cleanupSkill
- ux-reviewSkill
- xr-engineeringSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
Frame the goal: Write the user outcome in one sentence, measurable success criteria, constraints (repository boundaries, approvals, …
- Very specific: line 32
Register the work: before the first delegation through the supported Tasks MCP/API interface.
- Distinctive: line 43
Keep subtasks the main agent will do itself in the same tree.
- Distinctive: line 44
Brief: Write one delegation brief per subtask with every field of the brief template.
- Very specific: line 61
Run the review: only after tests, typecheck, lint, and build pass.
- Very specific: line 62
Commit the change set as one scoped commit, then dispatch a fresh solo-reviewer (model: opus for high risk) that did not write the change: …
- Distinctive: line 75
Stop: when a review has no blocking finding (accept), or when the escalation limit below is reached.
- Distinctive: line 84
Verify after the last change: If anything changed after the review passed (even a rebase or a doc tweak), rerun the focused checks and …
- Distinctive: line 141
Never loop a worker on the same failing check without new evidence.
- Very specific: line 152
Stop conditions say when to return blocked or needs_parent.
- Distinctive: line 153
No credentials, tokens, cookies, or private payloads in the brief.
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Subagent Orchestration
The main agent (Opus 5.5) is the planner and orchestrator. It owns the goal,
the decomposition, every delegation brief, integration, final verification, and
release approval. Sub-agents get one bounded subtask each and return the
solo-empire.subagent-handoff.v1 contract in
skills/ai-agent-workflows/references/sub-agent-handoff.md.
When not to delegate
- One known file, symbol, or fact → read or search it directly.
- The next step depends on a result you can get in one or two tool calls.
- The work needs the full conversation context or a user decision.
- The work is a release, push, deploy, spend, or external message; only the main agent does those.
Workflow
- Frame the goal. Write the user outcome in one sentence, measurable success criteria, constraints (repository boundaries, approvals, secrets), and explicit non-goals. Stop and ask when the outcome is a user decision.
- Decompose. Build a
Goal → Task → Subtasktree with the plan template inreferences/delegation-brief.md. A task is one verifiable outcome; a subtask is one role, one scope, and one deliverable that fits a single sub-agent run. Record dependencies and mark which subtasks can run in parallel. Register the work before the first delegation through the supported Tasks MCP/API interface. The Tasks API inempire-platformis the live task source of truth; usecreate_taskwithreuse_open: trueso retries reuse the open task. Add subtasks (parent_task_id) only for separate worker deliverables. Use the returned task ID as the correlation ID in each brief and commit message (Task: #<id>). If the supported task MCP tool is unavailable in this session, record the known correlation ID in the bounded brief/handoff and report that registration could not be completed. Do not create a local SQLite/shadow task store or request credentials as a workaround. - Route. Pick the role and model per subtask with the routing table below. Keep subtasks the main agent will do itself in the same tree.
- Brief. Write one delegation brief per subtask with every field of the brief template. Haiku workers get exact paths, search patterns, line ranges, expected counts, and the output shape; never "look around".
- Dispatch. Send independent subtasks in one message so they run concurrently. Run dependent subtasks only after their inputs return.
- Integrate. Validate each handoff: contract fields present, evidence is
concrete (paths, lines, command output), tests distinguish passed from
skipped. Re-run the decisive verification yourself; never forward a
sub-agent claim as fact. Re-brief or escalate on
blocked/needs_parent. - Review loop. The main agent owns this loop; workers never drive it.
The review unit is one reviewable change set (one task's diff, its
acceptance criteria, and its test results), not every commit.
- Gate by risk. Low risk (rename, formatting, boilerplate): automated
checks only. Medium risk: one independent review when the task's
implementation is done. High risk (security, migration, payment, data
deletion, auth): independent review at each logical milestone and at the
end, plus
solo-security. - Run the review only after tests, typecheck, lint, and build pass.
Commit the change set as one scoped commit, then dispatch a fresh
solo-reviewer(model: opusfor high risk) that did not write the change: "Review commit<sha>(git show<sha>) against:<acceptance criteria>. Do not edit files. Report each finding with severity, file:line, evidence, and a suggested fix, or say no findings." - Triage every finding yourself against the evidence; the reviewer has no veto. Mark each one blocking (must fix before accepting), non-blocking (record it in the report, do not loop on it), or disputed (check the evidence before anyone acts on it).
- Send only blocking findings back to the worker that wrote the change, as a new brief with the finding, the evidence, and the check that must pass. The worker fixes the issue, adds a regression test, and reruns the checks. Then a fresh reviewer reviews the fix commit.
- Stop when a review has no blocking finding (accept), or when the escalation limit below is reached.
- Track review scope. Record the SHA each review covered. Accept only when the reviewed SHA set equals the commits being accepted; any commit after the last clean review needs its own review at the same risk tier.
- Track every blocking finding to one end state: fixed (fix commit plus passing check), disputed (evidence that it is not a defect), or escalated (to a stronger model or the user). Do not accept a change set while a blocking finding is still open.
- Verify after the last change. If anything changed after the review passed (even a rebase or a doc tweak), rerun the focused checks and confirm the diff stayed inside the reviewed scope before accepting.
- The reviewer reports and never fixes. Give it read-only tools; if it edits a file anyway, discard that edit and re-run the review.
- Gate by risk. Low risk (rename, formatting, boilerplate): automated
checks only. Medium risk: one independent review when the task's
implementation is done. High risk (security, migration, payment, data
deletion, auth): independent review at each logical milestone and at the
end, plus
- Report. Summarize the tree status, what changed, verification evidence,
review rounds with their reviewed SHAs and finding states, and residual
risks. Also record the workflow metrics: wall-clock task time, review
latency, review rounds, first-pass acceptance (yes/no), escalations, and
which models ran, plus the minutes spent on task bookkeeping. Append them
to the parent task with
update_taskappend_notesas one line:trial: tier=<low|medium|high> models=<...> shas=<...> total_min=<n> review_min=<n> rounds=<n> first_pass=<yes|no> escalations=<n> findings=<fixed/disputed/escalated counts> task_mgmt_min=<n>, then mark the task done. These feed the stack comparison; do not tune routing without them.
Routing table
| Subtask kind | Role | Model / effort |
| Locate files, map call paths, collect evidence | solo-explorer | Haiku, medium |
| Schema, contract, lineage, query audit | solo-data | Haiku, medium |
| Browser rendering and interaction checks | solo-ui-verifier | Haiku, medium |
| Bounded code or docs change | solo-implementer | Haiku, medium |
| Reproduce and root-cause a failure | solo-debugger | Sonnet, medium |
| Independent review of each medium- or high-risk change set (step 7) | solo-reviewer | Sonnet, medium; model: opus for high risk |
| Secrets, permissions, MCP, privacy audit | solo-security | inherit Opus |
Models and efforts come from claude_model and claude_effort in
.github/agents/roles.yaml; change them there and run task subagents:sync.
Outside the solo-empire hub, the solo plugin ships the same roles as
solo:solo-<role> (for example solo:solo-explorer); use those names there.
Override per call with the Agent model parameter when a subtask is harder or
easier than its role default.
Risk-based routing
| Task kind | Primary | Review gate |
| Rename, formatting, boilerplate | Haiku implementer | Focused tests and lint |
| CRUD, API, UI component in known patterns | Haiku implementer | Tests, typecheck, static analysis |
| Multi-file feature or large refactor | Implementer with model: sonnet | Independent review |
| Complex debugging | Sonnet debugger; escalate to Opus | Independent review |
| Architecture or cross-system design | Opus (main agent) | Independent review |
| Security, migration, payment, data deletion | Opus security plus implementer with model: sonnet or opus | Independent review and tests; release approval stays with the user |
The review gate column is the minimum. The risk tier in step 7 decides whether an independent review also runs: any row rated medium or high risk gets one. Automated checks (tests, lint, typecheck, CI) are always the first gate; the review never replaces them.
Escalation rule
- A Haiku worker gets at most two attempts at the same subtask. After the second
failed verification, re-dispatch with
model: sonnetand the failure evidence in the brief. - A Sonnet worker gets at most two attempts; then the main agent takes the subtask itself or asks the user.
- Never loop a worker on the same failing check without new evidence.
- The same limits apply to review rounds: two failed rounds with the same worker model mean escalate the model, not a third round.
Brief quality bar
- The brief stands alone: a worker with no conversation history can finish it.
- Scope lists files or directories in and out, plus what must not change.
- Acceptance criteria are checkable statements, not adjectives.
- Verification names exact commands and the expected result.
- Budget caps files read and tool calls so a worker stops instead of wandering.
- Stop conditions say when to return
blockedorneeds_parent. - No credentials, tokens, cookies, or private payloads in the brief.
Handoff
Return the goal tree with each subtask's status, the briefs that were sent, integrated evidence, verification commands and results, review rounds, open risks, and the single next safe action.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

