nickcrew/claude-cortex

event-driven-architecture

Event-driven architecture patterns with event sourcing, CQRS, and message-driven communication. Use when designing distributed systems, microservices communication, or systems requiring eventual consistency and scalability.

First seen Jan 24, 2026

Installation

$ npx skills add nickcrew/claude-cortex --skill event-driven-architecture

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from nickcrew/claude-cortex · top by installs.

npx skills add nickcrew/claude-cortex

Browse all from nickcrew/claude-cortex

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 38
License LICENSE
Default branch main
Open issues 3
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,181 B
  • docs SUMMARY.md 256 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 107 installs

SKILL.md

Event-Driven Architecture Patterns

Expert guidance for designing, implementing, and operating event-driven systems with proven patterns for event sourcing, CQRS, message brokers, saga coordination, and eventual consistency management.

When to Use This Skill

  • Designing systems with asynchronous, decoupled communication
  • Implementing event sourcing and CQRS patterns
  • Building systems requiring eventual consistency and high scalability
  • Managing distributed transactions across microservices
  • Processing real-time event streams and data pipelines
  • Implementing publish-subscribe or message queue architectures
  • Designing reactive systems with complex event flows

Core Principles

1. Events as First-Class Citizens

Events represent immutable facts that have occurred in the system. Use past tense naming (OrderCreated, PaymentProcessed) and include all necessary context.

2. Eventual Consistency

Systems achieve consistency over time rather than immediately. Trade strong consistency for higher availability and scalability.

3. Loose Coupling

Services communicate through events without direct dependencies, enabling independent evolution and deployment.

4. Asynchronous Communication

Operations don't block waiting for responses, improving system responsiveness and resilience.

5. Event-Driven Thinking

Design around what happened (events) rather than what to do (commands).

Quick Reference

Topic Load reference
Event structure, types, and characteristics skills/event-driven-architecture/references/event-fundamentals.md
Event sourcing pattern and implementation skills/event-driven-architecture/references/event-sourcing.md
CQRS pattern with read/write separation skills/event-driven-architecture/references/cqrs.md
Message brokers (RabbitMQ, Kafka, SQS/SNS) skills/event-driven-architecture/references/message-brokers.md
Saga pattern for distributed transactions skills/event-driven-architecture/references/saga-pattern.md
Choreography vs orchestration patterns skills/event-driven-architecture/references/choreography-orchestration.md
Eventual consistency and conflict resolution skills/event-driven-architecture/references/eventual-consistency.md
Best practices, anti-patterns, testing skills/event-driven-architecture/references/best-practices.md

Workflow

1. Design Phase

  • Identify Events: What business facts need to be captured?
  • Define Boundaries: Which events are domain vs integration events?
  • Choose Patterns: Event sourcing? CQRS? Sagas? Choreography or orchestration?
  • Select Technology: Kafka for high throughput? RabbitMQ for routing? AWS managed services?

2. Implementation Phase

  • Event Schema: Define versioned event structures with correlation IDs
  • Event Store: Implement append-only storage with optimistic concurrency
  • Projections: Create read models from events for query optimization
  • Handlers: Ensure idempotent, at-least-once delivery handling
  • Sagas: Implement compensating transactions for failures

3. Operation Phase

  • Monitoring: Track event lag, processing time, failure rates
  • Replay: Build capability to replay events for debugging/recovery
  • Versioning: Support multiple event schema versions simultaneously
  • Scaling: Partition by aggregate ID, scale consumers horizontally
  • Testing: Test handlers in isolation with contract testing

Common Mistakes

Event Design Errors

  • ❌ Using commands instead of events (CreateOrder vs OrderCreated)
  • ❌ Mutable events or missing versioning
  • ❌ Events without correlation/causation IDs
  • ✓ Immutable, past-tense, self-contained events

Consistency Issues

  • ❌ Assuming immediate consistency across services
  • ❌ Not handling duplicate event delivery
  • ❌ Missing idempotency in handlers
  • ✓ Design for eventual consistency, idempotent handlers

Architecture Mistakes

  • ❌ Synchronous event chains (waiting for responses)
  • ❌ Events coupled to specific service implementations
  • ❌ No compensation strategy for sagas
  • ✓ Async fire-and-forget, domain-focused events, compensating transactions

Operational Gaps

  • ❌ No event replay capability
  • ❌ Missing monitoring for event lag
  • ❌ No schema registry or version management
  • ✓ Replay-ready, monitored, schema-managed events

Pattern Selection Guide

Use Event Sourcing When:

  • Need complete audit trail of all changes
  • Temporal queries required ("state at time T")
  • Multiple projections from same events
  • Event replay for debugging/recovery

Use CQRS When:

  • High read:write ratio (10:1+)
  • Complex query requirements
  • Need to scale reads independently
  • Different databases for read/write optimal

Use Sagas When:

  • Distributed transactions across services
  • Need atomicity without 2PC
  • Complex multi-step workflows
  • Compensation logic required

Choose Choreography When:

  • Simple workflows (2-4 steps)
  • High service autonomy desired
  • Event-driven culture established
  • No complex dependencies

Choose Orchestration When:

  • Complex workflows (5+ steps)
  • Sequential dependencies
  • Need centralized visibility
  • Business logic in workflow

Resources

  • Books: "Designing Event-Driven Systems" (Stopford), "Versioning in an Event Sourced System" (Young)
  • Sites: eventuate.io, event-driven.io, Martin Fowler's event sourcing articles
  • Tools: Kafka, EventStoreDB, RabbitMQ, Axon Framework, MassTransit
  • Patterns: Event Sourcing, CQRS, Saga, Outbox, CDC, Event Streaming