Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add shennawardana23/skillme --skill idempotency-and-retry-safetygit clone --depth 1 https://github.com/shennawardana23/skillmeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shennawardana23/skillme/idempotency-and-retry-safety)<a href="https://agentmods.dev/skills/shennawardana23/skillme/idempotency-and-retry-safety"><img src="https://agentmods.dev/badge/skills/shennawardana23/skillme/idempotency-and-retry-safety/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shennawardana23/skillme/idempotency-and-retry-safety"><img src="https://agentmods.dev/badge/skills/shennawardana23/skillme/idempotency-and-retry-safety.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.01654 |
| Opus 5 | $0.00051 | $0.00827 |
| Sonnet 5 | $0.00020 | $0.00331 |
| Haiku 4.5 | $0.00010 | $0.00165 |
Grade A, and why
idempotency-and-retry-safety scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Idempotency and Retry Safety
Distributed systems cannot cheaply guarantee exactly-once delivery — a client that times out waiting for a response genuinely cannot tell whether the server never received the request or received it and crashed before replying. The practical, achievable guarantee is at-least-once delivery plus idempotent processing on the receiving end, which together behave like exactly-once from the caller's point of view.
At-least-once vs. exactly-once: why this matters
- At-most-once: send once, never retry. Simple, but any dropped request or timeout is a silent failure — unacceptable for anything that charges a card or books a room.
- Exactly-once delivery, as a network-level guarantee, is not achievable in general in an asynchronous network with possible partial failures (the client cannot distinguish "server never got it" from "server got it, processed it, and the ack was lost") — treat any vendor claiming true "exactly-once" as actually meaning "at-least-once delivery with idempotent processing," which is the real, achievable target.
- At-least-once + idempotency is the standard, achievable pattern: the client retries freely on any ambiguous failure (timeout, 5xx, connection reset), and the server is designed so that processing the same logical request N times has the same effect as processing it once.
Designing an idempotency key
- The key identifies one logical operation, generated by the client, not the server — a UUID created once when the user clicks "book" and attached to every retry of that same booking attempt. If the server generates the key, retries of a request that never reached the server can't reuse it, defeating the purpose.
- The key's scope must be unambiguous: usually
(idempotency_key, endpoint)or(idempotency_key, account_id)— a key that's only unique per-client but collides across unrelated accounts is a data-leak risk, not just a bug. - Store the key with the result, not just a "seen it" flag. On a duplicate request, replay the original stored response (same status code, same body) — don't just skip the operation and return a bare 200, which changes behavior from the client's perspective between the first and second attempt.
- Set a retention window for stored idempotency keys (commonly 24 hours) and reject key reuse with a different request payload within that window as a client error — reusing a key with different parameters usually indicates a client bug, not a legitimate retry.
- Make the storage write and the business-effect write atomic — in Postgres, insert the idempotency-key row and perform the operation inside the same transaction (or make the idempotency key itself a unique constraint on the effect table) so a crash between the two never leaves the key "claimed" without the effect having happened, or vice versa.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 126 lines · 101 tokens per session scan A 23d80213739c
idempotency-and-retry-safety is a skill published in the GitHub repository shennawardana23/skillme (2 stars, last pushed 15d ago), licensed Apache-2.0. It adds 101 tokens to every session and 1,654 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
cloudbase-wechat-integration
CloudBase WeChat integration guide for Mini Program WeChat Pay, Official Account JSAPI Pay, Native QR-code Pay, Official Account OAuth, openid handling, payment callbacks, and CloudBase Integration Center generated functions. This skill should be used when users ask to add, debug, or extend WeChat payment or…
commerce-app-business-config
Manage custom business configuration in an Adobe Commerce app. Use when the user wants to add, modify, or remove merchant-configurable settings (config fields, admin config, store configuration) exposed through Commerce Admin. Creates typed config fields (text, password, email, url, tel, boolean, list) in…
temporal-developer
Develop, debug, and manage Temporal applications across Python, TypeScript, Go, Java, .NET, Ruby, and Rust. Use when the user is building workflows, activities, or workers with a Temporal SDK, debugging issues like non-determinism errors, stuck workflows, or activity retries, using Temporal CLI, Temporal Server, or…
doku-payment-gateway
Expert guide for integrating DOKU Payment Gateway (Jokul API v2). Covers HMAC-SHA256 header signature calculation, Checkout & Direct APIs (VA, QRIS, E-Wallet, Credit Card), webhook notification verification, and sandbox/production setup / Panduan ahli integrasi DOKU Payment Gateway.
wcs-subscription-hooks
Curated WooCommerce Subscriptions hook map for subscription creation, status/date transitions, renewal orders, scheduled payments, retries, gateway events, switching, gifting, related orders, APFS plans, REST, and account/admin UI. Use when choosing where to hook around WCSubscription, wcscreatesubscription…
wcs-renewal-scheduler
Safely integrate with WooCommerce Subscriptions renewal scheduling, Action Scheduler, renewal-order creation, gateway charge dispatch, guarded process-renewal-now commands, and retries. Use for WCSubscription::updatedates, wcscreaterenewalorder, woocommercescheduledsubscriptionpayment, gateway-specific scheduled…