plugins/game-studio/skills/three-webgl-game/SKILL.md
Implement browser-game runtimes with plain Three.js. Use when the user wants imperative scene control in TypeScript or Vite with GLB assets, loaders, physics, and low-level WebGL debugging.
npx skillsauth add openai/plugins three-webgl-gameInstall 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.
Use this skill for the default non-React 3D path in the plugin. This is not generic WebGL advice. It is an opinionated stack for browser 3D work:
threeGLTFLoader, DRACOLoader, and KTX2LoaderUse this skill when the project wants direct scene, camera, renderer, and game-loop control. If the app already lives in React, route to ../react-three-fiber-game/SKILL.md instead.
For exploration, traversal, and character-control prototypes, start with a sparse shell:
Only add larger UI surfaces when the game loop truly requires them. Journal, quest log, codex, map, and settings surfaces should open on demand, not occupy the viewport by default.
Use the module shape in ../../references/three-webgl-architecture.md, then keep these boundaries clean:
simulation/: rules, progression, state, and AIrender/app/: renderer, scene, camera, resize, context lifecyclerender/loaders/: GLTF, Draco, KTX2, texture, and environment loadingrender/objects/: mesh instantiation and disposalrender/materials/: material setup and shader boundariesphysics/: Rapier world, bodies, colliders, and simulation bridgeui/: DOM overlays and menusdiagnostics/: debug toggles, perf probes, and capture hooksGLTFLoader for shipped 3D content.DRACOLoader or Meshopt-compatible optimization as part of the asset pipeline, not as a random runtime patch.KTX2Loader for compressed textures when the asset pipeline provides them.Do not claim that this plugin offers equal 3D depth to the Phaser track. It supports serious 3D implementation, but the plugin is still 2D-first overall.
../web-game-foundations/SKILL.md../game-ui-frontend/SKILL.md../../references/three-hud-layout-patterns.md../../references/threejs-stack.md../../references/three-webgl-architecture.md../../references/threejs-vanilla-starter.md../../references/gltf-loading-starter.md../../references/rapier-integration-starter.md../../references/web-3d-asset-pipeline.md../../references/webgl-debugging-and-performance.mddevelopment
Use when the user wants to spin up / create / launch / provision a DigitalOcean droplet (or "a remote dev box on DO") and connect to it from Codex as a remote SSH workspace.
data-ai
Search through Microsoft Teams chats or channels, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data.
tools
Motion / animation context for the `use_figma` MCP tool — animating Figma nodes via manual keyframes, animation styles, easing, and timeline duration. Load alongside figma-use whenever a task involves adding, editing, or inspecting animation on a node.
development
SwiftUI ↔ Figma translation. Use whenever the user mentions Swift, SwiftUI, iOS, iPhone, or iPad — in EITHER direction — translating a Figma design into SwiftUI (design → code), or pushing SwiftUI views / screens / tokens back into a Figma file (code → design). Triggers on phrases like 'implement this Figma design in SwiftUI', 'build this screen in Swift', 'push this SwiftUI view to Figma', 'mirror my Swift code in a Figma file', or whenever a Figma URL appears alongside `.swift` files / an `.xcodeproj`. Routes to a direction-specific reference doc; loads alongside `figma-use` for the code → design path.