Rust Idempotent Workflows
SkillCommunicationUse when designing, implementing, testing, or debugging Rust service workflows that must be safe under retries, duplicate requests, crashes, concurrent submissions, background workers, queues, email/payment/notification side effects, idempotency keys, transaction isolation, or save-and-replay API behavior.
Use Rust Idempotent Workflows in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Rust Idempotent Workflows and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Rust Idempotent Workflows skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by hashgraph-online/awesome-codex-plugins in plugins/LVTD-LLC/skills/skills/rust-idempotent-workflows/SKILL.md and read by Ahel’s review.
Use this skill to make Rust workflows reliable when clients retry, workers crash, requests race, and external side effects cannot be rolled back.
Core Workflow
- Write the failure story before writing code. List what happens if the process crashes after each database write and after each external side effect.
- Identify the idempotency boundary: HTTP endpoint, command handler, queue job, webhook, or external callback.
- Choose the idempotency strategy:
- Natural idempotency from a unique business key.
- Client-provided idempotency key with save-and-replay.
- Server-generated deduplication key.
- Outbox or queue table for side effects.
- Put state transitions and idempotency records in the same transaction when they must agree.
- Make duplicate concurrent requests deterministic. Use unique constraints, locks, serializable transactions, or explicit conflict handling.
- Treat external side effects as at-least-once unless the provider guarantees more. Store enough state to retry or reconcile.
- Add tests for duplicate requests, retry after timeout, concurrent requests, crash windows when practical, and worker retry behavior.
Idempotency Key Rules
Read references/idempotency.md before adding idempotency keys or save-and-
replay behavior.
- Bind the key to the authenticated user or tenant.
- Store a hash of the request payload when replaying responses.
- Return the original response for exact replays.
- Reject reuse of the same key with a different payload.
- Expire records only after product and provider retry windows have passed.
Background Work Rules
Read references/background-workers.md when adding queue tables, polling
workers, retries, or external side effects.
- Commit durable intent before sending external effects.
- Use
pending,in_progress,succeeded, andfailedstates deliberately. - Keep retry counts, next-attempt timestamps, and last error summaries.
- Make workers safe to run in multiple processes.
Concurrency Rules
Read references/concurrency.md when duplicate requests, locks, isolation
levels, or unique constraints are part of the fix.
Use the database as the source of truth for deduplication when multiple app instances can process the same workflow.
Reference Files
references/idempotency.md: idempotency keys, save-and-replay, and request payload binding.references/background-workers.md: queue tables, worker loops, retry boundaries, and outbox behavior.references/concurrency.md: lock choices, transaction isolation, and duplicate request tests.
Signals
- GitHub stars
- 1k
- Forks
- 316
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
rust-idempotent-workflows- Source
- github.com/hashgraph-online/awesome-codex-plugins
github.com/hashgraph-online/awesome-codex-plugins
Related picks
Skill · rlaope
The pick for Rustrust-async-task-design
Skill · hashgraph-online
The pick for Rustslack-gif-creator
Skill · anthropics
More in Communicationerror-handling
Skill · affaan-m
More in Communicationemails
Skill · coreyhaines31
More in Communicationwait-what
Skill · mattpocock
More in Communication