CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/idempotency-test-author

Build-an-X for idempotency tests in any async/job/API context - idempotency-key handling (per Stripe / AWS prescriptive guidance pattern), retry-safe semantics (exactly-once vs at-least-once vs at-most-once), side-effect commutativity verification, fingerprint-based dedup, idempotency-window tuning. Use when authoring tests for any system where the same input could be processed twice (SQS Standard at-least-once, RabbitMQ requeue, retry-on-error logic, webhook redelivery, browser double-click, mobile-network retry).

71

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

78%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.

A well-structured build-an-X skill with a clear classify-then-test workflow, decision tables, an end-to-end checklist, and correct use of a one-level-deep reference file verified on disk. The main gaps are minor: motivation text repeated across Steps 4/6 and the Anti-patterns table, and code templates that depend on undefined fixtures and helpers rather than being directly executable.

Suggestions

Consolidate the duplicated motivation text: Step 6 repeats the 'hardest case: two requests arrive simultaneously' explanation that already lives in references/idempotency-patterns.md, and the Anti-patterns table states 'Always include Step 6' twice — trim both to one-line pointers.

Make the test templates closer to copy-paste ready by defining the implied fixtures (endpoint, store, charge_processor, freezer) once, e.g., a short pytest fixture block after the Step 2 pattern that the later tests reuse.

Add a brief failure-interpretation note to Step 6 (e.g., 'if the concurrent test fails intermittently, the store is using SELECT-then-INSERT instead of atomic CAS — see Anti-patterns') to give the workflow a feedback loop for the one case where a red test is non-obvious to debug.

DimensionReasoningScore

Conciseness

The body is largely lean — decision tables, code, and a checklist instead of prose — and assumes Claude knows Python/pytest. It is not level 5 because of trimmable redundancy: Steps 4 and 6 each spend 3-4 lines re-explaining the same motivation before deferring to the same reference file, and the Anti-patterns table repeats 'Always include Step 6' twice. It is clearly above level 3, which expects unnecessary explanations of things Claude already knows.

4 / 5

Actionability

Concrete test code is given for the duplicate-key, hash-mismatch, and TTL-expiry cases, and the referenced bundle file (verified to exist) supplies full commutativity and concurrent-duplicate tests, covering the common cases. It falls short of the copy-paste-ready level-5 anchor because the snippets use undefined names (process_charge, charge_processor, endpoint/freezer fixtures, IdempotencyConflictError) with no fixture or setup definition, so they are templates rather than runnable tests.

4 / 5

Workflow Clarity

Steps 1-7 are clearly sequenced, opening with a classification decision table and closing with an explicit per-handler recipe checklist (Step 7), which satisfies the checklist part of the level-5 anchor. It is not 5 because there is no feedback-loop guidance — e.g., what to conclude or fix when the concurrent-duplicate test fails or how to interpret a race that only surfaces under load — which the anchor expects alongside the checklist. This is a test-authoring skill, not a destructive/batch operation, so the workflow-clarity cap of 3 does not apply.

4 / 5

Progressive Disclosure

The bundle is used correctly: the core idempotency-key pattern and primary test patterns stay inline in SKILL.md, while the deeper commutativity and race-condition material is split into references/idempotency-patterns.md (verified to exist), linked with well-signaled one-level-deep markdown links from Steps 4 and 6. This matches 'Clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation' exactly.

5 / 5

Total

17

/

20

Passed

Description

96%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: it explicitly states both what the skill builds and when to use it, with unusually concrete technology-named trigger phrases (SQS Standard, RabbitMQ requeue, webhook redelivery, browser double-click). The only weaknesses are the internal jargon lead-in 'Build-an-X' and inherent overlap risk with the sibling queue/webhook test skills it references.

DimensionReasoningScore

Specificity

The description lists five concrete capabilities — "idempotency-key handling", "retry-safe semantics (exactly-once vs at-least-once vs at-most-once)", "side-effect commutativity verification", "fingerprint-based dedup", "idempotency-window tuning" — which comprehensively covers the skill's domain. It matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' rather than the level-4 anchor, which expects minor gaps in coverage; no significant capability from the body is missing.

5 / 5

Completeness

Both halves are explicit: 'what' is the build-an-X capability with the enumerated techniques, and 'when' is the concrete clause 'Use when authoring tests for any system where the same input could be processed twice (SQS Standard at-least-once, RabbitMQ requeue, ...)'. This is the anchor-5 example pattern (what + when with concrete trigger phrases), not the level-4 anchor where 'when' is only generically stated.

5 / 5

Trigger Term Quality

The 'Use when' clause enumerates natural phrases users would actually say: "SQS Standard at-least-once, RabbitMQ requeue, retry-on-error logic, webhook redelivery, browser double-click, mobile-network retry", plus synonyms like idempotency tests and redelivery. This matches 'Comprehensive coverage of natural terms including synonyms'; the leading 'Build-an-X' jargon describes what the skill does rather than a trigger term, so it does not lower this dimension.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (idempotency test authoring) with distinct technology-specific triggers, but the body itself lists closely related sibling skills (sqs-tests, rabbitmq-tests, cron-job-test-author, webhook-delivery-tester), so a request like 'write tests for my SQS consumer' could plausibly match more than one skill. This fits 'Mostly distinct; minor overlap risk with closely related skills' rather than level 5, which requires minimal conflict risk with no adjacent competing skills.

4 / 5

Total

19

/

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.

Reviewed

Table of Contents