event-store-design

Design event store architectures for event-sourced systems across PostgreSQL, EventStoreDB, Kafka, DynamoDB, and Marten.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/Jhabbig/Habbig --skill event-store-design-jhabbig
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-store-design
Source: https://github.com/Jhabbig/Habbig/tree/main/.claude/plugins/wshobson/backend-development/skills/event-store-design
Command: npx skills add https://github.com/Jhabbig/Habbig --skill event-store-design-jhabbig

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you design and implement event stores that safely persist immutable event streams for event-sourced applications, reducing data corruption risk and making history replayable.

Core Features & Use Cases

  • Event Store Architecture: Plan append-only storage, per-stream ordering, global positions, and concurrency controls.
  • Technology Selection: Compare PostgreSQL, EventStoreDB, Kafka, DynamoDB, and Marten for different event-sourcing needs.
  • Implementation Templates: Use ready-made schema and code patterns for event appends, stream reads, subscriptions, checkpoints, and projections.
  • Use Case: A team building a new order platform can use this Skill to define the event schema, choose storage technology, and implement reliable replay and subscription workflows.

Quick Start

Ask the Skill to design an event store architecture for your application and recommend a storage strategy with schemas, concurrency handling, and subscription patterns.

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 schema for event sourcing in PostgreSQL?

To design an event store in PostgreSQL, you plan append-only storage tables that enforce per-stream ordering, track global positions, and apply optimistic concurrency controls to prevent data corruption during concurrent writes.

What is the best way to handle optimistic concurrency in an event store?

Handling optimistic concurrency in an event store requires versioned writes that check the current stream version before appending immutable events, ensuring safe concurrent access and preventing lost updates across your event-sourced system.

How do I implement event store subscriptions and checkpoints with EventStoreDB?

Implementing event store subscriptions and checkpoints with EventStoreDB involves setting up durable subscription streams that track global positions, enabling idempotent handling and reliable history replay for downstream projections.

EventStoreDB vs Kafka: which storage technology should I choose for event sourcing?

Choosing between EventStoreDB and Kafka for event sourcing depends on your architecture needs; EventStoreDB offers purpose-built stream ordering and optimistic concurrency, while Kafka provides high-throughput global positioning and scalable retrieval patterns.

Does DynamoDB work for building an event-sourced system with append-only streams?

Yes, DynamoDB works for event-sourced systems by supporting append-only persistence and immutable ordered events, allowing you to implement scalable retrieval patterns and versioned writes for reliable event streams.

Why do I need idempotent handling and global positioning in event store design?

You need idempotent handling and global positioning in event store design to ensure reliable event subscriptions, prevent duplicate processing during replay, and maintain consistent checkpoints across distributed projections.