Godot UI Rich Text
thedivergentai/GD-Agentic-Skills
Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects.
Write game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate spaces, UV math, and common 2D/3D effects (tint, UV scroll, dissolve, outline, fresnel rim, vignette) in…
$ npx skills add ukanwat/overtime --skill shader-programming -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ukanwat/overtime shader-programming --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/ukanwat/overtime.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/shader-programming .claude/skills/shader-programming && 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 "shader-programming" agent skill from https://github.com/ukanwat/overtime/tree/main/.claude/skills/shader-programming into .claude/skills/shader-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-programming", 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/ukanwat/overtime/tree/main/.claude/skills/shader-programmingType 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 ukanwat/overtime --skill shader-programming -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ukanwat/overtime shader-programming --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ukanwat/overtime.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/shader-programming .agents/skills/shader-programming && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shader-programming" agent skill from https://github.com/ukanwat/overtime/tree/main/.claude/skills/shader-programming into .agents/skills/shader-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-programming", 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 ukanwat/overtime --skill shader-programming -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ukanwat/overtime shader-programming --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ukanwat/overtime.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/shader-programming .cursor/skills/shader-programming && 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 "shader-programming" agent skill from https://github.com/ukanwat/overtime/tree/main/.claude/skills/shader-programming into .cursor/skills/shader-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-programming", 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/ukanwat/overtime.git --path .claude/skills/shader-programming--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 ukanwat/overtime --skill shader-programming -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ukanwat/overtime shader-programming --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ukanwat/overtime.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/shader-programming .gemini/skills/shader-programming && 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 "shader-programming" agent skill from https://github.com/ukanwat/overtime/tree/main/.claude/skills/shader-programming into .gemini/skills/shader-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-programming", 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 ukanwat/overtime shader-programmingInstalls 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 ukanwat/overtime --skill shader-programming -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ukanwat/overtime.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/shader-programming .github/skills/shader-programming && 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 "shader-programming" agent skill from https://github.com/ukanwat/overtime/tree/main/.claude/skills/shader-programming into .github/skills/shader-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-programming", 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 ukanwat/overtime --skill shader-programming -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ukanwat/overtime shader-programming --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ukanwat/overtime.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/shader-programming .opencode/skills/shader-programming && 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 "shader-programming" agent skill from https://github.com/ukanwat/overtime/tree/main/.claude/skills/shader-programming into .opencode/skills/shader-programming/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-programming", 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-programmingWrite game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate spaces, UV math, and common 2D/3D effects (tint, UV scroll, dissolve, outline, fresnel rim, vignette) in…
Shader Programming is an agent skill from ukanwat/overtime. Write game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate spaces, UV math, and common 2D/3D effects (tint, UV scroll, dissolve, outline, fresnel rim, vignette) in GLSL with HLSL equivalents. Use when the user mentions shaders, fragment/pixel shader, vertex shader, UV, GLSL, HLSL, or effects like dissolve, outline, or rim light.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/effects.md`). Compatibility notes: Concepts engine-agnostic; examples in GLSL-style (Godot gdshader / OpenGL) with HLSL (Unity/Unreal) equivalents noted. Pairs with godot-shaders.
It sits in Game Development, covering Shaders. It works with Godot. The repository describes itself as: Give a coding agent a brief, not a chat, and it works on its own across sessions. Includes an example run: an open-world city built in a real game engine with no human help. In… The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fc215d4. 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.
Concepts engine-agnostic; examples in GLSL-style (Godot gdshader / OpenGL) with HLSL (Unity/Unreal) equivalents noted. Pairs with godot-shaders.
From compatibility in the SKILL.md frontmatter.
Shader Programming loads about 1.8k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 96 tokens; SKILL.md has 548 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 ukanwat/overtime at commit fc215d4, republished under its Apache-2.0 licence (© ukanwat). 548 words, ~1,762 tokens.
.claude/skills/shader-programming/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Shaders are small programs that run per vertex and per pixel on the GPU.
The concepts — the pipeline, coordinate spaces, UVs, and how common effects are
built — port across engines; only the language dialect and built-in variable
names change. This skill teaches those portable fundamentals in GLSL with HLSL
equivalents; use godot-shaders (or Unity/Unreal material docs) for the exact
engine syntax and built-ins.
When not to use: for an engine's exact shader language and built-ins, use
godot-shaders (Godot shading language) or the engine's material docs. For full
particle VFX systems, see unreal-niagara. For post-process stacks, defer to
the engine's renderer settings.
0..1 texture coordinates;
offset, scale, or distort them, and animate with a time uniform.mix, step, smoothstep, and
clamp over if where possible; GPUs run pixels in lockstep and dislike
divergent branches.GLSL-style fragment snippets (close to Godot's canvas_item/spatial
shaders and OpenGL). See references/effects.md for the HLSL equivalents and
the full outline/fresnel/vignette shaders.
// Per-pixel: read the texture at this UV, multiply by a color (tint), keep alpha.
uniform sampler2D tex;
uniform vec4 tint; // e.g. (1,0,0,1) reddens; multiply is non-destructive
in vec2 uv; // interpolated 0..1 texture coordinate (a "varying")
out vec4 frag;
void main() {
vec4 c = texture(tex, uv); // HLSL: tex.Sample(samp, uv)
frag = c * tint; // component-wise multiply tints without clipping
}// Add time * speed to the UV to scroll. fract() wraps it into 0..1 so it tiles.
uniform sampler2D tex;
uniform float time; // seconds, supplied by the engine
uniform vec2 scroll_speed; // UV units per second, e.g. (0.1, 0.0)
in vec2 uv;
out vec4 frag;
void main() {
vec2 scrolled = fract(uv + scroll_speed * time); // HLSL: frac(...)
frag = texture(tex, scrolled);
}
// Drive with a real time uniform, not a per-frame accumulator, so speed is stable.// Hide pixels where noise < threshold; tint a thin band at the boundary.
uniform sampler2D tex;
uniform sampler2D noise_tex; // grayscale noise, 0..1
uniform float amount; // 0 = fully visible, 1 = fully dissolved
uniform float edge = 0.05; // width of the glowing edge band
uniform vec4 edge_color;
in vec2 uv;
out vec4 frag;
void main() {
vec4 c = texture(tex, uv);
float n = texture(noise_tex, uv).r;
if (n < amount) discard; // cut away dissolved pixels
float e = smoothstep(amount, amount + edge, n); // 0 at the edge -> 1 inside
frag = mix(edge_color, c, e); // HLSL: lerp(edge_color, c, e)
}// Rim = 1 where the surface faces away from the camera (silhouette glow).
in vec3 world_normal; // normalized, world space (from the vertex stage)
in vec3 view_dir; // normalized, surface -> camera, world space
uniform float power = 3.0;
uniform vec3 rim_color;
out vec4 frag;
void main() {
float f = pow(1.0 - clamp(dot(world_normal, view_dir), 0.0, 1.0), power);
frag = vec4(rim_color * f, 1.0); // add to lighting; f peaks at the silhouette
}
// Correctness: normal and view_dir MUST be in the same space and normalized.dot() results drift. normalize() in the fragment stage.step/smoothstep/
mix; reserve if/discard for genuinely cheap early-outs.discard defeats early-Z and can hurt performance on tiled mobile GPUs;
prefer alpha blending where you can.highp vs mediump matters; large UVs or time values
in low precision shimmer. Use adequate precision for coordinates and time.mix↔lerp, fract↔frac, texture()↔.Sample(),
vec2↔float2, column- vs row-major matrices. See the reference mapping.references/effects.md — full outline (2D sprite + 3D), vignette, and color
grading shaders; the GLSL↔HLSL function/type mapping table; per-engine notes
(Godot canvas_item/spatial, Unity ShaderLab/HLSL, Unreal material nodes).godot-shaders — Godot shading language syntax, built-ins, and screen-reading.unreal-niagara — GPU particle VFX (a different shader use).procedural-gen — the noise that drives dissolve and procedural texturing.© ukanwat, Apache-2.0. 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 (references) in .claude/skills/shader-programming of ukanwat/overtime.
Open the folder on GitHubat commit fc215d4
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in ukanwat/overtime, which our catalogue first saw on October 7, 2026.
Shader Programming 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 Programming this skillukanwat/overtime | 387 | 1 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Godot UI Rich Textthedivergentai/GD-Agentic-Skills | 809 | — | ~3.2k | Automated safety check: Pass | LGPL-3.0 | |
| Shader Basicsjame581/GodotPrompter | 795 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Godot Genre Card Gamethedivergentai/GD-Agentic-Skills | 809 | — | ~3.1k | Automated safety check: Pass | LGPL-3.0 | |
| Godot Particlesthedivergentai/GD-Agentic-Skills | 809 | — | ~3.4k | Automated safety check: Pass | LGPL-3.0 | |
| Godot Shaders Basicsthedivergentai/GD-Agentic-Skills | 809 | — | ~3.3k | Automated safety check: Pass | LGPL-3.0 |
thedivergentai/GD-Agentic-Skills
Expert blueprint for RichTextLabel with BBCode formatting (bold, italic, colors, images, clickable links) and custom effects.
jame581/GodotPrompter
A skill your agent uses when implementing shaders — Godot shader language, visual shaders, common visual recipes, and post-processing effects
thedivergentai/GD-Agentic-Skills
Expert blueprint for digital card games (CCG/Deckbuilders) including card data structures (Resource-based), deck management (draw/discard/reshuffle), turn logic, hand layout (arcing), drag-and-drop…
thedivergentai/GD-Agentic-Skills
Expert blueprint for GPU particle systems (explosions, magic effects, weather, trails) using GPUParticles2D/3D, ParticleProcessMaterial, gradients, sub-emitters, and custom shaders.
thedivergentai/GD-Agentic-Skills
Expert Godot shader patterns for batch-safe hitflash, alpha-scissor foliage/dissolve, screenspace postFX, depth reconstruction, triplanar, and instance uniforms — not first-shader tutorials.
scenario-labs/skills
A skill your agent uses when writing or fixing Godot 4.7 shaders: .gdshader code (spatial, canvasitem, particles, sky, fog), VisualShader graphs built in code, stylized or toon water, dissolve or…
ukanwat/overtime
Implement game audio practice — bus/mixer architecture and gain in decibels, ducking (sidechain), adaptive/dynamic music via layering and re-sequencing, SFX variation, and beat synchronization.
ukanwat/overtime
Build game cameras that feel good — 2D follow with a deadzone, look-ahead, smoothing, and level-bounds clamping; 3D third-person orbit with collision and first-person look; plus multi-target framing…
ukanwat/overtime
Build branching dialogue and narrative — a node/choice graph with conditions, variables, and localization hooks — and choose between authoring tools Ink and Yarn Spinner or a custom data-driven…
ukanwat/overtime
Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A pathfinding — engine-neutral algorithms that pair with the detected engine's navigation API.
ukanwat/overtime
Add "juice" and game feel that makes actions satisfying — screen shake, hit-stop/freeze frames, tweened/eased motion, squash & stretch, knockback, and layered audio-visual feedback — as…
ukanwat/overtime
Design and build game UI/UX — HUDs, menus, and overlays — that survive every screen: anchor- based responsive layout, resolution/aspect scaling and safe areas, keyboard/gamepad focus navigation, a…
Works with
Categories
Write game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate spaces, UV math, and common 2D/3D effects (tint, UV scroll, dissolve, outline, fresnel rim, vignette) in…. Shader Programming is an agent skill from ukanwat/overtime. Write game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate spaces, UV math, and common 2D/3D effects (tint, UV scroll, dissolve, outline, fresnel rim, vignette) in GLSL with HLSL equivalents.
Shader Programming fits situations like: the user mentions shaders; fragment/pixel shader; effects like dissolve.
Run `npx skills add ukanwat/overtime --skill shader-programming -a claude-code`. Or copy the skill folder (.claude/skills/shader-programming in ukanwat/overtime) into .claude/skills/shader-programming in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ukanwat/overtime --skill shader-programming -a codex`. Or copy the skill folder (.claude/skills/shader-programming in ukanwat/overtime) into .agents/skills/shader-programming 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 ukanwat/overtime --skill shader-programming -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-programming, .gemini/skills/shader-programming, .github/skills/shader-programming and .opencode/skills/shader-programming in your project.
SKILL.md names no scripts, command-line tools or credentials: Shader Programming is instructions for the agent only. Compatibility (from SKILL.md): Concepts engine-agnostic; examples in GLSL-style (Godot gdshader / OpenGL) with HLSL (Unity/Unreal) equivalents noted. Pairs with godot-shaders..
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 Programming is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7k 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 1.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Shader Programming: Godot UI Rich Text (thedivergentai/GD-Agentic-Skills, 809 stars), Shader Basics (jame581/GodotPrompter, 795 stars), Godot Genre Card Game (thedivergentai/GD-Agentic-Skills, 809 stars) and Godot Particles (thedivergentai/GD-Agentic-Skills, 809 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ukanwat (a GitHub user) maintains it in ukanwat/overtime, which has 387 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 6, 2026.
Source: ukanwat/overtime on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.