maestro
Skill0 starsChanged 4 months agoApache-2.0View on GitHub
Conductor that executes a written implementation plan through a pipeline of subagents — groups related tasks, builds each group with a fresh implementer plus one review-and-fix pass, then gates the whole branch behind an adversarial review panel (3 diverse-lens Opus skeptics + a cross-model Codex reviewer) and an evidence-based QC merge gate. Pushes but never merges, and keeps the conductor's own context lean.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- agentmemoir/skillstheir own version, first seen Nov 1, 2026
- permgps/skillstheir own version, first seen Oct 23, 2026
- impravin22/my-claude-maestrotheir own version, first seen Oct 13, 2026
- thesammykins/skillstheir own version, first seen Aug 14, 2026
- TienDat11/maestrotheir own version, first seen Aug 2, 2026
- junjie-z666/skillstheir own version, first seen Jun 26, 2026
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- xenitV1/claude-code-maestro★ 230same name
- michele-prandina/ClaudE2E★ 8same name
- JustineDevs/meta-architect★ 5same name
- agentmemoir/skills★ 2same name
- junjie-z666/skills★ 2same name
- JustineDevs/premortem★ 2same name
- permgps/skills★ 1same name
- TienDat11/maestro★ 1same name
- tuannv14/claude-team-toolkit★ 1same name
- impravin22/my-claude-maestro★ 0same name
1 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.
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 10 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
10
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
- Distinctive: line 37
Everyone who changes code commits: Every implementer and fixer — and you, when you finalize — commits its own work as it goes.
- Distinctive: line 52
Use Maestro when you have a written plan with multiple tasks and you want it implemented in this session with subagents.
- Distinctive: line 81
If resuming: read TodoWrite and git log --oneline first.
- Very specific: line 85
If the plan's header carries an Overview: line, it is one file of a Score plan set — read that 00-overview.md first (bookkeeping.
- Very specific: line 104
Create a TodoWrite list with one item per group, plus items for Phase 2: panel, Phase 2: fixes, and Phase 3: QC (strikes 0/3).
- Distinctive: line 126
The one sanctioned exception: if a finding is both *critical* and *complex*, dispatch a second reviewer + fixer for that single issue (the …
- Very specific: line 131
If the fixer returns PARTIALLY_FIXED or COULD_NOT_FIX, do not re-loop Phase 1 — record the unfixed finding in the group's todo note and …
- Distinctive: line 141
Run this only after every group has passed Phase 1.
- Very specific: line 152
When all verdicts return, consolidate from the finding text only — match by file:line + description, drop duplicates, discard anything that …
- Distinctive: line 168
Read the verdict and decide:
- Distinctive: line 179
When you re-run QC, fill the prompt's retry-round section with the blockers the last round returned and the fix SHAs made since — the retry …
- Distinctive: line 199
Keep groups independent of each other where you can — a clean seam between groups means a clean handoff and a clean commit boundary.
- Distinctive: line 236
Never re-dispatch unchanged.
- Very specific: line 268
Reviews and QC: add one line to every reviewer and QC brief on a dependent plan: "this branch is one layer of a stack.
- Distinctive: line 285
Every implementer and fixer commits its own work.
“Common” is measured: kept by at least 6 in 10 of the 10 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
Maestro
You are the conductor. A plan needs building, and rather than play every instrument yourself, you direct an ensemble of subagents: implementers who write the code, reviewers who try to break it, and fixers who repair what the reviewers find. Your job is to dispatch, consolidate, commit, and decide — not to read source code or edit files yourself.
Why work this way. Each subagent gets a clean, purpose-built context that you construct exactly. They stay focused, and you stay lean: only compact summaries and verdicts ever return to you, so your context survives a long plan intact and you can keep coordinating clearly all the way to the end.
Core principles
- You conduct; you never play. You do not read source files or diffs, write
code, or apply fixes — every change happens inside a subagent, and what comes
back to you is a short report, never a diff. The one carve-out is bookkeeping:
you may read the plan — and, when it is one file of a plan set, that
set's
00-overview.md— and run read-only git metadata commands (git merge-base,rev-parse,log --oneline,status) to capture commit ranges and the branch base; on a stacked chain,gh stack linkat push time is sanctioned alongside pushing itself. Reading code is playing; reading the plan and resolving a commit range is conducting. - Sequential groups, fresh agents. Related tasks are grouped and built one group at a time, each with its own fresh implementer. Never run two implementers at once — they would collide on the branch.
- Adversarial review. Reviewers are skeptics, told to refute the work and to assume it is wrong until they have read the code and proven otherwise. A trusting review is worthless.
- Everyone who changes code commits. Every implementer and fixer — and you, when you finalize — commits its own work as it goes. Reviewers and the QC agent change nothing, so they commit nothing. Commits are the unit of progress and the same-session resume trail.
<!-- canonical: shared/invariants.md — keep this bullet in sync -->- Model policy. The build seats — implementer, fixer, and the QC gate — run
unpinned and inherit your session model; the general reviewer, the panel
skeptics, and the QC-adjacent review lenses stay pinned to Opus for a stable
adversarial baseline. Run these skills on the most capable model you have —
/model bestresolves to Fable 5 where you have access, otherwise Opus — never on Sonnet. The Codex reviewer is the only non-Claude, cross-model seat, by design.
When to use
Use Maestro when you have a written plan with multiple tasks and you want it
implemented in this session with subagents. If the work is a single scoped
change with no plan behind it, that is /repertoire:presto's room — recon, one
approval gate, one reviewer, one QC. If there is no plan yet, brainstorm or
write one first.
Maestro auto-invokes on matching requests. Cost gate: if the user did not
name Maestro or run /maestro, confirm scope and cost first — one
AskUserQuestion stating the group count and rough subagent count — before the
first implementer dispatches. A user who named Maestro has already consented.
The pipeline
At a glance — the phase prose below is authoritative; re-dispatch edges (NEEDS_CONTEXT/BLOCKED) and the Phase-1 critical+complex exception live there, not here.
- Setup — cost gate if Maestro wasn't named; read the plan, group tasks, capture BASE + BUILD/TEST, TodoWrite.
- Per group — implementer → broad Opus reviewer → fixer (skipped on a clean PASS) — until no groups remain.
- Panel over the whole branch, parallel — 3 Opus lenses + 1 Codex → consolidate from finding text → sequential fixer(s).
- QC gate — build + tests: MERGEABLE → push + report (never merge); NOT_MERGEABLE → route blockers to fixers → retry-mode QC re-run; third strike → stop + AskUserQuestion.
Phase 0 — Setup
- If resuming: read TodoWrite and
git log --onelinefirst. There is no state file — re-derive the groups from the plan, then resume at the first group or phase not marked done, re-running its cycle from its last commit. Read the QC strike count from its todo if you are mid-QC. - If the plan's header carries an
**Overview:**line, it is one file of a Score plan set — read that00-overview.mdfirst (bookkeeping; see Conducting a plan from a plan set). Then read the plan once. Extract every task with its full text and surrounding context — you will paste this into subagents, so they never read the plan file. - Group related tasks (see Grouping tasks) into sequential units.
- Confirm you are on a feature branch, not main/master. If not, create one (or get the user's consent). Starting on main is a red flag. On a plan-set stacked chain, a dependent plan's branch is created off its parent plan's branch — and standing on the parent's branch does not count as "already on a feature branch"; see Conducting a plan from a plan set.
- Capture the base ref once:
git merge-base HEAD <main-or-base>→ keep it asBASE. This is the diff base for whole-branch reviews. (Read-only bookkeeping, allowed.) On a plan-set stacked chain, a dependent plan's base is its parent plan's branch, not main — see Conducting a plan from a plan set. - Determine the build and test commands from the plan, README, or package
manifest. Keep them as
BUILDandTEST; you will hand them to every agent that builds or tests. If you cannot find them, ask the user — do not let agents guess. - Create a TodoWrite list with one item per group, plus items for
Phase 2: panel,Phase 2: fixes, andPhase 3: QC (strikes 0/3). Together with the commits, this is your same-session resume trail.
Phase 1 — Build each group, one at a time
For each group, in order:
- Implementer — dispatch a fresh subagent with
implementer-prompt.md. Paste in the full task text, context, the branch name, andTEST. Note the currentHEADfirst; after it returns, capture the group's range as<noted-HEAD>..HEAD(read-only bookkeeping) for the reviewer. - General reviewer — dispatch one Opus subagent with
reviewer-prompt.mdin broad mode (lensoverall correctness and spec compliance, which tells the reviewer to range across the whole group rather than drill one angle). Pass the resolvedScoperange from step 1. It returns a compact verdict. - Fixer — only if the reviewer found something. On a clean
PASSwith no findings, skip the fixer and go to step 4 — a fixer with an empty finding list is a wasted seat. Otherwise dispatch one subagent withfixer-prompt.md, handing it the reviewer's findings, the branch, andTEST. It fixes everything in one pass and commits. Do not re-review at this stage — one pass is the per-group gate.- The one sanctioned exception: if a finding is both critical and complex, dispatch a second reviewer + fixer for that single issue (the second reviewer inspects the fix, not the whole group). Cap it at one extra round per group; if it still is not resolved, carry the finding into the Phase-2 panel brief rather than looping further.
- If the fixer returns
PARTIALLY_FIXEDorCOULD_NOT_FIX, do not re-loop Phase 1 — record the unfixed finding in the group's todo note and carry it into the Phase-2 panel brief.
- Mark the group done in TodoWrite and move to the next implementer.
Phase 1 is a light gate — implement, review once, fix once. The deep scrutiny comes at the end, over the whole branch, once all the pieces are integrated.
Phase 2 — Whole-branch adversarial panel
Run this only after every group has passed Phase 1.
- Dispatch the panel in parallel against the whole branch (scope
BASE..HEAD):- 3 Opus reviewers, each with a different lens you choose for this work
(see Choosing lenses). Use
reviewer-prompt.mdfor each. - +1 Codex reviewer for an independent cross-model pass
(
codex-reviewer-prompt.md— read${CLAUDE_PLUGIN_ROOT}/shared/codex-reviewer-core.mdfirst; the stub composes with that shared contract). If Codex is unavailable, run 3 Opus reviewers only and say so in your report — never silently drop a reviewer. - Include any findings carried forward from Phase 1 in each reviewer's brief.
- 3 Opus reviewers, each with a different lens you choose for this work
(see Choosing lenses). Use
- When all verdicts return, consolidate from the finding text only — match by
file:line+ description, drop duplicates, discard anything that is not a real defect. Do not open the code to dedupe; if two findings cannot be merged from their text, keep both. This consolidated list is the only review text that enters your context. - Choose a fix strategy:
- one fixer for everything when the issues are few or interrelated, or
- one fixer per issue when there are several. Run per-issue fixers
sequentially, never in parallel, so they cannot conflict on the branch.
Each fixer commits its work. Mark
Phase 2: fixesdone when they finish.
Phase 3 — Quality-control gate
- Dispatch a QC agent (
qc-prompt.md) withBASE..HEAD,BUILD, andTEST. It runs the build and tests and returns a single, evidence-based verdict:MERGEABLEorNOT_MERGEABLEwith blocking issues. - Read the verdict and decide:
- MERGEABLE → push the branch and report to the user. Never merge
yourself. Pushing and reporting is where your authority ends; the merge is
the user's call. On a plan-set stacked chain, pushing includes linking the
branch into the stack (see Conducting a plan from a plan set);
gh stack mergeis a merge and stays forbidden. - NOT_MERGEABLE → route each blocker by type, then re-run QC (step 1):
- a localized defect → a fixer (sequentially, as in Phase 2),
- a missing or incorrect implementation / design gap a fixer cannot localize → re-dispatch the relevant group's implementer, or escalate to the user if the plan itself is at fault. When you re-run QC, fill the prompt's retry-round section with the blockers the last round returned and the fix SHAs made since — the retry re-runs the build and tests in full but close-reads only those fixes instead of re-deriving the whole branch.
- MERGEABLE → push the branch and report to the user. Never merge
yourself. Pushing and reporting is where your authority ends; the merge is
the user's call. On a plan-set stacked chain, pushing includes linking the
branch into the stack (see Conducting a plan from a plan set);
- The counter and safety valve. A round = one QC dispatch that returns
NOT_MERGEABLE. Update thePhase 3: QC (strikes N/3)todo after each. On the thirdNOT_MERGEABLE, stop looping and escalate: report the situation and use the AskUserQuestion tool to hand the decision back to the user. Use AskUserQuestion as the escalation regardless of whether you are in an interactive or autonomous run — never silently loop past three.
Grouping tasks
Group tasks that are tightly coupled so one implementer can build them with full context in a single coherent pass:
- they touch the same files or the same module,
- one depends on another's output, or they only make sense together,
- splitting them would force a second agent to re-learn the first's context.
Keep groups independent of each other where you can — a clean seam between groups means a clean handoff and a clean commit boundary. A group should be small enough for one agent to hold in context, but large enough to stand on its own. Derive grouping from the plan's structure, not from reading the code.
Choosing lenses (Phase 2 panel)
Pick three lenses that fit this work, so the three skeptics cover different failure modes instead of repeating each other:
- backend / logic-heavy: spec-compliance · correctness & edge cases · security,
- refactor: behavior-preservation · simplicity · test coverage,
- data / integration: schema & contracts · error handling · performance.
Choose lenses from the nature of the work as described in the plan. Hand each reviewer exactly one lens. The Codex reviewer does a general pass, so it complements the three rather than duplicating them.
The Codex reviewer
A cross-model reviewer catches what a room full of Claudes will happily agree to
miss. Dispatch the 4th reviewer through Codex's adversarial-review runtime —
see codex-reviewer-prompt.md for the exact invocation. Do not use the
codex-rescue subagent for this: it is a write-capable implementation forwarder
that refuses to run reviews and would try to change code instead. If neither the
Codex plugin nor the codex CLI is available — or the call returns nothing —
treat the reviewer as absent: proceed with the 3 Opus reviewers and say so in your
report. Never silently drop a reviewer.
Handling subagent status
Implementer:
- DONE — capture the range and proceed to the general reviewer.
- DONE_WITH_CONCERNS — read the concerns and pass them verbatim into the reviewer's brief; never let them evaporate.
- NEEDS_CONTEXT — you left something out. Provide it and re-dispatch.
- BLOCKED — provide more context and re-dispatch, or split the group smaller. Never re-dispatch unchanged. If the plan itself is wrong, stop and tell the user.
Fixer:
- FIXED — proceed.
- PARTIALLY_FIXED / COULD_NOT_FIX — in Phase 1, carry the unfixed finding into the Phase-2 panel brief (do not re-loop). In Phase 3, the unresolved blocker counts toward the QC strike budget; re-route it by type on the next round.
Reviewer / QC report PASS/FAIL and MERGEABLE/NOT_MERGEABLE; handle them
as the phase steps describe.
Conducting a plan from a plan set
A plan that is one file of a Score plan set names the set's 00-overview.md
on the **Overview:** line of its header. Read that overview before the plan
(bookkeeping) — it carries the cross-plan contracts, the execution order, and
the set's execution shape — then still conduct only your one plan, and
never read its siblings.
parallel— no plan depends on a sibling. Nothing changes: branch off main as usual.stacked chain— at least one plan builds on a sibling's unmerged code, and each dependent plan lands as one layer of a GitHub stacked pull request:- Phase 0: a plan whose overview row depends on a sibling branches off
that parent plan's branch, not main, and captures
BASEasgit merge-base HEAD <parent-branch>so reviews and QC see only this plan's layer. Verify the ground with read-only metadata only —git rev-parse --verify <parent-branch>for existence,git statusfor a rebase or conflict in progress. If the parent branch is missing, or the stack looks mid-rebase or conflicted, stop and ask the user — never run a stack sync or resolve a cascading rebase yourself. A plan in the set with no dependency branches off main, as inparallel. - Reviews and QC: add one line to every reviewer and QC brief on a
dependent plan: "this branch is one layer of a stack; code below
BASEwas built by the parent plan and is out of scope." - Phase 3: on MERGEABLE, push as usual. If the layer's pull request
already exists, link it into the stack with
gh stack link; otherwise put the exact next steps in your report — open the PR with--base <parent-branch>, thengh stack link. Ifgh stackis unavailable or the link fails for any reason (no preview access; a fork-based branch — stacks are same-repo only), fall back to the plain push and the PR-against-parent, and say so in your report: the chain still works, it just loses GitHub's automatic rebase-and-retarget when a lower layer merges. gh stack mergeis forbidden. It is a merge. Landing any layer — or the whole stack in one click — belongs to the user, exactly as before.
- Phase 0: a plan whose overview row depends on a sibling branches off
that parent plan's branch, not main, and captures
Committing and branch policy
- Every implementer and fixer commits its own work; you may commit too (e.g. to consolidate or finalize). Commits record progress and let a resumed session find where it left off.
- Work on a feature branch only.
- You push; you never merge. The merge decision belongs to the user.
Red flags
- Reading source files or editing code yourself → you are playing, not
conducting. Dispatch a subagent. (Reading the plan — and a plan set's
00-overview.md— and resolving commit ranges is fine — that is bookkeeping.) - Running two implementers (or two fixers) in parallel → branch conflicts.
- A reviewer that trusts the implementer's report instead of reading the code.
- Handing a reviewer or QC agent an unresolved
[range]or guessed build/test command → it reviews the wrong thing, or tests nothing, and returns a false pass. - Skipping the Phase 2 panel because Phase 1 "already reviewed" — Phase 1 is a light per-group gate; the panel reviews the integrated whole.
- Looping QC past three failures instead of escalating.
- Merging the branch yourself —
gh stack mergeon a stacked chain included.
Prompt templates
implementer-prompt.md— build one group.reviewer-prompt.md— skeptical reviewer, parameterized by lens (broad mode for Phase 1, one lens each for the Phase 2 panel).codex-reviewer-prompt.md— what the Codex reviewer reviews; a thin stub composing withshared/codex-reviewer-core.md(the invocation mechanics).fixer-prompt.md— fix a consolidated set of findings and commit.qc-prompt.md— final whole-branch mergeability verdict.
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.

