Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
Overall
score
73%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillEvaluation — 100%
↑ 1.14xAgent success when using this skill
Validation for skill structure
PostgreSQL event store schema
Events table exists
100%
100%
UUID primary key with gen_random_uuid()
50%
100%
stream_type column
100%
100%
event_data as JSONB
63%
100%
metadata as JSONB with default
100%
100%
global_position as BIGSERIAL
88%
100%
Unique stream version constraint
100%
100%
Stream query index
100%
100%
Global position index
88%
100%
Snapshots table
70%
100%
Subscription checkpoints table
100%
100%
Stream ID naming guidance
44%
100%
Without context: $0.4488 · 2m 19s · 16 turns · 16 in / 8,029 out tokens
With context: $0.3808 · 1m 30s · 16 turns · 293 in / 4,016 out tokens
Python asyncpg event store client
Uses asyncpg
100%
100%
Transaction wrapping
100%
100%
Optimistic concurrency check
100%
100%
Event ID for idempotency
100%
100%
Correlation/causation IDs in metadata
13%
88%
Stream ID with aggregate type
88%
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%
Without context: $0.3680 · 1m 55s · 12 turns · 12 in / 7,178 out tokens
With context: $0.5971 · 2m 23s · 25 turns · 87 in / 7,629 out tokens
EventStoreDB client and technology selection
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%
Without context: $0.4351 · 2m 32s · 15 turns · 16 in / 7,654 out tokens
With context: $0.4497 · 2m 3s · 16 turns · 310 in / 6,145 out tokens
Table of Contents
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.