Materials
arjun988/blender-skills
Blender PBR and stylized material creation for metal, wood, concrete, fabric, glass, dirt, rust, and procedural shaders.
Architecture rules for GPU rendering with TypeGPU/WebGPU — games, data visualisation, canvases, any app that draws with the GPU.
$ npx skills add dzhng/skills --skill renderer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dzhng/skills renderer --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/dzhng/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/graphics/renderer .claude/skills/renderer && 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 "renderer" agent skill from https://github.com/dzhng/skills/tree/main/skills/graphics/renderer into .claude/skills/renderer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "renderer", 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/dzhng/skills/tree/main/skills/graphics/rendererType 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 dzhng/skills --skill renderer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dzhng/skills renderer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhng/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/graphics/renderer .agents/skills/renderer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "renderer" agent skill from https://github.com/dzhng/skills/tree/main/skills/graphics/renderer into .agents/skills/renderer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "renderer", 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 dzhng/skills --skill renderer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dzhng/skills renderer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhng/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/graphics/renderer .cursor/skills/renderer && 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 "renderer" agent skill from https://github.com/dzhng/skills/tree/main/skills/graphics/renderer into .cursor/skills/renderer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "renderer", 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/dzhng/skills.git --path skills/graphics/renderer--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 dzhng/skills --skill renderer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dzhng/skills renderer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhng/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/graphics/renderer .gemini/skills/renderer && 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 "renderer" agent skill from https://github.com/dzhng/skills/tree/main/skills/graphics/renderer into .gemini/skills/renderer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "renderer", 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 dzhng/skills rendererInstalls 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 dzhng/skills --skill renderer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dzhng/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/graphics/renderer .github/skills/renderer && 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 "renderer" agent skill from https://github.com/dzhng/skills/tree/main/skills/graphics/renderer into .github/skills/renderer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "renderer", 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 dzhng/skills --skill renderer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dzhng/skills renderer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dzhng/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/graphics/renderer .opencode/skills/renderer && 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 "renderer" agent skill from https://github.com/dzhng/skills/tree/main/skills/graphics/renderer into .opencode/skills/renderer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "renderer", 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.
rendererArchitecture rules for GPU rendering with TypeGPU/WebGPU — games, data visualisation, canvases, any app that draws with the GPU.
Renderer is an agent skill from dzhng/skills. Architecture rules for GPU rendering with TypeGPU/WebGPU — games, data visualisation, canvases, any app that draws with the GPU. Use when adding or changing passes, shaders, buffers, textures, pipelines, frame orchestration, GPU resource lifetimes, or checks that judge rendered output.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Game Development, covering Data visualization and Shaders. It works with Blender. The repository describes itself as: Reusable AI agent skills for software factories: explore ideas, write specs, implement, review, and run autonomous research. Works with Claude Code, Codex, and other… The licence is MIT.
Read from SKILL.md and the folder at commit d513228. 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.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Renderer loads about 2.7k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,524 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 dzhng/skills at commit d513228, republished under its MIT licence (© dzhng). 1,524 words, ~2,652 tokens.
.claude/skills/renderer/SKILL.md (or your agent's skills folder).The stack is TypeGPU on WebGPU: typed schemas, bind group layouts and pipelines, with WGSL where it's clearer. Don't add a second rendering library.
For 3D models and textures, use Blender if it's available. Prefer a Blender MCP server when one is installed; otherwise run headless (blender -b --python script.py). Keep the scripts in the repo, so every asset is reproducible from code rather than hand-edited.
math package (npm math, whose API.md lists every export): vectors, matrices, quaternions, frustum and shape culling, noise, seeded randomness.Float32Arrays for upload.root.destroy() does not free what the root created.dispose.Depth is an access contract (read, read-write, prepassed), and the convention is engine-wide. Prefer reverse-Z on depth32float (clear 0, compare greater). Compare direction, clear value and format change together or not at all.
Opaque geometry never alpha-blends. Translucent passes read depth and never write it.
A line drawn in pieces joins by construction. Additive pieces overlap and fade over the overlap, so the joins sum to one; blended pieces are cut square, since two over-composited fades never sum to one. Blended layers of one thing draw in layer order, not in the order their pieces were made.
Dynamic light is data every material reads through one shading function. Effects offer a bounded per-frame list of short-lived point lights; the shared shade call sums them for every lit layer. A glow sprite brightens air, never the surfaces round it, and a per-layer lighting hack drifts from the others.
Overlays and UI are composited after post-processing, unlit and ungraded. Anything that belongs in the world is drawn in the world.
The depth prepass and the colour pass share one vertex stage with an @invariant position, so their depth matches bit for bit.
Use 4× MSAA (the count WebGPU guarantees). Interpolate at the centroid any varying that a later screen-space test depends on.
Composite each annotation as one group. Its backing paints below its foreground strokes; selection priority moves the whole group. Fix occlusion through paint order, not by erasing intended backing coverage. Bound effect tails separately from stacking.
Bound final rendered geometry, including every independent multiplier and drawn LOD. Give shader variation bounds, CPU validation and culling one owner. View-dependent width expansion must not silently expand height; source dimensions alone cannot prove a final size cap.
$idx(0)). TypeGPU numbers the rest.frag_depth, which disables early-Z.let is immutable. Reassigning one invalidates the pipeline while the app looks healthy.cast, meta, …); an identifier named after one fails the module at parse time.performance.now(), Date or unseeded randomness inside a pass. A held clock gives deterministic captures.When a world-space width change barely moves the screenshot, trace the full width path through screen-space minimums, core/glow layers and postprocessing before tuning again. Compare native tactical and close views with the same camera and event. For moving subpixel features, inspect consecutive frames in the crowded gameplay view as well as isolated crops; a thin still can conceal flicker or disappear against terrain.
For cadence or synchronization claims, capture startup and multiple complete work/rest cycles, including their longest pauses. Pair native motion frames with source-event timestamps per actor; overlapping visible trails do not prove simultaneous launches, and a short staggered opening does not prove sustained independence. Test random timing across several seeds and report measured gaps rather than promising uninterrupted activity.
Spatial membership cannot identify which authored forest generated a trunk. Overlapping shapes can duplicate trees or assign another source's canopy. Export immutable original source associations from native generation, retain lossless prop IDs in the consumer, and place each source trunk once. Exact rectangle export ordinal also needs an explicit authored-ID mapping when other shapes are interleaved. Prove this through public exports and production placement, including empty sources and ordinary props outside the generated ranges.
Membership, numeric sampling and rendered acceptance are separate claims. Preserve the first failed production readback and its compiled source; a matching membership flag does not resolve a failed distance oracle. At a stopping point, preserve an unactivated candidate and restore the runtime baseline instead of widening its bar.
A paused fast-forward can finish delivering data before the UI draws that publication. Await its drawn tick and presentation clock before moving the camera. Otherwise a retained buffer may see an extra detail tier on one reset and look like a leak. Attribute differences with actual allocation creation/destruction records before changing capacity policy or weakening byte assertions.
A falling or resting body's authority can change its support after a building collapses. Refresh the published position for the same corpse identity without restarting its death clip, changing its facing, or making a faded corpse return. A static anchor change must invalidate the corpse publication version; moving only the cached object leaves GPU instances at the old height. Enemy anchors come from the side's last observed corpse state, so rendering cannot infer an unseen collapse from the current physical world.
© dzhng, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/graphics/renderer of dzhng/skills.
Open the folder on GitHubat commit d513228
Renderer 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 |
|---|---|---|---|---|---|---|
| Renderer this skilldzhng/skills | 1k | — | ~2.7k | Automated safety check: Pass | MIT | |
| Materialsarjun988/blender-skills | 275 | — | ~955 | Automated safety check: Pass | MIT | |
| Scenario Zbrush Automationscenario-labs/skills | 913 | — | ~4.7k | Automated safety check: Pass | MIT | |
| Scenario Blender Sculptingscenario-labs/skills | 913 | — | ~5.2k | Automated safety check: Pass | MIT | |
| Globe Glnirholas/three.ws | 227 | 1 repos | ~410 | Automated safety check: Pass | Apache-2.0 | |
| MatplotlibzLanqing/codex-claude-academic-skills | 4.6k | 18 repos | ~2.9k | Automated safety check: Pass | MIT |
arjun988/blender-skills
Blender PBR and stylized material creation for metal, wood, concrete, fabric, glass, dirt, rust, and procedural shaders.
scenario-labs/skills
A skill your agent uses when automating ZBrush 2026: batch processing a folder of OBJ or ZTL files, a ZBrush Python script or ZScript, recording a macro to learn a palette path, the ZBrush -script…
scenario-labs/skills
A skill your agent uses when sculpting in Blender through Python: sculpt a head, face or bust, a stylized or cartoon character, a creature or a realistic portrait; block out from primitives; cut…
nirholas/three.ws
A skill your agent uses when implementing globe.gl (Globe.GL) for 3D globe data visualization with WebGL/ThreeJS, including setup, data layers (points, arcs, polygons, labels), and integration…
zLanqing/codex-claude-academic-skills
Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
dzhng/skills
Compare screenshots against the intended design, distinguishing approved references from historical baselines.
dzhng/skills
Use Claude Code as an independent claude -p subagent when the user explicitly asks for Claude, wants a second-agent opinion from Claude, or asks to delegate a well-scoped task to Claude.
dzhng/skills
Refactor cleanly instead of layering sediment. An agent skill from dzhng/skills.
dzhng/skills
Create or revise agent skills. An agent skill from dzhng/skills.
dzhng/skills
Use the local Codex CLI as an independent second agent. An agent skill from dzhng/skills.
dzhng/skills
Run [implement-spec](../implement-spec/SKILL.md) with Codex doing the implementation passes while you orchestrate, integrate, and review.
Works with
Categories
Architecture rules for GPU rendering with TypeGPU/WebGPU — games, data visualisation, canvases, any app that draws with the GPU. Renderer is an agent skill from dzhng/skills. Architecture rules for GPU rendering with TypeGPU/WebGPU — games, data visualisation, canvases, any app that draws with the GPU.
Renderer fits situations like: changing passes; frame orchestration; GPU resource lifetimes; checks that judge rendered output.
Run `npx skills add dzhng/skills --skill renderer -a claude-code`. Or copy the skill folder (skills/graphics/renderer in dzhng/skills) into .claude/skills/renderer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dzhng/skills --skill renderer -a codex`. Or copy the skill folder (skills/graphics/renderer in dzhng/skills) into .agents/skills/renderer 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 dzhng/skills --skill renderer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/renderer, .gemini/skills/renderer, .github/skills/renderer and .opencode/skills/renderer in your project.
SKILL.md names no scripts, command-line tools or credentials: Renderer is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. 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.
Renderer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k 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 Renderer: Materials (arjun988/blender-skills, 275 stars), Scenario Zbrush Automation (scenario-labs/skills, 913 stars), Scenario Blender Sculpting (scenario-labs/skills, 913 stars) and Globe Gl (nirholas/three.ws, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dzhng (a GitHub user) maintains it in dzhng/skills, which has 1,016 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 5, 2026.
Source: dzhng/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.