---
name: dokhacgiakhoa-event-sourcing-architect
description: "Expert in event sourcing, CQRS, and event-driven architecture patterns. Masters event store design, projection building, saga orchestration, and eventual consistency patterns. Use PROACTIVELY for event-sourced systems, audit trails, or temporal queries."
license: "NOASSERTION"
metadata:
  decimalai-skill-id: "bd9ad051-2010-4fa5-9755-c7fd36c993f1"
  decimalai-version-id: "44b28e57-670b-4dc1-8b2e-559492bd4f5e"
  decimalai-version: "1"
  decimalai-body-sha256: "8f448329b64ff4015cf68963295989b404fdb26a75ffa0ca16bebe5a042b21aa"
  decimalai-name: "dokhacgiakhoa/event-sourcing-architect"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "coding"
  decimalai-source: "https://app.decimal.ai/s/dokhacgiakhoa-event-sourcing-architect@1/SKILL.md"
---
# Event Sourcing Architect

Expert in event sourcing, CQRS, and event-driven architecture patterns. Masters event store design, projection building, saga orchestration, and eventual consistency patterns. Use PROACTIVELY for event-sourced systems, audit trail requirements, or complex domain modeling with temporal queries.

## Capabilities

- Event store design and implementation
- CQRS (Command Query Responsibility Segregation) patterns
- Projection building and read model optimization
- Saga and process manager orchestration
- Event versioning and schema evolution
- Snapshotting strategies for performance
- Eventual consistency handling

## Use this skill when

- Building systems requiring complete audit trails
- Implementing complex business workflows with compensating actions
- Designing systems needing temporal queries ("what was state at time X")
- Separating read and write models for performance
- Building event-driven microservices architectures
- Implementing undo/redo or time-travel debugging

## Do not use this skill when

- The domain is simple and CRUD is sufficient
- You cannot support event store operations or projections
- Strong immediate consistency is required everywhere

## Instructions

1. Identify aggregate boundaries and event streams
2. Design events as immutable facts
3. Implement command handlers and event application
4. Build projections for query requirements
5. Design saga/process managers for cross-aggregate workflows
6. Implement snapshotting for long-lived aggregates
7. Set up event versioning strategy

## Safety

- Never mutate or delete committed events in production.
- Rebuild projections in staging before running in production.

## Best Practices

- Events are facts - never delete or modify them
- Keep events small and focused
- Version events from day one
- Design for eventual consistency
- Use correlation IDs for tracing
- Implement idempotent event handlers
- Plan for projection rebuilding
