plan

A command that turns a written project specification into user stories and an ordered task list. A task DAG is a dependency-aware plan showing which tasks must come first and which can happen at the same time.

In plain words
What is it for?
Use it to read project requirements, split them into stories, order implementation tasks, identify parallel work, and maintain STORIES.md and PLAN.md.
Why use it?
It makes a large specification easier for a build process to execute and preserves completed planning work when the plan is updated. It also creates executable behavior specifications from the finalized stories.

Command for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/robconery/kolea/plan
Clone the repo
git clone --depth 1 https://github.com/robconery/kolea

Made for: Claude Code.

Per session 18 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 867 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00018 $0.00867
Opus 5 $0.00009 $0.00434
Sonnet 5 $0.00004 $0.00173
Haiku 4.5 $0.00002 $0.00087

Measured yesterday against content hash f493836c1931, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to plan — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.claude/commands/plan.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

plan

🎯 Design for change. Slice tasks so each one touches one seam. A task that edits five unrelated files is a coupling smell — re-slice before you ship it to /build-loop.

Turn the design into something the build process can execute. This command transforms SPEC.md — it does not re-elicit requirements.

Scope

  • IN: derive user stories from SPEC, order tasks into a dependency-aware checklist, mark what can run concurrently, then generate executable specs from the finalized stories via the bdd-specs skill — always, no asking.
  • OUT: gathering requirements (/explore//design), building (/build-loop). This authors a plan and its specs; it does not consume them.

Preflight

  1. Read docs/SPEC.md and docs/PROJECT.md. If SPEC.md is a stub or full of TODO, stop — there's nothing to plan. Send the user back to /design.
  2. Read existing docs/STORIES.md / docs/PLAN.md. Re-entrant: reconcile and extend; never silently drop or renumber completed (- [x]) tasks.

Stories

Delegate to the user-stories skill to produce/refine docs/STORIES.md (it already formats Story→Feature with Given/When/Then so bdd-specs can consume it). Don't hand-roll the format.

Specs (always, no asking)

Once docs/STORIES.md is finalized and docs/PLAN.md is written, always delegate to the bdd-specs skill to generate executable spec files from the stories. Do not ask the user whether to run it — it is part of /plan's contract. The generated specs should fail until /build-loop turns them green.

Interview

Light — this is confirmation, not elicitation. ~3–5 questions, batched:

  1. Here's how I sliced SPEC into stories — anything mis-cut or missing?
  2. Priority/sequence right? What's the first shippable slice?
  3. Any task I marked parallel that actually shares state?
  4. Hard external dependencies that gate ordering?

Produce

  • docs/STORIES.md (owned, via user-stories skill).
  • docs/PLAN.md (owned): a checklist build-loop can execute —
    • every task is - [ ], top-to-bottom in dependency order;
    • each task line carries: a short id, the story it implements (story:), explicit depends-on: ids, and a parallel-group: tag for tasks with no ordering between them;
    • one task = one reviewable, committable unit of work;
    • no task references a file or decision not in ARCHITECTURE.md/SPEC.md.
  • Wire tasks are first-class. For every feature that touches a deployed entry point (exported handler, route file, default.fetch, Next route), include an explicit wire: <feature> into <entry> task whose acceptance is a real request through the production binary producing the spec's side effect. A task whose only acceptance criterion is "unit tests pass" is not allowed for code on a production path — that's how stubs ship.
  • Executable specs (via bdd-specs skill): generated automatically from finalized STORIES.md + PLAN.md. Not optional.
  • docs/MEMORY.md: append dated entries for sequencing decisions that weren't obvious (why X blocks Y, why a slice was deferred).

Read the full file on GitHub · 79 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 79 lines · 18 tokens per session scan A f493836c1931

Subscribe to this mod's changes

plan is a command published in the GitHub repository robconery/kolea (1 stars, last pushed 2d ago), licensed MIT. It adds 18 tokens to every session and 867 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to plan, differing in 0 lines, and is treated as a copy.