What problem does it solve? Writing event handlers in a Go DDD/CQRS codebase involves subtle conventions — choosing the right mediator interface, registering handlers correctly in module.go, and surviving outbox retries — and mistakes silently break event delivery or create duplicate state. ## Core Features & Use Cases - Domain event handlers: Implements the DomainEventHandler interface for internal side effects like logging or publishing integration events via the ExternalMediator. - Integration event handlers: Implements the IntegrationEventHandler interface to consume cross-service events and delegate to use cases. - Registration and safety rules: Enforces fx.Invoke registration in module.go, compile-time interface checks, idempotency guards, and error-swallowing rules for non-critical handlers. - Use Case: When a video.uploaded integration event arrives from another service, generate an EnqueueTranscodingJobHandler that unmarshals the wire payload, calls the StartTranscodingJob use case, and registers with the ExternalMediator. ## Quick Start Ask the agent to create a Go event handler for a specific domain or integration event in a bounded context, following the handler skill conventions.