Optimize and post-process GLB/glTF 3D models. Use when compressing models for web delivery, reducing file size, simplifying geometry, inspecting model stats, merging models, or converting textures. Triggers on: optimize GLB, compress model, reduce file size, simplify mesh, draco compression, meshopt, webp textures, inspect model, merge GLB, model optimization.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/rawwerks/VibeCAD/blob/main/plugins/gltf-transform/skills/gltf-transform/SKILL.md -a claude-code --skill gltf-transformInstallation paths:
.claude/skills/gltf-transform/# glTF Transform Post-process GLB/glTF files: optimize, compress, inspect, and transform 3D models. - CLI docs: https://gltf-transform.dev/cli - GitHub: https://github.com/donmccurdy/glTF-Transform - npm: `@gltf-transform/cli` ## Zero-Setup with bunx No installation required. Run any command with: ```bash bunx @gltf-transform/cli <command> [args] ``` First run downloads the tool, subsequent runs are instant. ## Quick Start ```bash # Inspect model stats first bunx @gltf-transform/cli inspect model.glb # One-command optimization (good defaults) bunx @gltf-transform/cli optimize input.glb output.glb --compress draco --texture-compress webp ``` ## CAD Workflow Integration Typical pipeline after generating models with build123d: ``` create geometry → export GLB → optimize → verify visually ``` 1. **build123d** exports high-quality CAD geometry 2. **gltf-transform** compresses for web delivery 3. **render-glb** verifies the result ## Compression Methods | Method | Best For | Trade-offs | |--------|----------|------------| | **Draco** | Web delivery, Three.js | Smallest geometry, requires decoder | | **Meshopt** | Universal, animations | Good compression + animation support | | **Quantize** | Compatibility | No decoder needed, moderate compression | ```bash # Draco - best geometry compression bunx @gltf-transform/cli draco input.glb output.glb # Meshopt - geometry + animation compression bunx @gltf-transform/cli meshopt input.glb output.glb # Quantize only - no external decoder needed bunx @gltf-transform/cli quantize input.glb output.glb ``` ## Texture Compression ```bash # WebP - good compression, wide browser support bunx @gltf-transform/cli webp input.glb output.glb # Resize large textures bunx @gltf-transform/cli resize input.glb output.glb --width 1024 --height 1024 ``` ## Common Operations ### Inspect Model Stats ```bash bunx @gltf-transform/cli inspect model.glb ``` Shows vertex count, file size breakdown, texture sizes - helps decide what t