What problem does it solve? Writing custom WebGL shaders in Three.js requires juggling GLSL syntax, uniform declarations, varyings, and material injection points, which is error-prone without a structured reference. ## Core Features & Use Cases - ShaderMaterial and RawShaderMaterial Setup: Create custom materials with correctly declared uniforms, attributes, and varyings. - Common Shader Patterns: Implement vertex displacement, Fresnel effects, rim lighting, dissolve effects, noise functions, and gradients with ready-to-adapt GLSL snippets. - Extending Built-in Materials: Use onBeforeCompile to inject custom logic into MeshStandardMaterial and other built-in shaders at known chunk injection points. - Use Case: You want an animated wave effect on a plane mesh. Use this Skill to write a ShaderMaterial with a time uniform and sine-based vertex displacement, then update the uniform each frame in the animation loop. ## Quick Start Use the threejs-shaders skill to create a ShaderMaterial with a Fresnel glow effect for my sphere mesh.