event-driven

Implement message queues, pub/sub, event sourcing, CQRS, and sagas across distributed systems.

53|1|Updated Dec 18, 2025
One-click install
npx skills add https://github.com/cosmix/claude-code-setup --skill event-driven
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-driven
Source: https://github.com/cosmix/claude-code-setup/tree/main/skills/event-driven
Command: npx skills add https://github.com/cosmix/claude-code-setup --skill event-driven

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Event-driven architecture enables loosely coupled, scalable systems by communicating through events rather than direct calls. This skill covers message queues, pub/sub patterns, event sourcing, CQRS, and distributed transaction management with sagas.

Core Features & Use Cases

  • Message Queues & Pub/Sub: RabbitMQ, AWS SQS, Kafka, and NATS implementations.
  • Event Sourcing & CQRS: Patterns to separate command and query responsibilities.
  • Saga Patterns: Coordinating distributed transactions and long-running processes.

Quick Start

Set up a simple producer that publishes an event to a topic, and a consumer that subscribes to handle the event.

Frequently Asked Questions about event-driven

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an event-driven system with message queues?

Event-driven systems use message queues like RabbitMQ, Kafka, or SQS to decouple services through asynchronous messaging. Set up a producer to publish events to a queue or topic, then configure consumers to subscribe and process those events reliably with built-in retry and acknowledgment semantics.

What's the difference between pub/sub and message queues?

Pub/sub broadcasts events to multiple subscribers simultaneously, while message queues deliver each event to a single consumer. Pub/sub suits event notification patterns; queues excel at workload distribution and guaranteeing each message is processed exactly once across your distributed system.

How do I handle distributed transactions across services?

Use the saga pattern to coordinate distributed transactions by breaking them into a sequence of local transactions orchestrated through events. Each service publishes events when its transaction completes or fails, allowing other services to react or trigger compensating actions for rollback.

Can I use event sourcing with Kafka?

Yes. Kafka stores an immutable log of events that serves as your event store, enabling event sourcing patterns where you rebuild application state by replaying events. This approach provides auditability, temporal queries, and natural integration with CQRS architectures.

What guarantees do I get for message delivery and processing?

Event-driven systems provide durable queues with dead-lettering for failed messages, configurable TTL, message acknowledgment to confirm processing, and idempotent processing patterns to handle retries safely without duplicating side effects.

Does RabbitMQ work for high-throughput scenarios like Kafka?

RabbitMQ excels at reliable message routing and complex workflows with lower latency, while Kafka handles extreme throughput and long-term event retention. Choose RabbitMQ for transactional messaging and task queues; use Kafka for event streaming and analytics.