What problem does it solve? Complex business domains often produce codebases where business rules are scattered across route handlers, database queries, and formatting code, making the system hard to reason about and evolve. This Skill provides structured guidance for modeling domains with ubiquitous language, value objects, entities, aggregates, domain services, and bounded contexts so business logic stays isolated and testable. ## Core Features & Use Cases - Domain Modeling Building Blocks: Guidance for value objects, branded types, entities, aggregates, specifications, and discriminated-union state modeling that makes illegal states unrepresentable. - Layered Decision Framework: A placement framework for deciding whether code belongs in domain, use case, adapter, or presentation layers, plus error modeling with result types versus exceptions. - Deep-Dive Resources: On-demand references covering aggregate design, domain events (Decider pattern, outbox, process managers), bounded contexts with anti-corruption layers, and layer-by-layer testing strategy. - Use Case: When building a gift-pledging feature spanning multiple aggregates, use this Skill to model the domain service, enforce invariants at aggregate roots, and test the use case with in-memory fakes. ## Quick Start Ask the AI to apply domain-driven design to model a new feature with value objects, an aggregate root, and a use case tested with in-memory repository fakes.