Skill

Architect Event-Sourced Systems

An expert in event sourcing, CQRS, and event-driven architecture - event store design, projections, saga orchestration, and eventual consistency.


83
Spark score
out of 100
Updated yesterday
Version 15.7.0

Add to Favorites

Why it matters

Design and implement robust event-sourced systems, CQRS, and event-driven architectures. This skill excels at creating audit trails, temporal queries, and optimizing read/write models.

Outcomes

What it gets done

01

Design event store schemas and streams

02

Implement CQRS patterns and projections

03

Orchestrate sagas for complex workflows

04

Manage event versioning and eventual consistency

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-event-sourcing-architect | bash

Overview

Event Sourcing Architect

An event sourcing architect skill covering event store design, CQRS, projections, saga orchestration, and eventual consistency. Use for event-sourced systems needing audit trails, temporal queries, or cross-aggregate workflow orchestration; not for simple CRUD domains.

What it does

This skill acts as an expert in event sourcing, CQRS, and event-driven architecture patterns, mastering event store design, projection building, saga orchestration, and eventual consistency patterns - to be used proactively for event-sourced systems, audit trail requirements, or complex domain modeling with temporal queries.

Its capabilities cover 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, and eventual consistency handling.

Its instructions: identify aggregate boundaries and event streams; design events as immutable facts; implement command handlers and event application; build projections for query requirements; design saga/process managers for cross-aggregate workflows; implement snapshotting for long-lived aggregates; and set up an event versioning strategy. Its safety constraints: never mutate or delete committed events in production, and rebuild projections in staging before running in production.

Its best practices: events are facts and are never deleted or modified; 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; and use durable execution frameworks like DBOS for process managers and sagas, since they persist workflow state automatically, making cross-aggregate orchestration resilient to crashes.

When to use - and when NOT to

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, or implementing undo/redo or time-travel debugging.

Not when the domain is simple and CRUD suffices, when event store operations or projections cannot be supported, or when strong immediate consistency is required everywhere.

Inputs and outputs

Inputs: a domain requiring an audit trail, complex cross-aggregate workflows, temporal queries, or read/write model separation.

Outputs: designed event streams with immutable events, command handlers, query-optimized projections, saga/process manager orchestration for cross-aggregate workflows, snapshotting for long-lived aggregates, and an event versioning strategy.

Integrations

DBOS (durable execution for sagas/process managers); related skills: saga-orchestration, architecture-patterns, dbos-*.

Who it's for

Architects and engineers building event-sourced, CQRS-based, or event-driven systems who need audit trails, temporal queries, or resilient cross-aggregate workflow orchestration.

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.