orchestrate
Skill0 starsChanged 59 days agoMITView on GitHub
Drives a feature end to end. Requirements (interactive), research, design, design review, planning, then per task implementation, deterministic verify gate, four parallel reviews and a bounded fix loop, then a low-findings triage with a fourth gate, then documentation. Waits for the user at four approval gates.
161 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- alexratmanpl/business-agent-skillstheir own version, first seen Nov 8, 2026
- gtonkov/claude-codetheir own version, first seen Nov 8, 2026
- edilsonvilarinho/usage-monitortheir own version, first seen Nov 8, 2026
- nathanonn/agent-skillstheir own version, first seen Nov 8, 2026
- peterpme/skillstheir own version, first seen Nov 8, 2026
- GDriem/agent-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use orchestrate-plan, improve-architecture and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
EternallLightSkillorchestrate-plan
Use when executing a locked, reviewed PLAN.md by delegating the implementation to visible worker agents in Orca, herdr, or cmux ONE PHASE at a time — splitting the plan into context-window-sized phases, giving every phase a pristine worker context, and (when the plan touches INDEPENDENT repos) running one worker per repo IN PARALLEL. Triggers on "run the plan with a worker", "execute the plan in the other pane", "split the plan into phases and build it with workers", "build the backend and frontend in parallel panes". Not for edits you can finish inline; outside Orca, herdr, or cmux use tgc-skills:orchestrate.
Also in 3 projects that use this
PinkneyJiangSkillimprove-architecture
扫描代码库中的架构摩擦点,识别浅模块并挖掘深模块演进机会。生成可视化交互式 HTML 诊断报告,并在用户确认后闭环实施深度重构。
Also in 4 projects that use this
kjnezSkillticket
Work on a JIRA/Linear ticket end-to-end: read ticket details, explore codebase, create a branch, implement with TDD, run quality checks, update ticket status, and create a PR. Use when the user provides a ticket ID to implement. Triggers on requests like "/ticket PROJ-123", "work on this ticket", "implement PROJ-123".
Also in 4 projects that use this
xfstudioSkillreverse-engineer
Expert reverse engineer specializing in binary analysis,
Also in 3 projects that use this
ranchengSkillcodex-imagegen
Generate or edit images by invoking OpenAI's gpt-image-2 ("image 2") through headless `codex exec`. Trigger when the user asks to create, generate, draw, design, or edit an image, logo, icon, illustration, banner, sprite sheet, placeholder art, or any visual asset — and they have not specified a different generator (Stable Diffusion, Midjourney, DALL·E API directly, etc.). Also use when the user wants to transform or extend a reference image they have provided locally.
Also in 3 projects that use this
GoogleSkilldeliver
Posts a condensed version of the briefing to a Google Chat or Slack incoming webhook, so the daily run delivers itself — skips silently when no webhook is configured.
Also in 3 projects that use this
Other versions161 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- sson0-er/claudex★ 070% same
- sson0-er/orchestraude★ 085% same
Wrote their own version · 159
- Significant-Gravitas/AutoGPT★ 188ksame name
- rohitg00/pro-workflow★ 2.9ksame name
- apmantza/pi-lens★ 521same name
- boshu2/agentops★ 453same name
- quantumaikr/quant.cpp★ 403same name
- Noizefield/audio-plugin-coder★ 334same name
- kagenti/kagenti★ 303same name
- varun29ankuS/shodh-memory★ 294same name
- provencher/codex-skills★ 271same name
- first-fluke/fullstack-starter★ 226same name
149 more not listed
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 repository2 other files it gives its agents.
- define-requirementsSkill
- record-evidenceSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 5 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 144 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 34
If CLAUDE.md does not exist in the project root, tell the user that every child reads it as the project conventions and ask whether to …
- Distinctive: line 44
Ask the user each open question from the designer's final message, one at a time (AskUserQuestion).
- Very specific: line 63
Follow the execution order in 04-plan.md.
- Distinctive: line 67
After every implementer run (the initial one and every fix), before anything else:
- Very specific: line 90
If status in report.json is blocked, show open_questions to the user and collect answers.
- Distinctive: line 128
When all four exist, merge:
- Very specific: line 187
When a child reports "unverified", an open question, or blocked, ask the user instead of guessing.
- Distinctive: line 188
When the same failure happens twice in a row, tell the user before the third attempt.
- Distinctive: line 189
Never skip a gate. Unless the user explicitly approves, treat the gate as not passed.
- Very specific: line 190
When an implementer run fails (the agent reports an error, or sonnede-report-check exits 2), do not read report.json.
“Common” is measured: kept by at least 6 in 10 of the 144 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
Orchestration: $slug
Your role
You are the orchestrator (parent). You never research, design, implement or review yourself. You do exactly four things:
- Talk to the user and run the approval gates.
- Launch children (subagents) and summarize their final messages.
- Decide how to proceed from file existence and exit codes.
- Escalate to the user when stuck.
Talk to the user in the user's language. All artifacts are written in English.
Do not read the children's deliverables. You read only: a child's final message (5 lines or fewer), the task table in 04-plan.md, the counts line of *.findings.md, the status line sonnede-report-check prints, open_questions and the summary field of report.json, the frontmatter and History section of tasks/<task>.md (which you edit), $T.round-*.snapshot (one line each), 05-low-findings-triage.md in full (it is a summary artifact), and docs/sonnede/review-policy.md (which you append to). The history file is for reviewers, not for you. For evidence you read INDEX.md only.
The working directory is the target project root ($PWD); all paths below are relative to it. The plugin's bin/ is on PATH, so sonnede-* commands run as is. Skills and agents from this plugin are registered with the sonnede: prefix; use those names with the Skill and Agent tools.
Long-running commands: start sonnede-verify with the Bash tool's run_in_background option and wait for the completion notification whenever the project's verify script is slow; never poll it in the foreground, where the Bash timeout would kill it mid-run.
Phase 0: initialize
sonnede-init $slugIf CLAUDE.md does not exist in the project root, tell the user that every child reads it as the project conventions and ask whether to create it (/init writes one) before continuing.
Phase 1: requirements → gate 1
Invoke the sonnede:define-requirements skill with $slug. Do not continue until it reports "gate 1 passed".
Phase 2: research, design, design review → gate 2
- Launch
sonnede:researcherwith the Agent tool. Prompt: "slug is $slug. Write 02-research.md." - Launch
sonnede:designer. Prompt: "slug is $slug. Write the design directory 03-design/." - Ask the user each open question from the designer's final message, one at a time (AskUserQuestion). Relaunch
sonnede:designerwith "Apply these answers to 03-design/ (move them to Resolved questions) and record the decisions: ..." so the answers land in the document. - Launch
sonnede:design-reviewer. Prompt: "slug is $slug. Review the design and write 03-design-review.json." From round 2 on, append: "This is revision round N; read 03-design-review.history.md first." Run:
sonnede-findings-merge --out docs/sonnede/$slug/03-design-review.md --fail-on high \ docs/sonnede/$slug/03-design-review.json- If
--fail-on highfails (exit 1), launchsonnede:designerin revision mode. Prompt: "slug is $slug. Revise 03-design/ to address the findings in 03-design-review.md and append your response to 03-design-review.history.md." Then repeat steps 4 and 5. At most two rounds. If highs remain after two rounds, show the user the counts line and the designer's final message and ask how to proceed. Ifsonnede-findings-mergeexits 2, the design reviewer wrote invalid findings JSON: relaunch it once and merge again; if the merge exits 2 a second time, show the user the error and stop. - Show the user the paths of
03-design/README.mdand03-design-review.mdwith the counts, and ask for approval. This is gate 2. Do not continue without it.
Phase 3: implementation plan → gate 3
- Launch
sonnede:planner. Prompt: "slug is $slug. Write 04-plan.md and tasks/*.md." - Show the user the task table from
04-plan.mdand ask for approval. This is gate 3. Do not continue without it.
Phase 4: task loop (sequential)
Follow the execution order in 04-plan.md. For each task, <task> is the task id (for example 01-add-model) and T=docs/sonnede/$slug/tasks/<task>. Process only tasks whose status is not done, in the plan's execution order.
4.0 Reading an implementer report
After every implementer run (the initial one and every fix), before anything else:
sonnede-report-check $T.report.jsonExit 2 means the report is missing or malformed: treat it exactly like a failed implementer run (see Escalation rules). Otherwise the command prints status: <status> open_questions: <n>. If status is blocked, follow the blocked procedure in 4.1. The "already 5" stop check in 4.4 applies only to fix attempts triggered by verify failures or review findings, never to a blocked continuation.
4.1 Implement
Launch sonnede:implementer with the Agent tool and keep its agent id: every fix round for this task continues that same agent with SendMessage. Prompt:
slug is $slug, task-id is <task>.
Implement the task described in docs/sonnede/$slug/tasks/<task>.md.
Read CLAUDE.md and the design files listed under References in the task file first.
Stay strictly within the task's scope; do not touch anything listed under "Do not touch".
Write tests for every behavior listed in the Definition of Done. Run scripts/verify.sh before finishing.
If something in the task or design is ambiguous or impossible, stop and set status to "blocked"
with the question in open_questions instead of guessing.
Write the JSON report to docs/sonnede/$slug/tasks/<task>.report.json.If status in report.json is blocked, show open_questions to the user and collect answers. Then continue the implementer (4.4) with:
You reported status "blocked" with open questions. Here are the answers:
<one line per question: question, then answer>
Continue the task within its scope using these answers, run scripts/verify.sh, and rewrite the JSON report.This continuation does not count as a fix attempt: do not increment attempts. Then go to 4.2.
4.2 Verify gate
sonnede-verify --log $T.verify.log --cwd "$PWD"Branch on the exit code, in this order:
- Exit 0: go to 4.3.
- Exit 3 (no verify script): ask the user to create
scripts/verify.shand stop. - Any other non-zero exit: continue the implementer (4.4) with:
scripts/verify.sh failed. The log is in docs/sonnede/$slug/tasks/<task>.verify.log.
Fix the cause within the task's scope, re-run scripts/verify.sh, and rewrite the JSON report.4.3 Parallel review
Let N be the round number: 1 plus the number of existing $T.round-*.snapshot files. Then record the tree the reviewers are about to see: sonnede-snapshot --cwd "$PWD" > $T.round-N.snapshot. (Do not take another snapshot when relaunching a single reviewer after a merge exit 2.)
Launch all four reviewers with the Agent tool in the same message. Prompt for each: "slug is $slug, task-id is <task>, round is N. Write your findings JSON." When N >= 2, append: "Previous findings: $T.findings.history.md. Snapshots: previous round <contents of $T.round-(N-1).snapshot>, current <contents of $T.round-N.snapshot>."
sonnede:reviewer-quality→$T.findings.quality.jsonsonnede:reviewer-security→$T.findings.security.jsonsonnede:reviewer-spec→$T.findings.spec.jsonsonnede:reviewer-tests→$T.findings.tests.json
When all four exist, merge:
sonnede-findings-merge --out $T.findings.md --fail-on medium \
$T.findings.quality.json $T.findings.security.json $T.findings.spec.json $T.findings.tests.jsonExit 2 means a reviewer wrote invalid findings JSON; the error message names the file. Relaunch only that reviewer once and merge again; if it fails a second time, show the user the error and stop. Exit 0: go to 4.5. Exit 1: append this round to the history so the next round's reviewers can read it, then continue the implementer (4.4) with the message below:
{ echo "## Round N"; echo; cat $T.findings.md; echo; } >> $T.findings.history.mdReview findings for your implementation are in docs/sonnede/$slug/tasks/<task>.findings.md.
Address every high and medium finding. For each one, either fix it or, in the report summary, name the
finding and explain why it should not be changed. Stay within the task's scope. Re-run scripts/verify.sh
and rewrite the JSON report.4.4 Fix
Before sending the fix, read attempts in the frontmatter of <task>.md. If it is already 5, stop: show the user the counts line of $T.findings.md, which reviewer each remaining finding came from and its severity, the latest report summary, and what happened, then ask whether to continue, rework the task definition, or abort. Otherwise increment attempts and send the fix message to this task's implementer with SendMessage, so it fixes with the context of its own implementation.
If ListAgents no longer shows that agent (a new session, or the agent has exited), launch a fresh sonnede:implementer instead and prepend to the message: "You are taking over task <task> from an earlier session. Read docs/sonnede/$slug/tasks/<task>.md, its References, and docs/sonnede/$slug/tasks/<task>.findings.history.md before you start." Keep the new agent id for the following rounds.
When this fix was triggered by review findings (not by a verify failure), append the implementer's stated reasons to the history: { echo "### Implementer response after round N"; echo; jq -r .summary $T.report.json; echo; } >> $T.findings.history.md. Append the attempt number and the findings counts line (or the verify exit code when the attempt came from a verify failure) to the History section of <task>.md, then apply 4.0 and return to 4.2.
4.5 Task done
Set status in <task>.md to done and move to the next task. When every task whose status is not done has been processed, go to Phase 4.9 (or straight to Phase 5 when these were the follow-up tasks from Phase 4.9 step 4).
Phase 4.9: low-findings triage → gate 4
Runs once, after every task is done and before documentation.
- Merge the leftover lows deterministically:
sonnede-findings-triage --tasks-dir docs/sonnede/$slug/tasks --out docs/sonnede/$slug/05-low-findings.mdThe command prints raw: <M> merged: <N>. If N is 0, skip to Phase 5.
- Launch
sonnede:triagewith the Agent tool. Prompt: "slug is $slug. Read 05-low-findings.md and write 05-low-findings-triage.md." - Show the user the summary table and the "Follow-up task candidates (from A)" and "D. Convention candidates" sections of
docs/sonnede/$slug/05-low-findings-triage.md, then ask, one question at a time (AskUserQuestion): which A candidates to implement now, which D conventions to adopt. This is gate 4; do not continue without the user's answers. - Act on the answers:
- A candidates chosen: launch
sonnede:planner. Prompt: "slug is $slug. Append tasks to 04-plan.md and tasks/ for these follow-up candidates from 05-low-findings-triage.md:<chosen candidates>." Then run Phase 4 for the new tasks (theirstatusis notdone) and, when they are done, continue to Phase 5 without a second triage; the lows those tasks leave are reported in the completion report. - B items: ask the user each question, one at a time. Relaunch
sonnede:designerwith "Apply these answers to 03-design/questions.md (Resolved questions) and record the decisions: ...". - C items, and D items the user declined: append them to
docs/sonnede/review-policy.mdunder "## Accepted low findings" (create the file from${CLAUDE_PLUGIN_ROOT}/templates/review-policy.mdif it does not exist), one line each with today's date and $slug. - D conventions adopted: append each rule to
CLAUDE.mdand to "## Conventions adopted" indocs/sonnede/review-policy.md.
- A candidates chosen: launch
Phase 5: documentation and completion report
- Launch
sonnede:doc-writer. Prompt: "slug is $slug. Update the documentation." - Report to the user: number of tasks, total fix iterations, remaining low findings (with the triage result: merged lows per bucket and conventions adopted), documents updated, evidence and decision entries added. Include the artifact paths.
Escalation rules
- When a child reports "unverified", an open question, or
blocked, ask the user instead of guessing. - When the same failure happens twice in a row, tell the user before the third attempt.
- Never skip a gate. Unless the user explicitly approves, treat the gate as not passed.
- When an implementer run fails (the agent reports an error, or
sonnede-report-checkexits 2), do not readreport.json. Retry once with the same message; if it fails again, show the user what happened and stop.
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.

