{"id":"13d28057-7649-4745-be19-f235177c2ed3","shortId":"G4ZxLB","kind":"skill","title":"plan","tagline":"Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices. Use after /hb:prd.","description":"# PRD to Plan\n\nBreak a PRD into phased vertical slices (tracer bullets).\n\n**Interactive prompts**: present options as a numbered list and wait for the user's choice.\n\nOutput: `.specs/plans/<slug>.md`.\n\n## Input\n\nThe argument (if provided) is: $ARGUMENTS\n\nUse argument as `<slug>`. If empty, list PRDs as numbered options and wait for the user's choice.\n\n## Workflow\n\n### 1. Read the PRD\n\nRead `.specs/prds/<slug>.md`. If missing, list PRDs as numbered options and wait for the user's choice.\n\nIf `.specs/plans/<slug>.md` exists, present options and wait:\n\n1. Overwrite existing (Recommended)\n2. Pick a new name\n\n### 2. Explore the codebase\n\nMap architecture, patterns, integration points. Skip if codebase context exists from prior step.\n\n**Research protocol**: codebase first, then docs. Unverifiable claims → flag as uncertain, never fabricate.\n\n### 3. Identify durable architectural decisions\n\nBefore slicing, extract decisions that hold across all phases:\n\n- Route structures / URL patterns\n- Database schema shape\n- Key data models and definitions\n- Auth/authorization approach\n- Third-party service boundaries\n\n### 4. Draft vertical slices\n\nEach phase: thin vertical slice through all layers (schema → service → API → UI → tests). Demoable alone.\n\n**Deriving tasks from the PRD:**\n\n| PRD Section       | Becomes                                          |\n| ----------------- | ------------------------------------------------ |\n| New Modules       | Implement module with interface                  |\n| Schema Changes    | Migration + validation                           |\n| API Contracts     | Route returning shape                            |\n| Navigation        | Wire component to route                          |\n| User Stories      | Verify coverage; add task if missing             |\n| Testing Decisions | Tests land in the phase where their module lands |\n| Out of Scope      | Never create tasks for these                     |\n\n**Within each slice, order by dependency:** schema → service → API → UI → tests. Happy paths before edge cases.\n\n**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.\n\n**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?\"\n\n**Layer-by-layer exception:** if complex schema changes underpin all modules and no story stands alone, build data foundation first, then slice vertically.\n\n**Phase count thresholds:**\n\n- 1 module touched → 2–3 phases max\n- 2–3 modules touched → 3–5 phases max\n- 4+ modules or 6+ phases → stop and present options:\n  1. Split the PRD (Recommended)\n  2. Continue anyway\n\nCount \"modules touched\" by scanning the PRD's New Modules and Schema Changes sections.\n\nAssign an agent tag to tasks where appropriate:\n\n- `[agent:debugger]` — tracing a bug or unexpected runtime behavior\n- `[agent:test-auditor]` — writing or reviewing tests\n- `[agent:code-reviewer]` — reviewing API surfaces, interfaces, or public contracts\n\n### 5. Quiz the user\n\nPresent breakdown (title, user stories covered, done-when per phase). Present options and wait:\n\n1. Looks good, proceed (Recommended)\n2. Merge some phases\n3. Split a phase\n\nIterate until approved.\n\n### 6. Save plan\n\nSave to `.specs/plans/<slug>.md` (create dir if missing).\n\n```markdown\n# Plan: <Feature Name>\n```\n\nUse this structure for the plan body:\n\n```markdown\n## Architectural Decisions\n\nDurable decisions that apply across all phases:\n\n- **Key decision**: ...\n\n---\n\n## Phase 1 — <Goal>\n\n**User stories**: <list from PRD>\n\n### What to build\n\nConcise description of this vertical slice — end-to-end behavior, not layer-by-layer.\n\n### Done when\n\n- [ ] Atomic, testable condition\n- [ ] Another testable condition\n\n---\n\n<!-- Repeat for each phase -->\n\n## Out of Scope\n\nCarried forward from PRD verbatim.\n\n## Open Questions\n\nGaps found in the PRD needing resolution. Blank if none.\n```\n\nPrint one line per phase: `Phase N — <title> (<condition summary>)`. Present options and wait:\n\n1. Run `/hb:build <slug>` (Recommended)\n2. Run `/hb:check <slug>`\n3. Done for now\n\n## Execution guidance\n\nTo 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.\n\n## Rules\n\n- Phases derive from PRD user stories — never invented\n- Each phase must be demoable end-to-end on its own\n- \"Done when\" must be a checkbox list of testable conditions, not prose\n- **Safety valve**: if a phase has >5 \"Done when\" items, stop and split it into smaller phases before continuing\n- Never modify the source PRD content\n- Carry PRD's Out of Scope forward verbatim","tags":["plan","agent","skills","helderberto","agent-skills","ai-tools","antigravity","claude-code","cursor","developer-tools","gemini-cli","markdown"],"capabilities":["skill","source-helderberto","skill-plan","topic-agent-skills","topic-ai-tools","topic-antigravity","topic-claude-code","topic-cursor","topic-developer-tools","topic-gemini-cli","topic-markdown","topic-plugin","topic-sdlc","topic-skills","topic-tracer-bullet"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/helderberto/agent-skills/plan","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add helderberto/agent-skills","source_repo":"https://github.com/helderberto/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (4,855 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:09:13.951Z","embedding":null,"createdAt":"2026-05-18T13:14:54.224Z","updatedAt":"2026-05-18T19:09:13.951Z","lastSeenAt":"2026-05-18T19:09:13.951Z","tsv":"'/hb':20,579,584,600 '1':77,106,285,366,390,467,516,577 '2':110,115,369,373,395,472,582 '3':145,370,374,377,476,586 '4':178,381 '5':378,448,656 '6':384,483 'across':156,510 'add':229 'agent':327,414,420,429,437 'alon':196,355 'anoth':543 'answer':274 'anyway':397 'api':192,215,260,442 'appli':509 'approach':172 'appropri':419 'approv':482 'architectur':120,148,504 'argument':54,58,60 'assign':412 'atom':301,540 'auditor':432 'auth/authorization':171 'becom':204 'behavior':428,532 'blank':563 'bodi':502 'boundari':177 'branch':604 'break':25 'breakdown':453 'bug':424 'build':356,521,580,601 'bullet':15,33 'carri':549,675 'case':267 'chang':212,347,410 'check':336,585 'checkbox':298,609,643 'choic':48,75,97 'claim':139 'code':439 'code-review':438 'codebas':118,126,134 'command':312,334 'commit':612 'complex':345 'compon':222 'concis':522 'condit':303,323,542,545,647 'content':316,674 'context':127 'continu':396,668 'contract':216,447 'count':364,398 'cover':457 'coverag':228 'creat':248,490 'creation':605 'data':167,357 'databas':163 'debugg':421 'decis':149,153,234,505,507,514 'definit':170 'demo':278 'demoabl':195,630 'depend':257 'deriv':197,619 'descript':523 'dir':491 'doc':137 'done':282,296,459,538,587,638,657 'done-when':458 'draft':179 'durabl':147,506 'e.g':283 'edg':266 'empti':63 'end':289,291,529,531,632,634 'end-to-end':288,528,631 'except':343 'execut':590 'exist':101,108,128 'explor':116 'extract':152 'fabric':144 'feedback':607 'file':315,331 'file/name':309 'first':135,359 'flag':140 'forward':550,681 'found':557 'foundat':358 'gap':556 'goal':272 'good':469 'guidanc':591 'handl':603 'happi':263 'hold':155 'identifi':146 'implement':10,207,593,606 'input':52 'integr':122 'interact':34 'interfac':210,444 'invent':625 'invoc':616 'item':659 'iter':480 'key':166,513 'land':236,243 'layer':189,294,340,342,535,537 'layer-by-lay':339,534 'line':568 'list':41,64,86,299,644 'look':468 'loop':608 'map':119 'mark':610 'markdown':494,503 'max':372,380 'md':51,83,100,489 'merg':473 'migrat':213 'miss':85,232,493 'model':168 'modifi':670 'modul':206,208,242,350,367,375,382,399,407 'multi':8 'multi-phas':7 'must':305,628,640 'n':572 'name':114,269,295,306 'navig':220 'need':561 'never':143,247,624,669 'new':113,205,406 'none':565 'number':40,67,89 'one':567,613 'open':554 'option':37,68,90,103,389,464,574 'order':255 'output':49 'overwrit':107 'parti':175 'path':264 'pattern':121,162 'per':461,569,615 'phase':9,29,158,183,239,268,284,363,371,379,385,462,475,479,512,515,570,571,596,598,614,618,627,654,666 'phrase':273 'pick':111 'plan':1,11,24,485,495,501,595 'point':123 'prd':4,21,22,27,80,201,202,393,404,552,560,621,673,676 'prds':65,87 'present':36,102,388,452,463,573 'print':566 'prior':130 'proceed':470 'prompt':35 'prose':321,649 'prose-on':320 'protocol':133 'provid':56 'public':446 'question':555 'quiz':449 'read':78,81,330 'recommend':109,394,471,581 'research':132 'resolut':562 'return':218 'revenu':286 'review':435,440,441 'rout':159,217,224 'rule':617 'run':332,578,583,599 'runtim':427 'safeti':650 'save':484,486 'scan':402 'schema':164,190,211,258,346,409 'scope':246,548,680 'section':203,411 'servic':176,191,259 'shape':165,219 'shell':311 'skill' 'skill-plan' 'skip':124 'slice':17,31,151,181,186,254,361,527 'smaller':665 'sourc':672 'source-helderberto' 'specs/plans':50,99,488 'specs/prds':82 'split':391,477,662 'stand':354 'step':131 'stop':386,660 'stori':226,353,456,518,623 'structur':160,498 'surfac':443 'tag':415 'task':198,230,249,417 'test':194,233,235,262,308,324,338,431,436 'test-auditor':430 'testabl':541,544,646 'thin':184 'third':174 'third-parti':173 'threshold':365 'titl':454 'topic-agent-skills' 'topic-ai-tools' 'topic-antigravity' 'topic-claude-code' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'topic-markdown' 'topic-plugin' 'topic-sdlc' 'topic-skills' 'topic-tracer-bullet' 'touch':368,376,400 'trace':422 'tracer':14,32 'tracer-bullet':13 'turn':2 'ui':193,261 'uncertain':142 'underpin':348 'unexpect':426 'unverifi':138 'url':161 'use':12,18,59,270,496 'user':46,73,95,225,451,455,517,622 'valid':214 'valv':651 'verbatim':553,682 'verifi':227,302,318,328 'vertic':16,30,180,185,362,526 'visibl':287 'wait':43,70,92,105,466,576 'wire':221 'within':252 'workflow':76 'write':433","prices":[{"id":"6582b136-babc-4b39-9f2f-aac80db99f25","listingId":"13d28057-7649-4745-be19-f235177c2ed3","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"helderberto","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:54.224Z"}],"sources":[{"listingId":"13d28057-7649-4745-be19-f235177c2ed3","source":"github","sourceId":"helderberto/agent-skills/plan","sourceUrl":"https://github.com/helderberto/agent-skills/tree/main/skills/plan","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:54.224Z","lastSeenAt":"2026-05-18T19:09:13.951Z"}],"details":{"listingId":"13d28057-7649-4745-be19-f235177c2ed3","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"helderberto","slug":"plan","github":{"repo":"helderberto/agent-skills","stars":8,"topics":["agent-skills","ai","ai-tools","antigravity","claude-code","cursor","developer-tools","gemini-cli","markdown","plugin","sdlc","skills","tracer-bullet"],"license":"mit","html_url":"https://github.com/helderberto/agent-skills","pushed_at":"2026-05-14T11:37:47Z","description":"My personal SDLC toolbelt for AI coding agents — PRD to ship.","skill_md_sha":"226134c5143d284367d6335fe24e1374f5b05a48","skill_md_path":"skills/plan/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/helderberto/agent-skills/tree/main/skills/plan"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"plan","description":"Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices. Use after /hb:prd."},"skills_sh_url":"https://skills.sh/helderberto/agent-skills/plan"},"updatedAt":"2026-05-18T19:09:13.951Z"}}