Skip to main content
skill CX Codex

quick-game — Claude Code skill: what it does, how to install

Scaffolds and implements a playable game prototype using Phaser or Three.js. Built for rapid gameplay testing without assets, audio, or visual polish.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add PlayableIntelligence/game-creator --skill quick-game -a claude-code
Open on GitHub

What quick-game does

The skill copies a base project template: Phaser for 2D or Three.js for 3D games. It updates package.json, installs dependencies with npm install, and launches a development server on port 3000. Next, a delegated subagent implements the core loop. The agent constrains itself strictly to one scene, unified touch and keyboard controls, basic score tracking, and clean restart logic.

Once the code is written, it validates the project by executing npm run build and captures a screenshot if Playwright MCP is connected. Visual assets, music, and monetization are excluded on purpose to save time. Keep in mind that 3D projects demand a MESHY_API_KEY from https://app.meshy.ai, so 3D generation stops if that key is missing.

What it helps with

  • Scaffold a playable core loop in Phaser or Three.js
  • Turn a tweet URL into an interactive 2D game prototype
  • Set up unified mobile touch and keyboard controls
  • Verify code integrity with an automated npm run build check

Example prompts for the agent

  • /quick-game 2d asteroid-dodge
  • /quick-game 3d space-runner
  • /quick-game https://x.com/user/status/123456

How to install quick-game

1Skills CLI (Vercel)

npx skills add PlayableIntelligence/game-creator --skill quick-game -a claude-code

2Manually: put the files in place

~/.claude/skills/quick-game/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/quick-game/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about quick-game

How do I install quick-game in Claude Code?

Run npx skills add PlayableIntelligence/game-creator --skill quick-game -a claude-code.

Which game engines does quick-game support?

It defaults to 2D games powered by Phaser. Specifying the 3d argument switches the scaffold to Three.js.

What is required before scaffolding 3D prototypes?

You need a MESHY_API_KEY from https://app.meshy.ai. The skill prompts for this key whenever it generates 3D models.

Source text

SKILL.md · MIT
---
name: quick-game
description: Rapidly scaffold and implement a playable game — no assets, design, audio, deploy, or monetize. Get something on screen fast. Use when the user says "quick game", "fast prototype", "just get something playable", or wants a game without the full pipeline. For the complete one-shot pipeline (deploy + monetize), use /viral-game instead. For a milestone-driven project, use /make-game. Do NOT use for production games.
argument-hint: "[2d|3d] [game-name] OR [tweet-url]"
license: MIT
metadata:
  author: OpusGameLabs
  version: 1.3.0
  tags: [game, prototype, scaffold, fast]
---

## Performance Notes

- Take your time to do this thoroughly
- Quality is more important than speed
- Do not skip validation steps

# Quick Game (Fast Prototype)

Build a playable game prototype as fast as possible. This is `/viral-game` without the polish — just scaffold + implement the core loop. Get something on screen, then incrementally add layers with `/add-assets`, `/design-game`, `/add-audio`, `/game-deploy`, and `/monetize-game`.

**What you'll get:**
1. A scaffolded game project with clean architecture
2. Core gameplay — input, movement, scoring, fail condition, restart
3. A running dev server you can play immediately

**What you skip** (run these later if you want):
- `/add-assets` — pixel art sprites (2D) or 3D models
- `/design-game` — visual polish, particles, transitions
- `/add-audio` — music and sound effects
- `/record-promo` — promo video capture
- `/game-deploy` — deploy to here.now
- `/monetize-game` — Play.fun integration

## Instructions

### Step 0: Parse arguments

Parse `$ARGUMENTS` to determine the game concept:

**Direct specification:** `[2d|3d] [game-name]`
- **Engine**: `2d` (Phaser) or `3d` (Three.js). If not specified, default to `2d`.
- **Name**: kebab-case. If not specified, ask the user.

**Tweet URL:** If arguments contain a tweet URL (`x.com/*/status/*`, `twitter.com/*/status/*`, `fxtwitter.com/*/status/*`):
1. Fetch the tweet using the `fetch-tweet` skill
2. Default to 2D
3. Creatively abstract a game concept from the tweet
4. Generate a kebab-case name
5. Tell the user what you'll build

**Meshy API Key (3D only):** If 3D, check for `MESHY_API_KEY`. If missing, ask the user (link to https://app.meshy.ai). Store for model generation.

### Step 1: Scaffold + Implement

**Infrastructure (main thread):**

1. Locate the template directory — check `~/.claude/plugins/cache/local-plugins/game-creator/*/templates/` or `templates/` relative to this plugin
2. **Target directory**: If inside the `game-creator` repo, create in `examples/<game-name>/`. Otherwise, create in `./<game-name>/`.
3. Copy the template:
   - 2D: `templates/phaser-2d/` → target
   - 3D: `templates/threejs-3d/` → target
4. Update `package.json` name and `index.html` title
5. Run `npm install`
6. Start the dev server (`npm run dev`) in the background. Check port availability first — if 3000 is taken, try 3001, 3002, etc.

**Game implementation (subagent via Task):**

Launch a `Task` subagent with:

> You are building a quick game prototype. Speed is the priority — get a playable core loop working.
>
> **Project path**: `<project-dir>`
> **Engine**: `<2d|3d>`
> **Game concept**: `<description>`
> **Skill to load**: `phaser` (2D) or `threejs-game` (3D)
>
> **Implement in this order:**
> 1. Input (touch + keyboard from the start)
> 2. Player movement / core mechanic
> 3. Fail condition (death, collision, timer)
> 4. Scoring
> 5. Restart flow (GameState.reset() → clean slate)
>
> **Scope: 1 scene, 1 mechanic, 1 fail condition.** Keep it tight.
>
> Rules:
> - All cross-module communication via EventBus
> - All magic numbers in Constants.js
> - No title screen — boot directly into gameplay
> - No in-game score HUD — Play.fun widget handles score display
> - Mobile-first input: touch + keyboard, use unified InputSystem pattern
> - Import `SAFE_ZONE` from Constants.js — keep UI below `SAFE_ZONE.TOP`
> - Minimum 7-8% canvas width for collectibles/hazards
> - Character sizing: `GAME.WIDTH * 0.12` to `GAME.WIDTH * 0.15` for character-driven games
> - Preserve the template's `createButton()` helper in GameOverScene — do NOT rewrite it
> - Wire spectacle events: `SPECTACLE_ENTRANCE`, `SPECTACLE_ACTION`, `SPECTACLE_HIT`, `SPECTACLE_COMBO`, `SPECTACLE_STREAK`, `SPECTACLE_NEAR_MISS`
> - Add `isMuted` to GameState for future audio support
> - Ensure restart is clean — 3 restarts in a row should work identically

### Step 2: Verify

After the subagent returns:

1. Run `npm run build` in the project directory to confirm no errors
2. If the build fails, fix the issues (up to 2 retries)
3. If Playwright MCP is available, navigate to the dev server, take a screenshot, and do a quick visual check

## Example Usage

### 2D game
```
/quick-game 2d asteroid-dodge
```
Result: Copies Phaser template → implements player ship, asteroid spawning, collision death, score counter, restart flow → dev server running at localhost:3000 in ~2 minutes. Shapes only, no polish.

### From tweet
```
/quick-game https://x.com/user/status/123456
```
Result: Fetches tweet → abstracts game concept → scaffolds and implements a playable prototype inspired by the tweet content.

## Troubleshooting

### Game scaffolds but won't start
**Cause:** Vite config or import paths incorrect.
**Fix:** Verify vite.config.js has correct root. Check that main.js is referenced in index.html.

### Missing core files
**Cause:** Scaffold skipped EventBus/GameState/Constants.
**Fix:** Every game needs core/EventBus.js, core/GameState.js, core/Constants.js. Re-run scaffold or create manually.

### Done

Tell the user:

> Your game is running at `http://localhost:<port>`. Open it in a browser to play!
>
> **To keep building, run these commands:**
> - `/add-assets` — replace shapes with pixel art sprites
> - `/design-game` — add visual polish (particles, gradients, juice)
> - `/add-audio` — add music and sound effects
> - `/game-deploy` — deploy to the web
> - `/monetize-game` — add Play.fun integration
>
> Or run `/viral-game` next time for the full one-shot pipeline (assets, polish, deploy, monetize all in one go).

© OpusGameLabs · MIT · PlayableIntelligence/game-creator

Similar skills

Everything for Game dev and 3D: Unity, Unreal, Godot, Blender →

From the same set28

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor