ddd-domain-event
Installation
SKILL.md
One-line summary
A domain event is an immutable record that a business-significant thing happened — past tense, named in the ubiquitous language, carrying the data downstream listeners need to react.
When to use this skill
- Crossing aggregate boundaries — two aggregates must coordinate, but they live in separate transactions.
- Informing other bounded contexts that a noteworthy thing happened in this one.
- Building read models, projections, or downstream integrations (audit logs, analytics, search indexes).
- Signalling a lifecycle transition the business itself talks about: an order is placed, a payment settles, a refund is issued, a shipment leaves the warehouse.
When NOT to use this skill
- The state change is internal to one aggregate and has no listeners — just call the method directly.
- The "event" is really a command (an imperative request to do something). Commands and events are different:
PlaceOrderis a command,OrderPlacedis an event. - The interaction must be synchronous within a single transaction — that is not an event, it is a method call.