gamedev-threejs/skills/threejs-game-director/SKILL.md
Primary entrypoint for complete Three.js browser game creation, premium iteration, and automatic phase orchestration. Use by default for build-a-game, upgrade, polish, premium, AAA, high-fidelity, from-scratch, endless runner, arcade, action, release-ready, or showcase requests. For broad work, first load sibling public skill files for gameplay systems, AAA graphics, UI, debug/profile, and QA/release. For premium games with characters, vehicles, ships, weapons, buildings, signature props, skies, textures, decals, logos, icons, GUI art, audio/SFX/voice needs, or less-basic graphics, load threejs-3d-generator, threejs-image-generator, and/or threejs-audio-generator before deciding generated assets are unnecessary. Keep skill-loading, reference, asset-sourcing, and phase-execution ledgers so users do not choose skills manually.
npx skillsauth add bernatmv/ai-rules threejs-game-directorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Own the end-to-end game outcome. Build the playable loop, route through the right phases, verify evidence, and do not call prototype-quality work premium.
Claude-style skill runners may invoke only this skill when the user runs /threejs-game-director. Do not claim other skills were invoked unless the runner actually invoked them. For broad work, you must still try to load the sibling public SKILL.md files with filesystem read tools before planning or editing, then load each phase's required reference files before that phase starts. If a sibling SKILL.md cannot be loaded, then use references/director-phase-os.md as the fallback for that phase and record the failure.
For complete, premium, AAA, polished, high-fidelity, showcase, from-scratch, upgrade, or release-ready game work, load these sibling skill files before implementation:
threejs-gameplay-systems/SKILL.mdthreejs-aaa-graphics-builder/SKILL.mdthreejs-game-ui-designer/SKILL.mdthreejs-debug-profiler/SKILL.mdthreejs-qa-release/SKILL.mdFor premium, AAA, high-fidelity, showcase, complete, release-ready, or "less basic" game work, load this skill when the game includes or should include high-value 3D assets: generated 3D models, rigging, animation, textured imported assets, characters, creatures, bosses, buildings, vehicles, ships, weapons, signature props, complex pickups, or hero environment pieces. Do this before deciding whether procedural Three.js is enough:
threejs-3d-generator/SKILL.mdFor premium, AAA, high-fidelity, showcase, complete, release-ready, or "less basic" game work, load this skill when the game includes or should include concept/reference images, texture references, material references, skies/backgrounds, logos, marks, icons, decals, GUI art, title/menu art, terrain/sky plates, or 2D images for image-to-3D input. Do this before deciding those assets are not needed:
threejs-image-generator/SKILL.mdFor premium, AAA, high-fidelity, showcase, complete, release-ready, or "less basic" game work, load this skill when the game includes or should include SFX, ambience, UI sounds, interaction audio, vehicle/weapon/boss sounds, announcer/dialogue, scratch-performance voice conversion, or audio cleanup. Do this before deciding generated audio is not needed:
threejs-audio-generator/SKILL.mdTry paths in this order:
../<skill-name>/SKILL.md~/.claude/skills/<skill-name>/SKILL.md~/.codex/skills/<skill-name>/SKILL.md~/.agents/skills/<skill-name>/SKILL.mdskills/<skill-name>/SKILL.mdIf the file-read tool requires absolute paths, expand ~ to the user's home directory before reading.
For narrow director-invoked work, load the directly relevant sibling skill and threejs-qa-release. For broad game creation or premium iteration, load all five. Do not skip sibling loading just because this director contains a summarized phase OS.
Do not decide "3D generator not needed", "image generator not needed", or "audio generator not needed" before loading the relevant skill files when the trigger categories above are present.
Before claiming an API key is unavailable, run the credential probe and paste its literal output in the report:
bash <director-skill-dir>/scripts/probe_asset_credentials.sh
Expected output shape:
TRIPO_API_KEY=SET|MISSING
GEMINI_API_KEY=SET|MISSING
ELEVENLABS_API_KEY=SET|MISSING
The probe sources the user's shell profiles and prints only SET/MISSING markers, never secret values. key unavailable is not a valid skip reason unless this probe output is shown.
For broad or premium game work, create an asset sourcing ledger before the graphics phase:
External asset sourcing:
- Credential probe output:
- Hero/player:
- Enemies/vehicles/weapons:
- Signature props/pickups:
- World/sky/background:
- Materials/textures/decals:
- Logos/icons/GUI art:
- Chosen sources per surface: procedural / threejs-image-generator / threejs-3d-generator / hybrid
- 3D generator loaded: yes/no, path or blocker:
- Image generator loaded: yes/no, path or blocker:
- Audio generator loaded: yes/no/not-needed, path or blocker:
- External assets generated: yes/no, outputs or reason:
- Audio assets generated: yes/no/not-needed, outputs or reason:
Allowed reasons to skip actual external generation after loading the skills:
MISSING.If the game includes vehicles, ships, characters, creatures, weapons, buildings, sky/background art, logos/icons, decals, GUI art, or audio/SFX/voice needs, not-needed is not a valid ledger entry until the relevant generator skill has been loaded and the asset sourcing ledger explains the tradeoff. For premium claims, at least one high-value visual asset surface should use threejs-image-generator, threejs-3d-generator, or a documented hybrid unless an allowed skip reason blocks it.
For premium claims with hero surfaces such as player, enemy, boss, creature, vehicle, ship, weapon, building, or signature prop, procedural-only is not an allowed final answer unless the credential probe or attempted generation shows a real blocker. At least one hero/high-value asset must have real external evidence: a 3D generator task ID, downloaded GLB/GLTF/FBX path, image generator output path, or documented hybrid chain. For premium claims that include active gameplay, audio-only omission must be reported as a remaining gap unless the user explicitly asked for silent/offline output or ELEVENLABS_API_KEY is blocked.
References are not optional enrichment. They are phase-entry gates. For broad game creation, premium/AAA/showcase/polish requests, release-ready work, or any task that claims high visual quality, load the applicable reference files before implementation in that phase.
Required phase references:
threejs-gameplay-systems/references/gameplay-workflows.mdthreejs-gameplay-systems/references/physics-engine-selection.mdthreejs-gameplay-systems/references/checklists/new-game-definition-of-done.mdthreejs-gameplay-systems/references/checklists/endless-runner-premium-quality.mdthreejs-aaa-graphics-builder/references/visual-scorecard.mdthreejs-aaa-graphics-builder/references/implementation-blueprint.mdthreejs-aaa-graphics-builder/references/model-recipes.mdthreejs-aaa-graphics-builder/references/render-recipes.mdthreejs-aaa-graphics-builder/references/checklists/aaa-game-quality-gate.md and threejs-aaa-graphics-builder/references/checklists/aaa-visual-scorecard.mdthreejs-game-ui-designer/references/ui-patterns.mdthreejs-game-ui-designer/references/checklists/game-ui-quality.md, threejs-game-ui-designer/references/checklists/hud-readability.md, and threejs-game-ui-designer/references/checklists/responsive-ui-fit.mdthreejs-debug-profiler/references/debug-profile-checklists.mdthreejs-debug-profiler/references/checklists/scene-debugging.md or threejs-debug-profiler/references/checklists/performance-profile.mdthreejs-qa-release/references/qa-release-checklists.mdthreejs-qa-release/references/checklists/visual-verification.md, threejs-qa-release/references/checklists/playtest-qa.md, and threejs-qa-release/references/checklists/release.mdthreejs-3d-generator/references/api-notes.mdthreejs-3d-generator/references/threejs-integration.mdthreejs-3d-generator/references/image-generator-workflows.mdthreejs-audio-generator/references/audio-workflows.mdPrompt templates are packaged in references/prompt-templates.md under the director and relevant sibling skills. Load them only when the user asks for a reusable prompt or task template.
Try reference paths in this order:
<loaded-skill-dir>/references/<file>.md~/.claude/skills/<skill-name>/references/<file>.md~/.codex/skills/<skill-name>/references/<file>.md~/.agents/skills/<skill-name>/references/<file>.mdskills/<skill-name>/references/<file>.mdRules:
done until its required references are loaded or the final answer explicitly reports the reference as unavailable and the phase as blocked/fallback.visual-scorecard.md, including average and automatic failures remaining.If Task/subagent/workflow tools are available, delegate each major phase to a focused worker with the phase SKILL.md plus its required references explicitly loaded. If those tools are unavailable, execute serially after the same reference files have been loaded.
Track both skill loading and phase execution:
A phase is done only with implementation plus verification evidence.
threejs-gameplay-systems: first playable slice, architecture, mechanics, entities, input, camera, controls, game feel.threejs-aaa-graphics-builder can be marked done for premium graphics work.threejs-aaa-graphics-builder: basic-looking screenshots, asset architecture, models, materials, VFX, lighting/render, visual scorecard.threejs-game-ui-designer: HUDs, menus, overlays, responsive UI, icons, safe areas, UI states.threejs-debug-profiler: blank canvas, render/runtime bugs, loading, resize, mobile input/render bugs, performance profiling.threejs-qa-release: browser QA, screenshots, canvas pixels, responsive checks, production build, preview, release notes.threejs-3d-generator: external AI-generated models, GLB/FBX outputs, text/image-to-3D, texturing, auto-rigging, animation, conversion.threejs-image-generator: 2D concept/reference images, image-to-model inputs, textures, sky/backgrounds, logos, icons, GUI elements, decals.threejs-audio-generator: generated SFX, looping ambience, UI sounds, voice/TTS, voice conversion, cleanup/isolation, and game audio runtime planning.If a sibling skill file is loaded, follow its workflow for that phase. If it is unavailable, record the missing path/reason and use references/director-phase-os.md for that phase.
For new projects, use the gameplay skill's packaged scaffold creator:
python3 <threejs-gameplay-systems-skill-dir>/scripts/create_threejs_game.py ./my-game
For canvas inspection, use the generated game's npm run inspect:canvas when available, or the QA skill's packaged inspector:
node <threejs-qa-release-skill-dir>/scripts/inspect-threejs-canvas.mjs --url http://127.0.0.1:5188
For premium, AAA, polished, complete, release-ready, or showcase requests, completion requires visible quality across gameplay, hero/player, obstacles/enemies, rewards/interactables, world kit, HUD/menu states, render/lighting/materials, feel, performance/mobile, and QA.
If screenshots are dominated by primitives, flat roads/arenas, generic stat cards, sparse worlds, or glow-only detail, the task is not done.
The scorecard must use the exact categories from threejs-aaa-graphics-builder/references/visual-scorecard.md: Art direction, Hero/player, Obstacles/enemies, Rewards/interactables, World/environment, Materials/textures, Lighting/render, VFX/motion, UI/HUD, and Performance evidence. Do not substitute a personal rubric.
When shell tools are available, draft the final evidence report to a temporary markdown file and run the director audit before finalizing broad or premium work:
python3 <director-skill-dir>/scripts/audit_reference_report.py --premium /path/to/final-report.md
Use --premium for premium, AAA, showcase, high-fidelity, polished, complete, release-ready, or "less basic" claims. Add --physics for physics-heavy games such as pool/snooker, mini-golf, pinball, marble racers, physics puzzles, rigid-body games, or games with many sensors/colliders. Add --audio when generated or integrated audio is in scope, and for premium active-gameplay claims unless the user requested silent/offline-only output. If the audit fails, fix the missing report sections or state the exact blocker instead of claiming completion. If the script is unavailable, manually enforce the same required sections: skill-loading ledger, reference ledger, external asset/audio sourcing ledger, phase checklist, visual scorecard, physics/audio diagnostics when relevant, verification evidence, and remaining risks.
Report the skill-loading ledger, reference ledger, external asset sourcing ledger, phase ledger, files changed, run URL, controls, verification commands, screenshots/artifacts, renderer/performance notes, quality gates passed, skipped phases, and remaining risks. For premium/AAA/showcase claims, include the filled visual scorecard and automatic failures remaining. Be precise: "invoked" means a slash/tool skill invocation; "loaded" means the SKILL.md or reference file was read into context; "executed phase" means the work was performed under either loaded skill guidance or the director fallback.
development
Keyword research and validation with real search-demand data — never ship keywords from intuition alone. Probes Google Autocomplete per language (free, no account) to prove demand and discover the exact phrasing people type, checks SERPs for winnability, and uses Keyword Planner/Ahrefs/Semrush exports when the user has access. Activates when: choosing or reviewing SEO keywords, meta keywords, page titles, article topics or slugs, landing page copy targeting search, App Store/ASO keyword fields, multilingual keyword sets, 'what should we rank for', 'keyword analysis', or auditing why a page doesn't rank. Also invoke it as a validation pass whenever another skill or task produces a keyword list.
development
Automate YooAsset hot-update and asset bundles — build bundles, run Editor simulate builds, manage Collector groups, analyze BuildReport, and validate runtime. Use when building or simulating YooAsset bundles, configuring collectors, or validating hot-update assets, even if the user just says "热更" or "打AB包". 自动化 YooAsset 热更新与资源包(构建 bundle、编辑器模拟构建、管理 Collector 分组、分析 BuildReport、运行时校验);当用户要构建或模拟 YooAsset 资源包、配置 collector、或校验热更资源时使用。
development
Source-anchored design rules for YooAsset v2.3.18 — initialization, default-package shortcuts, play modes, asset handles, loading, updates, filesystem, build, and pitfalls. Use when writing or reviewing YooAsset code, initializing packages, loading assets via handles, setting up hot-update/download, or choosing a play mode, even if the user just says "热更" or "资源包". 为 YooAsset v2.3.18 提供源码锚定的设计规则(初始化、默认包快捷方式、运行模式、资源句柄、加载、更新、文件系统、构建、陷阱);当用户要编写或审查 YooAsset 代码、初始化 package、用句柄加载资源、配置热更/下载、或选择运行模式时使用。
data-ai
Last-resort guidance for safely hand-editing Unity serialized YAML (.unity/.prefab/.asset/.meta/ProjectSettings) — reference/fileID repair, GUID safety, and merge-conflict fixes. Use when REST cannot reach the change and YAML must be hand-edited — fixing m_Script GUIDs, broken fileID references, .meta files, or merge conflicts, even if the user just says "场景文件打不开" or "引用丢了". 安全手编 Unity 序列化 YAML(.unity/.prefab/.asset/.meta/ProjectSettings)的最后手段(引用/fileID 修复、GUID 安全、合并冲突修复);当 REST 无法触达、必须手编 YAML 时使用——修复 m_Script GUID、断裂 fileID 引用、.meta 文件或合并冲突。