{"id":"60a38b22-04fe-481d-987c-54b517a593fa","shortId":"wpvvB4","kind":"skill","title":"dev-lifecycle","tagline":"AI DevKit · Structured SDLC workflow with 8 phases — requirements, design review, planning, implementation, testing, and code review. Use when the user wants to build a feature end-to-end, or run any individual phase (new requirement, review requirements, review design, execute p","description":"# Dev Lifecycle\n\nSequential phases producing docs in `docs/ai/`. Flow: 1→2→3→4→(5 after each task)→6→7→8.\n\n## Prerequisite\n\nBefore starting any phase, run `npx ai-devkit@latest lint` to verify the base `docs/ai/` structure exists and is valid.\n\nIf working on a specific feature, also run `npx ai-devkit@latest lint --feature <name>` to validate feature-scoped docs.\n\nIf lint fails because project docs are not initialized, run `npx ai-devkit@latest init -a -e claude --built-in --yes` (non-interactive — required when running inside an agent so init does not block on prompts), then rerun lint. Do not proceed until checks pass.\n\nFor a **new feature start** (Phase 1 or `/new-requirement`), apply the shared worktree setup in [references/worktree-setup.md](references/worktree-setup.md) before phase work. This setup is worktree-first by default and includes explicit no-worktree fallback, context verification, and dependency bootstrap.\n\n## Phases\n\n| # | Phase | Reference | When |\n|---|-------|-----------|------|\n| 1 | New Requirement | [references/new-requirement.md](references/new-requirement.md) | User wants to add a feature |\n| 2 | Review Requirements | [references/review-requirements.md](references/review-requirements.md) | Requirements doc needs validation |\n| 3 | Review Design | [references/review-design.md](references/review-design.md) | Design doc needs validation against requirements |\n| 4 | Execute Plan | [references/execute-plan.md](references/execute-plan.md) | Ready to implement tasks from planning doc |\n| 5 | Update Planning | [references/update-planning.md](references/update-planning.md) | Auto-trigger after completing any task in Phase 4 |\n| 6 | Check Implementation | [references/check-implementation.md](references/check-implementation.md) | Verify code matches design |\n| 7 | Write Tests | [references/writing-test.md](references/writing-test.md) | Add test coverage (100% target) |\n| 8 | Code Review | [references/code-review.md](references/code-review.md) | Final pre-push review |\n\nLoad only the reference file for the current phase. For Phase 1, also load [references/worktree-setup.md](references/worktree-setup.md).\n\n## Resuming Work\n\nIf the user wants to continue work on an existing feature:\n\n1. Check branch and worktree state before phase work:\n   - Branch check: `git branch --show-current`\n   - Worktree check: `git worktree list`\n2. Determine target context for `<feature-name>` (all `.worktrees/` paths are relative to the **project root** — the directory containing `.git`):\n   - Prefer worktree `<project-root>/.worktrees/feature-<name>` when it exists.\n   - Otherwise use branch `feature-<name>` in the current repository.\n3. Before switching, explicitly confirm target with the user (branch or worktree path).\n4. After user confirmation, switch to the confirmed context first:\n   - Worktree: run phase commands with `workdir=<project-root>/.worktrees/feature-<name>`.\n   - Branch: checkout `feature-<name>` in current repo.\n5. After switching, run `npx ai-devkit@latest lint --feature <feature-name>` in the active branch/worktree context.\n6. Then run the phase detector using the installed skill directory (same resolution rule as reference docs), not a workspace-relative `skills/...` path:\n   - Resolve `<skill-dir>` as the directory containing this `SKILL.md`.\n   - Run `<skill-dir>/scripts/check-status.sh <feature-name>` (or `cd <skill-dir> && scripts/check-status.sh <feature-name>`).\n   Use the suggested phase from this script based on doc state and planning progress.\n\n## Backward Transitions\n\nNot every phase moves forward. When a phase reveals problems, loop back:\n\n- Phase 2 finds fundamental gaps → back to **Phase 1** to revise requirements\n- Phase 3 finds requirements gaps → back to **Phase 2**; design doesn't fit → revise design in place\n- Phase 6 finds major deviations → back to **Phase 3** (design wrong) or **Phase 4** (implementation wrong)\n- Phase 7 tests reveal design flaws → back to **Phase 3**\n- Phase 8 finds blocking issues → back to **Phase 4** (fix code) or **Phase 7** (add tests)\n\n## Doc Convention\n\nFeature docs: `docs/ai/{phase}/feature-{name}.md` (copy from `README.md` template in each directory, preserve frontmatter). Keep `<name>` aligned with the worktree/branch name `feature-<name>`.\n\nPhases: `requirements/`, `design/`, `planning/`, `implementation/`, `testing/`.\n\n## Memory Integration\n\nIn phases with clarification questions (typically 1-3), run these CLI commands (see the `memory` skill for full options):\n\n1. **Before asking** — search first, only ask about uncovered gaps: `npx ai-devkit@latest memory search --query \"<topic>\"`\n2. **After clarification** — store for future sessions: `npx ai-devkit@latest memory store --title \"<title>\" --content \"<insight>\" --tags \"<tags>\"`\n\n## Red Flags and Rationalizations\n\n| Rationalization | Why It's Wrong | Do Instead |\n|---|---|---|\n| \"Skip to coding, requirements are clear\" | Ambiguity hides in assumptions | Run Phase 1-3 first |\n| \"Design hasn't changed, skip Phase 6\" | Code drifts from design during implementation | Check implementation against design |\n| \"Tests slow us down, ship first\" | Bugs in production are slower | Write tests in Phase 4 and 7 |\n| \"Just a small change, no review needed\" | Small changes cause big outages | Phase 8 applies to all changes |\n\n## Rules\n\n- Read existing `docs/ai/` before changes. Keep diffs minimal.\n- Use mermaid diagrams for architecture visuals.\n- After each phase, summarize output and suggest next phase.\n- Apply the `verify` skill before completing Phase 4 tasks, Phase 6 checks, Phase 7 coverage claims, and Phase 8 review items. No phase transition without fresh evidence.","tags":["dev","lifecycle","devkit","codeaholicguy","agent-skills","ai-assisted-development","antigravity","claude-code","codex","cursor","development","engineering"],"capabilities":["skill","source-codeaholicguy","skill-dev-lifecycle","topic-agent-skills","topic-ai-assisted-development","topic-antigravity","topic-claude-code","topic-codex","topic-cursor","topic-development","topic-engineering","topic-engineering-enablement","topic-engineering-experience","topic-prd"],"categories":["ai-devkit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/codeaholicguy/ai-devkit/dev-lifecycle","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add codeaholicguy/ai-devkit","source_repo":"https://github.com/codeaholicguy/ai-devkit","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1196 github stars · SKILL.md body (5,674 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-18T18:53:09.065Z","embedding":null,"createdAt":"2026-04-18T21:55:30.285Z","updatedAt":"2026-05-18T18:53:09.065Z","lastSeenAt":"2026-05-18T18:53:09.065Z","tsv":"'-3':598,669 '/.worktrees/feature-':359,400 '/feature-':564 '/new-requirement':166 '/scripts/check-status.sh':455 '1':56,164,202,300,318,495,597,610,668 '100':277 '2':57,213,339,488,507,628 '3':58,222,371,500,524,541 '4':59,233,259,384,529,550,703,755 '5':60,245,407 '6':64,260,423,517,677,758 '7':65,269,533,555,705,761 '8':10,66,279,543,719,766 'activ':420 'add':210,274,556 'agent':141 'ai':4,75,99,122,413,622,637 'ai-devkit':74,98,121,412,621,636 'align':577 'also':95,301 'ambigu':662 'appli':167,720,748 'architectur':737 'ask':612,616 'assumpt':665 'auto':251 'auto-trigg':250 'back':486,492,504,521,538,547 'backward':473 'base':82,466 'big':716 'block':146,545 'bootstrap':197 'branch':320,327,330,365,380,401 'branch/worktree':421 'bug':694 'build':27 'built':130 'built-in':129 'caus':715 'cd':457 'chang':674,709,714,723,729 'check':156,261,319,328,335,684,759 'checkout':402 'claim':763 'clarif':594,630 'claud':128 'clear':661 'cli':601 'code':19,266,280,552,658,678 'command':397,602 'complet':254,753 'confirm':375,387,391 'contain':355,451 'content':643 'context':193,342,392,422 'continu':312 'convent':559 'copi':567 'coverag':276,762 'current':296,333,369,405 'default':185 'depend':196 'design':13,44,224,227,268,508,513,525,536,585,671,681,687 'detector':428 'determin':340 'dev':2,47 'dev-lifecycl':1 'deviat':520 'devkit':5,76,100,123,414,623,638 'diagram':735 'diff':731 'directori':354,433,450,573 'doc':52,109,115,219,228,244,439,468,558,561 'docs/ai':54,83,562,727 'doesn':509 'drift':679 'e':127 'end':31,33 'end-to-end':30 'everi':476 'evid':774 'execut':45,234 'exist':85,316,362,726 'explicit':188,374 'fail':112 'fallback':192 'featur':29,94,103,107,161,212,317,366,403,417,560,582 'feature-scop':106 'file':293 'final':284 'find':489,501,518,544 'first':183,393,614,670,693 'fit':511 'fix':551 'flag':646 'flaw':537 'flow':55 'forward':479 'fresh':773 'frontmatt':575 'full':608 'fundament':490 'futur':633 'gap':491,503,619 'git':329,336,356 'hasn':672 'hide':663 'implement':16,240,262,530,587,683,685 'includ':187 'individu':37 'init':125,143 'initi':118 'insid':139 'instal':431 'instead':655 'integr':590 'interact':135 'issu':546 'item':768 'keep':576,730 'latest':77,101,124,415,624,639 'lifecycl':3,48 'lint':78,102,111,151,416 'list':338 'load':289,302 'loop':485 'major':519 'match':267 'md':566 'memori':589,605,625,640 'mermaid':734 'minim':732 'move':478 'name':565,581 'need':220,229,712 'new':39,160,203 'next':746 'no-worktre':189 'non':134 'non-interact':133 'npx':73,97,120,411,620,635 'option':609 'otherwis':363 'outag':717 'output':743 'p':46 'pass':157 'path':346,383,446 'phase':11,38,50,71,163,176,198,199,258,297,299,325,396,427,462,477,482,487,494,499,506,516,523,528,532,540,542,549,554,563,583,592,667,676,702,718,741,747,754,757,760,765,770 'place':515 'plan':15,235,243,247,471,586 'pre':286 'pre-push':285 'prefer':357 'prerequisit':67 'preserv':574 'problem':484 'proceed':154 'produc':51 'product':696 'progress':472 'project':114,351 'prompt':148 'push':287 'queri':627 'question':595 'ration':648,649 'read':725 'readi':238 'readme.md':569 'red':645 'refer':200,292,438 'references/check-implementation.md':263,264 'references/code-review.md':282,283 'references/execute-plan.md':236,237 'references/new-requirement.md':205,206 'references/review-design.md':225,226 'references/review-requirements.md':216,217 'references/update-planning.md':248,249 'references/worktree-setup.md':173,174,303,304 'references/writing-test.md':272,273 'relat':348,444 'repo':406 'repositori':370 'requir':12,40,42,136,204,215,218,232,498,502,584,659 'rerun':150 'resolut':435 'resolv':447 'resum':305 'reveal':483,535 'review':14,20,41,43,214,223,281,288,711,767 'revis':497,512 'root':352 'rule':436,724 'run':35,72,96,119,138,395,410,425,454,599,666 'scope':108 'script':465 'scripts/check-status.sh':458 'sdlc':7 'search':613,626 'see':603 'sequenti':49 'session':634 'setup':171,179 'share':169 'ship':692 'show':332 'show-curr':331 'skill':432,445,606,751 'skill-dev-lifecycle' 'skill.md':453 'skip':656,675 'slow':689 'slower':698 'small':708,713 'source-codeaholicguy' 'specif':93 'start':69,162 'state':323,469 'store':631,641 'structur':6,84 'suggest':461,745 'summar':742 'switch':373,388,409 'tag':644 'target':278,341,376 'task':63,241,256,756 'templat':570 'test':17,271,275,534,557,588,688,700 'titl':642 'topic-agent-skills' 'topic-ai-assisted-development' 'topic-antigravity' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-development' 'topic-engineering' 'topic-engineering-enablement' 'topic-engineering-experience' 'topic-prd' 'transit':474,771 'trigger':252 'typic':596 'uncov':618 'updat':246 'us':690 'use':21,364,429,459,733 'user':24,207,309,379,386 'valid':88,105,221,230 'verif':194 'verifi':80,265,750 'visual':738 'want':25,208,310 'without':772 'work':90,177,306,313,326 'workdir':399 'workflow':8 'workspac':443 'workspace-rel':442 'worktre':170,182,191,322,334,337,345,358,382,394 'worktree-first':181 'worktree/branch':580 'write':270,699 'wrong':526,531,653 'yes':132","prices":[{"id":"98816387-7026-4f11-a721-7f26ce9b0124","listingId":"60a38b22-04fe-481d-987c-54b517a593fa","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"codeaholicguy","category":"ai-devkit","install_from":"skills.sh"},"createdAt":"2026-04-18T21:55:30.285Z"}],"sources":[{"listingId":"60a38b22-04fe-481d-987c-54b517a593fa","source":"github","sourceId":"codeaholicguy/ai-devkit/dev-lifecycle","sourceUrl":"https://github.com/codeaholicguy/ai-devkit/tree/main/skills/dev-lifecycle","isPrimary":false,"firstSeenAt":"2026-04-18T21:55:30.285Z","lastSeenAt":"2026-05-18T18:53:09.065Z"}],"details":{"listingId":"60a38b22-04fe-481d-987c-54b517a593fa","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"codeaholicguy","slug":"dev-lifecycle","github":{"repo":"codeaholicguy/ai-devkit","stars":1196,"topics":["agent-skills","ai","ai-assisted-development","antigravity","claude-code","codex","cursor","development","engineering","engineering-enablement","engineering-experience","prd"],"license":null,"html_url":"https://github.com/codeaholicguy/ai-devkit","pushed_at":"2026-05-17T00:23:12Z","description":"A universal CLI toolkit for AI agent skills, enabling structured AI-assisted development across tools like Cursor, Claude Code, Codex, and more.","skill_md_sha":"f4336771c6a57924320e179477b7b8c6ad294c5a","skill_md_path":"skills/dev-lifecycle/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/codeaholicguy/ai-devkit/tree/main/skills/dev-lifecycle"},"layout":"multi","source":"github","category":"ai-devkit","frontmatter":{"name":"dev-lifecycle","description":"AI DevKit · Structured SDLC workflow with 8 phases — requirements, design review, planning, implementation, testing, and code review. Use when the user wants to build a feature end-to-end, or run any individual phase (new requirement, review requirements, review design, execute plan, update planning, check implementation, write tests, code review)."},"skills_sh_url":"https://skills.sh/codeaholicguy/ai-devkit/dev-lifecycle"},"updatedAt":"2026-05-18T18:53:09.065Z"}}