What problem does it solve?
This Skill helps software teams design robust Domain models by providing guidance on aggregates, entities, value objects, and repositories. It covers how to model aggregate roots, enforce invariants, describe value objects, and apply the repository pattern with explicit interfaces and concrete implementations. It also outlines EF Core materialization constructor rules and clean separation between Domain and Infrastructure layers. It is designed to be loaded by Solution Spec Writer, Execution Planner, and Implementation agents when a feature touches the Domain layer.
Core Features & Use Cases
- Aggregate design guidance: define boundaries, invariants, and access routes within an aggregate.
- Value objects: define equality by value, immutability, and hydration from other SORs; ensure hydration caching and isolation from the database.
- Entities and repositories: model identity, aggregate boundaries, and explicit repository methods per use case.
- EF materialization constructors: include private parameterless constructors for Value objects used in EF Core configurations as needed.
Quick Start
Observe the domain requirements and implement an aggregate root with related value objects and a repository per aggregate.