Typegpu
software-mansion-labs/skills
TypeGPU is type-safe WebGPU in TypeScript. An agent skill from software-mansion-labs/skills.
Decides whether an interface effect belongs in CSS, SVG, Canvas 2D, WebGL or WebGPU, then builds, debugs and visually verifies focused GPU effects inside product UIs.
$ npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install v2space-labs/shader-for-interfaces shader-for-interfaces --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "shader-for-interfaces" agent skill from https://github.com/v2space-labs/shader-for-interfaces/tree/main into .claude/skills/shader-for-interfaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-for-interfaces", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install v2space-labs/shader-for-interfaces shader-for-interfaces --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shader-for-interfaces" agent skill from https://github.com/v2space-labs/shader-for-interfaces/tree/main into .agents/skills/shader-for-interfaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-for-interfaces", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install v2space-labs/shader-for-interfaces shader-for-interfaces --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "shader-for-interfaces" agent skill from https://github.com/v2space-labs/shader-for-interfaces/tree/main into .cursor/skills/shader-for-interfaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-for-interfaces", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install v2space-labs/shader-for-interfaces shader-for-interfaces --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "shader-for-interfaces" agent skill from https://github.com/v2space-labs/shader-for-interfaces/tree/main into .gemini/skills/shader-for-interfaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-for-interfaces", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install v2space-labs/shader-for-interfaces shader-for-interfacesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "shader-for-interfaces" agent skill from https://github.com/v2space-labs/shader-for-interfaces/tree/main into .github/skills/shader-for-interfaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-for-interfaces", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install v2space-labs/shader-for-interfaces shader-for-interfaces --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "shader-for-interfaces" agent skill from https://github.com/v2space-labs/shader-for-interfaces/tree/main into .opencode/skills/shader-for-interfaces/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-for-interfaces", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
shader-for-interfacesDecides whether an interface effect belongs in CSS, SVG, Canvas 2D, WebGL or WebGPU, then builds, debugs and visually verifies focused GPU effects inside product UIs.
The skill has three modes. Recommend compares the viable renderers and returns a decision, tradeoffs, a fallback and validation gaps without changing files. Diagnose reproduces and isolates a failure, explains the cause and a scoped fix, and implements it only if asked. Build or change follows the full workflow, integrates the effect and passes a browser check. Content, controls, layout and accessibility stay in the interface while the GPU supplies only the visual layer.
Scope is a contained surface in Three.js, WebGL2 and GLSL or vgpu, WebGPU and WGSL, written in TypeScript or React: one effect or draw, modest particles or data, and fixed quality caps chosen from measurement. Dependent render targets, ping-pong feedback, persistent simulations, adaptive-quality controllers, formal render graphs and renderer migrations are named as out of scope instead of being half-built. A symptom table points to focused references on effect selection, GLSL patterns, UI integration, performance and accessibility, textures, particles and React Three Fiber.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 08fe6fc. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Shader for Interfaces loads about 3.1k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 125 tokens; SKILL.md has 1,491 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from v2space-labs/shader-for-interfaces at commit 08fe6fc, republished under its MIT licence (© v2space-labs). 1,491 words, ~3,104 tokens.
.claude/skills/shader-for-interfaces/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.Build the effect as part of the product. Keep content, controls, layout, and accessibility in the interface while the GPU supplies the visual layer.
For GPU implementation, this skill handles a focused, contained surface: one effect or draw, modest particles or data, and fixed quality caps chosen from measurement. It does not implement dependent render targets, ping-pong or feedback state, persistent GPU simulations, measured adaptive-quality controllers, formal render graphs, Three.js TSL/WebGPU migrations, or reusable delivery systems.
When a request crosses this boundary, name the features outside scope. Offer a contained simplification only when it still meets the user's goal; if it does not, return a system and acceptance outline and leave the advanced implementation undone. Never present a partial advanced system as complete.
Load only what the current decision or symptom needs:
| Symptom | Read |
|---|---|
| Renderer choice among CSS, SVG, Canvas 2D, WebGL, and WebGPU | effect-selection.md |
Blank, black, malformed, or non-compiling GLSL or ShaderMaterial | glsl-patterns.md |
| Vague visual idea, mood, or request without shader vocabulary | brief-to-effect.md |
| Resize, layering, pointer, alpha, or lifecycle failure | ui-integration.md |
| Low frame rate, leak, context loss, or fallback failure | performance-accessibility.md |
| Texture load, crop, edge, or distortion problem | textures-and-distortion.md |
| Particle count, bounds, update, or overdraw problem | particles.md |
| React Three Fiber ownership or frame-loop problem | r3f-integration.md |
| Blank or non-compiling WGSL, or a vgpu adapter, binding, surface, device, or headless-render problem | vgpu-wgsl.md |
| Incorrect or misleading data output | data-visualization.md |
| Generic or unmotivated palette, muddy gradient, or low contrast | color-direction.md |
intensity, scale, softness, turbulence, depth, contrast, motionSpeed, interactionRadius, and dataExaggeration. Give each public control a default, useful range, visible meaning, and a cost note when it changes GPU work. Keep raw shader constants out of the public control surface.For data-driven work, read data-visualization.md before uploading buffers or textures. Define each source-to-visual mapping, including units, domain, missing values, legend, and accessible alternative. Keep decorative motion separate from represented values.
For image sampling or distortion, read textures-and-distortion.md. For point or instanced effects, read particles.md. For an effect inside an existing R3F application, read r3f-integration.md.
When a separate vgpu skill is available and vgpu is the selected renderer, use it as the version-specific API and performance companion after reading vgpu-wgsl.md. Keep this skill responsible for renderer choice, product integration, visual direction, accessibility, fallback, and browser acceptance. The companion skill remains optional.
WebGLRenderer with ShaderMaterial for custom GLSL. Do not add vgpu beside an existing Three.js or R3F renderer for one effect unless the product explicitly needs a separate WebGPU surface and accepts the extra device, bundle, lifecycle, and fallback cost.Gpu owner. Create its surface, effect, and resource objects once. After the first set(), keep each binding in the same ownership category: continue sending plain values to value-backed bindings, and keep user-owned textures, buffers, and samplers resource-backed. Stop the frame loop, unsubscribe resize callbacks, and call gpu.dispose() during teardown.RawShaderMaterial only when full shader declarations are intentional. Then own precision, attributes, uniforms, GLSL version, fragment output, and output color conversion explicitly.ResizeObserver for component-sized canvases. Distinguish CSS size, drawing-buffer size, and shader resolution.Math.min(devicePixelRatio, 2) and lower it for fragment-heavy surfaces.Before claiming completion:
When output looks wrong, inspect UVs, normals, depth, field value, particle age, data value, alpha, and overdraw before tuning the final color.
Match the handoff to the task:
© v2space-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 14 other files (references) in the repository root of v2space-labs/shader-for-interfaces.
Open the folder on GitHubat commit 08fe6fc
Shader for Interfaces next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Shader for Interfaces this skillv2space-labs/shader-for-interfaces | 115 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Typegpusoftware-mansion-labs/skills | 291 | 2 repos | ~5.6k | Automated safety check: Pass | None | |
| 3D Web Experiencesmadebyaris/advance-minimax-m3-cursor-rules | 126 | — | ~3k | Automated safety check: Pass | MIT | |
| Animationskingstinct/react-native-healthkit | 716 | — | ~937 | Automated safety check: Pass | MIT | |
| Oma Designfirst-fluke/oh-my-agent | 1.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Animationssoftware-mansion-labs/skills | 291 | — | ~1.1k | Automated safety check: Pass | None |
software-mansion-labs/skills
TypeGPU is type-safe WebGPU in TypeScript. An agent skill from software-mansion-labs/skills.
madebyaris/advance-minimax-m3-cursor-rules
Builds 3D web scenes with Three.js and React Three Fiber, with attention to art direction, a performance budget, mobile behavior and fallbacks.
kingstinct/react-native-healthkit
Production animation patterns for React Native using Reanimated 4, Skia, WebGPU, and TypeGPU.
first-fluke/oh-my-agent
AI design specialist skill with DESIGN.md management, anti-pattern enforcement, optional Stitch MCP integration, and component library guidance.
software-mansion-labs/skills
Production animation patterns for React Native using Reanimated 4, Skia, WebGPU, and TypeGPU.
nirholas/three.ws
Art-direct and implement distinctive, motion-rich marketing, editorial, portfolio, and landing websites with original reference-inspired imagery, standout heroes, GSAP choreography, one…
Works with
Categories
Decides whether an interface effect belongs in CSS, SVG, Canvas 2D, WebGL or WebGPU, then builds, debugs and visually verifies focused GPU effects inside product UIs. The skill has three modes. Recommend compares the viable renderers and returns a decision, tradeoffs, a fallback and validation gaps without changing files.
Shader for Interfaces fits situations like: deciding whether a visual effect needs WebGL or can stay in CSS or SVG; adding a contained shader background or distortion effect to a React page; debugging a blank or black canvas or non-compiling GLSL; fixing resize, pointer or frame-rate problems in a GPU canvas.
Run `npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a claude-code`. Or copy the skill folder (the v2space-labs/shader-for-interfaces repository) into .claude/skills/shader-for-interfaces in your project. Claude Code loads it when a task matches its description.
Run `npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a codex`. Or copy the skill folder (the v2space-labs/shader-for-interfaces repository) into .agents/skills/shader-for-interfaces in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add v2space-labs/shader-for-interfaces --skill shader-for-interfaces -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shader-for-interfaces, .gemini/skills/shader-for-interfaces, .github/skills/shader-for-interfaces and .opencode/skills/shader-for-interfaces in your project.
SKILL.md names no scripts, command-line tools or credentials: Shader for Interfaces is instructions for the agent only. Our summary lists: A web project, typically in TypeScript or React; A browser to run the visual check.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Shader for Interfaces is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Shader for Interfaces: Typegpu (software-mansion-labs/skills, 291 stars), 3D Web Experiences (madebyaris/advance-minimax-m3-cursor-rules, 126 stars), Animations (kingstinct/react-native-healthkit, 716 stars) and Oma Design (first-fluke/oh-my-agent, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
v2space-labs (a GitHub organization) maintains it in v2space-labs/shader-for-interfaces, which has 115 GitHub stars. The repository was last updated on September 1, 2026.
Source: v2space-labs/shader-for-interfaces on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.