skills/plan/SKILL.md
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices. Use after /hb:prd.
npx skillsauth add helderberto/skills planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Break a PRD 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.
The argument (if provided) is: $ARGUMENTS
Use argument as <slug>. If empty, list PRDs as numbered options and wait for the user's choice.
Read .specs/prds/<slug>.md. If missing, list PRDs as numbered options and wait for the user's choice.
If .specs/plans/<slug>.md exists, present options and wait:
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.
Before slicing, extract decisions that hold across all phases:
Each phase: thin vertical slice through all layers (schema → service → API → UI → tests). Demoable alone.
Deriving tasks from the PRD:
| PRD 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:
Count "modules touched" by scanning the PRD's New Modules and Schema Changes sections.
Assign an agent tag to tasks where appropriate:
[agent:debugger] — tracing a bug or unexpected runtime behavior[agent:test-auditor] — writing or reviewing tests[agent:code-reviewer] — reviewing API surfaces, interfaces, or public contractsPresent breakdown (title, user stories covered, done-when per phase). Present options and wait:
Iterate until approved.
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 PRD>
### 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 PRD verbatim.
## Open Questions
Gaps found in the PRD needing resolution. Blank if none.
Print one line per phase: Phase N — <title> (<condition summary>). Present options and wait:
/hb:build <slug> (Recommended)/hb:check <slug>To implement this plan phase by phase, run /hb:build <slug>. It handles branch creation, implementation, feedback loops, checkbox marking, and commits — one phase per invocation.
testing
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
documentation
Compact the current conversation into a handoff doc so a fresh agent can continue the work. Use when user asks to "handoff", "/handoff", "hand this off", or wants to end a session mid-task. Don't use for summarising completed work, writing PRDs/plans/ADRs, or committing changes.
development
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill, or asks "make a skill for X".
development
Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.