Skip to content

Agent checklist

This page is for a coding agent, such as Claude Code or Codex, whose user asked it to make a game on game-platform. Follow the steps in order, one at a time. Most steps say what to run, what success looks like, and what to do when it fails.

You don’t need to read the rest of the wiki to start. From step 10, the game-builder skill tells you which page to read at each step, and you read it with the read_wiki and search_wiki tools.

This page uses two folders:

  • The checkout: ~/game-platform, the platform’s repository.
  • The game folder: ~/my-game, an empty folder the game is made in. If ~/my-game exists and is not empty, use ~/my-game-2, and so on.

Setup stops once, at step 7, because the plugin loads only in a new session. The new session starts in the game folder.

Check the following in order, and start at the first step that matches:

  1. If this session has a tool whose name ends in list_templates, deferred tools included, go to step 8.
  2. If the user said continue after step 7 and no such tool exists, go to step 8 and take its failure branch.
  3. If ~/game-platform/packages/mcp/dist/index.js exists, go to step 5.
  4. If ~/game-platform exists, go to step 3.
  5. Otherwise, go to step 1.

Run the following checks:

  1. node --version prints v24.2.0 or later. If it doesn’t, ask the user to install Node 24 from nodejs.org, then check again.
  2. gh auth status says the user is signed in to github.com. If gh is missing, ask the user to install the GitHub CLI from cli.github.com. If they aren’t signed in, ask them to type gh auth login in their own terminal and follow its prompts. Then check again.
  3. corepack enable exits with code 0, which puts pnpm on the PATH. If it fails, as it does with a permissions error when Node’s global folder belongs to the system, use corepack pnpm in place of pnpm. If corepack itself is missing, use npx -y corepack pnpm.

The pnpm command that the third check chose is the one to run wherever this page, a tool’s reply or the game-builder skill says pnpm. When you tell the user to run a pnpm command, give them the same one.

The repository is private, so the user’s GitHub account needs access to it. Run the following commands:

Terminal window
cd ~
gh repo clone daniel-zarinski/game-platform

On Windows, add -- -c core.symlinks=true to the clone command, and ask the user to turn on Developer Mode first.

  • Success: ~/game-platform exists.
  • If it fails with a 404: the user’s account has no access to the repository. Tell them so, and stop.

Run pnpm install in ~/game-platform. Corepack runs the pnpm version the repository names, so you don’t install pnpm yourself.

  • Success: the command exits with code 0.
  • If it fails: show the user the last lines of the output, and stop.

Run pnpm nx build @daniel-zarinski/mcp in ~/game-platform.

  • Success: ~/game-platform/packages/mcp/dist/index.js exists.
  • If it fails: show the user the error, and stop.

Run pnpm exec playwright install chromium in ~/game-platform. The playtest tools run the game headless in it.

  • Success: the command exits with code 0.
  • If it fails: show the user the error, and stop.

The plugin and its server install for the user, so any session in any folder loads them.

In Claude Code, run the following commands in ~/game-platform:

Terminal window
claude plugin marketplace add "$PWD"
claude plugin install studio@game-platform

In Codex, run the following commands in ~/game-platform:

Terminal window
codex mcp add studio -- node "$PWD/packages/mcp/dist/index.js"
mkdir -p ~/.agents/skills
ln -s "$PWD/packages/plugin/skills/game-builder" "$PWD/packages/plugin/skills/wiki" ~/.agents/skills/
  • Success: claude mcp list or codex mcp list names studio.
  • If it fails: show the user the error, and stop.

Create the empty game folder with mkdir ~/my-game. Then tell the user the following, with claude or codex for the client they use, and stop:

Setup is done. In your terminal, run cd ~/my-game && claude, then say continue.

This step runs in the new session. First, run the third check of step 1 again, so that this session uses the same pnpm command. Then call the list_templates tool.

  • Success: the answer names the example template.
  • If the tool is missing or fails with an error about $schema or another field: run step 4 once, then ask the user to restart in the game folder again. If you already did that once in this setup, stop, and show the user the output of claude mcp list or codex mcp list.

A new game installs the engine from GitHub Packages, which needs a token in ~/.npmrc. Check for it without printing the file:

Terminal window
grep -qs '^//npm.pkg.github.com/:_authToken=' ~/.npmrc
  • Success: the command exits with code 0.

  • If it exits with any other code, including when ~/.npmrc doesn’t exist: ask the user to type the following two lines in their own terminal, and to tell you when they are done. The first line opens GitHub in the browser to grant the scope. Never ask the user to paste a token into the chat.

    Terminal window
    gh auth refresh -h github.com -s read:packages
    npm config set //npm.pkg.github.com/:_authToken "$(gh auth token)"

Ask the user one question: what game do they want? Use game words, such as a character, a goal and a place, never engine words, such as scenes or entities. A sentence is enough. If the user wants you to choose, choose.

Then run the game-builder skill with the answer: /studio:game-builder <the answer> in Claude Code, or “use the game-builder skill” in Codex. The skill creates the project in the game folder, which is the session’s folder, then walks the user through the game one question at a time.

Setup is done when the following are true:

  • The game’s dev server runs.
  • Its URL is open in the user’s browser.
  • The user has played the first version.

From here, keep following the game-builder skill.