MCPInstall

plan-creator

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.

Installs
98
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/mblode/agent-skills --skill plan-creator
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads plan-creator automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Plan Creator

Build a plan through collaborative interrogation before coding starts.

  • IS: A dialogue partner that explores the codebase first, asks sharp questions one at a time with recommended answers, and synthesizes a plan file
  • IS NOT: A reviewer or stress-tester of an existing plan (use 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.

Core lens

Every question and recommendation filters through these principles (ordered by priority):

  1. KISS: the simplest thing that works. As simple as possible, but no simpler (don't cut a current requirement to look lean).
  2. YAGNI: every piece justified by a current requirement.
  3. Easier to change: isolate concerns so future changes stay local.
  4. Tracer bullet: deliver a minimal working slice across the full stack first.
  5. Duplication over wrong abstraction: extract shared code only after 3+ consumers need it.

These mirror define-architecture's principles; when two conflict, the higher-numbered yields.

Reference files

FileRead when
references/interrogation-protocol.mdStarting Step 2: question decision tree, recommended-answer format, fuzzy term patterns, anti-rationalization table
references/doc-grounding.mdStep 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.mdStep 2, optional: generating a batched HTML question form for large or greenfield specs instead of one-at-a-time chat

Workflow

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)

Step 1: Understand intent

Before asking the user anything, scan both the code and the docs:

  • Identify the modules, files, and patterns that relate to the request
  • Note existing conventions, abstractions, and boundaries
  • Look for prior art: has something similar been built here before?
  • Read relevant documentation: design docs, RFCs, ADRs, and READMEs in the repo, plus referenced library/API docs and any spec the user points to. Load 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.

Step 2: Interrogate

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:

  • If a question is answerable by reading code or docs, answer it yourself and move on; never spend a user question on it
  • One question at a time: each answer shapes the next question
  • Walk the decision tree in the protocol: resolve intent and scope before approach, approach before risks
  • Flag fuzzy terms ("handle auth", "make it fast"): propose a sharp version and ask if it is right, instead of asking what they meant
  • Surface tensions with existing code: "The codebase does X. You're proposing Y. Which wins?"
  • Grill the core decisions: when docs reveal a decision (a chosen approach, a constraint, a rejected alternative), interrogate why it was made and whether the rationale still holds for this work. Never re-ask what the docs already answer; pressure-test the reasoning instead.

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.

Step 3: Synthesize

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.

Step 4: Validate

Before handing off, check:

  • Does the plan answer the user's original request?
  • Did every interrogation answer land in the plan? An answer that never made it in was a wasted question.
  • Radically-simpler gate: Is this the simplest viable slice? Re-run the Core lens against the whole plan. If any scope, decision, or abstraction could be cut or deferred without dropping a current requirement, cut it now before handing off. The plan does not pass until this is true.
  • Are there unstated assumptions that should be explicit?

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.

Step 5: Hand off

Offer the next pipeline stage: "Plan written to <path>. Run plan-reviewer to stress-test it before implementation?"

Gotchas

  • Don't ask a question the codebase or docs already answer; the user notices, loses trust in the interrogation, and starts rubber-stamping answers. Explore first.
  • Don't re-ask what a doc plainly states; grill the why behind the decision. Re-asking the what signals Step 1 was skipped.
  • Don't batch questions into one message outside explicit HTML batch mode; answers can no longer shape follow-ups, so you end up planning against guesses.
  • Don't pose a question without a recommended answer; a bare question hands the blank page back to the user, which is the exact failure this skill exists to prevent.
  • Don't write code or start implementing; the deliverable is the plan file in ~/.claude/plans/, nothing else. Implementation happens after plan-reviewer.
  • Don't turn adversarial ("that won't work because..."); stress-testing is plan-reviewer's job. Here you propose, the user reacts, you refine.
  • Don't exceed 10 questions; past that, the scope is too large for one plan. Say so and propose a split instead of question 11.
  • Don't close with "anything else?"; it invites noise answers that bloat the plan. Synthesize what you have.
  • Don't write "verify it works" as a verification step; pair every check with the command to run and its expected result, so the executor never judges success by feel.
  • Don't use the standard template for a trivial one-file change; a heavyweight plan buries the one instruction that matters.
  • Don't let the plan accrete scope question by question; the Step 2 simplicity challenge exists to claw it back before synthesis.

Related skills

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-off
  • define-architecture: architectural decisions that feed into plans

FAQ

What does the plan-creator skill do?

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.

How do I install plan-creator?

Run npx skills add https://github.com/mblode/agent-skills --skill plan-creator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/plan-creator/ (personal) or .claude/skills/plan-creator/ (project).

Which AI agents can use plan-creator?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is plan-creator safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains plan-creator?

It is published by mblode in mblode/agent-skills. It has 98 recorded installs.

More from mblode/agent-skills

View all →

ui-animation

mblode/agent-skills

Builds, reviews, and measures UI motion, including springs, gestures, scroll effects, curve fitting from recordings, and sparse interface sound. Use when asked to "add animation", "match this easing", "reverse engineer this motion", "add a click sound", or find animation opportunities.

Frontend & Design10.5K installs

multi-tenant-architecture

mblode/agent-skills

Designs tenant isolation, hostname routing, custom-domain lifecycle, and plan limits on Cloudflare or Vercel. Use when asked to "isolate tenant data", "support custom domains", "build a white-label platform", or assess PSL registration. For general module structure use codebase-architecture; for SEO content use seo.

ui-design

mblode/agent-skills

Designs and builds React/Next/Tailwind UI, audits visual and interaction defects, and stress-tests components with worst-case data. Use when asked to "build a landing page", "extract our design system", "add dark mode", "make this responsive", "remove UI slop", "audit this component", "stress-test this component", "break this UI", or "show me the worst case".

Frontend & Design1.4K installs

typography-audit

mblode/agent-skills

Audits font loading, type scales, measure, spacing, OpenType, and rendered punctuation with 78 scoped rules. Use when asked to "audit typography", "fix the fonts", or "review my type system". For a new visual direction use ui-design Direction; for general UI defects use ui-design Audit.

agent-skills-creator

mblode/agent-skills

Creates and improves portable Agent Skills with a validator, routing scenarios, and evidence-based keep, cut, merge, or retire decisions. Use when asked to "write a skill", "update all skills", "audit my SKILL.md", "remove redundant instructions", or fix skill triggering.

AI & Agents965 installs

docs-writing

mblode/agent-skills

Writes and audits technical docs with Diataxis type gating, runnable examples, and 51 documentation rules. Use when asked to "review my docs", "write an API reference", or improve a documentation page. For a whole README use readme-creator; for agent instructions use agents-md.

Docs & Writing948 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.