three-best-practices
Three.js performance optimization and best practices guidelines.
Skill by three-agent-skills
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zebbern-three-best-practices
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/three-best-practices
What's inside
- Skill name
three-best-practices- Description
- Three.js performance optimization and best practices guidelines. Use when writing, reviewing, or optimizing Three.js code. Triggers on tasks involving 3D scenes, WebGL/WebGPU rendering, geometries, materials, textures, lighting, shaders, or TSL.
- License
- MIT
- Metadata
- author: three-agent-skills · version: 2.1.0 · three-version: 0.182.0+
- Instructions
- 326 lines in SKILL.md · view on GitHub
Files (29)
- SKILL.md
- _sections.md · rules/
- animation-system.md · rules/
- asset-compression.md · rules/
- audio-spatial.md · rules/
- core-web-vitals.md · rules/
- debug-devtools.md · rules/
- draw-call-optimization.md · rules/
- error-handling-recovery.md · rules/
- geometry-instanced-mesh.md · rules/
- gltf-loading-optimization.md · rules/
- lighting-shadows-advanced.md · rules/
- memory-dispose-geometry.md · rules/
- migration-checklist.md · rules/
- mobile-optimization.md · rules/
- object-pooling.md · rules/
- physics-integration.md · rules/
- postprocessing-optimization.md · rules/
- raycasting-optimization.md · rules/
- render-delta-time.md · rules/
- setup-use-import-maps.md · rules/
- shader-mobile.md · rules/
- tsl-complete-reference.md · rules/
- tsl-compute-shaders.md · rules/
- tsl-material-slots.md · rules/
- tsl-post-processing.md · rules/
- tsl-why-use.md · rules/
- webgpu-renderer.md · rules/
- webxr-setup.md · rules/
SKILL.md (first lines)
# Three.js Best Practices Comprehensive performance optimization guide for Three.js applications. Contains 120+ rules across 18 categories, prioritized by impact. ## Sources & Credits > This skill compiles best practices from multiple authoritative sources: > - Official guidelines from Three.js `llms` branch maintained by [mrdoob](https://github.com/mrdoob) > - [100 Three.js Tips](https://www.utsubo.com/blog/threejs-best-practices-100-tips) by [Utsubo](https://www.utsubo.com) - Excellent comprehensive guide covering WebGPU, asset optimization, and performance tips ## When to Apply Reference these guidelines when: - Setting up a new Three.js project - Writing or reviewing Three.js code - Optimizing performance or fixing memory leaks - Working with custom shaders (GLSL or TSL) - Implementing WebGPU features - Building VR/AR experiences with WebXR - Integrating physics engines - Optimizing for mobile devices ## Rule Categories by Priority | Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 0 | Modern Setup & Imports | FUNDAMENTAL | `setup-` | | 1 | Memory Management & Dispose | CRITICAL | `memory-` | | 2 | Render Loop Optimization | CRITICAL | `render-` | | 3 | Draw Call Optimization | CRITICAL | `drawcall-` | | 4 | Geometry & Buffer Management | HIGH | `geometry-` | | 5 | Material & Texture Optimization | HIGH | `material-` | | 6 | Asset Compression | HIGH | `asset-` | | 7 | Lighting & Shadows | MEDIUM-HIGH | `lighting-` | | 8 | Scene Graph Organization | MEDIUM | `scene-` | | 9 | Shader Best Practices (GLSL) | MEDIUM | `shader-` | | 10 | TSL (Three.js Shading Language) | MEDIUM | `tsl-` | | 11 | WebGPU Renderer | MEDIUM | `webgpu-` | | 12 | Loading & Assets | MEDIUM | `loading-` | | 13 | Core Web Vitals | MEDIUM-HIGH | `vitals-` | | 14 | Camera & Controls | LOW-MEDIUM | `camera-` | | 15 | Animation System | MEDIUM | `animation-` | | 16 | Physics Integration | MEDIUM | `physics-` | | 17 | WebXR / VR / AR | MEDIUM | `webxr-` | | 18 | Audio | LOW-MEDIUM | `audio-` | | 19 | Post-Processing | MEDIUM | `postpro-` | | 20 | Mobile Optimization | HIGH | `mobile-` | | 21 | Production | HIGH | `error-`, `migration-` | | 22 | Debug & DevTools | LOW | `debug-` | ## Quick Reference ### 0. Modern Setup (FUNDAMENTAL) - `setup-use-import-maps` - Use Import Maps, not old CDN scripts - `setup-choose-renderer` - WebGLRenderer (default) vs WebGPURenderer (TSL/compute) - `setup-animation-loop` - Use `renderer.setAnimationLoop()` not manual RAF - `setup-basic-scene-template` - Complete modern scene template ### 1. Memory Management (CRITICAL) - `memory-dispose-geometry` - Always dispose geometries - `memory-dispose-material` - Always dispose materials and textures - `memory-dispose-textures` - Dispose dynamically created textures - `memory-dispose-render-targets` - Always dispose WebGLRenderTarget - `memory-dispose-recursive` - Use recursive disposal for hierarchies - `memory-dispose-on-unmount` - Dispose in React cleanup/unmount - `memory-renderer-dispose` - Dispose renderer when destroying view - `memory-reuse-objects` - Reuse geometries and materials ### 2. Render Loop (CRITICAL) - `render-single-raf` - Single requestAnimationFrame loop - `render-conditional` - Render on demand for static scenes - `render-delta-time` - Use delta time for animations - `render-avoid-allocations` - Never allocate in render loop - `render-cache-computations` - Cache expensive computations - `render-frustum-culling` - Enable frustum culling - `render-update-matrix-manual` - Disable auto matrix updates for static objects - `render-pixel-ratio` - Limit pixel ratio to 2 - `render-antialias-wisely` - Use antialiasing judiciously ### 3. Draw Call Optimization (CRITICAL) - `draw-call-optimization` - Target under 100 draw calls per frame - `geometry-instanced-mesh` - Use InstancedMesh for identical objects - `geometry-batched-mesh` - Use BatchedMesh for varied geometries (same material) - `geometry-merge-static` - Merge static geometries with BufferGeometryUtils ### 4. Geometry (HIGH) - `geometry-buffer-geometry` - Always use BufferGeometry - `geometry-merge-static` - Merge static geometries - `geometry-instanced-mesh` - Use InstancedMesh for identical objects - `geometry-lod` - Use Level of Detail for complex models - `geometry-index-buffer` - Use indexed geometry - `geometry-vertex-count` - Minimize vertex count - `geometry-attributes-typed` - Use appropriate typed arrays - `geometry-interleaved` - Consider interleaved buffers ### 5. Materials & Textures (HIGH) - `material-reuse` - Reuse materials across meshes - `material-simplest-sufficient` - Use simplest material that works - `material-texture-size-power-of-two` - Power-of-two texture dimensions - `material-texture-compression` - Use compressed textures (KTX2/Basis) - `material-texture-mipmaps` - Enable mipmaps appropriately - `material-texture-anisotropy` - Use anisotropic filtering for floors - `material-texture-atlas` - Use texture atlases - `material-avoid-transparency` - Minimize transparent materials - `material-onbeforecompile` - Use onBeforeCompile for shader mods (or TSL) ### 6. Asset Compression (HIGH) - `asset-compression` - Draco, Meshopt, KTX2 compression guide - `asset-draco` - 90-95% geometry size reduction - `asset-ktx2` - GPU-compressed textures (UASTC vs ETC1S) - `asset-meshopt` - Alternative to Draco with faster decompression - `asset-lod` - Level of Detail for 30-40% frame rate improvement
From zebbern/claude-code-guide, MIT.
More from zebbern/claude-code-guide
- 0.746score
audit-flow
ArunJRK
Interactive system flow tracing across CODE, API, AUTH, DATA, NETWORK layers with SQLite persistence and Mermaid export.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.740score
r3f-best-practices
three-agent-skills
React Three Fiber (R3F) and Poimandres ecosystem best practices.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
project-sizing-guide
zebbern
Software project effort estimation assistant.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
http-load-profiler
zebbern
Run stepped HTTP load tests with ab/wrk, ramping concurrency levels to collect p50/p90/p99 latency, detect performance inflection points, and recommend…
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
database-scout
zebbern
Explore SQLite and PostgreSQL databases: list tables, inspect schemas (columns/types/constraints), preview data, generate Mermaid ER diagrams, and run safe…
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
data-viz-renderer
zebbern
Generate self-contained HTML/SVG infographics from JSON data, including stat cards, bar charts, flow diagrams, and mixed dashboards.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
chart-image
zebbern
Generate publication-quality PNG chart images from data, supporting line, bar, area, candlestick, pie, and heatmap charts.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
code-vuln-audit
zebbern
Scan code for security issues: dependency vulnerabilities (npm/pip audit), secret leaks (regex and entropy analysis), and OWASP anti-patterns like SQL…
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
code-to-diagram
zebbern
Analyze codebases and automatically generate architecture diagrams, flowcharts, and org charts.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
dataset-quality-audit
zebbern
Run comprehensive quality checks on tabular data (CSV/Excel/TSV/JSON), detecting missing values, duplicates, outliers, format issues, and type inconsistencies…
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
log-error-digest
zebbern
Analyze log files to troubleshoot errors, identify peak error periods, and produce error clustering, frequency statistics, and time distribution reports.
SkillCFreshness: C★ 4.7KClaude Code +9 - 0.662score
repo-audit
zebbern
Deep analysis of Git history: identify frequently changed hotspot files, analyze code ownership by contributor, and scan for leaked secrets.
SkillCFreshness: C★ 4.7KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 4,678
- Forks
- 471
- Open issues
- 3
- Last commit (this folder)
- May 31, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 2.1.0
- License
- MIT
- Repository
- github.com/zebbern/claude-code-guide
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from three-agent-skills
Cite this page
three-best-practices skill. Agent Mart. https://agentmart.dev/skills/zebbern-three-best-practices (last updated 2026-10-24)