Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Carmack-level plan review via RepoPrompt or Codex. Use when reviewing Flow specs or design docs. Triggers on /flow-next:plan-review.
.claude/skills/gmickel-flow-next-plan-review/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 84% | 0% |
| case-23 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 66% | 0% |
Workflow is backend-split. Read workflow.md for common orchestration and backend resolution, then read ONLY the file matching the selected review backend:
BACKEND=codex → workflow-codex.mdBACKEND=copilot → workflow-copilot.mdBACKEND=cursor → workflow-cursor.mdBACKEND=host → workflow-host.mdBACKEND=rp → workflow-rp.mdDo not load the other backend files. BACKEND=none and explicit --review=export terminate from the common workflow without loading any backend file.
Conduct a John Carmack-level review of spec plans.
Role: Code Review Coordinator (NOT the reviewer) Backends (branch on the common workflow's RP_ELIGIBLE probe):
RP_ELIGIBLE=1: RepoPrompt (rp), Codex CLI (codex), GitHub Copilot CLI(copilot), Cursor CLI (cursor), or host-native (host)
RP_ELIGIBLE=0: Codex CLI, GitHub Copilot CLI, Cursor CLI, orhost-native — rp remains accepted explicitly but errors at runtime
Read and execute workflow.md Phase 0 once. It defines $FLOWCTL, probes RepoPrompt eligibility, parses an explicit --review mode before configured-backend resolution, resolves SPEC_ID, and handles ASK, none, and export. Never invoke flowctl review-backend a second time.
When RP_ELIGIBLE=0, never steer the user toward rp. An explicit --review=rp, FLOW_REVIEW_BACKEND=rp, or review.backend=rp remains valid input and fails through the rp runtime check.
Priority (first match wins):
--review=rp|codex|copilot|cursor|host|export|nonedefault_reviewFLOW_REVIEW_BACKEND.flow/config.json review.backendConfigured values accept backend[:model[:effort]]; cursor takes a model but no effort, and host, rp, and none are bare-only. export is a one-off mode, never a configured backend.
REVIEW_RECEIPT_PATH is set, every review verdict writes a receipt.<promise>RETRY</promise> and stops;never silently fall back to a different backend. Autonomous/Ralph callers receive the same retry terminal and decide whether to re-enter. A no-verdict dispatch is refunded and recorded by flowctl; never manually reset the review counter for a transport failure. Exit 5 / TRANSPORT_UNHEALTHY means stop automatic retries and repair the backend.
none skips only when selected explicitly or resolved from configuration.export emits the existing external-review artifact and terminal output,then returns; it never loads configured-backend guidance, writes a review receipt/status, or enters the fix loop.
flowctl <backend> plan-review call as one blocking foreground Bash call with a generous timeout (10 minutes; verdicts typically land in 1–7) — never run_in_background + monitor/poll (a background completion does not reliably resume a subagent context). Host-backend subagent dispatches are also blocking.Backend-specific invocation, availability, model, session-continuity, receipt, and anti-pattern rules live only in the selected backend file.
Arguments: $ARGUMENTS
Format: <flow-spec-id> [focus areas] [--review=<mode>]
none or export, stop. Do not read a backend file.workflow-<backend>.md.Fix Loop below.
The fix loop never pauses for user confirmation. Every valid finding is fixed and re-reviewed automatically. A loop that stops to ask, or that exits with a valid finding unfixed, has broken this. Never use plain-text numbered prompt in this loop.
MAJOR_RETHINK is not a fix-loop input. Surface the reviewer's rationale and stop with BLOCKED: DESIGN_CONFLICT (Ralph: <promise>RETRY</promise>). Only NEEDS_WORK enters the loop.
Fix+re-review cycles are bounded at ${MAX_REVIEW_ITERATIONS:-8}. The counter is flowctl-owned; never keep an agent-side counter. On cap exhaustion, surface surviving findings and stop (Ralph: <promise>RETRY</promise>).
The cap is enforced deterministically by flowctl: every dispatch reserves a spec-scoped round before launch. SHIP / NEEDS_WORK / MAJOR_RETHINK / NEEDS_HUMAN consume it; a no-verdict transport failure is durably recorded and refunded. At ${MAX_REVIEW_ITERATIONS:-8} verdict rounds, flowctl refuses with ESCALATE: and exit 4. More than ${MAX_REVIEW_TRANSPORT_FAILURES:-2} consecutive no-verdict failures stop separately with TRANSPORT_UNHEALTHY + exit 5. Callers invoke plan-review once and act on its terminal result. The verdict counter resets only on SHIP or an explicit re-plan, never on an edit, fresh invocation, or transport failure.
ANTI-PATTERN: a delivered verdict is never a transport failure - never re-dispatch or re-frame NEEDS_WORK as a backend/sandbox problem to claim a refund. And never widen the reviewer sandbox: reviewers are read-only by contract, so a sandbox-blocked reviewer means something asked it to mutate the workspace. Fix that instead (Windows resolves via auto).
When the verdict is NEEDS_WORK:
bash $FLOWCTL spec set-plan <SPEC_ID> --file - --json <<'EOF' <updated current spec content> EOF
interfaces, retry/error semantics, or state values changed.
another backend. Codex/Copilot/Cursor resume only through a same-mode receipt; host uses a fresh read-only subagent; rp stays in the same chat.
SHIP, MAJOR_RETHINK, backend failure, or deterministic cap.Done when: the round ends in one of exactly four states — a SHIP from the backend, a MAJOR_RETHINK escalated as BLOCKED: DESIGN_CONFLICT, a <promise>RETRY</promise> from a backend/transport failure, or flowctl's ESCALATE: cap refusal with the surviving findings surfaced. A round that ends with a NEEDS_WORK neither fixed in the current spec nor re-entered into the same backend has broken this.
Recovery after context compaction:
bash$FLOWCTL checkpoint restore --spec <SPEC_ID> --json
For rp, only the first review uses --new-chat; all re-reviews stay in the same chat. Every re-review follows the selected backend file's receipt/status rules.
Other measured skills in the registry, with their headline benchmark lift.