lumoslab-innovation/3d-lab-skills/threejs-lab
Claude Code and agent skill by lumoslab-innovation/3d-lab-skills
- community
- ext:[{"type":"plugin","description":"Custom plugin integration"}]
Checking that the SKILL.md file is still in the repository.
Router and baseline workflow for Three.js lab work. Use when the user asks for any web 3D lab, learning simulation, model viewer, Three.js scene, GLB/GLTF asset flow, physics demo, canvas bug, visual QA, or performance pass and a more specific plugin skill may apply.
Install
npx vskill@latest install lumoslab-innovation/3d-lab-skills/threejs-labSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Three.js Lab
Route First
Load the most specific skill before building:
- Prompt/image to a model with human option selection or Blender MCP: use
$threejs-studiofirst. Its image approval gate takes precedence; the educational workflow below applies only if the requested asset is a learning lab. - Advanced procedural graphics: use
$threejs-skill-routerand load only the relevant expert references. - Product lab, curriculum scene, agent-connected simulation, or reusable 3D lesson: use
$learning-lab-3d-creator. - Science concept, variable mapping, causal logic, or visual necessity: use
$science-model-director. - 3D morphology, object necessity, reference interpretation, and composition logic: use
$threejs-design-director. - Art direction, reference likeness, visual taste, material polish, or toy-like/crude 3D: use
$threejs-art-director. - Visual quality, fancy demo acceptance, image-reference direction, chemistry/biology beauty/detail complaints, or before/after screenshot comparison: use
$visual-lab-qa-agent. - 3D model, procedural object, materials, GLB/GLTF, texture, articulation, or asset optimization: use
$threejs-model-creator. - Physics, force, collision, rigid body, particle, fluid-like, field, motion, numerical simulation, or calibration: use
$threejs-physics-simulation. - Blank canvas, slow scene, WebGL budget, responsive framing, screenshot QA, or release verification: use
$threejs-performance-qa. - Strict product/QA gate before claiming done: use
$learning-lab-qa-pm-reviewer.
Workflow
- Define the lab surface first: learning goal, one primary 3D scene, 1-3 controls, visible measurement/output, reset, and pause/play when motion matters.
- Run
$science-model-directorto map controls -> visible changes -> measured outputs. - Run
$threejs-design-directorto decide real 3D objects versus annotations and morphology anchors. - Run
$threejs-art-directorto check reference likeness, material polish, composition, and non-toy aesthetics. - For demo/lab creation, run
$visual-lab-qa-agentstart pass before implementation to set the visual target and start a prompt loop ledger. - Inspect the project: package scripts, installed 3D deps, existing canvas/components/assets, route/layout conventions, and current build/test commands.
- Pick the smallest renderer path that fits:
- Use existing React Three Fiber if already installed and used.
- Use imperative Three.js for a single embedded canvas or a non-React page.
- Do not add physics, postprocessing, state, or control libraries unless the lab requires them.
- Build with stable scene lifecycle: camera, renderer/canvas sizing, lights, objects/models, controls, animation loop, resize handling, and cleanup.
- Add real lab controls: variables, units, measured output, reset, and a short result readout.
- Verify in browser, then run
$visual-lab-qa-agentend pass. A Three.js lab is not done until the canvas is nonblank, framed correctly, responsive, interactive, visually accepted, and the prompt/reference/fix loop is recorded.
Must-Haves
- Clamp pixel ratio with
Math.min(window.devicePixelRatio, 2). - Handle resize by updating renderer size, camera aspect/projection, and composer size if postprocessing exists.
- Use
requestAnimationFrame,renderer.setAnimationLoop, or R3FuseFrame; updateClock-based deltas for animation mixers. - Use the import style already present in the project. For fresh Three.js code, prefer
three/addons/...; keep local consistency unless modernizing a whole surface. - Use
MeshStandardMaterial/MeshPhysicalMaterialwith lights or environment maps for realistic labs; useMeshBasicMaterialonly for unlit UI/debug visuals. - Load GLB/GLTF assets from the app's public/static path; add loading and error states.
- Reuse/dispose geometries, materials, textures, controls, renderers, and event listeners on unmount.
- Use
InstancedMeshor merged geometry for many repeated objects. - For physics/science labs, expose calibration constants when approximations or real-world drift matter.
References
Read only what the task needs:
references/threejs-patterns.md: API patterns for scene setup, assets, interaction, animation, shaders, postprocessing, and R3F.references/lab-qa.md: browser/build QA checklist and blank-canvas triage.references/sources.md: source repos reviewed while creating this skill.
Script
Run the lightweight static check after editing Three.js files:
The script catches missing render loops, resize handling, common asset-loading omissions, and similar failures. It is not a replacement for a browser screenshot.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/threejs-lab/skills/threejs-lab/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
pluginCustom plugin integration
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lumoslab-innovation/3d-lab-skills/threejs-lab)