Plan
Turn a spec into a multi-phase implementation plan using tracer-bullet vertical slices. Use after /spec when a spec exists at `.specs/specs/<slug>.md`, or when the user asks to break work into phases or slices. Don't use without a spec, or for single-file changes with obvious scope.From its SKILL.md
npx -y skills add helderberto/agent-skills --skill planAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.1 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Plan
Break a spec into phased vertical slices (tracer bullets).
Interactive prompts: present options as a numbered list and wait for the user's choice.
Output: .specs/plans/<slug>.md.
Input
The argument (if provided) is: $ARGUMENTS
Use argument as <slug>. If empty, list specs as numbered options and wait for the user's choice.
Workflow
1. Read the spec
Read .specs/specs/<slug>.md. If missing, list specs as numbered options and wait for the user's choice.
If .specs/plans/<slug>.md exists, present options and wait:
- Overwrite existing (Recommended)
- Pick a new name
2. Explore the codebase
Map architecture, patterns, integration points. Skip if codebase context exists from prior step.
Research protocol: codebase first, then docs. Unverifiable claims → flag as uncertain, never fabricate.
3. Identify durable architectural decisions
Before slicing, extract decisions that hold across all phases:
- Route structures / URL patterns
- Database schema shape
- Key data models and definitions
- Auth/authorization approach
- Third-party service boundaries
4. Draft vertical slices
Each phase: thin vertical slice through all layers (schema → service → API → UI → tests). Demoable alone.
Deriving tasks from the spec:
| Spec Section | Becomes |
|---|---|
| New Modules | Implement module with interface |
| Schema Changes | Migration + validation |
| API Contracts | Route returning shape |
| Navigation | Wire component to route |
| User Stories | Verify coverage; add task if missing |
| Testing Decisions | Tests land in the phase where their module lands |
| Out of Scope | Never create tasks for these |
Within each slice, order by dependency: schema → service → API → UI → tests. Happy paths before edge cases.
Phase naming: use a goal phrase answering "what can we demo when this is done?" (e.g., "Phase 1 — Revenue visible end-to-end"), not a layer name.
Done when: checkbox list of atomic, verifiable conditions. Each must name a test file/name, a shell command, or a file+content to verify. No prose-only conditions. Test: "Can an agent verify by reading files, running a command, or checking a test?"
Layer-by-layer exception: if complex schema changes underpin all modules and no story stands alone, build data foundation first, then slice vertically.
Phase count thresholds:
- 1 module touched → 2–3 phases max
- 2–3 modules touched → 3–5 phases max
- 4+ modules or 6+ phases → stop and present options:
- Split the spec (Recommended)
- Continue anyway
Count "modules touched" by scanning the spec's New Modules and Schema Changes sections.
Assign an agent tag to tasks where appropriate:
[skill:diagnose]— tracing a bug or unexpected runtime behavior[agent:test-auditor]— writing or reviewing tests[skill:code-review]— reviewing API surfaces, interfaces, or public contracts
5. Quiz the user
Present breakdown (title, user stories covered, done-when per phase). Present options and wait:
- Looks good, proceed (Recommended)
- Merge some phases
- Split a phase
Iterate until approved.
6. Save plan
Save to .specs/plans/<slug>.md (create dir if missing).
# Plan: <Feature Name>
Use this structure for the plan body:
## Architectural Decisions
Durable decisions that apply across all phases:
- **Key decision**: ...
---
## Phase 1 — <Goal>
**User stories**: <list from spec>
### What to build
Concise description of this vertical slice — end-to-end behavior, not layer-by-layer.
### Done when
- [ ] Atomic, testable condition
- [ ] Another testable condition
---
<!-- Repeat for each phase -->
## Out of Scope
Carried forward from spec verbatim.
## Open Questions
Gaps found in the spec needing resolution. Blank if none.
Print one line per phase: Phase N — <title> (<condition summary>). Present options and wait:
- Run
/build <slug>(Recommended) - Run
/test <slug> - Done for now
Execution guidance
To implement this plan phase by phase, run /build <slug>. It handles branch creation, implementation, feedback loops, checkbox marking, and commits — one phase per invocation.
Rules
- Phases derive from spec user stories — never invented
- Each phase must be demoable end-to-end on its own
- "Done when" must be a checkbox list of testable conditions, not prose
- Safety valve: if a phase has >5 "Done when" items, stop and split it into smaller phases before continuing
- Never modify the source spec content
- Carry spec's Out of Scope forward verbatim
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 2 of the 12 instructions most plan spec skills give in ~1.1k tokens
Counted across 1,360 of the 2,617 authors here whose files we hold, read 2026-09-06
- Ask one question at a timein 73 of 1360
- Write the spec using the templatein 22 of 1360
- Ask clarifying questions if neededin 19 of 1360, across 18 files
- Wait for user confirmation before proceedingin 19 of 1360
- Save plans to the plans directoryin 17 of 1360, across 13 files
- Check for product marketing context firstin 16 of 1360, across 5 files
- Read the plan file completelyin 16 of 1360
- Order tasks by dependencyhere, and in 16 of 1360
- Gather context from the conversationin 15 of 1360, across 9 files
- Explore the codebase instead of askingin 15 of 1360, across 13 files
- Wait for explicit user approvalin 14 of 1360, across 13 files
- Quiz the user on the breakdownhere, and in 13 of 1360, across 7 files
Said here and by no other author read
- Break spec into phased vertical slices
- Present options as a numbered list
- Flag unverifiable claims as uncertain
- Define done when as a checkbox list
- Never modify the source spec content
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.