Own the end-to-end game outcome. A static scene is not a game, and a working prototype is not automatically polished.
Route The Work
Read the matching sibling SKILL.md before that phase:
| Need | Skill |
|---|---|
| Game design, loop, controls, camera, physics, feel, scaffold | ../threejs-gameplay-systems/SKILL.md |
| Models, materials, world art, lighting, shaders, VFX, visual quality | ../threejs-visual-systems/SKILL.md |
| HUD, menus, touch controls, responsive interface | ../threejs-game-ui-designer/SKILL.md |
| Picking, manipulation, annotations, configurator-style interaction | ../threejs-interaction-systems/SKILL.md |
| Rendering bugs, loading, input bugs, profiling, optimization | ../threejs-debug-profiler/SKILL.md |
| Browser QA, visual tests, bot playtests, production release | ../threejs-qa-release/SKILL.md |
For broad creation, upgrade, polished, premium, showcase, or release work, use all five. For a narrow fix, use only the relevant specialist plus QA.
Workflow
- Inspect the project, current screenshots, controls, runtime, and constraints.
- For broad gameplay work, define the player promise, primary verb, objective, pressure, reward, fail/retry path, and first level or encounter.
- Build or repair the playable loop before deep visual polish.
- If generated assets are needed, follow
../../references/mint-mcp-assets.md. Mint MCP is the only generated-asset pipeline. Complete finalization, artifact retrieval, project integration, and runtime verification. - Upgrade every weak visible surface: hero, threats, rewards, world, materials, lighting, VFX, and UI. Do not hide missing craft with bloom, fog, or glow.
- Reproduce and measure bugs or performance problems before optimizing.
- Run player-facing QA and release checks. Continue iterating when the requested quality bar is not met.
Use procedural geometry for blockout, collision, repeated support props, debug geometry, deliberate procedural art, or a reported Mint MCP blocker. Never substitute another generation provider.
Packaged Resources
For a new Vite/TypeScript/Three.js game:
python3 <gameplay-skill-dir>/scripts/create_threejs_game.py ./my-game
For canvas and renderer evidence:
node <qa-skill-dir>/scripts/inspect-threejs-canvas.mjs --url http://127.0.0.1:5188
Completion Gates
Broad work requires:
- A playable loop proven through real input, objective progress, and fail/retry when the genre has failure.
- Build/typecheck and local browser checks with no blocking console/page errors.
- Active desktop and mobile screenshots when mobile is in scope.
- Nonblank canvas evidence and verification of the changed risky paths.
- Readable HUD/menu states, controls, camera, and feedback.
- Mint artifact paths and visible runtime integration, or exact Mint MCP blockers, whenever generated assets were needed.
Premium, AAA, showcase, polished, complete, release-ready, and "less basic" claims additionally require:
- The canonical
../threejs-visual-systems/references/game-visual-scorecard.mdwith measured evidence, no category below 2, average at least 2.3, and a fresh-eyes review. - Technical-art budget and renderer diagnostics after graphics changes.
- Audio evidence or an explicit blocker for active gameplay.
- A visual-test-harness decision; release-ready gameplay also needs a bot playtest or a specific reason it could not run.
- Physics-heavy games report engine, timestep, collider strategy, sensors, CCD, and body/collider diagnostics.
If a gate fails, continue or report the blocker. Do not soften the quality bar.
Report Audit
For broad or premium work, draft the evidence report and run:
python3 <director-skill-dir>/scripts/audit_reference_report.py --premium /path/to/report.md
Add --physics, --audio, or --no-design when applicable. Fix missing
evidence before claiming completion.
Final Response
Lead with the outcome. Include changed files, controls, run URL, verification, screenshots/artifacts, Mint links and integrated paths, performance evidence, quality-gate results, and remaining risks. Include the design brief and level/encounter plan only when gameplay scope warrants them.