agentleFS
nnguyenquanggnnguyenquangg/claude-code-spec-driven-development/skills/make-plan/SKILL.md

make-plan

Skill22 starsChanged 10 days agoMITView on GitHub

PHASE 1 (Plan & Specify) of the spec-driven pipeline — takes a plain-language goal and produces reviewable specs + ADRs, then STOPS for human review. Does NOT write production code. Adaptive — how hard it interrogates the user depends on how clear the task is. Resume-aware. Hand off to /implement-specs once the specs/ADRs are approved. Triggers on "make-plan", "/make-plan", "plan this", "spec this out", "write the specs".

14 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use oh-my-issues, what-the and 8 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.
  • tuliosalustiano27Skill

    oh-my-issues

    Cluster a GitHub issue backlog by root cause into a small set of plan-master issues, redirect children with a standardized comment, and bundle architectural-fix PRs that close clusters atomically. Use when an issue tracker has accumulated dozens of reports that share underlying defects, when asked to triage / consolidate / cluster / dedupe issues, when asked to build a plan series or roadmap from open issues, or when routing a new incoming bug into an existing plan.

    Also in 3 projects that use this

  • tuliosalustiano27Skill

    what-the

    What the? Use when the user wants a plain-English breakdown of something technical — the who, what, where, why, and when.

    Also in 3 projects that use this

  • barrelcSkill

    mem-search

    Search kimi-mneme's persistent cross-session memory database. Use when user asks "did we already solve this?", "how did we do X last time?", "what did we do yesterday?", or needs work from previous sessions.

    Also in 5 projects that use this

  • thedotmackSkill

    pathfinder

    Map a codebase into feature-grouped flowcharts, identify duplicated concerns across features, and propose a unified architecture. Use when asked to "find the ideal path," unify duplicated systems, or audit architecture before a refactor. Emits a proposed unified flowchart plus per-system /make-plan prompts.

    Also in 4 projects that use this

  • dqtx760Skill

    timeline-report

    Generate a "Journey Into [Project]" narrative report analyzing a project's entire development history from claude-mem's timeline. Use when asked for a timeline report, project history analysis, development journey, or full project report.

    Also in 3 projects that use this

  • tunnckoCoreSkill

    how-it-works

    Use for 'how does X work', code walkthroughs before changing something, and placement / ownership / layering questions ('where should this live', 'which package owns this', 'is this the right layer'). Explains subsystem architecture, runtime flow, onboarding mental models. Can critique architecture. Use why for motivation.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 14 edited versions we read keep these.

  • 2

    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. Distinctive:

    When unsure between two lanes, pick the more cautious one — planning is cheap, a wrong spec is expensive.

    line 38
  2. Very specific:

    Run openspec-propose / /opsx:propose "<goal, enriched with what you learned>" to scaffold the change and generate …

    line 46
  3. Very specific:

    Do not fix code here (this is still Phase 1, no production code) — record the issues so the reviewer sees them and /implement-specs handles …

    line 56
  4. Distinctive:

    Do not start coding. Present a tight review package and stop:

    line 65

“Common” is measured: kept by at least 6 in 10 of the 14 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

make-plan — Phase 1: Plan & Specify (stops at review)

The user gives a goal in plain language. You turn it into reviewable artifacts — proposal, design, delta specs, tasks, and ADR(s) for the significant decisions — then STOP and hand them to the user/reviewer. You do not implement production code here; that is /implement-specs (Phase 2), which runs after the specs and ADRs are approved.

How hard you interrogate depends on how clear the task is — clear tasks get a light pass, fuzzy tasks get grilled. Always announce the lane and let the user override.

Sub-skills you compose (Skill tool or slash command):

  • grill-me — interview the user to firm up an unclear plan
  • openspec-explore / /opsx:explore — think through a fuzzy/large problem
  • openspec-propose / /opsx:propose — generate proposal + design + delta specs + tasks
  • task-analyzer / dev-workflows:technical-designer — size up the task and author ADRs / Design Docs

Step 0 — Resume check (always first)

openspec list --json
  • Change for this goal exists with specs but not yet implemented → it's already planned; tell the user to run /implement-specs (don't redo planning). Offer to revise the specs if they want.
  • Change in progress with code / partial tasks → planning is done; point them to /implement-specs to continue.
  • Archived → done; ask if this is a new follow-up goal.
  • Otherwise → start fresh at Step 1.

Step 1 — Assess clarity, pick the lane

Rate the goal and announce the rating + lane before doing anything. Base it on: are requirements/constraints concrete? is there an existing spec/code precedent? how big is the blast radius?

LaneLooks likegrill-meexploreADRs
🟢 Clearconcrete, scoped, has precedent (e.g. "add phone to client API, required, E.164")skipskipusually none (note decisions inline in design.md)
🟡 Mediumknown shape, some open decisions (e.g. "add Excel export to P&L report")a few questionsskipADR for each non-trivial choice
🔴 Fuzzy / largevague or cross-cutting (e.g. "build a tax-reminder system")grill hardyesADRs for each architectural decision
  • State it plainly: "Rating this 🟡 — I'll ask a few questions, propose, write ADRs for the key decisions, then stop for your review."
  • User can override anytime ("go light" → 🟢; "grill me hard" → 🔴).
  • When unsure between two lanes, pick the more cautious one — planning is cheap, a wrong spec is expensive.

Step 2 — Clarify (lane-dependent)

  • 🟢 → skip.
  • 🟡 → grill-me, kept short (only genuinely open decisions; anything answerable from the codebase, read the codebase instead).
  • 🔴 → /opsx:explore to map the problem, then grill-me thoroughly until shared understanding.

Step 3 — Propose

Run openspec-propose / /opsx:propose "<goal, enriched with what you learned>" to scaffold the change and generate proposal/design/delta-specs/tasks.

Step 4 — ADRs for the significant decisions

For each architectural / cross-cutting / hard-to-reverse decision the change makes, record an ADR (context → decision → alternatives considered → consequences). Use dev-workflows:technical-designer / documentation-criteria for the format.

  • Location: if the repo already uses docs/adr/, add docs/adr/NNNN-<slug>.md there; otherwise capture them in a ## Decisions (ADR) section of the change's design.md.
  • Scope by lane (table above). Don't manufacture ADRs for trivial 🟢 changes — a one-line note in design.md is enough.

Step 5 — Review the existing code the change will touch (find issues up front)

Before locking the plan, code-review the existing code in the area this change will modify or build on — so the specs/ADRs account for real bugs, tech-debt, risky coupling, and reusable pieces instead of discovering them mid-build. Use the dev-workflows:code-reviewer agent or the fullstack-dev-skills:code-reviewer / built-in code-review skill, whichever is present (skip only if there's genuinely no existing code to touch — a greenfield area). Point it at the relevant files (find them via Grep/Explore) and the project CLAUDE.md.

  • Fold its findings into the plan: a ## Existing-code risks section in proposal.md (or design.md), an ADR if a finding forces a design decision, and concrete cleanup items in tasks.md when they're in scope.
  • Do not fix code here (this is still Phase 1, no production code) — record the issues so the reviewer sees them and /implement-specs handles them.

Step 6 — Recommend the implementation experts (record, don't run)

Analyze the task — reuse task-analyzer's output if it dispatched here, otherwise run its §3 Size (essence, type, scale, tags & experts) now — plus the stack (host CLAUDE.md / package.json / ORM schema / file types), then recommend the tech-expert skills that /implement-specs should use to code — so the reviewer sees them too.

  • Discover from skills actually present in this environment (e.g. fullstack-dev-skills:nestjs-expert, :postgres-pro, :react-expert, :typescript-pro, nextjs-developer, :test-master). Never name an unavailable skill.
  • Pick a primary + 0–2 supporting (≤3 total), one line of reasoning each.
  • Write the recommendation into the change (a ## Implementation experts note in design.md or tasks.md) so /implement-specs can pick it up.

Step 7 — STOP for review (the hand-off)

Do not start coding. Present a tight review package and stop:

  • What to review: proposal.md, the delta specs, tasks.md, and the ADR(s) — with their paths.
  • The recommended experts.
  • Any open question the reviewer must settle.
  • Closing line: "Specs + ADRs are ready for review. Once approved, run /implement-specs to build (spec-loop will code → review → fix until it matches)."

Guardrails

  • Phase 1 only. NEVER write production code in /make-plan — that belongs to /implement-specs. (Scaffolding the OpenSpec artifacts + ADR docs is expected; application/source code is not.)
  • Announce the lane and each phase transition in one line.
  • Honest about open questions — surface ambiguities for the reviewer instead of guessing.
  • Respect the host project's CLAUDE.md conventions.
  • One goal at a time.

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.