event-store-design

Design event stores with append-only semantics and per-stream versioning.

1|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/mokbhai/claude --skill event-store-design-mokbhai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-store-design
Source: https://github.com/mokbhai/claude/tree/main/skills/event-store-design
Command: npx skills add https://github.com/mokbhai/claude --skill event-store-design-mokbhai

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Event-driven architectures often struggle with reliable, scalable persistence of changes. This Skill provides a structured approach to designing and implementing event stores for event-sourced systems, ensuring immutability, ordering, and efficient querying.

Core Features & Use Cases

  • Design and implement per-stream event stores with versioning and checkpoints.
  • Compare technologies (EventStoreDB, PostgreSQL, Kafka) and select based on requirements.
  • Real-world patterns: snapshots, projections, and subscriptions for real-time processing.

Quick Start

Draft a minimal event-store schema and implement a simple append/read workflow to validate the design.

Frequently Asked Questions about event-store-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design an event store with per-stream versioning and global ordering?

To design an event store with per-stream versioning, enforce append-only semantics for data immutability alongside a global ordering mechanism. This ensures reliable event-sourced persistence and consistent state tracking across distributed systems.

What is the best way to implement event sourcing persistence for scalable applications?

The best way to implement event sourcing persistence is by applying structured architectural choices, schema patterns, and practical usage scenarios like snapshots and projections. This approach ensures reliable, scalable persistence for event-driven architectures.

How does event store schema design support subscriptions and real-time processing?

Event store schema design supports subscriptions and real-time processing by implementing projections and checkpoints. These patterns enable efficient querying and allow downstream systems to process state changes continuously as new events are appended.

EventStoreDB vs PostgreSQL vs Kafka: how do I choose a technology for an event store?

Choosing between EventStoreDB, PostgreSQL, and Kafka for an event store depends on comparing their capabilities against your specific requirements for append-only semantics, per-stream versioning, and subscription support to ensure scalable, reliable persistence.

When do I need snapshots in an event-sourced system?

You need snapshots in an event-sourced system to optimize read performance and reduce reloading overhead. Snapshots capture periodic aggregate states, preventing the system from replaying the entire event stream every time it reconstructs current state.

Can I use a relational database like PostgreSQL to build an event store with append-only semantics?

Yes, you can use PostgreSQL to build an event store with append-only semantics. By applying specific schema patterns and per-stream versioning constraints, relational databases can provide reliable, scalable persistence for event-sourced architectures.