j5ik2o-ddd-aggregate-design
Installation
SKILL.md
DDD Aggregate Design
An aggregate is a consistency boundary. Design it around true invariants, not object graphs, database tables, or UI screens.
Workflow
-
Name the command and business invariant under discussion.
-
Decide what must be strongly consistent immediately. Put only that inside one aggregate.
-
Choose one aggregate root as the only external entry point.
-
Reference other aggregates by ID and coordinate them with events, policies, sagas, or process managers.
-
Prefer immutable updates unless the language or framework strongly pushes otherwise.
-
Review constructors/factories for complete initialization and invariant protection.