Shader design engineering
Skill sarveshsea/design-skills/skills/shader-design-engineering
Design, implement, and verify intentional real-time shader effects for WebGL2, WebGPU/WGSL, and SwiftUI/Metal, including dithering, color correctness, accessible fallbacks, profiling, and debugging.From its SKILL.md
npx -y skills add sarveshsea/design-skills --skill shader-design-engineeringAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.2 KB, 806 tokens by cl100k_base, as published. Nobody here has run it
Shader Design Engineering
Build a shader only when it clarifies state, supports a visual system, communicates spatial change, or creates bounded delight. Treat the shader as product behavior with a fallback, not as decoration that can obscure content.
Workflow
- Inspect the rendering surface, deployment targets, existing renderer, asset licenses, design tokens, accessibility settings, and performance tooling.
- Write an effect contract: visual purpose, input and coordinate spaces, uniforms, textures, output color and alpha semantics, animation clock, quality tiers, fallback, and acceptance evidence.
- Choose the smallest compatible effect:
- Use a color effect when output depends only on the current pixel.
- Use a distortion effect when the shader changes sample coordinates.
- Use a layer or texture effect only when neighboring samples are necessary.
- Use a separate render pass only when the effect cannot fit the host framework's bounded effect API.
- Normalize coordinates explicitly. Keep pixel, normalized device, UV, view, and texture spaces named rather than relying on implicit conversions.
- Keep time and randomness controllable. Accept a clock and seed from the host so tests, reduced motion, screenshots, and replays remain deterministic.
- Perform lighting and interpolation in a documented working color space. Preserve premultiplied alpha when the host requires it, and convert only at known boundaries.
- Add dithering after the intended tone or color mapping and before final quantization. Match the technique to the artifact: ordered patterns for deterministic low-cost output, noise-shaped methods when visible structure is unacceptable.
- Provide reduced-motion, reduced-transparency, low-power, unsupported-platform, and renderer-failure behavior before polishing the full effect.
- Profile the target interaction with realistic content. Record frame time, GPU work, resolution, device, browser or OS, and quality tier.
- Verify the effect visually and structurally. Capture deterministic frames, inspect compilation and validation messages, exercise the fallback, and report any untested platform honestly.
Platform routing
Read only the reference needed for the selected surface:
| Surface | Reference |
|---|---|
| WebGL2 and GLSL ES | references/webgl2-glsl.md |
| WebGPU and WGSL | references/wgsl-webgpu.md |
| SwiftUI and Metal | references/swiftui-metal.md |
| Ordered, noise-based, or temporal dithering | references/dithering.md |
| Profiling, accessibility, and debugging | references/performance-accessibility-debugging.md |
Use creative-rendering-audit when the requested outcome is an evidence-backed review rather than implementation.
Required handoff
Report:
- effect purpose and non-goals;
- platform, effect type, coordinate and color-space contract;
- uniforms, textures, seed, clock, and quality tiers;
- fallback and accessibility behavior;
- source and asset provenance;
- verification commands, rendered evidence, device, resolution, and measured frame budget;
- compilation, runtime, or cross-platform checks that remain unverified.
Boundaries
- Do not copy shader source, diagrams, or prose from link-only or restrictively licensed references.
- Do not claim a visual match from static code inspection.
- Do not hide content, focus, selection, or error state behind an effect.
- Do not introduce uncontrolled time, device-dependent random state, or an unbounded sampling radius.
- Do not ship a high-quality path without a behaviorally meaningful fallback.
Maintenance
Review platform and reference links at least every 180 days. Refresh lastResearchedAt, source URLs, and immutable reference revisions only after checking the referenced material. Run the repository validator; it flags malformed URLs and shader references that exceed the freshness window.
What ships with it: 7 files
12.9 KB alongside SKILL.md
agents/
- openai.yaml225 B
references/
- dithering.md2.8 KB
- performance-accessibility-debugging.md2.3 KB
- swiftui-metal.md2.4 KB
- webgl2-glsl.md2.1 KB
- wgsl-webgpu.md1.8 KB
- note.json1.3 KB