event-sourcing-cqrs-design

Design event-sourced systems and CQRS architectures with event store and aggregate guidance.

1|Updated Nov 29, 2025
One-click install
npx skills add https://github.com/SSiertsema/claude-code-plugins --skill event-sourcing-cqrs-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-sourcing-cqrs-design
Source: https://github.com/SSiertsema/claude-code-plugins/tree/main/event-sourcing-cqrs-design/skills/event-sourcing-cqrs-design
Command: npx skills add https://github.com/SSiertsema/claude-code-plugins --skill event-sourcing-cqrs-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Event sourcing and CQRS patterns are complex to design; this guide helps architects craft robust stateful systems by clarifying when to use ES, how to model aggregates, events, and read models, and how to handle auditability and GDPR implications.

Core Features & Use Cases

  • Guidance on selecting ES vs CQRS and how to combine them.
  • Rules for event schemas, aggregate boundaries, snapshots, and replay.
  • Approach to projections, versioning, and GDPR considerations across systems.

Quick Start

Design an event-sourced domain model with CQRS for an order context, including aggregates, events, and a projection strategy.

Frequently Asked Questions about event-sourcing-cqrs-design

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

FAQPage Schema
How do I design event-sourced systems with CQRS for microservices?

Design event-sourced systems with CQRS by modeling aggregate boundaries, event schemas, and read models, while establishing projections and consistency guarantees across microservices. This approach clarifies state modeling and separates command execution from query optimization.

When should I use event sourcing instead of standard CQRS?

Use event sourcing instead of standard CQRS when you require strict auditability, event replay ability, and temporal state queries. Standard CQRS separates commands and queries, but event sourcing persists state transitions as a sequence of immutable events for full historical reconstruction.

How do I handle GDPR considerations in an event store architecture?

Handle GDPR considerations in an event store architecture by applying specific projection strategies and event versioning rules that allow personal data to be obscured or removed without compromising the integrity of the immutable event sequence.

What is the best way to manage event versioning and upcasting in domain-driven design?

Manage event versioning and upcasting in domain-driven design by applying explicit rules for event schemas and snapshot mechanisms. This ensures older events can be transformed and replayed correctly against current aggregate definitions without data loss.

Does event sourcing work for high-volume projection rebuilding?

Event sourcing supports high-volume projection rebuilding by leveraging deterministic event replay ability. You can rebuild read models efficiently from the event store by replaying historical events, applying snapshots to optimize aggregate state restoration.

Why do I need aggregate boundaries in event-sourced domain modeling?

You need aggregate boundaries in event-sourced domain modeling to enforce consistency guarantees and transactional scope. Defining these boundaries ensures that state changes remain valid, isolated, and correctly applied within specific domain contexts.