Shader for Interfaces
v2space-labs/shader-for-interfaces
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.
Builds 3D web scenes with Three.js and React Three Fiber, with attention to art direction, a performance budget, mobile behavior and fallbacks.
$ npx skills add madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install madebyaris/advance-minimax-m3-cursor-rules 3d-web-experiences --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/3d-web-experiences .claude/skills/3d-web-experiences && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "3d-web-experiences" agent skill from https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiences into .claude/skills/3d-web-experiences/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3d-web-experiences", 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.
$skill-installer install https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiencesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install madebyaris/advance-minimax-m3-cursor-rules 3d-web-experiences --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/3d-web-experiences .agents/skills/3d-web-experiences && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "3d-web-experiences" agent skill from https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiences into .agents/skills/3d-web-experiences/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3d-web-experiences", 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 madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install madebyaris/advance-minimax-m3-cursor-rules 3d-web-experiences --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/3d-web-experiences .cursor/skills/3d-web-experiences && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "3d-web-experiences" agent skill from https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiences into .cursor/skills/3d-web-experiences/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3d-web-experiences", 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.
$ gemini skills install https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git --path .cursor/skills/3d-web-experiences--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install madebyaris/advance-minimax-m3-cursor-rules 3d-web-experiences --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/3d-web-experiences .gemini/skills/3d-web-experiences && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "3d-web-experiences" agent skill from https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiences into .gemini/skills/3d-web-experiences/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3d-web-experiences", 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 madebyaris/advance-minimax-m3-cursor-rules 3d-web-experiencesInstalls 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 madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/3d-web-experiences .github/skills/3d-web-experiences && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "3d-web-experiences" agent skill from https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiences into .github/skills/3d-web-experiences/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3d-web-experiences", 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 madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install madebyaris/advance-minimax-m3-cursor-rules 3d-web-experiences --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/madebyaris/advance-minimax-m3-cursor-rules.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/3d-web-experiences .opencode/skills/3d-web-experiences && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "3d-web-experiences" agent skill from https://github.com/madebyaris/advance-minimax-m3-cursor-rules/tree/main/.cursor/skills/3d-web-experiences into .opencode/skills/3d-web-experiences/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "3d-web-experiences", 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.
3d-web-experiencesBuilds 3D web scenes with Three.js and React Three Fiber, with attention to art direction, a performance budget, mobile behavior and fallbacks.
This skill sets the decisions and quality bar for 3D on the web: scenes that look intentional and run at frame rate on real devices, rather than a default gray model spinning on a gradient. It pairs with an anti-slop-design skill for aesthetics, leaves raw Three.js and React Three Fiber syntax to a separate 3d-graphics rule, and keeps deeper recipes for lighting, materials, post-processing, performance and an asset pipeline in reference.md.
It starts by inspecting the project: whether it uses vanilla Three.js or React Three Fiber (checking package.json for three, drei, postprocessing and rapier packages), the existing canvas and renderer setup, whether models are Draco or Meshopt compressed and textures KTX2, and whether the target is a decorative hero, an interactive tool or a game-like loop, which sets the performance budget. An existing scene is extended, not rebuilt.
When you attach a reference video or frames of the look you want, it reads the actual file, treats it as the contract and reasons about motion between representative start, middle and end frames instead of inventing it. Responsive WebGL, graceful degradation and accessibility are also covered.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4d6c552. 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.
3D Web Experiences loads about 3k tokens when it runs. Until then it costs about 150 tokens; SKILL.md has 1,236 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 madebyaris/advance-minimax-m3-cursor-rules at commit 4d6c552, republished under its MIT licence (© madebyaris). 1,236 words, ~3,014 tokens.
.claude/skills/3d-web-experiences/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Build 3D on the web that looks intentional and runs at frame rate on real devices, not a default gray model spinning on a purple gradient. This skill is the 3D counterpart to anti-slop-design: it enforces aesthetic direction, a performance budget, responsive behavior, and graceful degradation.
This skill teaches the decisions and quality bar. For mechanical Three.js / R3F syntax, see the 3d-graphics rule. For deep recipes (lighting/material/post-fx, performance playbook, bug catalog, asset pipeline), read reference.md.
.glb/.gltf model.Read reference.md for full scenes, multi-effect pipelines, or when debugging performance/visual issues. Skip it for a single mesh or a trivial tweak.
Before writing 3D code, inspect the project:
package.json for three, @react-three/fiber, @react-three/drei, @react-three/postprocessing, @react-three/rapier.When the user attaches a reference video, a recorded interaction, or a sequence of frames showing the look they want:
Never ship the default look. Before coding, decide:
anti-slop-design).ACESFilmic (or AgX on recent three) tone mapping and correct output color space, or the scene reads flat and washed.MathUtils.damp/lerp — never bind raw scroll or pointer values directly. Undamped motion is the 3D equivalent of no easing; it reads as cheap immediately.These are the statistical-median 3D outputs. Do not ship them as the final look:
TorusKnot/Icosahedron/blob slowly auto-rotating on a purple→blue gradient background.meshStandardMaterial with no metalness/roughness intent and no environment map.OrbitControls with infinite auto-rotate as the only "interactivity."Pivot each to something category-appropriate: real product geometry, an HDRI-lit material study, a purposeful camera move, selective emissive glow, or a restrained, readable composition.
| Decision | Default that works | Push further |
|---|---|---|
| Lighting | Environment (HDRI) + one key directionalLight with soft shadows | Three-point studio rig; stylized rim light; baked lighting |
| Material | PBR meshStandardMaterial with an env map | transmission glass, toon/gradient, custom shader for the hero |
| Camera | Framed composition, slight FOV (35-50), not centered-and-static | Subtle parallax/scroll-tied move; prefers-reduced-motion respected |
| Color | ACESFilmicToneMapping + correct color space | Graded HDRI + matched Vignette/Bloom |
| Post-fx | None, or selective Bloom + light Vignette | DOF for product focus, SSAO for contact realism (budget permitting) |
See reference.md for concrete, verified recipes for each.
Pick a target and hold to it. Frame budget is ~16.6ms for 60fps.
| Tier | Target | Draw calls | Triangles | Post-fx |
|---|---|---|---|---|
| Decorative / background | 60fps desktop, 30fps+ mobile | < 50 | < 150k | minimal |
| Hero / product | 60fps desktop, 30fps mobile | < 100 | < 500k | selective bloom/DOF |
| Interactive tool | 60fps desktop | < 200 | < 1M | as budget allows |
Core levers (full playbook in reference.md):
dpr={[1, 2]} in R3F (or Math.min(devicePixelRatio, 2)). Never render at uncapped retina DPR.InstancedMesh / drei <Instances>); merge static geometry.<Detailed distances={[...]}> for distant detail.frameloop="demand" and invalidate() on change instead of rendering every frame.3D must adapt across desktop, laptop, tablet, and phone — not just resize.
window.innerWidth/Height; the container must have an explicit height (see the 3d-graphics rule's container guidance).[1, 1.5]), reduce shadow map size, drop particle counts.<AdaptiveDpr pixelated /> and <PerformanceMonitor> to degrade quality under load automatically.prefers-reduced-motion: pause auto-rotation and large camera moves; offer a static framed view.Suspense with a real loader (drei useProgress / <Html>), not a frozen white screen.webglcontextlost (recover or show the fallback) — common on mobile after backgrounding.prefers-reduced-motion users who toggle).aria-hidden and keep the real content in the DOM.3D is a UI/interaction change — static confidence is not proof. Before claiming done:
context lost warnings.<Stats> or browser FPS) against the chosen budget tier.prefers-reduced-motion and confirm motion is reduced.Report what you verified and what remains unverified (e.g. "rendered and 60fps on desktop; mobile not device-tested").
[ ] Direction committed: intent, lighting model, material, memorable moment stated
[ ] No 3D slop (lone blob on purple gradient, default gray PBR, ambient-only, no tone mapping)
[ ] Tone mapping + correct output color space set on the renderer
[ ] Lighting has form: environment/HDRI or a real key/fill/rim, not ambient-only
[ ] Post-fx is selective and budget-justified, not whole-scene bloom
[ ] Performance budget chosen; DPR clamped; instancing/LOD used where relevant
[ ] Static scenes use frameloop="demand"; dispose on unmount
[ ] Canvas sized to its container (explicit height), resizes correctly
[ ] Mobile effect tier: reduced post-fx, capped DPR, adaptive DPR/perf monitor
[ ] WebGL-unavailable fallback renders meaningful 2D content
[ ] Suspense loader for async assets; context-lost handled
[ ] Accessible alternative + focus not trapped + pause control for motion
[ ] prefers-reduced-motion respected
[ ] Verified in browser: renders, no console errors, FPS within budgetREAD -> stack (vanilla vs R3F), renderer config, asset pipeline, container
COMMIT -> intent + lighting model + material + memorable moment
BUDGET -> pick tier (decorative/hero/interactive), clamp DPR, plan instancing/LOD
BUILD -> lighting with form, tone mapping, selective post-fx, responsive sizing
DEGRADE -> WebGL fallback, Suspense loader, context-lost, reduced-motion, a11y
CHECK -> browser render, console clean, FPS in budget, mobile + reduced-motion
BANNED -> lone blob on purple gradient, default gray PBR, ambient-only lighting,
no tone mapping, auto-rotate-only "interaction", whole-scene bloom,
uncapped DPR, blank canvas with no fallback
ALWAYS -> tone mapping + color space, lighting with form, clamped DPR,
dispose on unmount, container-sized canvas, mobile tier, 2D fallback,
accessible alternative, browser-verified© madebyaris, 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 1 other file in .cursor/skills/3d-web-experiences of madebyaris/advance-minimax-m3-cursor-rules.
Open the folder on GitHubat commit 4d6c552
3D Web Experiences 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 |
|---|---|---|---|---|---|---|
| 3D Web Experiences this skillmadebyaris/advance-minimax-m3-cursor-rules | 126 | — | ~3k | Automated safety check: Pass | MIT | |
| Shader for Interfacesv2space-labs/shader-for-interfaces | 115 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Better Designmarvkr/better-design | 254 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Frontend Engineer Workflownanocoai/nanoclaw | 31k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Oma Designfirst-fluke/oh-my-agent | 1.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Polycsslayoutit/polycss | 761 | — | ~2.4k | Automated safety check: Pass | MIT |
v2space-labs/shader-for-interfaces
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.
marvkr/better-design
Build, improve, and review production interfaces with the Better Design MCP.
nanocoai/nanoclaw
Sets a build, test and verify routine for web projects: write typed, accessible code and never call work done until it is checked in a real browser with screenshots.
first-fluke/oh-my-agent
AI design specialist skill with DESIGN.md management, anti-pattern enforcement, optional Stitch MCP integration, and component library guidance.
layoutit/polycss
Build PolyCSS scenes that render 3D meshes, primitive shapes, or custom polygons as DOM/CSS polygon elements.
boraoztunc/skills
Add and tune animated liquid-metal WebGL borders with the React metal-fx package.
madebyaris/advance-minimax-m3-cursor-rules
Runs multi-step research with a loop of search, compress, reflect and synthesize, scaling effort from a quick sourced answer to an exhaustive cited report.
madebyaris/advance-minimax-m3-cursor-rules
Walks an agent through an evidence-first incident investigation across logs, metrics, code and screenshots, from first symptom to the smallest safe mitigation.
madebyaris/advance-minimax-m3-cursor-rules
Teaches how to work within MiniMax M3's 1M-token context: decide per source what to keep, summarize or drop, plan the loading, and cap raw blocks across iterations.
madebyaris/advance-minimax-m3-cursor-rules
Teaches an agent on MiniMax M3 to ground visual claims in attached images, screenshots, mockups and clips, and to re-read results after a visual change.
madebyaris/advance-minimax-m3-cursor-rules
Routes image, video, voice, music and media-processing requests to the smallest suitable MiniMax or local path, with FFmpeg-style processing around generated media.
Categories
Builds 3D web scenes with Three.js and React Three Fiber, with attention to art direction, a performance budget, mobile behavior and fallbacks. This skill sets the decisions and quality bar for 3D on the web: scenes that look intentional and run at frame rate on real devices, rather than a default gray model spinning on a gradient.md.
3D Web Experiences fits situations like: building a 3D hero section or landing page scene; making a product viewer or configurator with Three.js or r3f; making an existing 3D scene look better or run smoothly on mobile; recreating the look of a reference video in a WebGL scene.
Run `npx skills add madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a claude-code`. Or copy the skill folder (.cursor/skills/3d-web-experiences in madebyaris/advance-minimax-m3-cursor-rules) into .claude/skills/3d-web-experiences in your project. Claude Code loads it when a task matches its description.
Run `npx skills add madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a codex`. Or copy the skill folder (.cursor/skills/3d-web-experiences in madebyaris/advance-minimax-m3-cursor-rules) into .agents/skills/3d-web-experiences 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 madebyaris/advance-minimax-m3-cursor-rules --skill 3d-web-experiences -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/3d-web-experiences, .gemini/skills/3d-web-experiences, .github/skills/3d-web-experiences and .opencode/skills/3d-web-experiences in your project.
SKILL.md names no scripts, command-line tools or credentials: 3D Web Experiences is instructions for the agent only. Our summary lists: A web project using Three.js or React Three Fiber; Node.js tooling for the project's package manager.
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.
3D Web Experiences is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k 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.
Skills that share tags, products or a category with 3D Web Experiences: Shader for Interfaces (v2space-labs/shader-for-interfaces, 115 stars), Better Design (marvkr/better-design, 254 stars), Frontend Engineer Workflow (nanocoai/nanoclaw, 31k 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.
madebyaris (a GitHub user) maintains it in madebyaris/advance-minimax-m3-cursor-rules, which has 126 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on June 16, 2026.
Source: madebyaris/advance-minimax-m3-cursor-rules on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.