$npx -y skills add scottstts/Threejs-Awesome-Graphics-Agent-Skills --skill threejs-skill-routerRoute ambitious Three.js graphics work to the smallest expert skill set. Use for new visual experiences, graphics rewrites, reference matching, or requests spanning geometry, materials, atmosphere, shadows, temporal effects, and final image treatment.
| 1 | # Three.js Visual Skill Router |
| 2 | |
| 3 | Treat the model's Three.js knowledge and official documentation as prerequisites. Load only the expertise that changes the visual result. |
| 4 | |
| 5 | ## Route by the visual system being authored |
| 6 | |
| 7 | | Required result | Load | |
| 8 | | --- | --- | |
| 9 | | shot composition, chase/side/orbit rigs, camera handoffs, projection ownership, pointer look, floating origins | `$threejs-camera-direction` | |
| 10 | | launch and docking timelines, procedural transform phases, springs, staging, rotating-frame alignment, debris motion | `$threejs-procedural-animation` | |
| 11 | | reusable scalar/vector fields, domain warping, causal masks, procedural normals | `$threejs-procedural-fields` | |
| 12 | | atlas-filtered blocks, planetary surfaces, hybrid texture-backed PBR soil/moss with procedural displacement and masks, ground and model moss accumulation, terrain wetness, lava/emissive surfaces, authored frame PBR, specular AA | `$threejs-procedural-materials` | |
| 13 | | height-field ray marching, silhouette-aware POM, curved relief shells, relief self-shadowing | `$threejs-parallax-occlusion-mapping` | |
| 14 | | complete hard-surface object assemblies, tilted shell lofts, UV-owned apertures, sculpted rails/frames, branch rings, fin lofts, semantic mesh writers, material groups | `$threejs-procedural-geometry` | |
| 15 | | trees, surface-following ivy, painted vines, stylized grass, GPU-computed grass, roots, foliage, rooted wind deformation | `$threejs-procedural-vegetation` | |
| 16 | | buildings, façade grammars, profiles, ornaments, modular mesh writers | `$threejs-procedural-architecture` | |
| 17 | | planets, terrain, craters, biome fields, coastlines, spherical detail | `$threejs-procedural-planets` | |
| 18 | | sky scattering, planetary shells, depth-based aerial perspective | `$threejs-atmosphere-aerial-perspective` | |
| 19 | | weather-driven raymarched clouds and cloud shadows | `$threejs-volumetric-clouds` | |
| 20 | | FFT oceans, hybrid FFT/Gerstner clear water, stylized above/below ocean optics, submerged Snell windows, total internal reflection, aquatic perspective, caustic god rays, spectral cascades, choppy derivatives, Jacobian whitecaps | `$threejs-spectral-ocean` | |
| 21 | | authored analytic waves, bounded heightfield pools, object ripples, differential-area caustics, ray-traced pool volume optics, shared normals, heuristic refraction, fallback absorption, crest foam | `$threejs-water-optics` | |
| 22 | | falling snow, snow accumulation, model snow caps, wet asphalt puddles, procedural ripple normals, splash flipbooks, rain streaks, shared weather envelopes, surface wetness | `$threejs-precipitation-surfaces` | |
| 23 | | curved-ray black holes, accretion disks, wormholes | `$threejs-raymarched-space-effects` | |
| 24 | | particles, trails, plasma, shockwaves, layered event effects | `$threejs-procedural-vfx` | |
| 25 | | accumulated screen frost, touch clearing, wet-window rain, view-aligned droplet refraction and blur | `$threejs-temporal-surfaces` | |
| 26 | | stable large-world shadows, cascades, clipmaps, cached updates | `$threejs-shadow-systems` | |
| 27 | | GTAO, bent normals, bilateral reconstruction | `$threejs-screen-space-ambient-occlusion` | |
| 28 | | HDR bloom and selective emission contribution | `$threejs-bloom` | |
| 29 | | eye adaptation, tone mapping, LUT grading, output color | `$threejs-exposure-color-grading` | |
| 30 | | shared depth/normal/velocity ownership and multi-pass ordering | `$threejs-image-pipeline` | |
| 31 | | fixed-view diagnostics, seed sweeps, temporal and budget evidence | `$threejs-visual-validation` | |
| 32 | |
| 33 | ## Execution order |
| 34 | |
| 35 | For a new procedural scene: |
| 36 | |
| 37 | 1. Define a visual contract: subject, scale, camera distance, motion, and target frame budget. |
| 38 | 2. Load `$threejs-camera-direction` when framing, lens, camera frame, or mode transitions affect the target. |
| 39 | 3. Load the subject-generation skill. |
| 40 | 4. Add `$threejs-procedural-animation` when object motion requires authored phases, moving frames, or spring convergence. |
| 41 | 5. Add `$threejs-procedural-fields` when multiple visual channels must share coherent structure. |
| 42 | 6. Add lighting/shadows and atmosphere only after silhouette and material masks read without effects. |
| 43 | 7. Add `$threejs-image-pipeline` last. |
| 44 | 8. Load only the atomic image effects actually needed. |
| 45 | 9. Use `$threejs-visual-validation` for a deterministic evidence set. |
| 46 | |
| 47 | ## Routing constraints |
| 48 | |
| 49 | - Do not load a skill for API setup alone. Inspect the installed Three.js version and use official docs. |
| 50 | - Do not route “make it beautiful” directly to post-processing. Find the missing authored system. |
| 51 | - Prefer one strong, inspectable visual rule over several independent noise layers. |
| 52 | - When adapting a supplied reference, preserve the mechanism that creates its character. Do not reduce it to a generic effect category. |
| 53 | - Keep object-space, world-space, and screen-spa |