orchestrate
Skill4 starsChanged 47 days agoMITView on GitHub
Use when the user asks to sequence, plan or dispatch SEVERAL tasks at once — from backlog ids, from an epic/keyword, or from a free-form description of work. Decides what runs in parallel in the kitchen (tmux sessions), what stays in the inline queue with the human, what becomes a single PR, and writes a durable manifest so the batch survives the session. Also for backlog triage ("what order", "can these run together", "split this feature into parallel tasks") and for resuming an interrupted batch (--resume).
161 other projects use a version of this.
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 define-requirements, orchestrate-plan and 9 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.
sson0-erSkilldefine-requirements
Work with the user, one question at a time, to complete the requirements document (docs/claudex/<slug>/01-requirements.md). Run by the orchestrator (parent). Stays out of design and implementation.
Also in 3 projects that use this
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
sson0-erSkillrecord-evidence
How to record external facts (docs, command output, codebase findings) as evidence and design choices as decisions. Used by the researcher, designer and reviewer agents.
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
Other versions161 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 161
- 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
151 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 repository16 other files it gives its agents.
- dotaskSkill
- executeSkill
- harvestSkill
- planSkill
- qaSkill
- resumeSkill
- saveSkill
- seguranca-agentesSkill
- seguranca-apiSkill
- seguranca-bots-webhooksSkill
- seguranca-dados-lgpdSkill
- seguranca-dependenciasSkill
- seguranca-infraSkill
- seguranca-segredosSkill
- seguranca-web-frontSkill
- syncSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 3 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 144 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Use it when there are 3+ candidates, or when a feature must be split.
- Very specific: line 49
Only after confirmation, create the orders in the project's format (use plan) and continue.
- Very specific: line 108
Write the manifest (CORE §7) with everything at ⏸ queued.
- Distinctive: line 117
If the batch has >1 inline unit, say the order and why.
- Distinctive: line 121
Ask: "fire these N now, or hold?": Do not stop at the manifest — stopping there is the friction this system exists to remove.
- Very specific: line 133
No
max_parallelin the adapter: run every launch.sh before the inline queue. - Very specific: line 134
With
max_parallel: write the queue <worktrees>/.kitchen-queue.tsv and start only the dispatcher (CORE §2) — it doses, reaps hibernated … - Very specific: line 136
Update the manifest: 🔄 running, and dispatched: YYYY-MM-DD HH:MM in its front matter.
- Very specific: line 155
When no unit is left at 🔄 or ⏸ — by the reconciled manifest (rows written by the kitchens themselves, crossed with <gh> pr list.
- Very specific: line 160
If the adapter has status_push: run it once per epic touched (not once per order).
- Distinctive: line 168
Create anything in the backlog without explicit confirmation (Step 1).
“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
/orchestrate — backlog → manifest → dispatched batch
/orchestrate <id> [id2 …] sequence existing orders
/orchestrate <epic | keyword> sequence the open orders of the epic
/orchestrate "<description>" propose orders → CONFIRM → sequence
/orchestrate --resume reconcile and continue the last batchRead CORE.md (same folder) before any step. Companion of execute (runs one unit)
and harvest (sweeps what was merged).
Use it when there are 3+ candidates, or when a feature must be split. For a single
unit, go straight to execute (or dotask).
Step 0 — Adapter and pre-flight
- Load the adapter (CORE §1). No adapter → bootstrap (CORE §9) and stop for confirmation.
- Pre-flight —
python3 <this folder>/scripts/doctor.py <repo>covers the machine (claude/tmux on PATH, adapter,origin/<base>, worktrees dir,gh auth,.kitchen/excluded, live sessions, disk). Exit 1 = do not dispatch. Then, and stop at the first failure:git status --porcelainon the main checkout → dirty = stop. List what is there and ask: commit, stash, or continue knowing the inline queue works in that same checkout. Do not decide alone: it may be days of offline work.- local
base==origin/base? Diverged → show the difference and ask.
--resume: read the last manifest, reconcile against real git (CORE §7) and continue where it stopped. Do not reprocess a unit already at✅ PR.
Step 1 — Gather candidates
Ids or epic/keyword → read the orders from the backlog. Drop what is not open and report what was dropped, with its status; never omit silently.
Free-form description → the work is not in the backlog yet:
- Split it into the smallest sensible deliverables. For each: short title, probable layer, estimated size, one-line scope.
- Show the whole table and STOP — the human confirms, edits or cuts. This is the only mandatory human gate of this skill.
- Only after confirmation, create the orders in the project's format (use
plan) and continue.
Step 2 — Read each candidate
Extract: size, epic, priority, declared dependencies, files cited in technical notes, and
whether it touches a visual surface or the scarce_resource.
Treat a file cited in an order as a hint, not a fact. Confirm it against the disk before using it in a decision — an order describes the intent of the day it was written.
Step 3 — Preliminary blast radius
For each candidate, sketch the blast radius (CORE §4) — enough to detect collisions. A code-graph query if you have one, plus reading the entry point.
It is not the final blast radius (that is born in the plan, inside execute); it is the
input of Step 5.
Step 4 — Route each unit
Apply CORE §2. Tag each unit:
[kitchen]— no visual surface[kitchen: stop before commit]— visual, without needing the scarce resource[inline]— needs the scarce resource
Step 5 — Group and order
- bundle: same epic + one deliverable → one worktree/branch/PR, carrier = first id.
- collision: blast radii that intersect → not in the same batch. Order them: the one that unblocks goes first.
- stack: real dependency → a note in the manifest, no branch machinery (CORE §8).
A unit is in at most one bundle.
Step 6 — Estimate
From order size to time-to-open-PR (agent working, not counting human review). Default t-shirt scale (override in the adapter if your project uses another):
| size | ≈ |
| XS | ~15 min |
| S | 15–30 min |
| M | 30–60 min |
| L | 1–2 h |
| XL | 2–4 h |
A bundle ≈ its largest member, not the sum. Report two numbers:
- parallel = max(kitchen batch) + sum of the inline queue (it is serial);
- sequential = sum of everything.
And say what limits the parallelism. Do not refine further — the estimate's only job is to tell which unit to sit with.
Step 7 — Write the manifest BEFORE dispatching
Write the manifest (CORE §7) with everything at ⏸ queued. Before firing any kitchen
session — a manifest written after dispatch protects nothing.
Step 8 — Present the batch
One line per unit: id · size · route · ~time · why. Bundles grouped under the carrier.
Then: the two totals, what limits them, and the two-tempo plan in one sentence ("I fire the
N kitchen units and start the inline queue with you on <id>").
If the batch has >1 inline unit, say the order and why.
Step 9 — Ask, then actually dispatch
Ask: "fire these N now, or hold?" Do not stop at the manifest — stopping there is the friction this system exists to remove.
On yes:
- Kitchen batch — one tmux session per unit (CORE §2): create worktree and branch
with the canonical command of
executeStep 2 (git worktree add <worktrees>/<ID> -b <branch> <base>+ the adapter'sprepare_worktree), write<worktree>/.kitchen/prompt.md(id, route, exact branch, paths of the adapter, of CORE and of the manifest, preliminary blast radius, and the instruction to followexecutethrough the kitchen entry point) and.kitchen/launch.shwith the canonical dispatch command. Nomax_parallelin the adapter: run everylaunch.shbefore the inline queue. Withmax_parallel: write the queue<worktrees>/.kitchen-queue.tsvand start only the dispatcher (CORE §2) — it doses, reaps hibernated sessions and exits by itself. - Update the manifest:
🔄 running, anddispatched: YYYY-MM-DD HH:MMin its front matter. - Check the boot ~30 s later:
tmux capture-pane -p -t '=kitchen-<ID>:'. Accept the bypass/trust dialogs if they are showing (CORE §2). - Immediately, without waiting for the batch: start the first unit of the inline
queue with the human, in the main checkout, following
execute. That is the second tempo. - A dispatched session does not report back here — the fine state signal is the
manifest (each kitchen writes its own row at every transition:
🔄→⏳/✅/🚫), crossed with<gh> pr list.tmux lsonly tells alive/dead: a live session does not mean working. To watch without spending tokens, runscripts/watch.pyin the background (seedotask). Tell the human how to follow:tmux attach -t '=kitchen-<ID>'(detach:Ctrl-b d). A unit in[stop before commit]pauses in its own tmux session with the diff ready — the human attaches, reviews and approves (or asks for changes) in that kitchen's conversation.
On "hold": leave the manifest and the line to resume (/orchestrate --resume).
Step 10 — Close the batch
When no unit is left at 🔄 or ⏸ — by the reconciled manifest (rows written by the
kitchens themselves, crossed with <gh> pr list; CORE §7). tmux ls here only flags
anomalies: a dead process with a row still at 🔄 and no .kitchen/done = investigate
before closing.
- If the adapter has
status_push: run it once per epic touched (not once per order). - Report: what opened a PR, what waits on a human, what aborted and why.
- End with the reminder: run
/harvestafter merging — it is not automatic, by design (polling costs an agent round per trigger; merges happen a few times a day).
This skill does NOT
- Merge, close orders, or remove worktrees — that is
harvest, and a human call. - Create anything in the backlog without explicit confirmation (Step 1).
- Dispatch silently: Step 9 waits for a yes.
- Brainstorm or write plans — that is per unit, inside
execute. This is backlog sequencing, one level above.
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.

