Skip to content
Development
Command

/plan

Turn an approved spec into an implementation plan an engineer with zero context could execute — with a quality controller that blocks placeholders and hollow tasks.

BOOST
From plugin
procoder
21130 skills30 commands2 hooks
Install
> /plugin marketplace add azrtydxb/procoder
> /plugin install procoder@procoder

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/plan

Context preview

What this command does when you run it.

Turn an approved spec into an implementation plan an engineer with zero context could execute — with a quality controller that blocks placeholders and hollow tasks.

Command definition

plan.md
description: "Turn an approved spec into an implementation plan an engineer with zero context could execute — with a quality controller that blocks placeholders and hollow tasks."

The user invoked /procoder:plan with arguments:

The launcher is: "${CLAUDE_PLUGIN_ROOT}/hooks/launcher.sh"

Plans live under `.procoder/plans/`, the middle link of the chain: spec (what and why) → plan (how, exactly) → todo (tracked, quality-gated execution). Write the plan for an engineer who is skilled but knows nothing about this codebase and its domain: every task self-contained, every value literal, nothing left to taste.

With a name in the arguments, start (or resume) that plan. With `check` or `list`, run the matching subcommand. With no arguments, run `launcher.sh plan list` and report.

The workflow:

1. Start from a COMPLETE spec (`launcher.sh spec check <name>` says so). No spec → run /procoder:spec first; the thinking happens before the plan, not inside it. 2. `launcher.sh plan template <name>` prints the shape; write it to the printed path and fill it:

  • **Goal** — one sentence. **Architecture** — two or three.
  • **Constraints** — project-wide requirements every task inherits

(version floors, naming rules, exact copy), taken verbatim from the spec. Every task implicitly includes this section.

  • **Tasks** (`## Task N: <name>`) — the smallest unit that carries its

own test cycle and is worth a reviewer's gate. Fold setup, config, and docs into the task whose deliverable needs them; split only where a reviewer could reject one task while approving its neighbour. Each task carries:

  • `Files:` — every file created or modified, one responsibility each.
  • `Interfaces:` — the exact names and signatures this task consumes

from earlier tasks or produces for later ones. A task's implementer sees only their own task; this line is how they learn what their neighbours call things.

  • Checkbox steps, one action each: write the failing test (with the

literal test code or command and `expect FAIL with "..."`), implement minimally, run to pass, commit. 3. Never write these — they are plan failures, not plans: "TBD", "TODO", "implement later", "add appropriate error handling", "handle edge cases", "write tests for the above" (without the test code), or "similar to Task N" (repeat the code — tasks are read out of order). 4. Run `launcher.sh plan check <name>` after each pass; it names the remaining gaps. Keep writing until it says COMPLETE. Then self-review once against the spec: point to the task that covers each spec requirement, and check names stay consistent across tasks (a function renamed between Task 3 and Task 7 is a bug). 5. When COMPLETE: seed the todo list — `launcher.sh todo add` one task each, acceptance criteria from the task's steps (see /procoder:todo) — and execute task by task, gate-clean after each. If reality contradicts the plan mid-build, update the plan first and re-check.

Read more
Ships withprocoder

Senior-developer discipline for AI coding agents. A commit gate that counts unchecked as failing, quality controllers that refuse to call unfinished work done, and a lessons loop that closes each escaped bug's class. One Go binary, no runtime deps, works with 20+ agents.

Get the whole plugin
Stats
210
Stars
17
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
1d ago
Last commit
2mo ago
Created
5h ago
Added

Repo: azrtydxb/procoder

Other commands on procoder.

adr
Command

adr

Architecture decision records: durable decisions with their date, context, and consequences — supersede, never rewrite.

@azrtydxb@azrtydxbInstall Command