event-store-design

Design event store architectures with ordering, versioning, and snapshot schemas.

Updated Feb 3, 2026
One-click install
npx skills add https://github.com/leonardoteodoroo/amino-advanced --skill event-store-design-leonardoteodoroo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: event-store-design
Source: https://github.com/leonardoteodoroo/amino-advanced/tree/main/.agent/skills/event-store-design
Command: npx skills add https://github.com/leonardoteodoroo/amino-advanced --skill event-store-design-leonardoteodoroo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Design and implement robust event stores for event-sourced systems, enabling reliable persistence, querying, and scaling of domain events.

Core Features & Use Cases

  • Event store architecture design and evaluation.
  • Choosing technologies (EventStoreDB, PostgreSQL, Kafka, DynamoDB, Marten) for given requirements.
  • Defining schemas for events, snapshots, and subscriptions.
  • Planning scaling and querying strategies for per-stream and global views.

Quick Start

Outline an event-store strategy for a new domain, including streams, events, and snapshot schemas, and map required indices.

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

Designing an event store architecture involves outlining strategies for streams, events, and snapshot schemas, mapping required indices, and selecting appropriate storage technologies for reliable domain event persistence.

What is the best way to choose a database for an event store?

Choosing a database for an event store requires evaluating specific requirements against technologies like EventStoreDB, PostgreSQL, Kafka, DynamoDB, and Marten to determine the best fit for your querying and scaling needs.

How does snapshotting work in event-sourced systems?

Snapshotting in event-sourced systems reduces rehydration overhead by defining specific snapshot schemas that capture and persist aggregate state at intervals, complementing the core event stream persistence layer.

Can I use PostgreSQL or Kafka to implement event store persistence?

Yes, you can implement event store persistence using PostgreSQL or Kafka, evaluating their capabilities against EventStoreDB, DynamoDB, and Marten to match your specific domain's querying and scaling requirements.

How do I handle per-stream and global ordering when building an event store?

Handling per-stream and global ordering involves planning specific scaling and querying strategies within your event store architecture to ensure consistent sequence and reliable domain event tracking.

When should I not use event sourcing for my application persistence?

You should not use event sourcing when your application lacks complex domain state rehydration needs, as the architecture imposes significant overhead in managing streams, snapshots, and subscription schemas.