CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

82

1.15x
Quality

59%

Does it follow best practices?

Impact

97%

1.15x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/backend-development/skills/event-store-design/SKILL.md
SKILL.md
Quality
Evals
Security

Evaluation results

100%

26%

Payment Processing Event Store: Database Schema

PostgreSQL event store schema

Criteria
Without context
With context

Events table exists

100%

100%

UUID primary key with gen_random_uuid()

0%

100%

stream_type column

0%

100%

event_data as JSONB

100%

100%

metadata as JSONB with default

100%

100%

global_position as BIGSERIAL

75%

100%

Unique stream version constraint

100%

100%

Stream query index

100%

100%

Global position index

87%

100%

Snapshots table

100%

100%

Subscription checkpoints table

100%

100%

Stream ID naming guidance

22%

100%

98%

4%

Logistics Fleet Tracker: Python Event Store Client

Python asyncpg event store client

Criteria
Without context
With context

Uses asyncpg

100%

100%

Transaction wrapping

100%

100%

Optimistic concurrency check

100%

100%

Event ID for idempotency

100%

100%

Correlation/causation IDs in metadata

25%

75%

Stream ID with aggregate type

100%

100%

Subscription checkpoint persistence

100%

100%

Checkpoint upsert pattern

100%

100%

Backpressure / poll interval

100%

100%

read_stream ordered by version

100%

100%

read_all ordered by global_position

100%

100%

No update/delete of events

100%

100%

100%

10%

Streaming Content Platform: Event Store Implementation

EventStoreDB client and technology selection

Criteria
Without context
With context

Uses esdbclient package

100%

100%

StreamState.ANY for unconditional append

100%

100%

StreamState.NO_STREAM for new streams

0%

100%

Category projection stream naming

100%

100%

current_version parameter used

100%

100%

NewEvent for constructing events

100%

100%

Data encoded as bytes

100%

100%

Technology selection rationale

100%

100%

Subscription or read implementation

100%

100%

No update or delete of events

100%

100%

Stream ID includes aggregate type

100%

100%

88%

35%

Serverless Inventory Tracking Event Store on AWS

DynamoDB event store implementation

Criteria
Without context
With context

PK uses STREAM# prefix

0%

100%

SK uses VERSION# prefix with zero-padding

33%

100%

GSI for global ordering

66%

100%

GSI1PK set to constant 'EVENTS'

0%

100%

Uses batch_writer for appending

0%

0%

Optimistic concurrency via conditional write

100%

100%

read_stream uses KeyConditionExpression

100%

100%

Stream ID naming with aggregate type

62%

75%

Table definition provided

100%

100%

Uses boto3 DynamoDB resource

100%

100%

100%

Order Management Event Schema Design

Event schema design and metadata best practices

Criteria
Without context
With context

Stream ID includes aggregate type

100%

100%

Correlation ID in metadata

100%

100%

Causation ID in metadata

100%

100%

Schema/event version field

100%

100%

Event ID for idempotency

100%

100%

Payload excludes large/derived data

100%

100%

No UPDATE/DELETE guidance

100%

100%

Concrete event examples in JSON

100%

100%

Metadata separate from payload

100%

100%

Event type naming

100%

100%

Timestamp field

100%

100%

100%

3%

Event Store Technology Selection for a Healthcare Platform

Event store technology selection and comparison

Criteria
Without context
With context

DynamoDB for serverless team

100%

100%

PostgreSQL for existing stack team

100%

100%

Kafka for high-throughput team

100%

100%

Kafka per-stream query limitation

100%

100%

Comparison table present

100%

100%

EventStoreDB described as pure event sourcing

87%

100%

PostgreSQL manual implementation limitation

87%

100%

DynamoDB query limitations noted

100%

100%

Justification per recommendation

100%

100%

Marten mentioned

85%

100%

Technology output file

100%

100%

Repository
wshobson/agents
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.