/install shader
Shader
Use this skill to turn shader requests into runnable code and fast debugging steps.
Default target: browser-friendly GLSL. If the runtime is unclear, narrow it before writing code:
- ShaderToy fragment-only
- raw WebGL / GLSL ES
- Three.js
ShaderMaterial - React Three Fiber
- postprocess-style full-screen pass
Workflow
1. Lock the runtime and effect shape
Resolve these first:
- runtime
- fragment-only vs vertex + fragment
- screen effect vs material effect vs postprocess pass
- required inputs:
uTime,uResolution, UVs, normals, textures, mouse
If the request is vague, start with the smallest visible version of the effect.
2. Build from a visible baseline
- Start with a constant color or UV gradient.
- Add one moving term at a time.
- Reintroduce uniforms, varyings, noise, lighting, and distortion step by step.
For blank output, compile failures, or “nothing shows”, read references/black-screen-checklist.md.
3. Match the host, not the idea source
Do not hand over ShaderToy code unchanged if the user asked for Three.js or R3F.
Common translations:
iTime->uTimeiResolution->uResolutionfragCoord->gl_FragCoord.xy- ShaderToy fullscreen logic -> quad / plane / postprocess host setup
For live previews inside OpenClaw, pair this skill with canvas.
4. Keep answers practical
Prefer responses that include:
- runnable shader code
- required uniforms and defaults
- host-side glue code
- the first debugging step if it fails
Common Uses
- Full-screen effects: flowing gradients, ripples, ShaderToy-style animated backgrounds
- Material effects: fresnel, dissolve, edge glow, scanlines, vertex wobble
- Porting: ShaderToy -> WebGL / Three.js / R3F
- Debugging: black screen, all-white / all-black output, broken UVs, wrong varyings, missing uniforms
Commands
Intake
node {baseDir}/scripts/shader.js intake "fullscreen ocean background in three.js"
node {baseDir}/scripts/shader.js intake "port this shadertoy to r3f" --json
Use this to structure an underspecified request.
Debug
node {baseDir}/scripts/shader.js debug black-screen
node {baseDir}/scripts/shader.js debug uniform
node {baseDir}/scripts/shader.js debug varyings
Effects
node {baseDir}/scripts/shader.js effects
Maps user phrases to likely starter techniques like gradient, noise, fresnel, dissolve, ripple, scanline, and pixelate.
Boilerplate
node {baseDir}/scripts/shader.js boilerplate fresnel
node {baseDir}/scripts/shader.js boilerplate dissolve --json
Returns stage split, likely uniforms, varyings, build order, and common failure points.
Snippet
node {baseDir}/scripts/shader.js snippet fresnel
node {baseDir}/scripts/shader.js snippet ripple --json
Points to the nearest bundled GLSL starter.
Demo
node {baseDir}/scripts/shader.js demo webgl ripple
node {baseDir}/scripts/shader.js demo r3f fresnel --json
Chooses the best bundled runtime template for a target + effect combination.
Scaffold
node {baseDir}/scripts/shader.js scaffold r3f dissolve
node {baseDir}/scripts/shader.js scaffold postprocess scanline --json
Combines the nearest demo, boilerplate, snippet, and first integration steps.
Assets
Bundled templates:
assets/webgl-fullscreen-demo/index.htmlassets/threejs-material-demo/index.htmlassets/postprocess-demo/index.htmlassets/r3f-demo/App.jsxassets/r3f-demo/main.jsxassets/r3f-demo/index.htmlassets/r3f-demo/package.jsonassets/r3f-demo/vite.config.js
Bundled snippets:
assets/snippets/fresnel.mdassets/snippets/dissolve.mdassets/snippets/ripple.mdassets/snippets/scanline.mdassets/snippets/pixelate.mdassets/snippets/vertex-wobble.md
Use the postprocess template for screen-space effects. Use the Three.js or R3F templates for mesh/material effects.
References
references/glsl-quick-reference.mdreferences/black-screen-checklist.mdreferences/effect-starters-zh.mdreferences/snippets.mdreferences/runtime-translation.md
Guardrails
- Default to the smallest working shader that proves the effect.
- Use host-friendly uniform names like
uTime,uResolution,uMouse,uTexture. - Do not assume WebGL2 unless the host clearly uses it.
- Do not invent runtime-specific macros or built-ins.
- Call out likely precision, color-space, or postprocess-order bugs explicitly.
- For performance advice, stay directional unless the actual runtime and GPU are known.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install shader - After installation, invoke the skill by name or use
/shader - Provide required inputs per the skill's parameter spec and get structured output
What is shader?
Write, explain, adapt, and debug practical shader code for GLSL, WebGL, Three.js ShaderMaterial, React Three Fiber, postprocess-style full-screen effects, an... It is an AI Agent Skill for Claude Code / OpenClaw, with 255 downloads so far.
How do I install shader?
Run "/install shader" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is shader free?
Yes, shader is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does shader support?
shader is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created shader?
It is built and maintained by jvy (@jvy); the current version is v1.0.0.