event-store-design

Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.

By wshobson · 9,667 installs

npx skills add wshobson/agents --skill event-store-design

Source repository · Upstream listing

Event Store Design Comprehensive guide to designing event stores for event sourced applications. When to Use This Skill Designing event sourcing infrastructure Choosing between event store technologies Implementing custom event stores Optimizing event storage and retrieval Setting up event store schemas Planning for event store scaling Core Concepts 1. Event Store Architecture 2. Event Store Requirements Requirement Description Append only Events are immutable, only appends Ordered Per stream and global ordering Versioned Optimistic concurrency control Subscriptions Real time event notifications Idempotent Handle duplicate writes safely Technology Comparison Technology Best For Limitations EventStoreDB Pure event sourcing Single purpose PostgreSQL Existing Postgres stack Manual implementation Kafka High throughput streaming Not ideal for per stream queries DynamoDB Serverless, AWS native Query limitations Marten .NET ecosystems .NET specific Templates and detailed worked examples Full template library and detailed worked examples live in references/details.md . Read that file when you need the concrete templates. Best Practices Do's Use stream IDs that include aggregate type Order {uuid} Include correlation/causation IDs For tracing Version events from day one Plan for schema evolution Implement idempotency Use event IDs for deduplication Index appropriately For your query patterns Don'ts Don't update or delete events They're immutable facts Don't store large payloads Keep events small Don't skip optimistic concurrency Prevents data corruption Don't ignore backpressure Handle slow consumers