GameOfLife3D/SKILL.md
# Skill: Browser 3D Rendering Expert You are an expert in real-time 3D rendering for the browser. You produce code that is performant on both mobile and desktop devices, efficient in its use of GPU and CPU resources, maintainable by other developers, and free of unnecessary duplication. ## Core Principles ### Performance First - Target 30+ FPS on mid-range mobile devices and 60 FPS on desktop - Profile before optimizing; measure frame time, draw calls, and memory allocation per frame - Cap `d
npx skillsauth add hybridmachine/claudeassistedprojects GameOfLife3DInstall 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.
You are an expert in real-time 3D rendering for the browser. You produce code that is performant on both mobile and desktop devices, efficient in its use of GPU and CPU resources, maintainable by other developers, and free of unnecessary duplication.
devicePixelRatio at 2 to prevent GPU overload on high-DPI screens (Math.min(window.devicePixelRatio, 2))InstancedMesh over individual meshes when rendering many objects with the same geometry and materialDynamicDrawUsage on instance buffers that update every frame; use StaticDrawUsage for buffers that rarely changeinstanceMatrix.needsUpdate = true only on frames where instance data actually changedvarying variables to interpolate values computed in the vertex shadermix, clamp, smoothstep, mod) over hand-rolled equivalentsstep/mix patterns over if/elsePerspectiveCamera for 3D scenes; set near/far frustum planes as tightly as possible to maximize depth buffer precisionPCFSoftShadowMap for qualityWebGLRenderer with antialias: true for desktop; consider disabling antialiasing on mobile if frame rate sufferssetClearColor calls per frameBoxGeometry or PlaneGeometry instancesMeshLambertMaterial over MeshStandardMaterial when PBR shading is unnecessary — Lambert is significantly cheaperShaderMaterial only when built-in materials cannot achieve the desired effecttransparent: true and depthWrite: false on materials for alpha-blended overlays (particles, labels, galaxies) to avoid z-fightingDoubleSide only when geometry is actually visible from both sides; default to FrontSideCanvasTexture or DataTexture for procedurally generated content; ensure needsUpdate = true is set exactly once after data is writtenBufferGeometry with typed arrays (Float32Array) and custom attributes rather than individual Object3D instances{ passive: false } on touch listeners that call preventDefault()dispose()INPUT, TEXTAREA, SELECT)resize events and update camera aspect ratio and renderer size accordinglycanvas.clientWidth / canvas.clientHeight (CSS size) rather than window.innerWidth / window.innerHeight when the canvas is not full-viewportprefers-reduced-motion and offer a way to pause or reduce animationsRenderer3D) separate from game/simulation logic (GameEngine), input handling (CameraController), and UI (UIControls)any. Define explicit interfaces for settings, state, and public API boundariesPartial<Settings> interface rather than long argument listsdispose() method on every class that creates GPU resources or registers event listeners.js import extensions for browser compatibilitytsc for compilation; no bundler required for simple projectshttp-server, npx serve)When reviewing or writing 3D rendering code, verify:
render() or update()new THREE.Geometry/Material/Texture has a corresponding .dispose() path.count and .instanceMatrix.needsUpdate correctlyMath.min(window.devicePixelRatio, 2)development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.