rockclaver/systemcraft

idempotent-financial-workflows

Designs retry-safe financial workflows across APIs, workers, webhooks, queues, payment providers. Use for payments, payouts, transfers, imports, webhooks, scheduled jobs, retries, or outbox/inbox flows risking duplicate money moves.

First seen Jun 11, 2026

Installation

$ npx skills add rockclaver/systemcraft --skill idempotent-financial-workflows

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from rockclaver/systemcraft · top by installs.

npx skills add rockclaver/systemcraft

Browse all from rockclaver/systemcraft

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,781 B
  • docs SUMMARY.md 270 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

SKILL.md

Idempotent Financial Workflows

Workflow

  1. Classify: API command (client retries), webhook (duplicate/out-of-order), worker job (queue redelivers), batch import (file/row reprocessed), external call (provider succeeds while local times out).
  2. Define idempotency: key source (client key, event id, transfer id, row/business key); scope (tenant/account/provider/endpoint); stored result (pending/succeeded/failed/payload/ref); conflict: same key+payload returns prior result, different payload rejected; prefer durable DB constraints over in-memory dedupe.
  3. Order side effects: validate first; persist intent before external calls; wrap co-committing state in a transaction; use an outbox for post-commit effects; store provider ids; expose completion only once records exist.
  4. Test: duplicate same key/payload; duplicate same key/diff payload; retry after timeout/exception; webhook delivered twice; worker crash after partial writes; out-of-order events.
  5. Implement: reuse existing transaction helpers, repositories, job frameworks, provider adapters; keep handlers thin, idempotency decisions in a service layer.

Guardrails

  • Do not rely on frontend disabling, memory, or queue visibility timeouts alone.
  • Do not call a money-moving provider before recording local intent to recover.
  • Do not mark an operation permanently failed if the side effect may have succeeded.
  • Do not hide duplicate/conflict behavior; log it in metrics or stored state.