Plan Review
Use this when a plan should be checked before implementation, especially before
multi-agent work, high-risk changes, broad refactors, migration work, or any
plan whose wrong approach would be expensive to unwind.
This is a review of the approach, not a code review and not line-level design
polish. The goal is to catch unsound foundations before they become a diff.
What To Review
Goal fit.
- Does the plan satisfy the requested outcome and acceptance criteria?
- Does it handle the important unhappy paths, not just the happy path?
Fit with existing code and workflow.
- Has the plan checked actual repo conventions, helpers,
AGENTS.md seam
values, contract files named by the seam, and tests?
- Does it reuse existing infrastructure instead of inventing parallel
machinery?
Simplicity.
- Is the approach the smallest thing that solves the real problem?
- Does it avoid speculative options, new services, or abstractions without a
clear present need?
Load-bearing decisions.
- Are architecture-determining choices named now?
- Are only reversible implementation details deferred?
- If "where/how/which" would change whether the approach works, it is not a
detail; require the plan to pin it down.
Risks and unknowns.
- Are integration points, migration risk, compatibility concerns, security
impact, performance impact, and review gates named when relevant?
- Are blocking questions separated from non-blocking assumptions?
Output
Return one of:
APPROVE: the approach is sound and load-bearing decisions are pinned.
SEND BACK: one or more approach-level issues must be resolved before work
starts.
For each finding, include:
- severity:
BLOCKER, SHOULD, or NIT
- the plan location or section
- the specific failure mode or missing decision
- a concrete safer alternative when one is apparent
Do not block a plan for reversible file names, variable names, or local
implementation details. Do block a plan that is too vague to prove it can work.
Boundaries
- Use
spec to turn fuzzy intent into requirements and tasks.
- Use
plan-pr-batch or pr-batch to assign exact GitHub targets and lanes.
- Use
autoreview or adversarial-pr-review once code exists.
On Cursor, availability-check /review, /review-bugbot, or /review-security
if a host review pass is requested; they do not replace this plan review.
Source Note
Inspired by the plan-review gate in
lucasfcosta/backpressured,
adapted here as portable seam-driven workflow guidance.
1---2name: plan-review3description: Use when reviewing an implementation plan before coding or launching workers to check approach, scope, and repo-convention fit.4---56# Plan Review78Use this when a plan should be checked before implementation, especially before9multi-agent work, high-risk changes, broad refactors, migration work, or any10plan whose wrong approach would be expensive to unwind.1112This is a review of the approach, not a code review and not line-level design13polish. The goal is to catch unsound foundations before they become a diff.1415## What To Review16171. **Goal fit.**18 - Does the plan satisfy the requested outcome and acceptance criteria?19 - Does it handle the important unhappy paths, not just the happy path?20212. **Fit with existing code and workflow.**22 - Has the plan checked actual repo conventions, helpers, `AGENTS.md` seam23 values, contract files named by the seam, and tests?24 - Does it reuse existing infrastructure instead of inventing parallel25 machinery?26273. **Simplicity.**28 - Is the approach the smallest thing that solves the real problem?29 - Does it avoid speculative options, new services, or abstractions without a30 clear present need?31324. **Load-bearing decisions.**33 - Are architecture-determining choices named now?34 - Are only reversible implementation details deferred?35 - If "where/how/which" would change whether the approach works, it is not a36 detail; require the plan to pin it down.37385. **Risks and unknowns.**39 - Are integration points, migration risk, compatibility concerns, security40 impact, performance impact, and review gates named when relevant?41 - Are blocking questions separated from non-blocking assumptions?4243## Output4445Return one of:4647- `APPROVE`: the approach is sound and load-bearing decisions are pinned.48- `SEND BACK`: one or more approach-level issues must be resolved before work49 starts.5051For each finding, include:5253- severity: `BLOCKER`, `SHOULD`, or `NIT`54- the plan location or section55- the specific failure mode or missing decision56- a concrete safer alternative when one is apparent5758Do not block a plan for reversible file names, variable names, or local59implementation details. Do block a plan that is too vague to prove it can work.6061## Boundaries6263- Use `spec` to turn fuzzy intent into requirements and tasks.64- Use `plan-pr-batch` or `pr-batch` to assign exact GitHub targets and lanes.65- Use `autoreview` or `adversarial-pr-review` once code exists.6667<!-- host-branch: available-tool start -->68On Cursor, availability-check `/review`, `/review-bugbot`, or `/review-security`69if a host review pass is requested; they do not replace this plan review.70<!-- host-branch: available-tool end -->7172## Source Note7374Inspired by the plan-review gate in75[lucasfcosta/backpressured](https://github.com/lucasfcosta/backpressured),76adapted here as portable seam-driven workflow guidance.