add-3d-assets
Replace primitive 3D shapes with real GLB models — animated characters, world props, buildings, and scenery for Three.js games.…
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
$ npx -y skills add playableintelligence/game-creator --skill quick-game --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/quick-gameContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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]
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):
Parse `$ARGUMENTS` to determine the game concept:
**Direct specification:** `[2d|3d] [game-name]`
**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.
**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:
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
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
/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.
/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.
**Cause:** Vite config or import paths incorrect. **Fix:** Verify vite.config.js has correct root. Check that main.js is referenced in index.html.
**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.
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 > -
Go from game idea to deployed, monetized browser game in minutes — not hours. Tell your AI coding agent "make a space invaders game" and get a fully playable 2D or 3D browser game with pixel art, procedural audio, and automated QA. Deploy instantly to the web.
Replace primitive 3D shapes with real GLB models — animated characters, world props, buildings, and scenery for Three.js games.…
Replace geometric shapes with pixel art sprites — recognizable characters, enemies, and items with optional animation. Use when…
Add music and sound effects to a game using the Web Audio API — background music, gameplay themes, and SFX. Zero dependencies.…
Add a new gameplay feature to an existing browser game following its architecture patterns. Use when the user says "add a…
Add real-time or turn-based multiplayer to an existing browser game using PartyKit (Cloudflare Durable Objects). Scaffolds a…
Audit and improve the visual design, polish, and player experience of an existing game. Use when the user says "make my game look…