For AI agents

Agent skills

Two skills. Which one you want is decided by where your game’s state lives, not by how fast it plays: a signed off-chain channel between two to four named players is building-channel-games; a world the chain persists, where every move is its own transaction, is building-persistent-games.

Download the skills (.zip)

Unzip into .claude/skills/ — no install step, nothing to run. Command line and other agents below.

What you are buildingSkillStart with
Two to four people playing each other, in real time or fast turnsbuilding-channel-gamesARCADE.md
A persistent world, an MMO, an economy, or an async every-move-on-chain gamebuilding-persistent-gamesSKILL.md

Before you build an Arcade game

An Arcade game is 2 to 4 seats, React/Next only (the SDK has no supported non-React path today), and ships as a static export with no server of any kind — no API routes, no server actions, no database, no asset backend, no leaderboard service, and no accounts beyond your Xaya p/ name. All shared state is produced by a deterministic wasm judge with no floats, no clock, no network and no file access, whose state output is bounded and whose execution is fuel-capped — which caps how big a world and how long a history you can have. Input is keyboard- or tap-shaped, and every game must be playable by touch: it declares on-screen touch controls (a d-pad and/or action buttons) that the SDK mounts on touch devices, or it declares that it draws its own touch surface and takes the whole frame to draw it in — a game that declares neither is labelled desktop-only on the shelf and a player on a phone cannot start or join a match in it. There is no gamepad support and no key remapping. And a match needs two to four named, funded humans online at the same moment; there is no solo mode, no bot and no matchmaking.

Authority: arcade-xayaman/next.config.ts“A static export has NO SERVER”.

If your idea does not fit, say so in Discord before you build — we would rather hear it early. A persistent world, an economy or an async every-move-on-chain game is not a worse idea; it is the other skill.

Download

This is the install that works today, for Claude Code:

Download the skills (.zip)

Or from a terminal:

curl -fsSLO https://arcade.xaya.io/skills/arcade-skills.zipunzip arcade-skills.zip -d .claude/skills/

Skills placed under .claude/skills/ load automatically in Claude Code — nothing else to run.

A template fork already carries these vendored at .claude/skills/. If you have one, you already have the skills and can skip this step.

If your agent has no plugin system

Cursor, Codex, Copilot and Gemini do not read .claude/skills/. Give them these URLs directly — every skill and module is served as plain markdown:

https://arcade.xaya.io/skills/building-channel-games.md
https://arcade.xaya.io/skills/building-channel-games/arcade.md
https://arcade.xaya.io/skills/building-channel-games/standalone.md
https://arcade.xaya.io/skills/building-channel-games/wasm.md
https://arcade.xaya.io/skills/building-channel-games/wagering.md
https://arcade.xaya.io/skills/building-channel-games/hidden-information.md
https://arcade.xaya.io/skills/building-channel-games/commit-reveal.md
https://arcade.xaya.io/skills/building-channel-games/pitfalls.md
https://arcade.xaya.io/skills/building-channel-games/examples.md
https://arcade.xaya.io/skills/building-persistent-games.md
https://arcade.xaya.io/skills/building-persistent-games/gsp.md
https://arcade.xaya.io/skills/building-persistent-games/determinism.md
https://arcade.xaya.io/skills/building-persistent-games/ops.md
https://arcade.xaya.io/skills/building-persistent-games/fork-testing.md
https://arcade.xaya.io/skills/building-persistent-games/pitfalls.md
https://arcade.xaya.io/skills/building-persistent-games/examples.md

Claude Code plugin marketplace

Not yet public. xaya/arcade-skills is a private repository, so the commands below fail today — use the download above instead. This is the install that works once the repository is public:

/plugin marketplace add xaya/arcade-skills
/plugin install arcade-skills@arcade-skills

That command pair is the supported way to install via the marketplace — a site-hosted marketplace.json URL is not an interchangeable alternative. It does not retire the download above; both stay valid side by side. Cloning xaya/arcade-skills directly needs the same repository to be public.

building-channel-games

For a game two to four people play against each other in real time or in fast turns: moves are signed off chain and only open, join, close and dispute touch the chain. Covers both the hosted Xaya Arcade — write rules and a board UI, upload, no servers of your own — and a standalone channel game you host yourself.

  • ARCADE.mdThe one file to read if you just want to ship a game: the whole flow from a template clone to an accepted submission.
  • STANDALONE.mdRunning a channel game without the Arcade: your own referee GSP, relay, session keys and deployment.
  • WASM.mdCompiling deterministic C++ rules to a freestanding WebAssembly judge, and authoring the golden traces that prove it.
  • WAGERING.mdPutting a WCHI stake on a match: escrow, the payment queue, and paying out N players.
  • HIDDEN-INFORMATION.mdEvery seat holds the full signed state, so nothing in it is secret: where a secret lives instead, and what crosses the wire in its place.
  • COMMIT-REVEAL.mdSimultaneous moves on a strictly turn-based protocol, at N seats — the commitment, the reveal window, and the seat that never opens theirs.
  • PITFALLS.mdThe failures this platform actually produces, written so you recognise one in seconds.
  • EXAMPLES.mdShipped channel games and what each one is worth reading for.

Raw markdown for agents →

building-persistent-games

For a game whose state lives fully on chain — a persistent world, an MMO, an economy, or an async game where every move is its own transaction — and for the platform foundation every Xaya game rests on: the GSP, the XayaX Polygon bridge, names, moves and determinism.

  • GSP.mdBuilding a GSP on libxayagame: the callbacks you implement, protobuf state, and the build recipe.
  • DETERMINISM.mdThe law every Xaya game obeys — the same ordered moves must produce byte-identical state — and how to prove yours does.
  • OPS.mdThe day-2 runbook: WAL growth, ZMQ staleness, resync and genesis height, and a GSP that will not sync.
  • FORK-TESTING.mdTesting against a forked Polygon chain with no real funds, and the traps that come with it.
  • PITFALLS.mdThe on-chain and GSP failures that bite hardest, with the symptom first.
  • EXAMPLES.mdShipped persistent worlds and the foundation repositories both skills rest on.

Raw markdown for agents →

Driving an agent?

There is a literal copy-paste opening prompt for each of the two paths — see /docs/ai-agent.

/repos — every repository this site points you at, and what your relationship to it is · Quickstart · llms.txt