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.

76

1.15x
Quality

71%

Does it follow best practices?

Impact

99%

1.15x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./tests/ext_conformance/artifacts/agents-wshobson/backend-development/skills/event-store-design/SKILL.md

The canonical home for this skill is event-store-design in wshobson/agents

SKILL.md
Quality
Evals
Security

Quality

Content

46%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body delivers genuinely useful, concrete templates for four technology options, but it is a monolithic reference dump: event-sourcing fundamentals Claude already knows are re-explained, the templates belong in separate reference files behind a lean overview, and no design workflow or validation guidance sequences the material. Code quality is good but not copy-paste complete in spots.

Suggestions

Split the four templates into reference files (e.g., references/postgres-schema.sql, references/eventstoredb.md, references/dynamodb.md) and keep SKILL.md as a lean overview with well-signaled one-level-deep links, per the progressive-disclosure principle.

Delete or drastically shrink the 'Core Concepts' section — the architecture ASCII diagram and the append-only/ordering/versioning requirements table re-explain event-sourcing fundamentals Claude already knows.

Fix the executable gaps: import asyncio in Template 2, implement the conditional (optimistic-concurrency) write in the DynamoDB template instead of a plain batch_writer, and add a short validation checklist (e.g., test concurrent appends, duplicate event-ID handling) after the templates.

DimensionReasoningScore

Conciseness

The ~430-line body includes a "Core Concepts" section with an ASCII architecture diagram and a requirements table explaining append-only ordering and optimistic concurrency — event-sourcing fundamentals Claude already knows — plus three full inline implementations that pad the main file. It is noticeably verbose rather than just having minor trimmable spots, though the domain specificity keeps it above the 'severely verbose' anchor.

2 / 5

Actionability

The PostgreSQL schema and Python/EventStoreDB code are concrete and mostly executable, but there are minor gaps: `asyncio.sleep` is called in `subscribe` without importing asyncio, the DynamoDB template's table definition is a prose docstring rather than real CloudFormation/Terraform, and the DynamoDB append never actually performs the advertised conditional write for concurrency. Mostly executable with minor gaps, not fully copy-paste ready.

4 / 5

Workflow Clarity

The section order (When to Use → Technology Comparison → Templates → Best Practices) implies a rough design flow, but no explicit sequence or decision guidance connects them, and there are no validation checkpoints for batch append operations (e.g., verifying optimistic-concurrency behavior or idempotency after implementation). This matches 'sequence present but checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

There is no bundle (references/, scripts/, assets/ are absent) and roughly 370 lines of templates — four large, independently usable artifacts — are inlined in SKILL.md, which is exactly the 'content that clearly belongs in separate files is inlined' anchor. Section headers exist, so it is above the monolithic anchor 1, but structure is minimal relative to the bulk.

2 / 5

Total

11

/

20

Passed

Description

82%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, concise, with an explicit 'Use when...' clause carrying three concrete trigger scenarios. The only weakness is that the stated actions ("design and implement") are generic verbs rather than the specific capabilities the body actually provides (schema templates, technology comparison, subscription patterns).

DimensionReasoningScore

Specificity

"Design and implement event stores" names the domain with two concrete but generic actions; it does not list several specific actions (e.g., schema design, technology selection, subscription setup), matching the '1-2 concrete actions' anchor rather than the 'several specific actions' anchor above.

3 / 5

Completeness

The description explicitly answers both: what ("Design and implement event stores for event-sourced systems") and when ("Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns") with three concrete trigger phrases. Not below 5 since both what and when are explicit and concrete.

5 / 5

Trigger Term Quality

"event sourcing infrastructure", "event store technologies", and "event persistence patterns" are natural phrases users would say, but common variations and specific technology names (EventStoreDB, Kafka, DynamoDB, Postgres) that the body covers are missing from the trigger terms.

4 / 5

Distinctiveness Conflict Risk

"Event stores" and "event-sourced systems" carve out a clear niche with distinct triggers ("event sourcing", "event persistence") that are unlikely to conflict with adjacent skills like general database design or messaging. The domain-specific vocabulary keeps conflict risk minimal.

5 / 5

Total

17

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Dicklesworthstone/pi_agent_rust
Reviewed

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.