CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

idempotency-handling

Idempotent API operations with idempotency keys, Redis caching, DB constraints. Use for payment systems, webhook retries, safe retries, or encountering duplicate processing, race conditions, key expiry errors.

62

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/idempotency-handling/skills/idempotency-handling/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 code-heavy, actionable skill whose core idempotency patterns (Redis middleware, atomic DB insert with status machine) are solid and near-executable. Weaknesses cluster in the tail: three redundant cleanup implementations, an invalid PostgreSQL DELETE ... LIMIT snippet, no validation checkpoint for the batch cleanup deletes, and no use of bundle files to split peripheral detail out of SKILL.md.

Suggestions

Fix the invalid PostgreSQL snippet: `DELETE ... WHERE expires_at < NOW() LIMIT 1000` does not run in PostgreSQL — use `DELETE FROM idempotency_keys WHERE ctid IN (SELECT ctid FROM idempotency_keys WHERE expires_at < NOW() LIMIT 1000)` or drop the batching claim.

Collapse the three TTL cleanup implementations (SQL, Node.js, Python) into one canonical pattern and move the language variants plus the extended cleanup best-practices list into a references/cleanup.md file, keeping SKILL.md as a lean overview.

Add an explicit validation checkpoint for the batch cleanup job (e.g., verify affected row counts, alert on anomalous growth or repeated failures) so the destructive delete workflow has a feedback loop.

DimensionReasoningScore

Conciseness

The core sections are lean and code-first, but the TTL Cleanup Strategy gives three full implementations (PostgreSQL, Node.js, Python) of the same trivial delete job — repeated variants that could be tightened to one pattern with a one-line note for other languages.

3 / 5

Actionability

The Redis middleware and DB-backed processPayment flow are concrete and near copy-paste ready (atomic INSERT ... ON CONFLICT, request-hash verification, status branching), but 'Option 1' uses `DELETE ... LIMIT 1000`, which is invalid PostgreSQL syntax and would not execute as written.

4 / 5

Workflow Clarity

The processPayment flow is well sequenced with error recovery (catch → mark failed → throw; status checks for concurrent requests), but the batch DELETE cleanup operations ship without any validation/verification step (e.g., verify deleted counts or dry-run first), and the rubric caps workflow clarity at 3 for destructive/batch operations lacking validation.

3 / 5

Progressive Disclosure

Sections are well organized with clear headers, but the ~190-line body inlines everything — the three cleanup-language variants and the extended cleanup best-practices list are exactly the content that belongs in a separate references/ file for a skill of this size.

3 / 5

Total

13

/

20

Passed

Description

87%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: concrete capabilities, an explicit 'Use for...' trigger clause with natural phrases, and a distinct niche. The only softness is that the 'what' is a noun-phrase list of mechanisms rather than action verbs, and a few common synonyms (e.g., 'exactly-once') are absent.

DimensionReasoningScore

Specificity

"Idempotent API operations with idempotency keys, Redis caching, DB constraints" names the domain plus three concrete mechanisms, but describes components as nouns rather than actions (no 'implement'/'handle' verbs), leaving minor gaps in coverage rather than the comprehensive action list of a 5.

4 / 5

Completeness

Both halves are explicit: the 'what' is concrete ("Idempotent API operations with idempotency keys, Redis caching, DB constraints") and the 'when' is an explicit 'Use for...' clause with multiple concrete trigger phrases ("Use for payment systems, webhook retries, safe retries, or encountering duplicate processing, race conditions, key expiry errors").

5 / 5

Trigger Term Quality

"payment systems, webhook retries, safe retries, duplicate processing, race conditions, key expiry errors" gives good natural keyword coverage users would actually say, though common variations like 'exactly-once', 'duplicate requests', or 'retry storms' are missing.

4 / 5

Distinctiveness Conflict Risk

Idempotency is a clear niche with distinct triggers (idempotency keys, webhook retries, duplicate processing, race conditions) that are unlikely to fire for unrelated skills, matching the clear-niche anchor.

5 / 5

Total

18

/

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

secondsky/claude-skills

Path

plugins/idempotency-handling/skills/idempotency-handling/SKILL.md

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.