Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
68
52%
Does it follow best practices?
Impact
99%
1.15xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/backend-development/skills/event-store-design/SKILL.mdQuality
Discovery
75%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is well-structured with a clear 'Use when' clause and targets a distinct domain. Its main weakness is that the capability descriptions remain somewhat high-level rather than enumerating specific concrete actions, and the trigger terms could be expanded to include related concepts like CQRS, snapshots, or specific technologies that users might mention.
Suggestions
Add more specific concrete actions such as 'design event schemas, implement snapshotting, build projections, manage event streams'
Expand trigger terms to include related concepts users might naturally mention: 'CQRS', 'event stream', 'append-only log', 'EventStoreDB', 'domain events', 'event replay'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (event sourcing) and some actions ('design and implement event stores', 'choosing event store technologies', 'implementing event persistence patterns'), but these are somewhat high-level rather than listing multiple concrete specific actions like schema design, snapshotting, stream management, or projection building. | 2 / 3 |
Completeness | Clearly answers both 'what' (design and implement event stores for event-sourced systems) and 'when' (explicit 'Use when' clause covering building event sourcing infrastructure, choosing technologies, or implementing persistence patterns). | 3 / 3 |
Trigger Term Quality | Includes relevant terms like 'event store', 'event-sourced', 'event sourcing', and 'event persistence patterns', but misses common natural variations users might say such as 'CQRS', 'event stream', 'event log', 'append-only store', 'EventStoreDB', or 'domain events'. | 2 / 3 |
Distinctiveness Conflict Risk | Event sourcing and event stores are a well-defined niche with distinct terminology unlikely to conflict with other skills. The triggers are specific enough to avoid overlap with general database, messaging, or architecture skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
29%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides excellent executable code examples across multiple technologies but suffers from being a massive monolithic document that dumps everything inline. It lacks workflow guidance for actually designing and implementing an event store (no sequenced steps, no validation checkpoints), and explains basic concepts Claude already understands. The content would benefit enormously from splitting templates into separate files and adding a clear implementation workflow.
Suggestions
Extract the four implementation templates into separate referenced files (e.g., postgres-schema.md, python-implementation.md, eventstoredb-usage.md, dynamodb-store.md) and keep SKILL.md as a concise overview with navigation links.
Add a clear step-by-step workflow for designing an event store: 1) Choose technology based on requirements, 2) Set up schema, 3) Validate schema with test writes, 4) Implement read/write operations, 5) Verify concurrency handling, 6) Set up subscriptions.
Remove the 'Core Concepts' section including the ASCII diagram and requirements table—Claude already understands event sourcing fundamentals. Replace with a brief 'Key design decisions' checklist.
Add validation steps such as testing optimistic concurrency, verifying idempotent writes, and confirming subscription checkpoint recovery after the schema and implementation are set up.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~350+ lines. It includes extensive ASCII diagrams, requirement tables explaining basic concepts Claude already knows (append-only, ordered, etc.), a full technology comparison table, and four complete implementation templates. Much of this could be dramatically condensed or split into referenced files. | 1 / 3 |
Actionability | The skill provides fully executable SQL schemas, complete Python implementations with asyncpg, EventStoreDB client usage, and DynamoDB implementations. Code is copy-paste ready with proper imports, error handling, and realistic patterns. | 3 / 3 |
Workflow Clarity | There is no clear workflow sequence for designing or implementing an event store. The content presents templates and best practices but lacks step-by-step guidance, validation checkpoints, or feedback loops. For a skill involving database schema creation and infrastructure setup, missing validation steps is a significant gap. | 1 / 3 |
Progressive Disclosure | The content is a monolithic wall of text with four complete implementation templates inline. The PostgreSQL schema, Python implementation, EventStoreDB usage, and DynamoDB store should each be in separate referenced files, with SKILL.md providing only an overview and navigation. | 1 / 3 |
Total | 6 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
47823e3
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.