Claudekit-skills threejs
Build 3D web apps with Three.js (WebGL/WebGPU). Use for 3D scenes, animations, custom shaders, PBR materials, VR/XR experiences, games, data visualizations, product configurators.
install
source · Clone the upstream repo
git clone https://github.com/mrgoonie/claudekit-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mrgoonie/claudekit-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/threejs" ~/.claude/skills/mrgoonie-claudekit-skills-threejs && rm -rf "$T"
manifest:
.claude/skills/threejs/SKILL.mdsource content
Three.js Development
Build high-performance 3D web applications using Three.js - a cross-browser WebGL/WebGPU library.
When to Use This Skill
Use when working with:
- 3D scenes, models, animations, or visualizations
- WebGL/WebGPU rendering and graphics programming
- Interactive 3D experiences (games, configurators, data viz)
- Camera controls, lighting, materials, or shaders
- Loading 3D assets (GLTF, FBX, OBJ) or textures
- Post-processing effects (bloom, depth of field, SSAO)
- Physics simulations, VR/XR experiences, or spatial audio
- Performance optimization (instancing, LOD, frustum culling)
Progressive Learning Path
Level 1: Getting Started
- Load
- Fundamentalsreferences/00-fundamentals.md - Load
- Scene setup, basic geometries, materials, lights, rendering loopreferences/01-getting-started.md
Level 2: Common Tasks
- Asset Loading:
- GLTF, FBX, OBJ, texture loadersreferences/02-loaders.md - Textures:
- Types, mapping, wrapping, filteringreferences/03-textures.md - Cameras:
- Perspective, orthographic, controlsreferences/04-cameras.md - Lights:
- Types, shadows, helpersreferences/05-lights.md - Animations:
- Clips, mixer, keyframesreferences/06-animations.md - Math:
- Vectors, matrices, quaternions, curvesreferences/07-math.md - Geometry:
- Built-in shapes, BufferGeometry, custom geometry, instancingreferences/18-geometry.md - Materials:
- PBR, basic, phong, lambert, physical, toon, normal, depth, raw, shader materials, material propertiesreferences/11-materials.md
Level 3: Interactive & Effects
- Interaction:
- Raycasting, picking, transformsreferences/08-interaction.md - Post-Processing:
- Passes, bloom, SSAO, SSRreferences/09-postprocessing.md - Controls (Addons):
- Orbit, transform, first-personreferences/10-controls.md
Level 4: Advanced Rendering
- Materials Advanced:
- PBR, custom shadersreferences/11-materials-advanced.md - Performance:
- Instancing, LOD, batching, cullingreferences/12-performance.md - Node Materials (TSL):
- Shader graphs, computereferences/13-node-materials.md
Level 5: Specialized
- Physics:
- Ammo, Rapier, Jolt, VR/XRreferences/14-physics-vr.md - Advanced Loaders:
- SVG, VRML, domain-specificreferences/15-specialized-loaders.md - WebGPU:
- Modern backend, compute shadersreferences/16-webgpu.md - Shaders:
- GLSL, ShaderMaterial, uniforms, custom effectsreferences/17-shader.md
Quick Start Pattern
// 1. Scene, Camera, Renderer const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); // 2. Add Objects const geometry = new THREE.BoxGeometry(); const material = new THREE.MeshStandardMaterial({ color: 0x00ff00 }); const cube = new THREE.Mesh(geometry, material); scene.add(cube); // 3. Add Lights const light = new THREE.DirectionalLight(0xffffff, 1); light.position.set(5, 5, 5); scene.add(light); scene.add(new THREE.AmbientLight(0x404040)); // 4. Animation Loop function animate() { requestAnimationFrame(animate); cube.rotation.x += 0.01; cube.rotation.y += 0.01; renderer.render(scene, camera); } animate();
External Resources
- Official Docs: https://threejs.org/docs/
- Examples: https://threejs.org/examples/
- Editor: https://threejs.org/editor/
- Discord: https://discord.gg/56GBJwAnUS