{"id":"60a38b22-04fe-481d-987c-54b517a593fa","shortId":"wpvvB4","kind":"skill","title":"dev-lifecycle","tagline":"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 ","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`, 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 · 1174 github stars · SKILL.md body (5,552 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-03T00:52:57.059Z","embedding":null,"createdAt":"2026-04-18T21:55:30.285Z","updatedAt":"2026-05-03T00:52:57.059Z","lastSeenAt":"2026-05-03T00:52:57.059Z","tsv":"'-3':574,645 '/.worktrees/feature-':335,376 '/feature-':540 '/new-requirement':142 '/scripts/check-status.sh':431 '1':55,140,178,276,294,471,573,586,644 '100':253 '2':56,189,315,464,483,604 '3':57,198,347,476,500,517 '4':58,209,235,360,505,526,679,731 '5':59,221,383 '6':63,236,399,493,653,734 '7':64,245,509,531,681,737 '8':8,65,255,519,695,742 'activ':396 'add':186,250,532 'ai':74,98,121,389,598,613 'ai-devkit':73,97,120,388,597,612 'align':553 'also':94,277 'ambigu':638 'appli':143,696,724 'architectur':713 'ask':588,592 'assumpt':641 'auto':227 'auto-trigg':226 'back':462,468,480,497,514,523 'backward':449 'base':81,442 'big':692 'block':521 'bootstrap':173 'branch':296,303,306,341,356,377 'branch/worktree':397 'bug':670 'build':25 'caus':691 'cd':433 'chang':650,685,690,699,705 'check':132,237,295,304,311,660,735 'checkout':378 'claim':739 'clarif':570,606 'clear':637 'cli':577 'code':17,242,256,528,634,654 'command':373,578 'complet':230,729 'confirm':351,363,367 'contain':331,427 'content':619 'context':169,318,368,398 'continu':288 'convent':535 'copi':543 'coverag':252,738 'current':272,309,345,381 'default':161 'depend':172 'design':11,42,200,203,244,484,489,501,512,561,647,657,663 'detector':404 'determin':316 'dev':2,46 'dev-lifecycl':1 'deviat':496 'devkit':75,99,122,390,599,614 'diagram':711 'diff':707 'directori':330,409,426,549 'doc':51,108,114,195,204,220,415,444,534,537 'docs/ai':53,82,538,703 'doesn':485 'drift':655 'end':29,31 'end-to-end':28 'everi':452 'evid':750 'execut':43,210 'exist':84,292,338,702 'explicit':164,350 'fail':111 'fallback':168 'featur':27,93,102,106,137,188,293,342,379,393,536,558 'feature-scop':105 'file':269 'final':260 'find':465,477,494,520 'first':159,369,590,646,669 'fit':487 'fix':527 'flag':622 'flaw':513 'flow':54 'forward':455 'fresh':749 'frontmatt':551 'full':584 'fundament':466 'futur':609 'gap':467,479,595 'git':305,312,332 'hasn':648 'hide':639 'implement':14,216,238,506,563,659,661 'includ':163 'individu':35 'init':124 'initi':117 'instal':407 'instead':631 'integr':566 'issu':522 'item':744 'keep':552,706 'latest':76,100,123,391,600,615 'lifecycl':3,47 'lint':77,101,110,127,392 'list':314 'load':265,278 'loop':461 'major':495 'match':243 'md':542 'memori':565,581,601,616 'mermaid':710 'minim':708 'move':454 'name':541,557 'need':196,205,688 'new':37,136,179 'next':722 'no-worktre':165 'npx':72,96,119,387,596,611 'option':585 'otherwis':339 'outag':693 'output':719 'pass':133 'path':322,359,422 'phase':9,36,49,70,139,152,174,175,234,273,275,301,372,403,438,453,458,463,470,475,482,492,499,504,508,516,518,525,530,539,559,568,643,652,678,694,717,723,730,733,736,741,746 'place':491 'plan':13,44,211,219,223,447,562 'pre':262 'pre-push':261 'prefer':333 'prerequisit':66 'preserv':550 'problem':460 'proceed':130 'produc':50 'product':672 'progress':448 'project':113,327 'push':263 'queri':603 'question':571 'ration':624,625 'read':701 'readi':214 'readme.md':545 'red':621 'refer':176,268,414 'references/check-implementation.md':239,240 'references/code-review.md':258,259 'references/execute-plan.md':212,213 'references/new-requirement.md':181,182 'references/review-design.md':201,202 'references/review-requirements.md':192,193 'references/update-planning.md':224,225 'references/worktree-setup.md':149,150,279,280 'references/writing-test.md':248,249 'relat':324,420 'repo':382 'repositori':346 'requir':10,38,40,180,191,194,208,474,478,560,635 'rerun':126 'resolut':411 'resolv':423 'resum':281 'reveal':459,511 'review':12,18,39,41,190,199,257,264,687,743 'revis':473,488 'root':328 'rule':412,700 'run':33,71,95,118,371,386,401,430,575,642 'scope':107 'script':441 'scripts/check-status.sh':434 'sdlc':5 'search':589,602 'see':579 'sequenti':48 'session':610 'setup':147,155 'share':145 'ship':668 'show':308 'show-curr':307 'skill':408,421,582,727 'skill-dev-lifecycle' 'skill.md':429 'skip':632,651 'slow':665 'slower':674 'small':684,689 'source-codeaholicguy' 'specif':92 'start':68,138 'state':299,445 'store':607,617 'structur':4,83 'suggest':437,721 'summar':718 'switch':349,364,385 'tag':620 'target':254,317,352 'task':62,217,232,732 'templat':546 'test':15,247,251,510,533,564,664,676 'titl':618 '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':450,747 'trigger':228 'typic':572 'uncov':594 'updat':45,222 'us':666 'use':19,340,405,435,709 'user':22,183,285,355,362 'valid':87,104,197,206 'verif':170 'verifi':79,241,726 'visual':714 'want':23,184,286 'without':748 'work':89,153,282,289,302 'workdir':375 'workflow':6 'workspac':419 'workspace-rel':418 'worktre':146,158,167,298,310,313,321,334,358,370 'worktree-first':157 'worktree/branch':556 'write':246,675 'wrong':502,507,629","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-03T00:52:57.059Z"}],"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":1174,"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-03T00:18:58Z","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":"504f656b1dceecdb4ed29a00a14c18dc9d665f27","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":"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-03T00:52:57.059Z"}}