From xonovex-skill-ddd
Use when finding and naming domain boundaries and modelling inside them — establishing a ubiquitous language, drawing bounded contexts and a context map, protecting a model with an anti-corruption layer, and applying the tactical building blocks (entity, value object, aggregate + root, domain event, repository, domain/application service). Triggers on ubiquitous language, bounded context, context map, anti-corruption layer, aggregate / aggregate root, entity vs value object, domain event, repository, strategic vs tactical design, anemic domain model — even when the user doesn't say 'DDD'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/xonovex-skill-ddd:ddd-guideThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Find the boundaries in a domain, name everything inside them rigorously, and model each boundary with building blocks that keep business invariants honest. Strategic design draws the map; tactical design fills it in.
Find the boundaries in a domain, name everything inside them rigorously, and model each boundary with building blocks that keep business invariants honest. Strategic design draws the map; tactical design fills it in.
Bounded context: Ordering
Ubiquitous language: Customer, Order, OrderLine, place, fulfil
Aggregate Order (root)
invariant: total == sum(orderLines.subtotal) // enforced in one transaction
orderLines: OrderLine[] // value objects, no identity
references Shipment by id, never by object // cross-aggregate = eventual consistency
emits OrderPlaced (domain event, carries identifiers)
Repository: orders.save(order) / orders.byId(id) // whole aggregate, persistence-ignorant
Bounded context: Shipping
"Customer" here means Recipient: name + address + phone
anti-corruption layer translates OrderPlaced -> Recipient // does not import the Ordering model
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub xonovex/platform --plugin xonovex-skill-ddd