What problem does it solve? It prevents anemic domain models and framework-coupled business logic by standardizing how the domain layer is designed in Java Spring Boot projects, keeping business rules independent of JPA, Spring, and other infrastructure concerns. ## Core Features & Use Cases - Rich Domain Modeling: Defines rules for Entities with business methods, immutable Value Objects, and Aggregates accessed only through Aggregate Roots. - Layered Architecture Enforcement: Specifies dependency direction (Infrastructure → Domain), repository interfaces in the domain layer with JPA adapters in infrastructure, and a standard package structure. - Domain Services & Events: Covers domain services for cross-aggregate logic, domain events, and Anti-Corruption Layers for external system integration. - Use Case: When building an order management module, use this Skill to model Order as an Aggregate Root with OrderItem children, a Money value object, an OrderRepository interface, and an OrderSubmittedEvent, all free of JPA annotations. ## Quick Start Apply the DDD skill to design the domain layer for a new product management module in my Spring Boot project.