orchestrate-review
Skill4 starsChanged 6 months agoMITView on GitHub
Orchestrate a multi-perspective post-implementation review loop using a raw reviewer running the project /review skill and a CodeRabbit MCP reviewer in parallel. Implementer synthesizes findings into per-iteration commits. Use after /orchestrate-implement-plan finishes and before opening a PR. Use when the user says "orchestrate review", "agent review loop", or wants worker-assisted multi-perspective review.
- Commits and pushes
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 10 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
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
- could be automatic: a setting could enforce it
- Very specific: line 23
Read your repository's agent-orchestrator setup docs (MCP server config, profiles manifest, package diagnostics) before starting.
- Very specific: line 35
If any required profile is missing or invalid, stop and ask the user to configure it.
- Very specific: line 57
Avoid --unpushed — it's only supported by the local CLI wrapper, not the raw CodeRabbit CLI used by the MCP launcher.
- Distinctive: line 70
Avoid these reviewer-prompt failure modes:
- Distinctive: line 72
Plan-compliance-only framing: do not ask only whether the latest commit satisfies the implementer's report.
- Very specific: line 75
Dimension lists: do not recreate the review rubric in the prompt.
- Distinctive: line 77
Hint laundering: do not summarize implementer claims as facts.
- Distinctive: line 79
Positive framing: do not state intended fixes as something to confirm.
- Distinctive: line 83
If the supervisor notices a genuinely task-specific concern that is not already in the diff, prior findings, upstream worker output, or …
- Distinctive: line 129
Both reports arrive: Do NOT merge them. Pass both verbatim to the implementer in step 4.
- Distinctive: line 164
Impasse handling: If the same finding survives 2 fix attempts, escalate to the dissenting reviewer with a "make-a-final-call" prompt:
- Distinctive: line 168
Ask the reviewer to choose ONE of: (a) fix this exact way (provide specific code or pseudocode), (b) accept as decline with rationale, or …
- Distinctive: line 206
No pushing, no PR opening, no GitHub thread interaction in this skill.
- Very specific: line 213
Verify CodeRabbit auth at start: if there is any doubt, run auth status --agent through the MCP execute tool first and fail fast if not …
- Distinctive: line 244
Do NOT escalate routine reviewer findings, false positives the implementer declines with rationale, or ordinary fix-versus-decline judgment …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Orchestrate Review
Coordinate a thorough quality gate over recent local commits using two complementary reviewers running in parallel as fresh worker runs:
- A raw reviewer that runs the project's
/review(or/review-pr) skill against the diff, using the validatedcode-reviewprofile. - A CodeRabbit reviewer that invokes the
coderabbitMCP server'sexecutetool with thereview ...command, using the validatedcoderabbit-reviewerprofile.
Each reviewer reports independently. The supervisor does NOT pre-merge findings — the implementer is responsible for synthesizing the two reports into one coherent fix that satisfies both perspectives. Each fix iteration produces a new local commit. Nothing is pushed and no GitHub interaction happens in this skill — that is the user's call after the review loop ends.
Read your repository's agent-orchestrator setup docs (MCP server config,
profiles manifest, package diagnostics) before starting. Read
.coderabbit.yaml (when present) for the project's CodeRabbit
configuration and .mcp.json for the canonical CodeRabbit MCP wiring.
Profile Selection
- Raw reviewer: validated
code-reviewprofile. - CodeRabbit reviewer: validated
coderabbit-reviewerprofile. - Implementer: validated
implementationprofile. - Provider/model/effort/service-tier settings are owned by the user via the profiles manifest, not hard-coded here.
- If any required profile is missing or invalid, stop and ask the user to
configure it. For repairs use
list_worker_profilesandupsert_worker_profilerather than dispatching a worker to edit config.
Scope Detection
Identify the review target before launching:
- Default: the unpushed local commits (
origin/<branch>..HEAD). - Broader scope (specify when context calls for it): a single named
commit, an explicit commit range, the full branch (
main..HEAD), or uncommitted working tree. - Confirm scope with the user out loud when ambiguous.
The chosen scope determines:
- Which
/review*skill the raw reviewer runs:/reviewfor narrow scope (one commit, working tree)./review-prfor branch-wide scope.
- Which CodeRabbit invocation matches the scope:
- Unpushed-only:
--type committed --base <upstream-ref>(compute viagit rev-parse --abbrev-ref --symbolic-full-name @{upstream}). Avoid--unpushed— it's only supported by the local CLI wrapper, not the raw CodeRabbit CLI used by the MCP launcher. - Full branch vs base:
--type committed --base <merge-target>(e.g.,origin/main). - Working tree only:
--type uncommitted.
- Unpushed-only:
Reviewer Prompt Anti-Patterns
Reviewer workers are capable agents with access to the repository's review skills and rules. The supervisor's reviewer prompt should be a slim handoff: scope, diff command, upstream worker output when useful, and the relevant repository workflow or external tool to use.
Avoid these reviewer-prompt failure modes:
- Plan-compliance-only framing: do not ask only whether the latest commit satisfies the implementer's report. Ask for an independent review with prior findings as context.
- Dimension lists: do not recreate the review rubric in the prompt. Point to
/review,/review-pr, CodeRabbit, or the relevant repository skill instead. - Hint laundering: do not summarize implementer claims as facts. Pass the implementer output verbatim when it matters.
- Positive framing: do not state intended fixes as something to confirm. Let reviewers derive remaining issues from the diff, prior findings, and repository rules.
If the supervisor notices a genuinely task-specific concern that is not already in the diff, prior findings, upstream worker output, or repository rules, surface it to the human as an Open Human Decision. Do not smuggle it into the reviewer prompt as a checklist item.
Workflow
- Preflight. Confirm cwd, current branch, that the chosen scope has commits to review (or working-tree changes if scope is uncommitted), and that all required profiles validate. Treat unrelated dirty files as user-owned. Stop and ask if anything looks risky.
Round 1 — parallel reviewers. Launch BOTH as fresh worker runs:
- Raw reviewer (
code-reviewprofile): runs/review(narrow) or/review-pr(branch-wide) against the chosen diff. Asks for structured findings with severity classification. The raw reviewer MUST run in read-only mode for orchestrate-review: report findings via the worker's final output text only. Do NOT write a review artifact file to disk, even if the project's/reviewskill normally does so. Findings are aggregated by the supervisor and passed to the implementer in step 4 — the artifact would be redundant and risks polluting the diff. - CodeRabbit reviewer (
coderabbit-reviewerprofile): invokes thecoderabbitMCP server'sexecutetool with the post-prefixreview ...command. Do not include a leadingcoderabbit; the project's CLI-MCP wrapper prepends it. Use:- The right
--typefor scope:committed --base <upstream>for unpushed-only — derive the upstream ref viagit rev-parse --abbrev-ref --symbolic-full-name @{upstream}(e.g.,origin/<branch>). Do NOT use--unpushed: that flag is only supported by some local wrapper scripts, not the raw CodeRabbit CLI exposed through the MCP launcher.committed --base <merge-target>for full branch (e.g.,--base origin/main).uncommittedfor working-tree-only scope.
--agentfor structured JSON output.--config AGENTS.md --config <project rule files> --config .coderabbit.yaml— the project's standard config set per.mcp.json.- Generous idle timeout (≥ 2700 seconds; CodeRabbit reviews take 7–30+ minutes upstream). The reviewer reports CodeRabbit's findings verbatim — no editing or pre-filtering.
- The right
- Raw reviewer (
- Both reports arrive. Do NOT merge them. Pass both verbatim to the implementer in step 4.
Implementer fix pass (fresh
implementationrun). Hand the implementer:- Both review reports as separate inputs.
- The current diff under review.
- Repo instructions, ordering rules, and scope.
- Authority to: fix findings, decline incorrect or out-of-scope findings with rationale, escalate genuine product/scope/contract questions as Open Human Decisions.
The implementer:
- Synthesizes the two reports (deduping overlap, identifying false positives, choosing behavior-preserving fixes).
- Applies fixes.
- Runs relevant verification.
- Commits the iteration as a new local commit with a message describing the fixes and which review sources they address.
- Reports: commit SHA, files changed, findings addressed/declined per reviewer, residual risks.
- Round N+1 — re-review. For each new fix commit:
- Send the implementer's report (per-finding fixed/declined + new
commit SHA + new diff) verbatim to the existing raw reviewer session via
send_followup. Ask for an independent re-review of the new commit with prior findings as context, not confirmation of the implementer's claims. - Re-invoke the CodeRabbit MCP on the new commit as a FRESH worker run — CodeRabbit doesn't carry session state; each invocation is independent.
- Send the implementer's report (per-finding fixed/declined + new
commit SHA + new diff) verbatim to the existing raw reviewer session via
- Continue until aligned.
- Both reviewers report no blocking findings on the latest commit.
- Open Human Decisions = none (or all explicitly answered/deferred).
- Impasse handling. If the same finding survives 2 fix attempts,
escalate to the dissenting reviewer with a "make-a-final-call"
prompt:
- Summarize what was tried and why the reviewer was not satisfied.
- Ask the reviewer to choose ONE of: (a) fix this exact way (provide specific code or pseudocode), (b) accept as decline with rationale, or (c) escalate to human.
- The reviewer's answer is final for that finding. If they choose (c), bundle as Open Human Decision and surface to the user.
- Hard ceiling: 5 rounds of fix-then-rereview per finding. After round 5, force the impasse-resolution prompt regardless.
- No pushing, no PR opening, no GitHub interaction. This skill stops
at "stack of fix commits, both reviewers READY." Pushing belongs to
the user (or
git push); opening a PR belongs to/create-pr; resolving PR comments belongs to/orchestrate-resolve-pr-comments. - Final handoff. Tell the user:
- Stack of commits produced (oldest fix → newest), with SHA list.
- Findings summary per reviewer (concise table: addressed / declined / deferred).
- Final verdicts (both READY).
- Residual risks / non-blocking suggestions.
- Working tree state.
- Whether squash before push is recommended (default: not required).
- Declined non-blocking findings (carry-forward). A separate
subsection listing every reviewer suggestion the implementer declined
with the rationale "would balloon scope" / "out of scope" rather than
as a false positive. Each entry: source reviewer, severity, file
reference, one-line description, and the implementer's recorded
rationale. This list is the cue for downstream PR-comment workflows
(or the human directly) to file a tech-debt tracking issue once the
PR exists —
/orchestrate-reviewitself does not create GitHub issues because it runs pre-PR. If there are no such declines, write "Declined non-blocking findings: none."
Critical Rules
- Two reviewers run as fresh, independent runs. The supervisor does not pre-merge their findings. The implementer is the synthesizer.
- Each fix iteration is a separate local commit. No squashing during the loop. Squash optional at the end.
- No pushing, no PR opening, no GitHub thread interaction in this skill.
- CodeRabbit reviews are slow (7–30+ minutes upstream). Use long idle timeouts and do not cancel based on elapsed wall-clock time alone.
- The CodeRabbit MCP invocation must NOT use
--unpushed. That flag is only supported by the local wrapperscripts/coderabbit-cli.mjs. The raw CodeRabbit CLI exposed via the MCP launcher errors withunknown option '--unpushed'. Use--base <upstream-ref>instead. - Verify CodeRabbit auth at start: if there is any doubt, run
auth status --agentthrough the MCPexecutetool first and fail fast if not authenticated rather than silently dropping the review. - A clean CodeRabbit run on a substantive diff is informational, not an
automatic green light. The local MCP-driven setup may behave differently
from PR-side CodeRabbit. If
0 findingsreturns on a non-trivial commit, consider that a signal to spot-check local CodeRabbit health (runauth status --agentthrough the MCPexecutetool and re-run on a known-buggy diff) rather than treating the result as definitive. The raw reviewer is the primary bug-finding signal until local CodeRabbit is confirmed equivalent to the PR-side experience. - The implementer holds authority to synthesize findings, including declining incorrect or out-of-scope reviewer feedback with rationale recorded in the commit message. Out-of-scope declines must ALSO appear in the final handoff's "Declined non-blocking findings" subsection so a downstream workflow (or the human) can convert them to a tracked GitHub tech-debt issue once the PR exists. False-positive declines do not need to be carried forward.
Human Escalation
Escalate to the user only for:
- Genuine product/scope/behavior changes a reviewer's finding would force.
- A reviewer-explicit-requested escalation in the impasse round.
- Material disagreement the implementer cannot resolve via a behavior-preserving fix or a principled decline.
- Verification failures the implementer cannot fix without authorized scope expansion.
Do NOT escalate routine reviewer findings, false positives the implementer declines with rationale, or ordinary fix-versus-decline judgment calls.
Follow-Up Prompts
See references/follow-up-prompts.md for the standard prompt templates
(round-1 raw reviewer, round-1 CodeRabbit, round-N implementer,
re-review raw reviewer, re-review CodeRabbit, impasse final-call).
In this repository61 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/ai-workspace-projections.mdcCursor rule
- .cursor/rules/mcp-tool-configs.mdcCursor rule
- .cursor/rules/node-typescript.mdcCursor rule
- .cursor/rules/runstore-listruns-cache.mdcCursor rule
- .cursor/rules/worker-posture.mdcCursor rule
- .cursor/rules/worker-safety.mdcCursor rule
- await-pr-checksSkill
- commitSkill
- create-agentSkill
- create-issueSkill
- create-mcpSkill
- create-planSkill
- create-prSkill
- create-ruleSkill
- create-skillSkill
- create-test-planSkill
- implement-planSkill
- load-contextSkill
- mergeprepSkill
- orchestrate-create-planSkill
- orchestrate-create-test-planSkill
- orchestrate-implement-planSkill
- orchestrate-resolve-pr-commentsSkill
- publish-releaseSkill
- resolve-conflictsSkill
- resolve-issue-commentsSkill
- resolve-pr-commentsSkill
- resolve-review-findingsSkill
- review-prSkill
- reviewSkill
- run-test-planSkill
- setup-worktreeSkill
- update-contextSkill
- await-pr-checksSkill
- commitSkill
- create-agentSkill
- create-issueSkill
- create-mcpSkill
- create-planSkill
- create-prSkill
- create-ruleSkill
- create-skillSkill
- create-test-planSkill
- implement-planSkill
- load-contextSkill
- orchestrate-create-planSkill
- orchestrate-create-test-planSkill
- orchestrate-implement-planSkill
- orchestrate-resolve-pr-commentsSkill
- orchestrate-reviewSkill
- publish-releaseSkill
- resolve-conflictsSkill
- resolve-issue-commentsSkill
- resolve-pr-commentsSkill
- review-prSkill
- reviewSkill
- run-test-planSkill
- setup-worktreeSkill
- The first 60 shown.
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.

