domain-driven-design
Domain-Driven Design
Model complex domains through deep collaboration with domain experts, making the model the center of the design — not the database, not the framework, not the API surface.
"The heart of software is its ability to solve domain-related problems for its users." — Eric Evans
Skill workflow — DDD pairs naturally with language and architecture:
domain-language (formalize the ubiquitous language first) → domain-driven-design (model the domain) → adr (record bounded context decisions)
Philosophy
Software complexity has two kinds of roots: essential complexity (the domain is genuinely hard) and accidental complexity (we made poor decisions). DDD addresses essential complexity by making the domain model the primary artifact of design.
The key insight: the model should reflect how domain experts think and speak. If your code uses different words than your domain experts, there's a translation tax on every feature. That tax compounds.
More from yldgio/vibe-grimoire
pre-mortem
>-
13create-prd
Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue, Azure DevOps work item, or local file. Use when the user wants to create or write a PRD, create a product requirements document, design a new feature, or capture requirements.
11setup-repo
>-
11prd-slice
Break a PRD into independently-deliverable work items (vertical slices / tracer bullets) and create them in Azure DevOps, GitHub Issues, or Jira. Use when a user wants to convert a PRD into implementation tickets, decompose a product spec into trackable slices, create work items from requirements, or break down a PRD for any issue tracker — even if they don't say "vertical slice" or "tracer bullet".
11plan-from-prd
Turn a PRD into a multi-phase, local Markdown implementation plan using tracer-bullet vertical slices, saved to ./plans/. Use when the user wants to create an implementation plan from a PRD, plan phases from a PRD, break a PRD into development phases, or mentions "tracer bullets" or "implementation phases". For creating tracker work items (GitHub Issues, Azure DevOps, Jira) use the prd-slice skill instead.
11tdd
>-
9