What problem does it solve?
This Skill solves the common problem of software drifting away from actual business requirements, leading to costly rework, miscommunication between domain experts and development teams, and systems that are rigid and hard to evolve as business rules change.
Core Features & Use Cases
- Full DDD Tactical Pattern Coverage: Provides actionable guidance for implementing all core DDD tactical building blocks including Entities, Value Objects, Aggregates, Domain Services, Repositories, Factories, and Domain Events, with code examples in Kotlin and Java.
- Ubiquitous Language & Bounded Context Guidance: Helps teams align development vocabulary with domain expert terminology, and define clear bounded context boundaries to avoid model conflicts across different parts of the business.
- Anti-Pattern Detection & Architecture Guardrails: Includes checklists and examples of common DDD failures like anemic domain models and bloated aggregates, plus clear layer architecture rules to keep business logic isolated from infrastructure concerns.
- Use Case Example: For an e-commerce platform building an order management system, use this Skill to model Orders as Aggregates with enforced invariants (e.g., cannot confirm empty orders, cannot exceed customer credit limits), use Value Objects for Money and Email to eliminate primitive-related bugs, and define Domain Events for order confirmation to enable downstream shipping and billing workflows.
Quick Start
Use the ddd-tactical skill to model the core domain for your new order management system, including defining bounded contexts, implementing aggregate roots with invariant enforcement, and setting up repository interfaces in the domain layer.