
shader-router
Decision framework for GLSL shader projects. Routes to specialized shader skills (fundamentals, noise, SDF, effects) based on task requirements. Use when starting a shader project or needing guidance on which shader techniques to combine.
Decision framework for GLSL shader projects. Routes to specialized shader skills (fundamentals, noise, SDF, effects) based on task requirements. Use when starting a shader project or needing guidance on which shader techniques to combine.
Shader Router
Routes to 4 specialized GLSL shader skills based on task requirements.
Routing Protocol
- Classify — Identify what visual result is needed
- Match — Find skill(s) with highest signal match
- Combine — Most shaders need 2-3 skills together
- Load — Read matched SKILL.md files before implementation
Quick Route
Tier 1: Core (Always Consider)
| Task Type | Skill | Primary Signal Words |
|---|---|---|
| Writing shaders | shader-fundamentals |
GLSL, vertex, fragment, uniform, varying, coordinate |
| Organic patterns | shader-noise |
noise, procedural, terrain, clouds, turbulence, organic |
Tier 2: Specialized (Add When Needed)
| Task Type | Skill | Primary Signal Words |
|---|---|---|
| Shapes/geometry | shader-sdf |
shape, circle, box, boolean, union, morph, raymarch |
| Visual polish | shader-effects |
glow, bloom, chromatic, distortion, vignette, glitch |
Signal Matching Rules
Priority Order
When multiple signals present, resolve by priority:
- Explicit technique — "use simplex noise" →
shader-noise - Visual goal — "organic look" →
shader-noise - Shape need — "rounded rectangle" →
shader-sdf - Polish need — "add glow" →
shader-effects - Default — Start with
shader-fundamentals
Confidence Scoring
- High (3+ signals) — Route immediately
- Medium (1-2 signals) — Route with
shader-fundamentalsas base - Low (0 signals) — Ask: "What visual effect are you trying to achieve?"
Common Combinations
Procedural Texture (2 skills)
shader-fundamentals → Vertex/fragment setup, uniforms
shader-noise → Noise functions, FBM
Wiring: Fundamentals provides shader structure, noise generates patterns.
Stylized Shape (3 skills)
shader-fundamentals → Shader setup, UV handling
shader-sdf → Shape definition, boolean ops
shader-effects → Glow, outline, anti-aliasing
Wiring: SDF defines shape, effects add visual polish.
Terrain/Landscape (2 skills)
shader-fundamentals → Vertex displacement, lighting
shader-noise → Height generation, detail layers
Wiring: Noise generates heightmap, fundamentals handles displacement and shading.
Holographic/Cyberpunk (3 skills)
shader-fundamentals → Fresnel, scanlines base
shader-noise → Animated distortion
shader-effects → Chromatic aberration, glitch, glow
Wiring: Layer multiple effects for complex visual style.
UI/Logo Animation (3 skills)
shader-fundamentals → Animation timing, UV manipulation
shader-sdf → Shape primitives, morphing
shader-effects → Glow, dissolve, outline
Wiring: SDF creates shapes, effects add transitions.
Raymarched 3D (3 skills)
shader-fundamentals → Ray setup, lighting math
shader-sdf → 3D primitives, scene composition
shader-noise → Surface detail, displacement
Wiring: SDF defines geometry, noise adds organic detail.
Decision Table
| Visual Goal | Organic? | Shapes? | Effects? | Route To |
|---|---|---|---|---|
| Clouds | Yes | No | Maybe | fundamentals + noise |
| Logo | No | Yes | Yes | fundamentals + sdf + effects |
| Terrain | Yes | No | No | fundamentals + noise |
| Fire/smoke | Yes | No | Yes | fundamentals + noise + effects |
| UI element | No | Yes | Yes | fundamentals + sdf + effects |
| Abstract art | Yes | Maybe | Yes | all skills |
| 3D raymarch | Maybe | Yes | Maybe | fundamentals + sdf + (noise) |
Skill Dependencies
shader-fundamentals (foundation)
├── shader-noise (extends fundamentals)
├── shader-sdf (extends fundamentals)
└── shader-effects (extends fundamentals)
- Always start with
shader-fundamentals shader-noiseandshader-sdfare often independentshader-effectstypically applied last
Visual Goal → Technique Mapping
| Want This | Use This |
|---|---|
| Natural/organic look | Noise (FBM, turbulence) |
| Geometric shapes | SDF primitives |
| Smooth morphing | SDF smooth operations |
| Infinite patterns | SDF repetition |
| Terrain height | Noise + vertex displacement |
| Water/caustics | Noise + Worley |
| Glow/bloom | Effects (glow functions) |
| Retro/CRT look | Effects (scanlines, grain) |
| Transitions | SDF dissolve or Effects dissolve |
| Outlines | SDF or Effects (both have methods) |
Fallback Behavior
- Unknown technique → Start with
shader-fundamentals - No clear signals → Ask: "Describe the visual you're trying to create"
- Performance concerns → Check
shader-noiseoptimization tips
Quick Decision Flowchart
User Request
│
▼
┌─────────────────────┐
│ Writing shaders? │──Yes──▶ shader-fundamentals (always)
└─────────────────────┘
│
▼
┌─────────────────────┐
│ Organic/natural? │──Yes──▶ + shader-noise
└─────────────────────┘
│
▼
┌─────────────────────┐
│ Geometric shapes? │──Yes──▶ + shader-sdf
└─────────────────────┘
│
▼
┌─────────────────────┐
│ Visual polish? │──Yes──▶ + shader-effects
└─────────────────────┘
Reference
See individual skill files for detailed patterns:
/mnt/skills/user/shader-fundamentals/SKILL.md/mnt/skills/user/shader-noise/SKILL.md/mnt/skills/user/shader-sdf/SKILL.md/mnt/skills/user/shader-effects/SKILL.md
You Might Also Like
Related Skills

coding-agent
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
openclaw
add-uint-support
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
pytorch
at-dispatch-v2
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
pytorch
skill-writer
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
pytorch
implementing-jsc-classes-cpp
Implements JavaScript classes in C++ using JavaScriptCore. Use when creating new JS classes with C++ bindings, prototypes, or constructors.
oven-sh
implementing-jsc-classes-zig
Creates JavaScript classes using Bun's Zig bindings generator (.classes.ts). Use when implementing new JS APIs in Zig with JSC integration.
oven-sh