Write, debug, and tune Playwright specs with locator strategy, trace diagnosis, and CI-aware timeouts.
Memory
ShaderToy
Try itWrite, explain, debug, and port ShaderToy-style fragment shaders. Use when the user asks for ShaderToy code, wants help with `mainImage`, `fragCoord`, `iTime...
What it does
Use this skill for ShaderToy-native work and ShaderToy-to-runtime migration.
The skill document
ShaderToy
Use this skill for ShaderToy-native work and ShaderToy-to-runtime migration.
This skill is narrower than shader. If the problem is fundamentally about ShaderToy built-ins, mainImage, channels, buffers, or porting out of ShaderToy, use this one first.
Workflow
1. Confirm the ShaderToy shape
Resolve these first:
- single
Imagepass or multi-pass withBuffer A/B/C/D - uses of
iTime,iResolution,iMouse - channel usage:
iChannel0..3 - whether the code is pure procedural or samples textures / buffers
If the user posts ShaderToy code, keep the original structure visible until the effect works.
2. Debug in ShaderToy terms first
Before porting, reduce the effect inside ShaderToy conventions:
- replace output with a constant color
- visualize
fragCoord / iResolution.xy - bypass texture reads and channels temporarily
- isolate one term at a time
Read references/builtins.md for the built-in variable map.
3. Port only after the effect is understood
When porting away from ShaderToy:
- convert
mainImage(out vec4 fragColor, in vec2 fragCoord)to the host entry point - replace built-ins with explicit uniforms
- recreate full-screen quad or postprocess host setup
- account for channel textures and buffer passes explicitly
Read references/porting.md before rewriting host-side glue.
4. Keep answers concrete
Prefer:
- a corrected ShaderToy fragment shader
- a mapping of built-ins to host uniforms
- a minimal migration plan
- the first likely failure point
Commands
Inspect built-ins and channels
node {baseDir}/scripts/shadertoy.js builtins
node {baseDir}/scripts/shadertoy.js channels --json
Generate a porting checklist
node {baseDir}/scripts/shadertoy.js port three
node {baseDir}/scripts/shadertoy.js port webgl --json
Use this when converting ShaderToy code into another runtime.
Print a debug checklist
node {baseDir}/scripts/shadertoy.js debug black-screen
node {baseDir}/scripts/shadertoy.js debug channels
Generate an intake plan
node {baseDir}/scripts/shadertoy.js intake "port a shadertoy ocean to r3f"
node {baseDir}/scripts/shadertoy.js intake "fix my iChannel feedback effect" --json
Pick the right demo starting point
node {baseDir}/scripts/shadertoy.js demo single-pass
node {baseDir}/scripts/shadertoy.js demo feedback --json
Generate a scaffold recommendation
node {baseDir}/scripts/shadertoy.js scaffold three single-pass
node {baseDir}/scripts/shadertoy.js scaffold webgl feedback --json
Use this when the user wants the fastest route from a ShaderToy idea to a runnable host setup.
Assets
Bundled templates:
assets/shadertoy-single-pass-demo/index.htmlassets/shadertoy-feedback-notes.txt
References
- Built-ins, channels, and pass semantics:
references/builtins.md - Migration rules to WebGL / Three.js / R3F:
references/porting.md - Buffer and feedback triage:
references/buffers-feedback.md
Guardrails
- Keep ShaderToy naming intact until the effect is understood.
- Do not invent channels or buffer passes the user did not specify.
- If the shader relies on buffers or feedback, say so explicitly before pretending it is a single-pass effect.
- When porting, make every implicit ShaderToy input explicit in the host code.
Related skills
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
More from jvy
Browse all skillsWPS Office workflow automation for Chinese documents, spreadsheets, and presentations.
Create Apache ECharts option JSON, standalone HTML chart pages, and export-ready chart artifacts from CSV, TSV, JSON tables, or existing option configs. Use...
Gitee operations via OpenAPI and git: repositories, pull requests, issues, comments, and file contents. Use when: (1) inspecting or creating Gitee pull reque...
Write, explain, adapt, and debug practical shader code for GLSL, WebGL, Three.js ShaderMaterial, React Three Fiber, postprocess-style full-screen effects, an...
Build, debug, and integrate OpenLayers web maps, including map/view setup, XYZ and OSM base layers, vector sources, GeoJSON overlays, Web Mercator and WGS84...
Research public holidays, bank holidays, observed days, school breaks, and make-up workdays for any country or region. Use when the user asks whether a speci...