UMG Material MCP
winyunq/UnrealMotionGraphicsMCP
Creates, edits and compiles Unreal Engine 5.8 material assets as one HLSL Custom node through the UMG MCP bridge, instead of editing .uasset files directly.
A skill your agent uses when authoring or debugging a shader, material, VFX, or full-screen post-process in a game engine — Godot 4.x .gdshader, Unity 6 URP/HDRP, Unreal 5.x Materials, effect…
$ npx skills add ericrisco/rsc-harness --skill gamedev-shaders -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-shaders --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/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gamedev-shaders .claude/skills/gamedev-shaders && 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 "gamedev-shaders" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-shaders into .claude/skills/gamedev-shaders/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-shaders", 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/ericrisco/rsc-harness/tree/main/skills/gamedev-shadersType 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 ericrisco/rsc-harness --skill gamedev-shaders -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-shaders --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gamedev-shaders .agents/skills/gamedev-shaders && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gamedev-shaders" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-shaders into .agents/skills/gamedev-shaders/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-shaders", 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 ericrisco/rsc-harness --skill gamedev-shaders -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-shaders --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gamedev-shaders .cursor/skills/gamedev-shaders && 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 "gamedev-shaders" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-shaders into .cursor/skills/gamedev-shaders/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-shaders", 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/ericrisco/rsc-harness.git --path skills/gamedev-shaders--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 ericrisco/rsc-harness --skill gamedev-shaders -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-shaders --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gamedev-shaders .gemini/skills/gamedev-shaders && 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 "gamedev-shaders" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-shaders into .gemini/skills/gamedev-shaders/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-shaders", 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 ericrisco/rsc-harness gamedev-shadersInstalls 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 ericrisco/rsc-harness --skill gamedev-shaders -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gamedev-shaders .github/skills/gamedev-shaders && 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 "gamedev-shaders" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-shaders into .github/skills/gamedev-shaders/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-shaders", 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 ericrisco/rsc-harness --skill gamedev-shaders -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness gamedev-shaders --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gamedev-shaders .opencode/skills/gamedev-shaders && 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 "gamedev-shaders" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/gamedev-shaders into .opencode/skills/gamedev-shaders/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gamedev-shaders", 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.
gamedev-shadersA skill your agent uses when authoring or debugging a shader, material, VFX, or full-screen post-process in a game engine — Godot 4.x .gdshader, Unity 6 URP/HDRP, Unreal 5.x Materials, effect…
Gamedev Shaders is an agent skill from ericrisco/rsc-harness. Use when authoring or debugging a shader, material, VFX, or full-screen post-process in a game engine — Godot 4.x .gdshader, Unity 6 URP/HDRP, Unreal 5.x Materials, effect recipes, shader performance. NOT gameplay or engine-API code (that is godot/unity/unreal), NOT physics (gamedev-physics), NOT build variant stripping (gamedev-shipping).
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/effect-recipes.md`).
It sits in Game Development, covering Game development and Shaders. It works with Godot and Unreal Engine. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
Read from SKILL.md and the folder at commit e3d5b33. 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 (its code samples are glsl).
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.
Gamedev Shaders loads about 3.6k tokens when it runs, and up to ~9k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 1,539 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 ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,539 words, ~3,607 tokens.
.claude/skills/gamedev-shaders/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Author shaders, materials, and full-screen effects across Godot, Unity, and Unreal. One mental model — the GPU pipeline — mapped onto each engine's authoring surface, plus recipes for the effects people actually ask for.
Target the current stable line of each engine and never emit its retired APIs. If unsure a symbol is current, say so rather than guess.
| Engine | Target | Never emit → use instead |
|---|---|---|
| Godot | 4.x (4.4/4.5 stable) | SCREEN_TEXTURE/DEPTH_TEXTURE/NORMAL_TEXTURE built-ins → declare a uniform sampler2D … : hint_screen_texture / hint_depth_texture / hint_normal_roughness_texture. hint_color/hint_albedo → source_color. hint_white/hint_black → hint_default_white/hint_default_black. GLES2-era guides. |
| Unity | 6 (6000.x LTS), URP/HDRP | Surface shaders (#pragma surface) — Built-in-RP only, they do not compile under URP/HDRP. CGPROGRAM+UnityCG.cginc, UnityObjectToClipPos, mul(UNITY_MATRIX_MVP, v) → HLSLPROGRAM + URP Core.hlsl and TransformObjectToHClip(posOS). OnRenderImage/Graphics.Blit post FX → URP Renderer Feature / Fullscreen Shader Graph. |
| Unreal | 5.x (5.4+) | SceneTexture:PostProcessInput0 outside a Post Process material; Opacity without a translucent blend mode; Opacity Mask without a Masked blend mode. Prefer graph nodes; drop to a Custom HLSL node only for logic nodes can't express. |
shader_type tokens in Godot 4 are exact: spatial, canvas_item (underscore), particles
(plural), sky, fog.
Every engine compiles your material into the same GPU stages. Two you write:
varyings) down. Cheap; scales with mesh vertex count.Per-vertex vs per-pixel is the core performance lever: compute anything that interpolates
linearly (position offsets, un-normalized directions, scalar masks) in the vertex stage and pass
it as a varying; keep only what must be exact per-pixel (normalizing interpolated normals,
texture sampling, lighting, fresnel) in the fragment stage.
UVs are per-vertex 2D texture coordinates (0–1), interpolated across the face — you sample
textures and drive scrolling/tiling/masks with them. Normals are surface directions used for
lighting and rim; interpolated normals must be re-normalized per pixel. Normal maps store
directions in tangent space (unpack with ×2−1); respect handedness.
Coordinate spaces — know which space each value is in before you do math on it:
| Space | Meaning | Typical use |
|---|---|---|
| Object / model | mesh-local, origin at the pivot | authoring positions/normals start here |
| World | scene-global | world-space effects, triplanar, lighting |
| View / camera | relative to the camera | Godot spatial NORMAL/VIEW live here |
| Clip / NDC | post-projection homogeneous coords | the vertex stage's required output |
| Tangent | per-fragment surface basis (T,B,N) | normal maps are decoded here |
| Screen / UV | 0–1 across the framebuffer | post-process sampling (SCREEN_UV) |
Godot ships its own GLSL-like language (.gdshader). Pick a shader_type, declare uniforms
(exposed as material parameters), pass data with varying, write vertex()/fragment()
(+light()). A ShaderMaterial binds the shader to a node and holds uniform values; set them
from code with material.set_shader_parameter("name", value). Uniform hints: source_color
(sRGB→linear color pickers), hint_range(a,b), hint_default_white, hint_screen_texture,
plus texture filters/repeats (filter_linear_mipmap, repeat_enable).
Small canvas_item (2D) shader — scroll and tint a texture:
shader_type canvas_item;
uniform sampler2D noise : repeat_enable;
uniform vec4 tint : source_color = vec4(1.0);
uniform float speed = 0.1;
void fragment() {
vec2 uv = UV + vec2(TIME * speed, 0.0); // UV is the node's texcoord
COLOR = texture(noise, uv) * tint * COLOR; // in COLOR = vertex/modulate color
}Small spatial (3D) shader — a fresnel rim glow (NORMAL and VIEW are view-space here):
shader_type spatial;
render_mode blend_add, cull_back;
uniform vec3 rim_color : source_color = vec3(0.2, 0.6, 1.0);
uniform float power : hint_range(0.0, 8.0) = 3.0;
varying vec3 v_normal;
void vertex() { v_normal = NORMAL; } // pass to fragment via varying
void fragment() {
float f = pow(1.0 - dot(normalize(v_normal), normalize(VIEW)), power);
EMISSION = rim_color * f;
ALPHA = f;
}Deep dive (built-in variables per type, render_modes, particles/sky/fog, screen/depth reads) →
references/godot-shading-language.md.
Two authoring paths, both on the Scriptable Render Pipeline (URP for most projects, HDRP for high-end):
Shader "…" { … } (ShaderLab) wrapping Properties and Pass
blocks; the program goes in an HLSLPROGRAM … ENDHLSL block that #includes URP's Core.hlsl
/ Lighting.hlsl. Use for full control, custom lighting, or compute-driven effects.Surface shaders are not an option under URP/HDRP (see the Version contract) — a lit look is an
HLSL pass or a Shader Graph. Set parameters at runtime through a MaterialPropertyBlock or
Material.SetFloat/SetColor/SetTexture. Full URP unlit + lit HLSL pass and a Shader Graph
mapping → references/unity-and-unreal-shaders.md.
A Material is a node graph the engine compiles to HLSL. You wire outputs on the main result node — Base Color, Metallic, Roughness, Emissive Color, Normal, Opacity / Opacity Mask, World Position Offset. Key knobs on the material:
SetScalarParameterValue, …).return …;.
Reach for it only when the node set can't express the logic (loops, bitops). Reuse via Material
Functions. UE5.5+ adds Substrate as an opt-in shading system; the standard material is still default.Custom-node HLSL, domains, and a Godot↔Unreal recipe mapping → references/unity-and-unreal-shaders.md.
Each is a technique, engine-agnostic — the reference has full per-engine code.
| Effect | Core idea |
|---|---|
| Dissolve | Threshold a noise texture against an animated cutoff; discard/clip below it; add an emissive band at the edge. |
| Rim / outline | Rim = fresnel pow(1 − N·V, p). Outline = inverted-hull pass (scale along normals, flip culling) or a post-process depth/normal edge detect. |
| Toon / cel | Quantize diffuse N·L into bands (step/smoothstep or a ramp texture); hard-stepped specular. |
| Water / flow | Scroll two normal maps at different speeds (or advect a flow-map's RG); refract the screen texture; depth-difference foam at shorelines. |
| Force field | Fresnel + scrolling hex/pattern texture + intersection glow from a scene-depth difference; additive. |
| Hologram | Scanlines sin(worldY·f + TIME) + fresnel + flicker + slight RGB channel offset; additive/translucent. |
Worked example — dissolve (Godot spatial):
shader_type spatial;
render_mode cull_disabled;
uniform sampler2D dissolve_noise : hint_default_white;
uniform float threshold : hint_range(0.0, 1.0) = 0.0; // animate 0 → 1
uniform float edge = 0.05;
uniform vec3 edge_color : source_color = vec3(1.0, 0.4, 0.0);
void fragment() {
float n = texture(dissolve_noise, UV).r;
if (n < threshold) discard; // cut the hole
float e = smoothstep(threshold, threshold + edge, n);
EMISSION = edge_color * (1.0 - e); // glowing burn ring
ALBEDO = vec3(0.6);
}Drive threshold from an AnimationPlayer or set_shader_parameter. The same math ports to
Unity (clip(n - threshold)) and Unreal (Opacity Mask + a threshold parameter). All six recipes,
per engine → references/effect-recipes.md.
canvas_item shader on a full-rect ColorRect reading hint_screen_texture, or
a spatial unshaded full-screen quad reading hint_screen_texture/hint_depth_texture; or a
CompositorEffect (4.3+) for a custom render pass. Environment already covers glow/tonemap/SSAO.OnRenderImage is Built-in-RP only.discard/clip disables early-Z
— don't use it as a cheap "invisible".if across a GPU warp can execute both sides. Prefer
step/mix/clamp; branches on a uniform (same value for all pixels) are cheap; static
branches compile out.mediump/half precision on mobile;
full float only where banding shows. Move linear work to the vertex stage.discard and large full-screen passes break tile hidden-surface removal.| Anti-pattern | Do instead |
|---|---|
| Porting a tutorial verbatim from Godot 3, Built-in RP, or pre-5.0 UE | Translate it through the Version contract table first — retired symbols still compile in old guides, not in your project. |
| Reading a texture or writing a color without minding linear vs sRGB | Author color uniforms as source_color (Godot) / sRGB-marked properties and check the space at every read and output — the #1 "looks washed out / too dark" bug. |
| Using interpolated normals raw, or a normal map straight from the sample | Re-normalize per pixel; unpack with ×2−1 and mind tangent handedness. |
| Writing the shader before choosing the target surface | Pick shader_type / render pipeline / material domain first (2D vs 3D, URP vs HDRP, Surface vs Post Process) — it decides which built-ins and blend modes exist. |
| Fresnel, normalization, or lighting math in the vertex stage | Only linearly-interpolating work goes per-vertex; exact math stays per-pixel. |
discard/clip as a cheap "make it invisible" | Cull it or scale to zero — discard disables early-Z and breaks tile hidden-surface removal on mobile. |
| Stacking additive/translucent layers until the look works | Count the overdraw: each layer re-shades the same pixels. Prefer opaque, minimize overlap, keep particle fill low. |
Full-screen effects via OnRenderImage/Graphics.Blit, or SceneTexture outside the Post Process domain | Use the engine's supported path — URP Renderer Feature / Fullscreen Shader Graph, UE Post Process material, Godot ColorRect + hint_screen_texture or CompositorEffect. |
godot / unity / unreal — gameplay
code, nodes/components, input, scene wiring; this skill owns the shading, not the C#/GDScript/Blueprint around it.gamedev-physics — simulation, collision, rigid bodies, character
controllers (a shader that fakes refraction is here; simulating fluid dynamics is not).gamedev-shipping — platform export and shader-variant stripping in
the build (this skill keeps the per-shader performance work).shader_type / render pipeline / material domain for the target (2D vs 3D, URP vs HDRP, Surface vs Post Process).varying, exact math per-pixel.source_color / sRGB handling); normals normalized and unpacked.© ericrisco, 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 5 other files (references) in skills/gamedev-shaders of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
Gamedev Shaders 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 |
|---|---|---|---|---|---|---|
| Gamedev Shaders this skillericrisco/rsc-harness | 174 | — | ~3.6k | Automated safety check: Pass | MIT | |
| UMG Material MCPwinyunq/UnrealMotionGraphicsMCP | 210 | — | ~913 | Automated safety check: Pass | MIT | |
| Dream Shader CreateTypeDreamMoon/DreamShader | 106 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Dream Shader DecompileTypeDreamMoon/DreamShader | 106 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Dream Shader VerifyTypeDreamMoon/DreamShader | 106 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Game DeveloperJeffallan/claude-skills | 12k | — | ~1.5k | Automated safety check: Pass | MIT |
winyunq/UnrealMotionGraphicsMCP
Creates, edits and compiles Unreal Engine 5.8 material assets as one HLSL Custom node through the UMG MCP bridge, instead of editing .uasset files directly.
TypeDreamMoon/DreamShader
Write a new DreamShader source from a plain-language description — a material, material function, layer, material instance or Custom Pass pipeline — then check and compile it headlessly to prove it…
TypeDreamMoon/DreamShader
Export an existing Unreal material, material function, layer, layer blend, material instance or Custom Pass pipeline back into DreamShaderLang source headlessly, so a hand-built material graph or…
TypeDreamMoon/DreamShader
Check and compile DreamShader sources headlessly — one file or the whole DShader tree — without opening the Unreal editor, and read back every diagnostic with its file, line and code.
Jeffallan/claude-skills
Covers game programming in Unity and Unreal Engine: ECS design, physics, multiplayer networking, shaders and profiling toward a 60 FPS target.
thedivergentai/GD-Agentic-Skills
Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses when authoring or debugging a shader, material, VFX, or full-screen post-process in a game engine — Godot 4.x .gdshader, Unity 6 URP/HDRP, Unreal 5.x Materials, effect…. Gamedev Shaders is an agent skill from ericrisco/rsc-harness.x Materials, effect recipes, shader performance.
Gamedev Shaders fits situations like: debugging a shader; full-screen post-process in a game engine — Godot 4.x .gdshader; unity 6 URP/HDRP; unreal 5.x Materials.
Run `npx skills add ericrisco/rsc-harness --skill gamedev-shaders -a claude-code`. Or copy the skill folder (skills/gamedev-shaders in ericrisco/rsc-harness) into .claude/skills/gamedev-shaders in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill gamedev-shaders -a codex`. Or copy the skill folder (skills/gamedev-shaders in ericrisco/rsc-harness) into .agents/skills/gamedev-shaders 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 ericrisco/rsc-harness --skill gamedev-shaders -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gamedev-shaders, .gemini/skills/gamedev-shaders, .github/skills/gamedev-shaders and .opencode/skills/gamedev-shaders in your project.
SKILL.md names no scripts, command-line tools or credentials: Gamedev Shaders is instructions for the agent only.
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.
Gamedev Shaders is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k 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 5.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Gamedev Shaders: UMG Material MCP (winyunq/UnrealMotionGraphicsMCP, 210 stars), Dream Shader Create (TypeDreamMoon/DreamShader, 106 stars), Dream Shader Decompile (TypeDreamMoon/DreamShader, 106 stars) and Dream Shader Verify (TypeDreamMoon/DreamShader, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.