scottstts/threejs-procedural-fields
Build coherent procedural scalar and vector fields for Three.js materials and geometry. Use for terrain, planets, wear, biomes, clouds, water masks, displacement, roughness, normals, domain warping, and any visual where several channels must derive from shared causes.
npx skills add https://github.com/scottstts/Threejs-Awesome-Graphics-Agent-Skills --skill threejs-procedural-fields
Do not start by stacking noise. Start by defining the fields the object physically or stylistically needs.
Before shader code, write a field bundle:
coordinates
→ macro form
→ meso structure
→ derived causes
→ material channels
Example:
sphereDirection
→ warpedDirection
→ elevation + ridges + craterDepth
→ slope + cavity + latitude + moisture
→ biome + color + roughness + bump
Read references/field-stack-recipes.md
before implementation. It records sphere, terrain, water, and
structured-placement field contracts plus common parity defects.
Read the
procedural planet surface
for a shared CPU/GLSL field bundle whose height, continents, climate, biomes,
roughness, and normals remain independently inspectable.
ridgeWidth, coastBlend, cavityDarkening, not noise3Amount.Use this skill when the shared field model is the task. Use
$threejs-procedural-materials when the task is channel assembly and material
response, and $threejs-procedural-planets when the deliverable is a complete
planetary body.
Take scottstts/threejs-procedural-fields from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.