What problem does it solve? Event-driven changes often break consumers through incompatible payloads, duplicate side effects from retries, and dual-write inconsistencies between databases and message brokers. This Skill guides the safe addition or modification of event publishers, consumers, and subscriber flows while enforcing the repo's event contract. ## Core Features & Use Cases - Contract-First Event Changes: Register schemas in the event schema registry (Avro, Protobuf, or JSON Schema) before publishing, prefer additive evolution, and use CloudEvents 1.0 envelopes when no repo convention exists. - Idempotency and Delivery Guarantees: Enforce exactly-once consumer semantics via idempotency keys in Redis or Postgres, route failures to dead-letter queues, and document retry and ordering behavior. - Transactional Outbox Pattern: Prevent dual-write inconsistency by writing events to an outbox table in the same database transaction and dispatching asynchronously with SELECT ... FOR UPDATE SKIP LOCKED workers. - Use Case: When adding a new order-created consumer to a Kafka-based service, use this Skill to validate the payload schema, add idempotent handling, wire a DLQ, and cover duplicate-delivery paths with tests. ## Quick Start Use the add-event-handler skill to add a consumer for the order-created event with idempotent handling and a dead-letter queue.