tddworks/claude-skills/feature-lifecycle
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Full-lifecycle guide for implementing a feature end-to-end in a London-school DDD Swift/iOS codebase (or any layered Domain/Infrastructure/App project that uses protocol + concrete impl aggregates, narrow infrastructure ports, and Chicago-school state-based TDD). Use this skill whenever the user asks to **build**, **implement**, **add**, **ship**, or **develop** a feature — including vague asks like "let's add X", "build me Y", "implement Z", or "wire up the W flow". Strongly prefer this skill over jumping straight to code whenever a new domain concept is in play. Each lifecycle phase has its own focused sub-guide so the agent loads only the instructions for the current task, not a 600-line monolith.
Install
npx vskill@latest install tddworks/claude-skills/feature-lifecycleSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Feature Lifecycle
One skill, eight focused phases. Each phase tells the agent exactly what to do for that step — inputs, steps, outputs, and a gate to know it's done.
The phases are sequential. Don't skip ahead. If a phase's gate isn't met, go back.
Which sub-guide to load
Load only the reference for the phase you're in. Don't read the full set up front.
| Phase | Load | Output when you're done | |
|---|---|---|---|
| 1. Discovery | `references/01-discovery.md` | A short "discovery note" listing existing docs, drift, user's words | |
| 2. Domain design | `references/02-domain-design.md` | Approved ASCII architecture + component table + file map | |
| 3. Domain TDD | `references/03-domain-tdd.md` | Protocol + <NounImpl> + port + tests all green | |
| 4. Composition | `references/04-composition.md` | Aggregate plugged into parent entity + facade forwarders on the composition root | |
| 5. Infrastructure | `references/05-infrastructure.md` | Port conformance + push routing wired; infra layer green | |
| 6. Views | `references/06-views.md` | Views binding to the facade; UI builds | |
| 7. Docs | `references/07-docs.md` | Feature doc + audit update + visual artifacts | |
| 8. Verify | `references/08-verify.md` | Checklist green, tests green, release build green |
The core pattern (the thing every phase serves)
Every phase assumes this shape. Deviations (protocol-less classes, legacy xxxBackend glue, role protocols named as collections) are smells — see `references/02-domain-design.md` for the naming playbook.
When in doubt
- Names feel clunky? Read them out loud. If a non-engineer wouldn't say it, rename.
- Tests hard to write? The aggregate is coupled to too much. Pull dependencies behind a narrow port.
- Composition root keeps growing methods? Push them down to the owning aggregate. The root is a facade, not a coordinator.
- Views casting `as? <concrete impl>`? Protocol surface too minimal. Grow it.
- User pushes back on a name? Pushback is signal. Re-derive from first principles — don't patch with another loaded word.
The anti-patterns (from most-costly, in order)
- Jumping to code without Phase 1–2. You'll build the wrong shape and have to undo it.
- Domain as setters only — no rich behavior. Logic ends up scattered across views and infra.
- `XxxBackend`, `XxxRegistry`, `XxxManager`, `XxxService`. Infrastructure words in the domain.
- Coordinator methods on the composition root. Cross-aggregate orchestration lives on the aggregate that owns the triggering state, or propagates via
@Observablereactions. - Views touching `@Observable` indirection (e.g.
root.something?.child?.more). Expose a facade on the root; never leak composition detail to views. - Interaction-based tests (
verify(mock).method.called(...)). This skill uses Chicago-school state/return-value tests only. - Ship-first, doc-after. The feature doc (Phase 7) captures why; write it before memory decays.
Load the next sub-guide when you're ready for the phase. One at a time.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/feature-lifecycle/SKILL.md
Popularity
- Repository stars
- 35
- Repository forks
- 6
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/tddworks/claude-skills/feature-lifecycle)