skills/plan-reviewer/SKILL.md
Reviews and strengthens an existing implementation plan through adversarial rubber-duck dialogue. Scores completeness, feasibility, scope, testability, risk, and assumptions, asks one pointed question at a time, verifies checkable claims against local code and docs, and writes resolved answers back into the plan file until every dimension reaches 5/5. Use when asked to "review my plan", "rubber duck this", "stress test this plan", "is this plan ready", "challenge my plan", "get this plan to 5/5", "make this plan bulletproof", "what am I missing", "verify this", "is this true", "prove it", "check this claim", "fact-check", or before starting implementation on a non-trivial plan. For creating a plan from scratch, use plan-creator. For reviewing a code diff, use pr-reviewer.
npx skillsauth add mblode/agent-skills plan-reviewerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Strengthen an existing implementation plan through adversarial questioning before coding starts.
plan-creator), reviewing a code diff (use pr-reviewer), or a gate that approves and rejectsObjective: drive all six dimensions to 5/5. Work each sub-5 dimension upward, re-scoring after each round, until every dimension is 5/5 or provably stalled on a decision only the user can make.
Filter every question through these principles, in priority order:
| File | Read When |
|------|-----------|
| references/questioning-framework.md | Default: question templates and pushback patterns per dimension |
| references/plan-quality-rubric.md | During triage: 1-5 scoring criteria per dimension |
| references/dialogue-examples.md | Before starting dialogue: tone calibration and all four moves in action |
| references/claim-verification.md | Whenever a claim is checkable against local code, docs, or specs, or the user asks to verify a claim |
Copy this checklist to track progress:
Plan review progress:
- [ ] Step 1: Load the plan
- [ ] Step 2: Triage: verify checkable claims, score all six dimensions
- [ ] Step 3: Rubber duck loop: drive each dimension <5 to 5/5 (max 2 pushes per question)
- [ ] Step 4: Re-score after each dimension; repeat the sweep until all 5/5 or stalled
- [ ] Step 5: Gap summary (before/after scores + residual blockers)
- [ ] Step 6: Confirm the plan file contains every resolution and unresolved annotation
~/.claude/plans/ sorted by modification time, pick the most recent, and confirm with the userpr-reviewerLoad references/plan-quality-rubric.md. Do a silent pass across the six dimensions, scoring each 1-5.
While scoring, mark every claim that is checkable against local code, docs, or specs ("nobody uses this", "the library supports X", "we already handle that case"). Verify the load-bearing ones yourself now (load references/claim-verification.md) and fold the verdicts into the scores. Never spend a dialogue turn asking the user something the codebase can answer.
Output a triage table:
PLAN TRIAGE:
Completeness ███░░ 3/5 Missing error handling, no rollback
Feasibility ████░ 4/5 One unproven dependency
Scope ██░░░ 2/5 Several YAGNI candidates
Testability █░░░░ 1/5 No verification strategy
Risk ███░░ 3/5 Blast radius unclear
Assumptions ██░░░ 2/5 Three unstated assumptions
State: "I'll work each dimension up to 5/5, starting with the weakest."
If more than 3 dimensions start at 1-2, the plan needs rewriting, not review. Say so directly and suggest plan-creator instead of grinding the loop.
Load references/questioning-framework.md and references/dialogue-examples.md.
Each round:
references/claim-verification.md, gather evidence, quote the authoritative doc when the claim is about a documented decision, return a VERIFIED / NOT VERIFIED / INCONCLUSIVE verdict, then continue informed by it. Prefer VERIFY over asking whenever evidence can settle the point.Stay on the same dimension until it reaches 5/5 or stalls, then move to the next-lowest dimension still below 5.
Stall rule: after 2 pushes without a 5/5-grade answer, propose a concrete fix for the user to accept or reject. If accepted, write it into the plan and re-score. If the user defers or declines, record exactly what blocks 5/5 for that dimension and move on. This is the only stall procedure; do not keep re-asking in different words.
After each dimension closes or stalls, re-render the triage table so the climb toward 5/5 is visible. Sweep again over any dimension still below 5.
The loop ends when:
Lead with the final triage table showing before and after scores. Then list any residual gaps still blocking 5/5 in three tiers. If every dimension reached 5/5, say so and leave the "Must address" tier empty.
## Plan Review
### Must address before implementation
- [SCOPE] `## Data Migration`: no incremental path; what if migration fails halfway?
Resolved: NO
### Should address soon
- [ASSUMPTION] Plan assumes API rate limits won't be hit at projected scale
Resolved: YES (user confirmed 80/min volume is within the 100/min limit with headroom)
### Noted for awareness
- [RISK] Single dependency on third-party service with no fallback
Resolved: NO
Each finding references the plan section, states the concrete gap, and marks whether it was resolved during the loop.
Plan edits happen incrementally during the loop: each resolved gap is written in the moment it closes (Step 3). This final pass confirms the file is the deliverable:
<!-- UNRESOLVED: what blocks 5/5 --> comment at the relevant sectionDo not ask permission to edit. Updating the plan file is the point of the review; if the user objects, they can revert. If the plan arrived as pasted text with no file, output the full updated plan in a code block and offer to write it to ~/.claude/plans/.
pr-reviewer the moment the input is code, not a plan.plan-creator: collaborative interrogation to build a plan before reviewing itpr-reviewer: code review after implementationdefine-architecture: architectural decisions that feed into plansdevelopment
Designs and builds UI end to end, from visual direction (palettes, type scales, design tokens, layout systems, landing-page CRO strategy, brand kits) to Tailwind implementation with the ui.sh design guideline system, including multiple variants with an in-browser picker, semantic markup scaffolds from screenshots, retrofitting dark mode or responsive behavior, and componentizing or canonicalizing Tailwind code. Use when asked to "build a landing page", "create a dashboard", "make this look good", "make this look premium", "pick a visual style", "design the UI for", "show me 3 hero options", "improve conversions", "create a brand kit", "turn this screenshot into markup", "add dark mode", "make a dark version of this image", "make this responsive", "fix this on mobile", "componentize this page", "clean up the Tailwind", or any prompt that designs, creates, or refines UI code. For auditing existing UI use ui-audit; for motion use ui-animation; for landing page copy use copywriting.
development
Collaborative interrogation that produces an implementation plan before any code is written. Explores the codebase and relevant docs first, asks one question at a time with a concrete recommended answer, grills the rationale behind documented decisions, flags fuzzy terminology, and walks a decision tree until shared understanding is reached, then writes a plan file. First step of the shipping pipeline; it creates plans, plan-reviewer stress-tests them, pr-creator opens the PR. Use when asked to "create a plan", "help me think through this", "plan this feature", "I want to build X", "grill me", "grill with docs", "understand the docs", "unpack the decisions", "brainstorm a spec", "what should the plan be", "think this through with me", or before starting any non-trivial implementation.
development
--- name: pr-reviewer description: Reviews the current local diff or branch and returns a read-only, severity-tiered findings report. It never edits files. Four modes: standard bug and compliance review, structural quality, AI slop detection, and whole-codebase security audit. Use when asked to run /pr-reviewer, "review my changes", or "code review" before commit, push, or handoff. "Thermo-nuclear review", "structural review", "deep code quality audit", "harsh maintainability review", and "code
development
--- name: ux-audit description: Feature-level UX audit for React/Next.js code, diff-aware by default. Catches what Lighthouse, axe, ESLint, and Storybook miss: state-coverage gaps (missing loading/empty/error), form data loss on validation, double-submit, broken focus management, optimistic UI without rollback, stale async responses, skeleton-induced layout shift, and vague microcopy. 33 modern failure-mode rules plus 30 Laws of UX rules across 12 feature playbooks. Produces a 3-tier ship-readin