{"id":"08853f00-8fb4-4f16-86d9-81f4c0b4250c","shortId":"L6VRu3","kind":"skill","title":"spec-to-plan","tagline":"Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices.","description":"# Turn a PRD into an Implementation Plan\n\nThis skill translates **what** needs to be built (the PRD) into **how** it will be built (a phased implementation plan). It breaks the PRD into tracer-bullet vertical slices, orders them into phases, and writes the result as a Markdown plan file in `./plans/`.\n\n## When to Use\n\nUse this skill when:\n\n- You already have a PRD or equivalent spec and now need a concrete implementation plan.\n- You want to think in **phases**, not just issues: what gets built first, what can be deferred, and how slices build on each other.\n- You intend to drive downstream work (e.g. `/slice-the-spec`, `/incremental-tdd`) from a single, durable planning document.\n\nIf the requirements are still fuzzy, use `/grill-me` and `/spec-writer` first.\n\n## Workflow\n\nYou can compress steps if the context is already clear, but keep the core structure: PRD → slices → phases → plan file.\n\n1. **Confirm the PRD is in context**\n\n   - Ensure the PRD is available in the conversation or repo.\n   - If not, ask the user to paste it or point you to the file path or issue.\n   - Skim for: goals, user stories, functional requirements, non-goals, and constraints.\n\n2. **Explore the codebase (light)**\n\n   - If you have not already explored the codebase for this feature, do a quick pass to understand major modules, integration layers, and architectural patterns.\n   - Note any constraints that will affect slicing (e.g. existing routing, data models, auth, third-party boundaries).\n\n3. **Identify durable architectural decisions**\n\n   Before slicing, identify decisions that are unlikely to change across phases and are worth calling out up front:\n\n   - Route structures / URL patterns.\n   - Database schema shape and key tables.\n   - Core data models and domain concepts.\n   - Authentication / authorization approach.\n   - Third‑party service boundaries and integration points.\n\n   These go into the **Architectural decisions** section of the plan so every phase can reference them.\n\n4. **Draft vertical slices (tracer bullets)**\n\n   - Break the PRD into **tracer-bullet** slices: thin, end‑to‑end pieces that cut through all relevant layers (schema, domain, API, UI, tests).\n   - Apply the vertical-slice rules:\n     - Each slice delivers a narrow but **complete** path through every necessary layer.\n     - Each slice is demoable or verifiable on its own.\n     - Prefer **many thin slices** over a few thick ones.\n     - Do **not** include brittle implementation details (file names, specific function signatures) that are likely to change.\n     - Do include durable decisions like route paths, schema shapes, and model names.\n\n5. **Group slices into phases**\n\n   - Order slices into 2–5 phases that make sense from a risk and value perspective.\n   - Earlier phases should:\n     - Validate the riskiest assumptions.\n     - Deliver something demoable quickly.\n     - Set up patterns that later phases can follow.\n   - Later phases can expand coverage, add polish, or handle edge cases and scale.\n\n6. **Quiz the user**\n\n   - Present the proposed phases as a numbered list.\n     For each phase, show:\n     - **Title**: short, descriptive name.\n     - **User stories covered**: which PRD stories this phase delivers.\n   - Ask:\n     - Does the **granularity** feel right (too coarse / too fine)?\n     - Are phases in the right **order**?\n     - Should any phases be merged or split?\n   - Refine until the user approves the breakdown.\n\n7. **Write the plan file**\n\n   - Ensure `./plans/` exists; if not, create it.\n   - Name the plan file after the feature (e.g. `./plans/weekly-admin-summary-email.md`).\n   - Use and adapt the template below, filling in architectural decisions and one section per phase.\n\n## Plan Template\n\nUse this as the default Markdown structure.\n\n```markdown\n# Plan: <Feature Name>\n> Source PRD: <brief identifier or link>\n\n## Architectural decisions\n\nDurable decisions that apply across all phases:\n\n- **Routes:** ...\n- **Schema:** ...\n- **Key models:** ...\n- **Auth:** ...\n- **Third-party services:** ...\n- (add/remove items as appropriate)\n\n## Phases\n\n### Phase 1: <Title>\n\n#### What to build\n\nA concise description of this vertical slice. Describe the **end-to-end behavior**, not layer-by-layer implementation.[1]\n\n- Which user stories this phase covers.\n- Which layers it will touch (data, domain, API, UI, background jobs, etc.).[1]\n\n#### Acceptance criteria\n\n- Criterion 1\n- Criterion 2\n- Criterion 3\n\n***\n\n### Phase 2: <Title>\n\n#### What to build\n\n...\n\n#### Acceptance criteria\n\n- ...\n\n<!-- Repeat for each phase -->\n```\n\n## Behavior and Rules\n\n1. Stay at the plan level. Do not drop into detailed implementation plans or specific file edits; that is work for execution skills like /tdd.\n2. Think in risk and value. Earlier phases should de-risk core architecture and ship something demoable quickly.\n3. Keep slices vertical. Avoid phases that are purely “set up database” or “build UI” without delivering end-to-end value.\n4. Make decisions explicit. Put durable architectural decisions in the plan header so downstream skills and humans can reuse them.\n5. Write for future you and agents. Plans should be readable, skimmable, and easy to hand to another engineer or AI agent as a starting point.","tags":["spec","plan","agent","skills","kambleakash0","agent-skills","ai-agents","ai-assistant","antigravity","automation","claude-code","code-review"],"capabilities":["skill","source-kambleakash0","skill-spec-to-plan","topic-agent-skills","topic-ai-agents","topic-ai-assistant","topic-antigravity","topic-automation","topic-claude-code","topic-code-review","topic-codex","topic-cusror","topic-developer-tools","topic-gemini-cli","topic-llm-tools"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kambleakash0/agent-skills/spec-to-plan","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kambleakash0/agent-skills","source_repo":"https://github.com/kambleakash0/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (5,233 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:14:26.646Z","embedding":null,"createdAt":"2026-05-18T13:22:07.082Z","updatedAt":"2026-05-18T19:14:26.646Z","lastSeenAt":"2026-05-18T19:14:26.646Z","tsv":"'/grill-me':141 '/incremental-tdd':127 '/plans':72,534 '/plans/weekly-admin-summary-email.md':548 '/slice-the-spec':126 '/spec-writer':143 '/tdd':687 '1':166,601,625,644,648,663 '2':212,425,650,654,688 '3':258,652,707 '4':323,729 '5':417,426,749 '6':469 '7':528 'accept':645,658 'across':272,583 'adapt':551 'add':461 'add/remove':595 'affect':246 'agent':755,770 'ai':769 'alreadi':81,154,221 'anoth':766 'api':350,639 'appli':353,582 'approach':299 'appropri':598 'approv':525 'architectur':239,261,311,557,577,701,735 'ask':185,498 'assumpt':443 'auth':253,590 'authent':297 'author':298 'avail':177 'avoid':711 'background':641 'behavior':618,660 'boundari':257,303 'break':49,329 'breakdown':527 'brittl':392 'build':115,604,657,720 'built':35,43,106 'bullet':18,55,328,335 'call':277 'case':466 'chang':271,404 'clear':155 'coars':505 'codebas':215,224 'complet':365 'compress':148 'concept':296 'concis':606 'concret':92 'confirm':167 'constraint':211,243 'context':152,172 'convers':180 'core':159,291,700 'cover':491,631 'coverag':460 'creat':538 'criteria':646,659 'criterion':647,649,651 'cut':343 'data':251,292,637 'databas':285,718 'de':698 'de-risk':697 'decis':262,266,312,408,558,578,580,731,736 'default':570 'defer':111 'deliv':361,444,497,723 'demoabl':374,446,705 'describ':612 'descript':487,607 'detail':394,673 'document':133 'domain':295,349,638 'downstream':123,742 'draft':324 'drive':122 'drop':671 'durabl':131,260,407,579,734 'e.g':125,248,547 'earlier':437,694 'easi':762 'edg':465 'edit':679 'end':338,340,615,617,725,727 'end-to-end':614,724 'engin':767 'ensur':173,533 'equival':86 'etc':643 'everi':318,368 'execut':684 'exist':249,535 'expand':459 'explicit':732 'explor':213,222 'featur':227,546 'feel':502 'file':70,165,196,395,532,543,678 'fill':555 'fine':507 'first':107,144 'follow':455 'front':280 'function':205,398 'futur':752 'fuzzi':139 'get':105 'go':308 'goal':202,209 'granular':501 'group':418 'hand':764 'handl':464 'header':740 'human':745 'identifi':259,265 'implement':13,26,46,93,393,624,674 'includ':391,406 'integr':236,305 'intend':120 'issu':103,199 'item':596 'job':642 'keep':157,708 'key':289,588 'later':452,456 'layer':237,347,370,621,623,633 'layer-by-lay':620 'level':668 'light':216 'like':402,409,686 'list':480 'major':234 'make':429,730 'mani':381 'markdown':68,571,573 'merg':518 'model':252,293,415,589 'modul':235 'multi':11 'multi-phas':10 'name':396,416,488,540 'narrow':363 'necessari':369 'need':32,90 'non':208 'non-goal':207 'note':241 'number':479 'one':388,560 'order':58,422,513 'parti':256,301,593 'pass':231 'past':189 'path':197,366,411 'pattern':240,284,450 'per':562 'perspect':436 'phase':12,45,61,100,163,273,319,421,427,438,453,457,476,483,496,509,516,563,585,599,600,630,653,695,712 'piec':341 'plan':4,14,27,47,69,94,132,164,316,531,542,564,574,667,675,739,756 'point':192,306,774 'polish':462 'prd':7,23,37,51,84,161,169,175,331,493,576 'prefer':380 'present':473 'propos':475 'pure':715 'put':733 'quick':230,447,706 'quiz':470 'readabl':759 'refer':321 'refin':521 'relev':346 'repo':182 'requir':136,206 'result':65 'reus':747 'right':503,512 'risk':433,691,699 'riskiest':442 'rout':250,281,410,586 'rule':358,662 'scale':468 'schema':286,348,412,587 'section':313,561 'sens':430 'servic':302,594 'set':448,716 'shape':287,413 'ship':703 'short':486 'show':484 'signatur':399 'singl':130 'skill':29,78,685,743 'skill-spec-to-plan' 'skim':200 'skimmabl':760 'slice':20,57,114,162,247,264,326,336,357,360,372,383,419,423,611,709 'someth':445,704 'sourc':575 'source-kambleakash0' 'spec':2,87 'spec-to-plan':1 'specif':397,677 'split':520 'start':773 'stay':664 'step':149 'still':138 'stori':204,490,494,628 'structur':160,282,572 'tabl':290 'templat':553,565 'test':352 'thick':387 'thin':337,382 'think':98,689 'third':255,300,592 'third-parti':254,591 'titl':485 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-assistant' 'topic-antigravity' 'topic-automation' 'topic-claude-code' 'topic-code-review' 'topic-codex' 'topic-cusror' 'topic-developer-tools' 'topic-gemini-cli' 'topic-llm-tools' 'touch':636 'tracer':17,54,327,334 'tracer-bullet':16,53,333 'translat':30 'turn':5,21 'ui':351,640,721 'understand':233 'unlik':269 'url':283 'use':15,75,76,140,549,566 'user':187,203,472,489,524,627 'valid':440 'valu':435,693,728 'verifi':376 'vertic':19,56,325,356,610,710 'vertical-slic':355 'want':96 'without':722 'work':124,682 'workflow':145 'worth':276 'write':63,529,750","prices":[{"id":"92fcaca1-e9da-4883-9020-cbcbeb7862e0","listingId":"08853f00-8fb4-4f16-86d9-81f4c0b4250c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kambleakash0","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:07.082Z"}],"sources":[{"listingId":"08853f00-8fb4-4f16-86d9-81f4c0b4250c","source":"github","sourceId":"kambleakash0/agent-skills/spec-to-plan","sourceUrl":"https://github.com/kambleakash0/agent-skills/tree/main/skills/spec-to-plan","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:07.082Z","lastSeenAt":"2026-05-18T19:14:26.646Z"}],"details":{"listingId":"08853f00-8fb4-4f16-86d9-81f4c0b4250c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kambleakash0","slug":"spec-to-plan","github":{"repo":"kambleakash0/agent-skills","stars":6,"topics":["agent-skills","ai-agents","ai-assistant","antigravity","automation","claude-code","code-review","codex","cusror","developer-tools","gemini-cli","llm-tools","mcp","prompt-engineering"],"license":"mit","html_url":"https://github.com/kambleakash0/agent-skills","pushed_at":"2026-05-02T07:18:13Z","description":"A curated collection of custom AgentSkills and token-saving MCP servers for extending the capabilities of AI coding assistants like Claude Code.","skill_md_sha":"346bc09956dd46cad89cef48529a75174cde0911","skill_md_path":"skills/spec-to-plan/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/kambleakash0/agent-skills/tree/main/skills/spec-to-plan"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"spec-to-plan","description":"Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices."},"skills_sh_url":"https://skills.sh/kambleakash0/agent-skills/spec-to-plan"},"updatedAt":"2026-05-18T19:14:26.646Z"}}