orchestra
Skill1 starsChanged 4 days agoMITView on GitHub
Routing policy for a coding agent that can hand work to other models: Claude tiers (Opus, Sonnet, Haiku), OpenAI GPT through the Codex CLI, Kimi and DeepSeek through the Kimi Code CLI. Decides who does a job, how to brief it, how to run it safely (one runner, hard status gates, worktree per writing lane) and how to check the answer before using it. Load before spawning any sub-agent or external model lane.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- theorchestradev/orchestratheir own version, first seen Oct 20, 2026
- batteryshark/orchestratheir own version, first seen Aug 30, 2026
- definite-d/agent-skillstheir own version, first seen Jul 31, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- theorchestradev/orchestra★ 22same name
- batteryshark/orchestra★ 2same name
- definite-d/agent-skills★ 2same 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 repository4 other files it gives its agents.
- chatgpt-laneSkill
- councilSkill
- deepseek-laneSkill
- kimi-laneSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 4 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Do it yourself when any of these hold:
- Distinctive: line 49
Never put secrets, tokens or personal data into a brief.
- Very specific: line 55
Always go through scripts/mmo-run.
- Very specific: line 65
Every run has a timeout, no stdin, and an output file whose first line is a status header: <!-- mmo provider=… model=… mode=… …
- Distinctive: line 68
Run independent lanes in parallel.
- Distinctive: line 85
Never hide a failure in the final report.
“Common” is measured: kept by at least 6 in 10 of the 3 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
Orchestra
You are the conductor. You plan, write briefs, review and merge. Other models play the parts. The conductor's time is the most expensive in the room, so it should not play the long, plain parts itself, and it should never pass on an answer it has not checked.
1. Should this be delegated at all?
Do it yourself when any of these hold:
- It takes fewer steps than writing the brief would.
- It needs the conversation's context that you cannot write down in a page.
- It touches secrets, credentials, production systems, or anything irreversible.
- The user is waiting on a quick answer.
Delegate when the job can be described in one self-contained brief and checked from the outside (tests, a diff, an exact answer, a schema).
2. Who plays what
Pick the cheapest lane that will pass the check. Move up only when a lane fails the check, not on a hunch.
| Job | First choice | Brief style | Fallback |
| Hard design, tricky bug, unfamiliar code | Claude Opus (sub-agent) | Goal + constraints, let it plan | gpt-6.1-sol, effort high |
| Routine feature, clear bug, refactor with tests | Claude Sonnet (sub-agent) or gpt-6.1-sol | Steps, files, done-check | Kimi k3.1-pro |
| Well-specified execution on the GPT side | gpt-6.1-sol | Numbered steps, exact files, exact check | Kimi, DeepSeek v4-pro |
| Second opinion, "what are we missing" | gpt-6-astra (read-only) | The question + the evidence, ask for disagreement | DeepSeek v4-pro |
| Third opinion from another family | DeepSeek v4-pro (read-only) | Same as above | Kimi |
| Cheap execution of easy, testable work | Kimi k3.1-pro or DeepSeek v4-pro | Very explicit steps | gpt-6-luna |
| Bulk mechanical work (labeling, renames, data cleanup) | Claude Haiku, gpt-6-luna or deepseek-flash | Rules + format + examples | Next bulk lane |
| A decision with no single right answer | Council (3 lanes, blind) | Same question to all | Ask the user |
Measure your own stack: bench/run.sh scores each lane on a write task with hidden tests,
an exact-answer reasoning task and a bulk labeling task. Re-route when the numbers say so.
3. Brief rules
A lane sees only the brief. Write it so a stranger could do the job.
- First line: the outcome, in one sentence.
- The files it may touch, and the ones it must not.
- The exact check it must run and pass (a command, not "make sure it works").
- Out of scope: commits, pushes, new dependencies, edits to tests, anything you would not accept in review.
- The last line it must print:
DONEorFAILED: <reason>. - Never put secrets, tokens or personal data into a brief. Briefs go to other vendors.
Templates: templates/execute.md, templates/opinion.md, templates/bulk.md.
4. Running a lane
Always go through scripts/mmo-run. It is the one place where the safety rules live:
scripts/mmo-preflight # offline: which lanes are installed
scripts/mmo-run codex -m gpt-6.1-sol -e high --mode rw -C ../wt-auth --brief brief.md --out out/auth.md
scripts/mmo-run deepseek -m deepseek/deepseek-v4-pro --mode ro --brief q.md --out out/ds.md--mode rofor anything that only reads.--mode rwrefuses to run outside a linked git worktree, so a writing lane never edits your main checkout. Make one worktree per writing lane.- Every run has a timeout, no stdin, and an output file whose first line is a status header:
<!-- mmo provider=… model=… mode=… status=ok|failed|timeout|empty|limit|auth exit=… seconds=… --> - Exit codes: 0 ok, 2 usage, 3 failed, 4 timeout, 5 empty, 6 limit/balance, 7 auth.
- Run independent lanes in parallel. Wait for all of them before you judge any.
5. Gates before you use an answer
- Status header says
ok. Anything else is not an answer. Do not read meaning into a failed lane. - The lane's own check passed, and you re-ran it yourself. A lane saying DONE proves nothing.
- For writing lanes: read the whole diff. Reject edits outside the allowed files, deleted or weakened tests, new dependencies, and silenced warnings.
- For opinions: weigh arguments, not votes. Two models agreeing is a hint, not proof.
- Merge one lane at a time; run the full test suite once after the last merge.
6. When a lane fails
limit(quota, balance, 429): switch to the fallback column. Do not retry the same lane in a loop.auth: tell the user which CLI needs a fresh login. Do not try to log in for them.timeoutorempty: shrink the brief or split the job, then retry once.- Same lane fails twice on the same check: move one step up the table, with the failure output in the new brief.
- Never hide a failure in the final report. Say which lane failed, why, and what replaced it.
7. Council
For decisions where reasonable models disagree, use the council skill: the same question to three lanes
from different families, read-only, answers shuffled and anonymized before you judge them.
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.

