skills/plan-creator/SKILL.md
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.
npx skillsauth add mblode/agent-skills plan-creatorInstall 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.
Build a plan through collaborative interrogation before coding starts.
plan-reviewer), an implementer or code generator, or a PR author (use pr-creator)Pipeline position: plan-creator → plan-reviewer → implementation → pr-reviewer → pr-creator → pr-babysitter. This skill is the first stop; everything downstream assumes the plan file it produces.
Every question and recommendation filters through these principles (ordered by priority):
These mirror define-architecture's principles; when two conflict, the higher-numbered yields.
| File | Read when |
|------|-----------|
| references/interrogation-protocol.md | Starting Step 2: question decision tree, recommended-answer format, fuzzy term patterns, anti-rationalization table |
| references/doc-grounding.md | Step 1, when design docs, RFCs, ADRs, or library/API docs are relevant: how to find them, extract the decisions they encode, and grill the rationale |
| references/html-question-form.md | Step 2, optional: generating a batched HTML question form for large or greenfield specs instead of one-at-a-time chat |
Plan creation progress:
- [ ] Step 1: Understand intent (read the request, scan code and docs, state findings)
- [ ] Step 2: Interrogate (one question at a time; end with the "radically simpler?" challenge)
- [ ] Step 3: Synthesize (write the plan file, format matched to scope)
- [ ] Step 4: Validate (check the plan against the original request, report the path)
- [ ] Step 5: Hand off (offer plan-reviewer)
Before asking the user anything, scan both the code and the docs:
references/doc-grounding.md for how to find docs, extract the decisions they encode, and the rationale behind them.State what you found in 2-3 sentences before the first question. This grounds the interrogation in reality and shows the user you did the homework.
Load references/interrogation-protocol.md. Ask ONE question at a time. Every question carries a recommended answer grounded in what Step 1 found: name the file, the function, the approach.
Key rules:
Budget: 5-10 questions, then synthesize.
Mandatory simplicity challenge (ask before synthesizing): Step back from the individual decisions and ask the user: "Can this whole PR be radically simpler?" Look for scope that can be cut, decisions that collapse into one, a new abstraction that duplication would beat, and layers a tracer-bullet slice could defer. Carry a recommended answer like every other question. This challenges the sum of the plan, not each piece.
Batch mode (optional): For large or greenfield specs with many independent questions, generate a single local HTML form the user fills in at once. Load references/html-question-form.md for the template and the batch-vs-sequential decision table. Keep one-at-a-time as the default whenever answers should shape later questions.
Escape hatch: If the user says "just write the plan" or "enough questions", push back once using the anti-rationalization table, then respect their call and skip to Step 3.
Write the plan file to ~/.claude/plans/. Match the format to the scope:
Lightweight changes (single file, clear approach):
# [Title]
## Context
[Why this change, one paragraph]
## Approach
[What to do]
Standard changes (multiple files, decisions made):
# [Title]
## Context
[Why this change: the problem, what prompted it, intended outcome]
## Approach
[What to do, the recommended approach only]
## Key decisions
[Decisions from interrogation with brief rationale]
## Files to modify
[Critical files, grouped by purpose]
## Out of scope
[Files or behaviors that look related but must not change, each with a one-line reason]
## Verification
[How to test end-to-end: each item is a command plus its expected result, so success is never a judgment call]
Keep plans concise enough to scan quickly, detailed enough to execute without re-reading the conversation. Record only the chosen approach; rejected alternatives belong in Key decisions as one-line rationale, not as parallel options.
Handoff plans: when the plan will be executed by a different agent or session (captain, cmux, handoff), the executor has not seen this conversation. Inline any code excerpts and conventions it needs (with file:line markers), and add a STOP conditions section: assumptions that, if false, mean stop and report back rather than improvise.
Before handing off, check:
If anything fails, fix it in the plan directly; don't reopen the interrogation. Then report the evidence: the plan file path and a one-line confirmation that each check passed.
Offer the next pipeline stage: "Plan written to <path>. Run plan-reviewer to stress-test it before implementation?"
~/.claude/plans/, nothing else. Implementation happens after plan-reviewer.plan-reviewer's job. Here you propose, the user reacts, you refine.Pipeline order: plan-creator → plan-reviewer → implementation → pr-reviewer → pr-creator → pr-babysitter.
plan-reviewer: adversarial review of the plan this skill produces; always offer it at hand-offdefine-architecture: architectural decisions that feed into plansdevelopment
Fans out four concurrent review agents over the current diff, then APPLIES fixes directly to the working tree and verifies the build. Mutates code; it does not produce a report. Covers reuse (duplicate logic, hand-rolled stdlib, reinvented platform features), quality (hacky patterns, React/TypeScript hygiene, over-memoisation, exhaustive-deps, `any`, dead code, `CLAUDE.md`/`AGENTS.md` violations), efficiency (unnecessary work, missed concurrency, hot-path bloat), and test discipline (bug fixes without a repro test, useless tests to delete, missing tests only when they prevent a named failure). Use when the user says "tidy this up", "simplify", "clean up this diff", "polish my changes", "check for duplication", or "any reuse opportunities?", i.e. when the intent is to have the changes made automatically. For a read-only report that lists findings without touching files, use `pr-reviewer` instead. This skill edits code; for the PR's title, description, or commit history, use `pr-creator`.
development
Decides what an interface should do before UI is built or audited: interaction choice, action scope and consequence, reachable states, resilience, and accessibility as task completion. Works from a brief, spec, mockup, intent, or existing UI. Use when asked "is this the right interaction", "design the flow", "what control should this use", "what should this action affect", "which states should this have", "make this resilient", or "what breaks here". For building or styling use ui-design; for built-code audits use ui-audit; for copy wording use copywriting.
development
Builds and stress-tests implementation plans in two modes. Create mode scans code and docs, asks one question at a time with a recommended answer, runs a blindspot pass when the user is new to the area, then writes a plan file. Review mode scores completeness, feasibility, scope, testability, risk, and assumptions, verifies checkable claims, and writes resolutions back until every dimension reaches 5/5. Use when asked to "create a plan", "plan this feature", "I want to build X", "grill me", "think this through", "blindspot pass", "unknown unknowns", "this is new to me", "review my plan", "rubber duck this", "stress test this plan", "is this plan ready", "get this plan to 5/5", "what am I missing", "verify this claim", "prove this plan", "fact-check this plan", or when the user explicitly wants a plan artifact before implementation. For code review use pr-reviewer; for architecture briefs use define-architecture.
tools
Audits the smallest relevant developer-facing surface of a library, CLI, SDK, or npm package across API contracts, errors, CLI behavior, public types, onboarding, and config. Uses candidate-first rule loading, bounded local evidence, and compact root-cause findings. Use when asked to "audit my CLI", "make this CLI agent-friendly", "is this API ergonomic", "review the developer experience", "improve these errors", "simplify first run", or "review my SDK". For end-user UI use ui-audit, for agentic-app trust use ax-audit, for docs prose use docs-writing, for README work use readme-creator, and for repo architecture use define-architecture. Inside a product that also ships a UI, this is the skill for the developer-facing half, so pick it when the complaint is about an import, command, error string, exported type, or config rather than a screen.