Agent skill · software engineering · 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 specific implementation patterns and database schemas for event sourcing that the AI wouldn't reliably generate on its own.
What it needs
Requires asyncpg, postgresql installed locally. 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. 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 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 Don't skip optimistic concurrency - Prevents data corruption Don't ignore backpressure - Handle slow consumers Resources EventStoreDB Marten Events Event Sourcing Pattern
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/event-store-design--eaf682