dev-plan-reviewer
Internal skill used by dev-design at Phase 4 exit gate. Dispatches a reviewer subagent to verify PLAN.md quality before implementation. NOT user-facing.
What this skill does
# Plan Document Reviewer
**Purpose:** Catch plan gaps BEFORE they survive into implementation. Bad task decomposition, missing steps, and spec misalignment cost 10x more to fix during implementation than during review.
## When to Dispatch
After Phase 4 (design) writes `.planning/PLAN.md` and before Phase 5 (implement) begins.
```
Phase 4: Design → PLAN.md written → user approved
→ [THIS SKILL] Dispatch plan reviewer subagent
→ For plans with >15 tasks: review per-chunk
→ Issues found? Fix PLAN.md → re-dispatch reviewer
→ Approved? → Phase 5: Implement
```
<EXTREMELY-IMPORTANT>
## The Iron Law of Plan Review
**NO IMPLEMENTATION WITHOUT REVIEWED PLAN. This is not negotiable.**
A bad plan that survives into implementation means:
- Subagents struggling with tasks that are too coarse
- Missing steps discovered mid-implementation
- Spec requirements silently dropped
- Rework when task ordering is wrong
**Catching a plan gap NOW costs 1 minute. Catching it during implementation costs hours.**
</EXTREMELY-IMPORTANT>
### Rationalization Table - STOP If You Think:
| Excuse | Reality | Do Instead |
|--------|---------|------------|
| "The plan looks fine to me" | Self-review is rubber-stamping | Dispatch independent reviewer |
| "User already approved the plan" | User approves the approach, not task granularity | Reviewer checks what user might miss |
| "This will slow us down" | 30-second review saves hours of implementation rework | Dispatch the reviewer |
| "It's a simple plan, no review needed" | Simple plans hide the most missing steps | Review it anyway |
| "I'll catch issues during implementation" | Implementation subagents don't know the spec | Review BEFORE implementing |
## Chunking Rule
**If PLAN.md has >15 tasks:** Break into ordered chunks using `## Chunk N: <name>` headings. Each chunk should be logically self-contained (e.g., "infrastructure", "core logic", "tests", "integration"). Review each chunk separately.
**If PLAN.md has ≤15 tasks:** Review the entire plan in one pass.
**Why chunk:** Monolithic review of large documents produces shallow feedback. Focused review per chunk catches more issues.
## Dispatch Template (Single Plan or Per-Chunk)
Use this Task invocation to dispatch the plan reviewer:
```
Agent(
subagent_type="workflows:dev-plan-checker",
allowed_tools=["Read", "Glob", "Grep", "Bash(read-only)"],
description="Review plan document",
prompt="""
You are a plan document reviewer. Verify this plan is complete, matches the spec, and is ready for implementation.
**Tool Restrictions:** You are READ-ONLY. You MUST NOT use Write or Edit tools. You read `.planning/PLAN.md` and `.planning/SPEC.md`, evaluate against the checklist, and return a verdict. If you find issues, you report them — the main chat fixes them.
**Plan to review:** .planning/PLAN.md [— Chunk N only, if chunked]
**Spec for reference:** .planning/SPEC.md
Read BOTH files, then evaluate the plan against ALL categories below.
## What to Check
| Category | What to Look For |
|----------|------------------|
| **Executable table (BLOCKING)** | The Implementation Order MUST be the machine-executable table `Task \| Deps \| Files \| Failing Test \| Verify Command \| Implements`, one row per task, every column filled. Work recorded as prose `### Phase` headings, or any row missing Deps/Files/Verify Command/Implements, is **BLOCKING** — `dev-implement` cannot parse a DAG or per-task gate from it. (`dev-plan-executable-guard.py` also blocks the approval write, but flag it here so it's fixed before the guard fires.) |
| Completeness | TODOs, placeholders, incomplete tasks, missing steps |
| Spec Alignment | Plan covers ALL spec requirements, no scope creep, no requirements silently dropped |
| Prose Section Audit | Scan SPEC.md Design Decisions, Discovered Protocol, Clarified Requirements, and any other prose sections for behavioral requirements missing CATEGORY-NN IDs — **BLOCKING if found** |
| Task Decomposition | Tasks atomic enough for a single subagent, clear boundaries, steps actionable |
| Task Ordering | Dependencies correct, no circular dependencies, independent tasks marked |
| File Structure | Files have clear single responsibilities, split by responsibility not layer |
| File Size | Would any new or modified file likely grow too large to reason about? |
| Task Syntax | Checkbox syntax on steps for tracking |
| Testing Strategy | Testing section filled (framework, command, first test, location, skill) |
## CRITICAL — Look Especially Hard For:
- Any TODO markers or placeholder text
- Steps that say "similar to X" without actual content
- Incomplete task definitions (missing verify command or expected output)
- Missing verification steps or expected outputs
- Files planned to hold multiple responsibilities or likely to grow unwieldy
- Spec requirements not covered by ANY task (silently dropped)
- **Behavioral requirements in SPEC.md prose sections (Design Decisions, Discovered Protocol, Clarified Requirements) that lack CATEGORY-NN IDs** — these are invisible to PLAN.md task mapping and will be silently dropped. Flag as BLOCKING.
- Tasks too large for a single subagent (>100 lines of change)
## Output Format
## Plan Review
**Status:** APPROVED | ISSUES_FOUND
**Issues (if any):**
- [Task X, Step Y]: [specific issue] - [why it matters for implementation]
**Spec Coverage Check:**
- [Requirement 1]: Covered by Task N ✅ | NOT COVERED ❌
- [Requirement 2]: Covered by Task N ✅ | NOT COVERED ❌
**Recommendations (advisory — don't block approval):**
- [suggestions for improvement that aren't blocking]
""")
```
## Handling Reviewer Output
### If APPROVED
**Write the approval marker (MANDATORY):**
Before proceeding, you MUST create `.planning/PLAN_REVIEWED.md` with the reviewer's approval evidence. This file is the structural gate that dev-implement checks before starting.
```markdown
---
status: APPROVED
reviewed_at: [ISO timestamp]
reviewer: dev-plan-reviewer
iteration: [N]
---
# Plan Review: APPROVED
## Spec Coverage Check
[Paste the reviewer's full spec coverage check output here — every requirement ID with ✅/❌]
## Issues Fixed (if any)
[List any issues fixed during review iterations]
```
**If you skip writing this file, dev-implement will REFUSE to start. This is intentional.**
Then proceed to Phase 5 (implement):
Read `${CLAUDE_SKILL_DIR}/../../skills/dev-implement/SKILL.md` and follow its instructions.
### If ISSUES_FOUND
1. Fix the specific issues in `.planning/PLAN.md`
2. Re-dispatch the reviewer (same template)
3. Repeat until APPROVED or max 5 iterations
### If 5 Iterations Without Approval
Escalate to user:
```
"Plan reviewer has flagged issues 5 times. Remaining issues:
[list issues]
Should I: (A) Fix these, (B) Proceed with known gaps, (C) Rethink the plan?"
```
## Model Tier Hints
When the reviewed plan proceeds to implementation, add model tier guidance to task dispatch:
| Task Complexity | Model Tier | Signals |
|----------------|------------|---------|
| Mechanical | Cheapest capable | Isolated function, 1-2 files, clear spec, boilerplate |
| Integration | Standard | Multi-file coordination, pattern matching, debugging within scope |
| Architecture/Review | Most capable | Design judgment needed, broad codebase understanding, quality gates |
**Routing is real** — apply via the Agent tool's `model` parameter at dispatch (omit to inherit the session model for judgment-heavy tasks).
## Drive-Aligned Framing
**Proceeding to implementation with a flawed plan is NOT HELPFUL — subagents will struggle with coarse tasks, miss steps, and build the wrong thing.**
You know the plan has gaps. Implementation subagents will struggle with tasks that are too coarse, miss steps that aren't documented, and build the wrong thing when spec requirements are silently dropped.
**Fix the plan now. It costs minutes, not hours.**
## Gate Function
```
1. IDENTIFY: `.planning/PLAN.md` exists and user approved
2. DISPATCH: Send to revRelated in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.