Nakama reward deduplication
Makes earned rewards traceable and safe to retry. It ties each grant to a verified outcome and handles uncertain replies so a timeout cannot turn one victory into several payments of in-game currency.
nakama-rewards-idempotency
See how it helpsWhen is it useful?
Use it when wallet or completion updates must survive retries without granting the same result twice.
What does it help you do?
- Assigns stable identifiers to authority-validated outcomes.
- Commits rewards and completion atomically or through explicit reconciliation.
- Separates wallet records from notifications and uncertain replies.
Try asking this
Award coins after our boss raid using one stable result ID. Drop the response after a successful write, reconnect and submit the same request again. The player receives one reward, the ledger remains explainable and notification delivery does not determine whether the reward exists.
Detailed documentation
Read the skill’s original instructions, examples and checks in their authored language.
Show less
Nakama — rewards idempotency
Use when implementing Nakama match rewards, purchases already authorized by the user, wallets or durable game outcomes.
Version and project gate
Inspect Nakama server and client SDK versions, chosen Go/TypeScript/Lua runtime, compiled module deployment, database topology, match handlers, RPC registrations, auth/session handling, storage collections and permission rules. Never turn a task into an engine upgrade without the user’s intent. Read the version-matching official reference when an API decision depends on it.
Work
Assign a stable operation/outcome identifier and validate the result on the authority. Define one atomic or reconciled commit boundary for reward and completion state. Preserve pending/committed/unknown distinctions and inspect uncertain outcomes before retrying. Separate accounting records from client-facing notifications.
Deliver
An outcome ledger/idempotency contract with bounded reconciliation behavior. Keep the change in the existing project structure; separate actual observations from the proposed acceptance scenario below.
Failure to prevent
A client acknowledgement or a broadcast is not evidence of a committed wallet change; never repeat an uncertain credit blindly.
Acceptance scenario
Interrupt after a durable mutation but before reply, repeat the same operation identifier and confirm one recorded outcome. Follow the project’s execution and verification permissions. If execution or a target device is unavailable, provide the reproduction steps and name the remaining uncertainty; do not mark it passed.
Scope and sources
This skill belongs to Kairo. Agent selection is restricted by Orqestria’s assigned-agent policy, including forced skill selection; instruction text alone is not an access control. These are original task workflows researched from official documentation, not a copied or endorsed vendor skill.
Included files 1
SKILL.md
