Agent skill · product strategy · aiskillstore
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.
Why this skill is useful
Provides detailed design patterns and specific SQL schema examples for implementing event stores that the AI wouldn't reliably generate on its own.
What it needs
About 6k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
Event Store Design Comprehensive guide to designing event stores for event-sourced applications. Do not use this skill when The task is unrelated to event store design You need a different domain or tool outside this scope Instructions Clarify goals, constraints, and required inputs. Apply relevant best practices and validate outcomes. Provide actionable steps and verification. If detailed examples are required, open resources/implementation-playbook.md. Use this skill when 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 Template 1: PostgreSQL Event Store Schema Template 2: Python Event Store Implementation Template 3: EventStoreDB Usage Template 4: DynamoDB Event Store 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 …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/event-store-design