Developer portal

Agent integration skill

Player linking and consent

Implement ggbucks game-account linking through server-created intents, a fixed native consent deep link and bounded game-server status polling. Use for player linking; never collect player Clerk tokens or automate native approval.

Scoped implementation guidance
Sandbox TEST only. A skill provides code guidance; it does not authorize deployment, key changes, account actions, messages or financial mutations.

Download and inspect

Download the complete ZIP or read SKILL.md. Each individual ZIP has SKILL.md at its root with relative resource paths. The archive is pinned to contract 9ae5180d5f8f1de2cd25fc025b00af0ee00e1ae569dd787254956d0ebf116216 and its content digest.

# Project-scoped installation; review the ZIP before extraction.
curl --fail 'https://docs.ggbucks.com/skills/ggbucks-player-linking/download.zip?contractHash=9ae5180d5f8f1de2cd25fc025b00af0ee00e1ae569dd787254956d0ebf116216&sha256=e269951e68992d81fad0c02cdae99dcef469b850541a4e977c7eee8fb76f79a5' -o 'ggbucks-player-linking.zip'
# Expected archive SHA-256: e269951e68992d81fad0c02cdae99dcef469b850541a4e977c7eee8fb76f79a5
# Check with shasum -a 256 before extracting.
mkdir -p '.agents/skills/ggbucks-player-linking'
unzip 'ggbucks-player-linking.zip' -d '.agents/skills/ggbucks-player-linking'

Choose the local skills directory supported by your agent. The example uses the project's .agents/skills directory and never installs globally. If a pinned download returns 409, refresh discovery or the manifest and review the new version.

Skill instructions

---
name: ggbucks-player-linking
description: "Implement ggbucks game-account linking through server-created intents, a fixed native consent deep link and bounded game-server status polling. Use for player linking; never collect player Clerk tokens or automate native approval."
metadata:
  contract_hash: 9ae5180d5f8f1de2cd25fc025b00af0ee00e1ae569dd787254956d0ebf116216
  generator_version: "1"
---

# Player linking and consent

Keep account linking split between the authenticated game backend, game client and ggbucks native app. Read [references/integration.md](references/integration.md) first, including the compatible unreleased mobile-build prerequisite. The [server example](assets/game-server.mjs) offers createLinkIntent, nativeConsentUrl and getPlayerStatus only. Bind externalPlayerId to the game's authenticated account, store the resulting game player UUID on the server, and open the fixed ggbucks native consent URL from the client. The human taps Approve inside ggbucks after its canonical-profile/device admission. Native inspect/approve in [references/openapi.json](references/openapi.json) describe app-owned boundaries; do not implement them on a game server, automate approval, collect player Clerk credentials, or use a developer/game-secret token for them. Poll status at a bounded interval until linked/expired, expose only the requesting game account's status, and keep tokens out of persistence/logging/analytics. Cancellation leaves gameplay available. Never invent native release readiness or add arbitrary redirect/callback URLs.

All accounting is sandbox TEST ggbucks with no cash value; project/game hard caps remain enforced. The skill implements the requested integration and does not authorize deployment, account enforcement, messaging, key changes or live financial mutations. Generated from contract `9ae5180d5f8f1de2cd25fc025b00af0ee00e1ae569dd787254956d0ebf116216`; refresh this bundle when the current contract changes.

Bundled resources

Open the companion integration guide. The manifest contains SHA-256 digests for every bundle and file.