plan-review
Skill0 starsChanged 7 months agoMITView on GitHub
Reviews plans from plan mode for real problems, then fixes them. Catches breaking bugs, security holes, over-engineering, and missing steps — but only when grounded in specific evidence. Returns CLEAN when a plan has no issues. Use when user says 'review this plan', 'check my plan', 'plan review', 'is this plan good', 'critique this plan', 'sanity check', 'poke holes in this', 'review my approach', or 'is this a bad idea'. Do NOT use for code review of written code (use simplify). Do NOT use for incident investigation (use postmortem). Do NOT use for generating alternative approaches (use directions).
43 other projects use a version of this.
Adopted by
Most recently taken up by
- yubuhui/opencode-self-evolvingtheir own version, first seen Nov 8, 2026
- bas1l/claude-skillstheir own version, first seen Nov 3, 2026
- duncanmorris/agent-skillstheir own version, first seen Nov 2, 2026
- vzhukovs/podman-desktop-kittheir own version, first seen Nov 1, 2026
- Esi-Abolfazl/skillstheir own version, first seen Nov 1, 2026
- kopp0510/claude-ddtheir own version, first seen Nov 1, 2026
Used with
Projects with it also use plan-execute, pr-comment 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.
longranger2Skillplan-execute
Use when the user says "/plan-execute", "plan execute", "implement plan", or "execute plan" and provides a finalized plan file path to carry out. Claude orchestrates, Codex writes code, Claude reviews, and Codex fixes issues until the quality bar is met.
Also in 3 projects that use this
BenjaminGSkillpr-comment
This skill should be used when reviewing someone else's pull request and you want drafted review comments posted to GitHub — either gate / gate-wf findings (tier-marked) or pr-challenge's reviewer questions (unmarked) — each drafted through humanizer and posted as a standalone inline comment at its file:line, after one confirmation. Triggers on "post these as review comments", "comment the gate findings on the PR", "draft and post my review", "leave review comments", after a gate / gate-wf run or a pr-challenge pass on a PR you're reviewing.
Also in 3 projects that use this
MicrosoftSkillspec-review
Independent, multi-model review of a design or spec **before** any code is written, for the microsoft/winappcli repo. Activate when a contributor asks to "review this spec", "review my design", "review this design doc", "validate this approach", "should we build this", "spec review", "design review", or "feature review". Fans out parallel sub-agents — each doing its OWN research against the real codebase and ecosystem rather than trusting the spec — covering necessity & scope, approach & alternatives, feasibility vs reality, risks & unknowns, DX & user impact, and a different-model-family cross-check. Emits a decision-oriented recommendation (proceed / proceed-with-changes / reconsider) to stdout. This is the PRE-CODE companion to the pr-review skill (which reviews code already written); use spec-review at the design/spec stage, not on an implemented diff. Does NOT write code or edit the spec.
Also in 3 projects that use this
AnthropicSkilloffice-hours
Set up and run Claude Code office hours, including the calendar event when the champion's own calendar connector allows it. Use when a champion wants a regular time for teammates to bring problems.
Also in 3 projects that use this
AWSSkillretro
Conduct a retrospective on a coding session.
Also in 5 projects that use this
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 5 projects that use this
Other versions43 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 43
- ahmadrosid/nakama★ 786same name
- igerber/diff-diff★ 413same name
- Mathews-Tom/armory★ 340same name
- sd0xdev/sd0x-dev-flow★ 192same name
- sd0xdev/sd0x-harness★ 192same name
- YougLin-dev/Aha-Loop★ 181same name
- longranger2/claude-gpt-workflow★ 76same name
- ConnorGriffin/skills★ 21same name
- liewcf/agent-skills★ 16same name
- kopp0510/claude-dd★ 12same name
33 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 repository21 other files it gives its agents.
- 5x5Skill
- business-planSkill
- chart-forgeSkill
- code-blast-radiusSkill
- code-edgesSkill
- code-preflightSkill
- code-reviewSkill
- code-securitySkill
- hail-marySkill
- organizeSkill
- plan-capacitySkill
- plan-directionsSkill
- postmortemSkill
- research-critiqueSkill
- research-searchSkill
- session-auditSkill
- session-driftSkill
- skill-builderSkill
- skill-evalSkill
- ui-ideasSkill
- update-prSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 35 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Start from the assumption that the plan is fine.
- Distinctive: line 45
If no plan exists: "No plan found.
- Distinctive: line 51
Read every file the plan proposes to modify.
- Distinctive: line 60
Check the plan against these areas.
- Distinctive: line 76
Use exactly this format. Omit empty sections entirely — if there are no blockers, the Blockers section doesn't appear.
- Distinctive: line 108
If the target is a plan-mode plan (step-by-step implementation plan): Enter plan mode and apply the fixes directly.
- Distinctive: line 109
If the target is a document (research output, recommendations, analysis): Edit the document directly using the Edit tool.
“Common” is measured: kept by at least 6 in 10 of the 35 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
Plan Review
You review implementation plans and fix the problems you find.
Posture: CLEAN Until Proven Otherwise
Start from the assumption that the plan is fine. Only deviate when you find specific, grounded evidence of a real problem. A plan with no issues gets a CLEAN verdict — that is a successful review, not a failed one.
Why this matters: a reviewer that always finds something is performing theater. Every false positive erodes trust and wastes time. Your value comes from the findings you don't make as much as the ones you do.
What Counts as a Finding
A finding requires all three:
- Specific evidence — a file path, function signature, API behavior, dependency version, or concrete scenario. "This could have issues" is not evidence.
- Observable consequence — what breaks, fails, or degrades if the problem is not addressed. Theoretical concerns without a realistic failure path are not findings.
- Confidence you'd bet on it — if you read the relevant code and still aren't sure it's a problem, it's not a finding. Uncertainty is a question, not a finding.
Things that are never findings:
- Style preferences or naming opinions
- Suggestions to add features the plan didn't ask for
- Vague "consider whether..." without a specific failure scenario
- Restating best practices that the plan already follows
- Alternative approaches (that's what
/plan-directionsis for)
Instructions
Step 1 — Locate the Plan
The plan is in conversation context. Look for the most recent structured implementation plan (step-by-step, file changes, architecture description).
If no plan exists: "No plan found. Enter plan mode (Shift+Tab), create a plan, then run /plan-review."
Restate the plan's goal in one sentence so the user can confirm you have the right target.
Step 2 — Read the Code
Read every file the plan proposes to modify. Use Glob and Grep to find:
- What imports or depends on files being changed
- What tests exist for the affected code
- What config or environment the code assumes
This step is not optional. Do not review a plan without reading the actual code it touches. Opinions formed without reading code are guesses.
Step 3 — Find Real Problems
Check the plan against these areas. Skip any area that doesn't apply to this plan — a CLI tool doesn't need CSRF review, a pure refactor doesn't need security audit.
Will it break? — APIs used incorrectly, type mismatches across boundaries, race conditions, missing error handling for realistic failure paths, incorrect assumptions about existing code behavior.
Is it safe? — Consult references/security-checklist.md for the detailed checklist. Focus on what's relevant to the plan's tech stack and attack surface. Injection, auth gaps, secrets exposure, and supply chain risks are the highest-signal checks.
Is it too much? — More files/abstractions/dependencies than the goal requires. Factories for one implementation. Config for what could be code. Violations of the 3-file rule without justification.
What's missing? — Steps the plan assumes will "just work" without saying how. Data migrations, ordering dependencies between steps, rollback scenarios, edge cases in the input domain.
Does it contradict project rules? — Check the plan against CLAUDE.md constraints (hard limits, DRY_RUN defaults, branch rules, etc.). A plan that violates project rules is always a blocker.
For each candidate finding, apply the three-part test from above (evidence + consequence + confidence). Discard anything that doesn't pass all three.
Step 4 — Report
Use exactly this format. Omit empty sections entirely — if there are no blockers, the Blockers section doesn't appear.
PLAN: [one-sentence summary]
FILES: [N modified, M created] → [what else depends on them]
BLOCKERS (fix before implementing)
• [finding] — [evidence] → [consequence]. Fix: [specific fix].
WATCH LIST (note during implementation)
• [finding] — [evidence] → [consequence]
QUESTIONS (need clarification before proceeding)
• [question] — [why it matters for implementation]
VERDICT: [CLEAN | FIX | ASK]Verdict meanings:
- CLEAN — No problems found. Plan is ready to implement.
- FIX — Blockers exist. The plan needs changes before implementation.
- ASK — Unanswered questions block implementation. Need user input first.
Omit the entire report template for CLEAN verdicts. Just say: "Plan looks solid. No blockers, no concerns. Ready to implement."
Step 5 — Fix the Plan
This is the most important step. The review exists to improve the plan, not to produce a report.
If verdict is CLEAN: You're done. The plan is ready.
If verdict is FIX:
- If the target is a plan-mode plan (step-by-step implementation plan): Enter plan mode and apply the fixes directly.
- If the target is a document (research output, recommendations, analysis): Edit the document directly using the Edit tool. For each blocker, make the minimal change that resolves it. Do not redesign — surgical fixes only. After fixing, briefly list what you changed.
If verdict is ASK: Present the questions to the user. Once they answer, re-enter plan mode, apply the answers to the plan, and re-run the review from Step 3 on the updated plan.
Handling Edge Cases
- Plan references files that don't exist yet: The plan may be creating them. Only flag if the plan assumes they already exist and depends on their contents.
- Plan is too vague to review: Verdict ASK. List what's missing (file paths, data flow, error handling) so the user can flesh it out.
- Plan spans 10+ files: Flag as a blocker referencing the 3-file rule. Suggest splitting into independently-reviewable phases.
Examples
<examples>Example: Security blocker found and fixed
Plan: "Add JWT auth — store tokens in localStorage, validate client-side"
PLAN: Add JWT authentication to the API
FILES: 3 modified, 1 created → auth middleware imported by 12 route handlers
BLOCKERS (fix before implementing)
• localStorage JWT is XSS-exfiltrable — any XSS vector allows
document.localStorage.getItem('token'). Fix: use httpOnly
cookies with SameSite=Strict.
• Client-side-only validation is bypassable — client JS is
user-controlled, auth decisions must happen server-side.
Fix: move validation to middleware, client checks are UX only.
VERDICT: FIX→ Then enters plan mode and applies both fixes to the plan.
Example: Clean plan
Plan: "Extract the price calculation from quoter.py into a pure function for unit testing"
"Plan looks solid. No blockers, no concerns. Ready to implement."
Example: Over-engineering caught
Plan: "Create AbstractBaseHandler, HandlerFactory, HandlerRegistry, and ConcreteHandler for one webhook type"
PLAN: Add webhook processing
FILES: 4 created, 0 modified → nothing depends on new files
BLOCKERS (fix before implementing)
• 4 classes for 1 webhook type — no second type exists or is
planned. A single function handles this in ~30 lines. 4 files
and ~200 LOC of indirection with zero current benefit.
Fix: replace with one handle_webhook() function in a single file.
VERDICT: FIX→ Then enters plan mode and simplifies to the single-function approach.
</examples>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.

