From kotlin-patterns
Apply when creating, refactoring, changing, planning (plan mode) or reviewing domain event publishing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kotlin-patterns:applying-domain-event-publisherThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A pattern that introduces an abstraction for publishing domain events, allowing the domain or application layer to emit events without depending on messaging infrastructure.
A pattern that introduces an abstraction for publishing domain events, allowing the domain or application layer to emit events without depending on messaging infrastructure.
Publish domain events after state changes to notify other parts of the system about what happened, while keeping the domain layer decoupled from messaging infrastructure.
domainEventPublisher.publish after successful state changeDO:
DomainEvent interface or base class for all eventsDON'T:
Please use always these examples as reference: examples.md
npx claudepluginhub allousas/claude-code-plugins --plugin kotlin-patternsGenerates Domain Events, event handlers, and Outbox infrastructure following DDD patterns for .NET applications using MediatR.
Implements Event-Driven Architecture patterns in Spring Boot: domain events, ApplicationEventPublisher, @TransactionalEventListener, Kafka producers/consumers, Spring Cloud Stream, and transactional outbox for reliable messaging.
Provides guidance and code for implementing the transactional outbox pattern to reliably publish domain events alongside database writes, preventing dual-write failures.