threejs-game-skills README

The project's README from github.com/majidmanzarpour/threejs-game-skills. As one markdown file: README.md.

Three.js Game Skills

Self-contained Codex and Claude Code skills for building playable, polished Three.js browser games. Install the skills, then ask your agent to use threejs-game-director; the director routes gameplay, graphics, UI, asset generation, audio, debugging, and release verification without requiring users to choose every specialist skill manually.

The package includes the runtime materials agents need: SKILL.md files, references, helper scripts, and a Vite + TypeScript + Three.js scaffold bundled inside the relevant skill folders. Generated games ship with deterministic test hooks, a seeded RNG, and Playwright templates for smoke tests, visual-regression baselines, and bot playtests so agents can verify their own work end to end.

One shared pack of nine skills serves Codex and Claude Code. The director preserves your scope and art direction, uses specialist guidance automatically, delegates independent work when the runner supports it, and scales verification to the change. Full games get a complete production pass; a small HUD fix stays a small HUD fix. No particular model or paid API key is required.

Created by Majid Manzarpour.

Demos

Game Video Play
Neon Ridge Drift Watch on X ridgedrift.netlify.app
Championship Snooker Arena Watch on X snookerarena.netlify.app
Starship Dogfight Watch on X starshipdogfight.netlify.app
Tide Singer Watch on X tidesinger.netlify.app
Ripcore Watch on X ripcore.netlify.app

Install

Install all skills for Codex:

npx skills add majidmanzarpour/threejs-game-skills --skill '*' -a codex -g -y

Install all skills for Claude Code:

npx skills add majidmanzarpour/threejs-game-skills --skill '*' -a claude-code -g -y

If your installed skills CLI does not support one of these targets, install from a cloned checkout instead: ./install.sh --codex for Codex, ./install.sh --claude for Claude Code, or ./install.sh --all for both.

For local development from a cloned checkout:

./install.sh --codex
./install.sh --claude
./install.sh --all

The local installer copies skills/ into the selected agent skills directory. It skips same-named skills unless you pass --force, and it never removes unrelated user skills unless --prune-managed is explicitly requested.

./install.sh --codex --force

Use The Skills

After installing, open Codex or Claude Code in an empty project folder, or in an existing Three.js game you want to improve. Then prompt the agent with the outcome you want and name the director skill:

Use threejs-game-director to build a premium futuristic tower defense game from scratch.
Automatically use the relevant gameplay, graphics, UI, asset generation, audio, debug,
and QA skills. Build a playable loop first, then iterate until it passes browser,
mobile, visual, UI, performance, and release checks.

Both runners share the same SKILL.md files and auto-discover the skills once installed; the prompt above works in either:

The agent should:

Users generally should not need to run the scaffold or QA helper scripts directly. Those scripts are packaged so the skills can use them as part of the workflow.

Background tools, subagents, native async execution, user-steering delivery, and reasoning settings depend on the host. Installing these skills does not enable an API feature or change your model settings. When delegation is unavailable, the agent works directly.

Optional API Keys

The core Three.js skills work without paid API keys. When keys are genuinely missing or credits are exhausted, the director continues with procedural/local assets and reports the affected limitation. Temporary failures trigger bounded recovery of the existing job, not an immediate downgrade or duplicate paid submission. Explicitly procedural or no-external-service requests remain procedural. Add keys only when you want the agent to generate external models, images, or audio.

Never commit API keys or put them in browser-side game code. These skills use provider APIs from local agent tooling, then save generated assets into your game project.

Provider Skill Environment variable Use cases Key setup
Tripo API threejs-3d-generator TRIPO_API_KEY Text/image/multiview to 3D, game-ready GLB/FBX hero models, vehicles, props, buildings, weapons, textures, rigging, animation, stylization, mesh conversion, post-processing. Tripo quick start and Tripo API overview.
Gemini image API threejs-image-generator GEMINI_API_KEY Concept art, image-to-3D source images, texture references, decals, skies, backgrounds, icons, logos, GUI art, title/menu art. Gemini API key docs and Google AI Studio keys.
ElevenLabs API threejs-audio-generator ELEVENLABS_API_KEY SFX, music tracks and loops, ambience loops, UI sounds, announcer lines, dialogue TTS, voice conversion, audio cleanup, game audio manifests. ElevenLabs quickstart and API authentication.

Set keys in your shell profile, then restart your terminal.

macOS/Linux with zsh or bash:

export TRIPO_API_KEY="..."
export GEMINI_API_KEY="..."
export ELEVENLABS_API_KEY="..."

For zsh, put those lines in ~/.zshrc or ~/.zprofile. For bash, put them in ~/.bashrc or ~/.bash_profile.

Windows PowerShell, current terminal session only:

$env:TRIPO_API_KEY = "..."
$env:GEMINI_API_KEY = "..."
$env:ELEVENLABS_API_KEY = "..."

Windows PowerShell, persistent for your user account:

[Environment]::SetEnvironmentVariable("TRIPO_API_KEY", "...", "User")
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "...", "User")
[Environment]::SetEnvironmentVariable("ELEVENLABS_API_KEY", "...", "User")

After setting persistent Windows variables, restart your terminal, Codex, or Claude Code so the agent process can see the new environment.

The director skill includes a credential probe that sources common shell profiles before deciding a key is missing. Run it from wherever you installed the skills:

# Claude Code
bash ~/.claude/skills/threejs-game-director/scripts/probe_asset_credentials.sh
# Codex
bash ~/.agents/skills/threejs-game-director/scripts/probe_asset_credentials.sh

It prints TRIPO_API_KEY=SET|MISSING (and the same for Gemini and ElevenLabs) without ever printing key values.

Provider notes:

Best Entry Points

For most user-facing game requests, start with threejs-game-director and let it pull in the specialists.

What Good Usage Looks Like

For a new game:

Use threejs-game-director to create a AAA-inspired hover racing game from scratch.
Make it playable, add premium track visuals, vehicle feel, HUD, SFX hooks, desktop and
mobile controls, and run the full verification pass before reporting done.

For visual upgrades:

Use threejs-game-director to upgrade this Three.js game from prototype visuals to
premium browser-game quality. Use the AAA graphics, UI, image, 3D, audio, debug,
and QA skills as needed. Include the visual scorecard and evidence from active-play
screenshots.

For an existing broken game:

Use threejs-game-director to debug and finish this Three.js game. First get it running,
then improve gameplay feel, UI, graphics, performance, and release verification until
the remaining risks are explicit.

For asset-heavy games:

Use threejs-game-director to build a premium space dogfight game. Use threejs-image-generator
for concepts, skies, decals, icons, and GUI art; use threejs-3d-generator for hero ships
and weapons when credentials are available; use threejs-audio-generator for SFX and
ambience. If generation is blocked, report the credential probe output and fallback plan.

Expected Evidence

For a complete game, the skills should gather evidence before claiming success. Narrow edits use the affected subset, not an unrelated full release audit:

Premium/AAA claims should not rely on a static scene, placeholder cubes, generic stat-card HUDs, or unverified screenshots. The game should have an active playable loop and a filled visual scorecard.

Skill System

Packaged Resources

Installed skills are self-contained. They do not depend on root docs, root scaffolds, root prompts, or root checklists.

Maintainer Checks

Validate this workflow repository:

npm install
npm run check:scripts
npm run validate:skills
npm run test:helpers

Maintainers can run packaged helpers directly when testing the skill package, but normal users should interact through agent prompts:

python3 skills/threejs-gameplay-systems/scripts/create_threejs_game.py ../my-threejs-game
node skills/threejs-qa-release/scripts/inspect-threejs-canvas.mjs --url http://127.0.0.1:5188 --mobile
node skills/threejs-qa-release/scripts/inspect-threejs-canvas.mjs --manifest artifacts/evidence.json --url http://127.0.0.1:5188 --seed 12345
python3 skills/threejs-game-director/scripts/check_evidence.py ../my-threejs-game --manifest artifacts/evidence.json

The manifest reference documents capture paths and the state-hook contract. The workflow evaluation scenarios compare observable behavior with fixed prompts, seeds, environments, and model settings. Helper tests use mocked provider responses without spending credits; passing them is not a claim of improved visual quality.

The shared orchestration policy incorporates OpenAI's model guidance on instruction conflicts, delegation, momentum, and proportionate checks. Native async tools and steering remain hosting-application capabilities, not requirements of this pack.

License

MIT. See LICENSE.

threejs-game-skills (majidmanzarpour/threejs-game-skills)

Searching Database…

What is this?A set of nine self-contained skill packages (SKILL.md files) that teach Codex and Claude Code how to build playable, polished Three.js browser games end-to-end, including gameplay, AAA-style graphics, UI, QA, and optional AI-generated 3D, image, and audio assets.
Is this a standalone game engine or something I install into an AI coding agent?It is not an engine. It is a skills package: you install the SKILL.md files into Codex or Claude Code's skills directory, then the agent uses them (routed through a director skill) while writing to a bundled Vite + TypeScript + Three.js scaffold.
How do I install the skills?Use the official skills install command for Codex or Claude Code, or clone the repo and run ./install.sh --codex, ./install.sh --claude, or ./install.sh --all; the local installer copies the skills/ folder into your agent's skills directory.
Which coding agents does this work with, and do I need paid API keys?It supports Codex and Claude Code, sharing one pack of nine skills between them. No particular model or paid API key is required; Tripo, Gemini, and ElevenLabs keys are optional and only unlock external 3D, image, and audio generation.
What happens if I don't set up the optional Tripo, Gemini, or ElevenLabs API keys?The director keeps working using procedural or local assets and reports the affected limitation instead of failing or silently downgrading the result.
Do I need to know Three.js myself?No, the agent writes and updates the game code itself using the skills' guidance; you just open an empty folder or an existing Three.js game and prompt it with the outcome you want.
What does the threejs-game-director skill actually do?It is the main entry point: it routes work to the eight specialist skills (gameplay, graphics, UI, debugging, QA, and 3D/image/audio generation) automatically, scales verification to the size of the change, and keeps continuity notes so fixes don't restart already-finished work.
Can I see example games made with this?Yes, the README links five playable demos — Neon Ridge Drift, Championship Snooker Arena, Starship Dogfight, Tide Singer, and Ripcore — each with a video and a live playable build on Netlify.
How does the agent verify a game actually works before calling it done?It runs production builds, browser console checks, Playwright screenshots, canvas pixel/metric checks, viewport checks, and bot playtests, scaling the amount of verification to the size of the change rather than always running a full release audit.
What are the optional AI providers used for?Tripo generates game-ready 3D models (GLB/FBX), Gemini generates concept art, textures, and icons, and ElevenLabs generates SFX, music, ambience, and voice/TTS; all three are optional add-ons, not requirements.
Size
0.4 MB
Stars
2.5K
Updated
CommitSep 28
Age
4mo
Commits · 90 Days