event-store-design

Design event stores with per-stream versioning, snapshots, and migrations.

1|Updated Apr 27, 2026
One-click install
npx skills add https://github.com/haxlys/skills --skill event-store-design-haxlys
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-store-design
Source: https://github.com/haxlys/skills/tree/main/vendored/wshobson-agents/plugins/backend-development/skills/event-store-design
Command: npx skills add https://github.com/haxlys/skills --skill event-store-design-haxlys

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing robust and scalable event stores for event-sourced applications, enabling reliable persistence and querying of domain events.

Core Features & Use Cases

  • Define stream schemas, event types, and snapshots for domain models.
  • Compare and select suitable event store technologies; implement storage, versioning, and subscriptions.
  • Use Case: Build an event-sourced system with per-stream versioning and global event projections.

Quick Start

Define your domain streams and choose a persistence strategy to begin designing your event store.

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 for scalable event sourcing?

To design an event store for scalable event sourcing, define stream schemas, select a persistence technology, and implement per-stream versioning to ensure append-only durability and replayable domain histories.

What is per-stream versioning in an event store?

Per-stream versioning in an event store ensures strict ordering and concurrency control for events within a specific domain stream, enabling reliable replay and preventing write conflicts in event-sourced systems.

How do I handle data migrations in event-sourced systems?

Handle data migrations in event-sourced systems by applying snapshots and managing event schema versioning within your event store architecture, ensuring historical events remain compatible during replay at enterprise scale.

When do I need snapshots in event sourcing?

You need snapshots in event sourcing when replaying long event histories becomes a performance bottleneck, allowing the event store to restore aggregate state from a saved checkpoint instead of processing every past event.

How do I implement idempotent writes and subscriptions for an event store?

Implement idempotent writes and subscriptions by defining specific event types and stream schemas in your event store architecture, ensuring reliable global projections and preventing duplicate event processing during replay.

Is event sourcing suitable for enterprise-scale scenarios?

Event sourcing is suitable for enterprise-scale scenarios when your event store architecture supports append-only durability, global event projections, and robust data migrations to handle high-volume, reliable persistence.