agentleFS
vatsal2210vatsal2210/claude-skills/plan-review/SKILL.md

plan-review

Skill0 starsChanged 7 months agoMITView on GitHub

Review a plan document for gaps, risks, and missing edge cases before implementation starts. Cross-references the plan against the codebase, flags blockers, and gives a go/no-go verdict. Use when the user says "review my plan", "find gaps before implementing", "anything missing from my plan?", "is this ready to build?", or pastes a plan and asks for feedback.

43 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use plan-execute, pr-comment and 10 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.
  • longranger2Skill

    plan-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

  • BenjaminGSkill

    pr-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

  • MicrosoftSkill

    spec-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

  • AnthropicSkill

    office-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

  • AWSSkill

    retro

    Conduct a retrospective on a coding session.

    Also in 5 projects that use this

  • BlockSkill

    plan

    Draft a TDD, PRD, or lightweight plan in the conversation without committing it.

    Also in 5 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 16 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 35 edited versions we read keep these.

  • 16

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After write-plan produces a draft and before implementation starts

    line 16
  2. Distinctive:

    Do not use this skill when:

    line 18
  3. Distinctive:

    Before reviewing, identify which *kind* of plan this is.

    line 25
  4. Distinctive:

    If a file path is given, read it first.

    line 38
  5. Distinctive:

    If any of these are missing or ambiguous, they're your first flags.

    line 47
  6. Distinctive:

    Files exist: Every file referenced in the plan — does it exist at that path?

    line 53
  7. Distinctive:

    Types exist: If the plan references shared types, interfaces, or enums, grep for them.

    line 54
  8. Very specific:

    Dependencies installed: If the plan uses a new library, is it in package.json?

    line 56
  9. Distinctive:

    Database schema aligns: If the plan touches DB, check the current schema.

    line 57
  10. Distinctive:

    Envars documented: If the plan needs new secrets/config, is provisioning part of the plan?

    line 58
  11. Distinctive:

    Rollback path: If the feature ships and goes wrong, what's the rollback?

    line 69
  12. Distinctive:

    Run both #1 and #2 tracks for the relevant sections.

    line 100
  13. Distinctive:

    Use this exact structure:

    line 104
  14. Distinctive:

    Stop after Phase 4. Implementation happens after the user accepts the findings.

    line 134
  15. Distinctive:

    Honest about severity: Don't file every nitpick as a Blocker.

    line 147
  16. Distinctive:

    Ask before guessing: If context is missing, ask.

    line 150
  17. Distinctive:

    Strengths section is optional: Only include genuine strengths.

    line 151
  18. Distinctive:

    In subagent / headless mode, emit the report and stop: Do not prompt for action — the calling agent or downstream orchestrator handles next …

    line 153

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Plan Review

Thorough review of a plan before a single line of code is written. Every blocker caught here saves a debugging session later.

When to Use

  • User pastes a plan and asks for review
  • User says "review my plan", "find gaps", "anything missing?", "is this solid?"
  • User shares a path to a .plan.md file (often in ~/.cursor/plans/)
  • User asks "is this ready to implement?" or "anything I haven't thought of?"
  • After write-plan produces a draft and before implementation starts

Do not use this skill when:

  • Implementation has already started — use gap-check instead
  • The user wants help writing a plan — use write-plan
  • The user wants strategic brainstorming — use ce-brainstorm

Preflight — classify the plan

Before reviewing, identify which kind of plan this is. The 12-gap checklist in Phase 3 is web-app-biased and maps poorly onto other plan types. Classify first:

  • Web/app feature plan — touches API routes, DB, UI, shared packages. Default case. Use the full Phase 3 12-gap list.
  • Tooling / infra / shell / docs / skill plan — touches install scripts, CI, documentation, local dev tooling, or skill files. Skip most of Phase 3 and use the "Infra plan track" below.
  • Research / exploration plan — open-ended, no single deliverable. Convert to a working doc rather than reviewing as a plan.
  • Mixed — run both Phase 3 tracks for the relevant sections.

State the classification as the first line of your review output so the user knows which track you used.

Steps

Phase 1 — Read the plan thoroughly

If a file path is given, read it first. If the plan is pasted inline, read it in full before commenting on any part. Do not skim and jump to the first flag.

Capture:

  • Goal — what outcome does this plan deliver?
  • Scope — what's in and what's out?
  • Todos — the numbered checklist of work items, if present
  • Assumptions — what the plan takes as given
  • Dependencies — other services, packages, features the plan depends on

If any of these are missing or ambiguous, they're your first flags.

Phase 2 — Cross-reference with the codebase

The plan exists in the context of a real codebase. Verify the plan's claims against reality:

  1. Files exist. Every file referenced in the plan — does it exist at that path?
  2. Types exist. If the plan references shared types, interfaces, or enums, grep for them. If they're new, the plan must include adding them.
  3. Patterns match. Does the plan's approach match how similar things are already done? A plan that introduces a new auth pattern when five routes already use a working one is a yellow flag.
  4. Dependencies installed. If the plan uses a new library, is it in package.json? If not, the plan must include installing it.
  5. Database schema aligns. If the plan touches DB, check the current schema. New fields? Migration plan included? Backfills needed?
  6. Envars documented. If the plan needs new secrets/config, is provisioning part of the plan?

Any mismatch between plan and codebase is a finding.

Phase 3 — Check for common gaps (use the track from Preflight)

Web/app feature plan track — 12-gap checklist

Flag each as Present / Partial / Missing / N/A (with one-line justification):

  1. Error handling. What happens when each step fails? Network errors, validation errors, auth failures, timeout, partial state.
  2. Rollback path. If the feature ships and goes wrong, what's the rollback?
  3. Backwards compatibility. Does this break existing users, data, or API contracts?
  4. Race conditions. Any async operations that could interleave badly?
  5. Authorization. Who can call each new endpoint / access each new route?
  6. Input validation at boundaries. User input, external API responses, URL params — where are they validated?
  7. Observability. What's logged? What metrics are emitted? How will you debug this at 2am?
  8. Migration + backfill. For DB changes: apply, backfill, deploy, verify. Is the order safe for concurrent writes?
  9. Cross-service contract. Changes touching multiple services — shared packages versioned? Deploy order coordinated?
  10. Analytics events. New user actions — are new analytics events specified?
  11. Tests. Strategy stated? Unit, integration, e2e? Happy-path-only?
  12. Rate limiting / abuse. New public-facing endpoints — rate limited? Abuse paths considered?

Infra / tooling / shell / docs plan track — 8-gap checklist

For plans that target install scripts, CI, local tooling, or documentation:

  1. Idempotency. Can the plan's steps be re-run safely without corrupting state? (Installers, migrations, backfills.)
  2. Destructive operations. Does any step delete, overwrite, or force-replace files, symlinks, remote refs, or DB rows? Is each destructive step explicit, reversible, and gated on confirmation/--force?
  3. Dry-run / preview. Can the user see what would happen before it happens? Default behavior should be safe.
  4. Uninstall / rollback. Is there a way to undo what the plan installs?
  5. Cross-machine portability. Does the plan assume a specific path, shell, OS, or tool version? What breaks on Linux vs macOS vs WSL?
  6. Secret handling. Any step that touches tokens, env vars, or credentials — are they read from secure sources, never logged, never committed?
  7. Failure modes. What happens when a step fails mid-way? Can the user resume, or do they have to start over?
  8. Docs + examples. Is the user-facing surface (README, --help, error messages) updated alongside the code?

Research / exploration plan track

This is not a review target. Flag: "This plan is exploratory. Convert to a working doc or a concrete scoped plan before review."

Mixed plan track

Run both #1 and #2 tracks for the relevant sections. Call out which track applies to which section in the output.

Phase 4 — Produce the review

Use this exact structure:

# Plan Review — {{plan name}}

## Blockers (fix before starting)
Will cause broken implementation. Numbered.
1. [File/area] — [concrete issue]
   - Option A (recommended): [fix] — [why]
   - Option B: [alternative]
   - Option C: [do nothing — consequence]

## High-Priority Gaps (should fix)
Will cause production bugs. Numbered.

## Low-Priority Gaps (nice to have)
Edge cases, UX polish, minor optimizations.

## Questions for You (need clarification)
Ambiguous requirements or decisions that affect direction.

## Strengths (keep these)
Optional. Only include if there are genuine strengths worth calling out.

## Verdict
**Go / No-go / Needs revision** — state it plainly, one paragraph explaining the call.

Phase 5 — Do not implement

Stop after Phase 4. Implementation happens after the user accepts the findings.

Output Format

See Phase 4. Rules:

  • Number every issue (1, 2, 3...). Letter every option within an issue (A, B, C).
  • Option A is always the recommendation with a stated reason. Option C can be "do nothing" with its consequence.
  • Concrete file/line references wherever possible: src/app/api/users/route.ts:42
  • Never "looks good" unless the plan genuinely has zero findings. If it does, say so confidently.

Rules

  1. Review only. Do not implement. Users need the list before code changes.
  2. Honest about severity. Don't file every nitpick as a Blocker. Don't demote a real blocker to be nice.
  3. Cross-reference the codebase when possible. Reviews that skip Phase 2 catch maybe 30% of real issues. When the target doesn't exist yet (new repo, pre-creation plan), state that upfront and skip Phase 2 explicitly — do not fabricate paths.
  4. Options when there's a real choice. Non-trivial findings with multiple valid solutions get 2–3 options (A recommended, B/C alternatives). Single-fix bugs get one fix — do not pad with fake alternatives.
  5. Ask before guessing. If context is missing, ask. Don't manufacture requirements.
  6. Strengths section is optional. Only include genuine strengths. Empty praise is noise.
  7. Final verdict is three-way. "Go" (ready to implement), "No-go" (fundamentally unsound, rewrite required), or "Needs revision" (specific blockers listed, re-review after fix). Not "it depends".
  8. In subagent / headless mode, emit the report and stop. Do not prompt for action — the calling agent or downstream orchestrator handles next steps. Mention applicable follow-ups as a "Next steps" section rather than a question.

Worked Example — Output

# Plan Review — Add team invites to onboarding

## Blockers (fix before starting)

1. **No rollback path for partially-accepted invites.** Plan says "insert row,
   send email, return." If email fails after insert, user sees success with no
   email and no retry path.
   - **(A) Recommended:** wrap in transaction that rolls back on email failure.
     File: `src/api/invites/create.ts`
   - (B) Fire-and-forget via queue; mark row `pending_email` on queue failure.
   - (C) Accept ~0.5% silent failures.

2. **Plan references `src/lib/auth/canInvite.ts` — file doesn't exist.**
   Actual location is `src/auth/permissions.ts` exporting `canInviteToOrg`.
   - **(A) Recommended:** update plan to use real path.
   - (B) Create new helper at the plan's specified path.

## High-Priority Gaps (should fix)

3. **No rate limit on invite endpoint.** Authenticated user could send
   10,000 invites per minute.
   - **(A) Recommended:** apply existing `rateLimit` middleware at
     `src/middleware/rate-limit.ts:15`, 50/hr/user.

4. **Race condition on "invite already pending" check.** Concurrent requests
   can both pass uniqueness check and both insert.
   - **(A) Recommended:** DB unique index on `(org_id, email)`, handle
     UNIQUE_VIOLATION as "already invited".

## Low-Priority Gaps

5. **No analytics events** for invite sent/accepted/rejected. Growth team
   will ask within a week.

## Questions for You

6. **Expiration policy?** Do invites expire? If so, after how long?
7. **Revocation?** Can an admin revoke a pending invite?

## Strengths

- Includes email template content, not just a reference — saves back-and-forth.
- Uses existing `Invite` model instead of creating a new one.
- Lists three failure modes upfront.

## Verdict

**Needs revision.** Two blockers (1, 2) must be addressed. Once those are
resolved and questions 6–7 are answered, this is close to ready. Expect one
more review pass after revision.

Pipeline Position

write-plan → [plan-review] → (implement) → gap-check → simplify → pre-ship → (deploy) → pr-triage

Plan-review is the gate between planning and implementation. Go verdict = hand the plan to an implementer (human or agent) with confidence.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.