New Experiment
Tresjs/tres
Create a new experiment in TresJS Lab with all necessary files
Extract, reproduce, and locally replay a single WebGL / WebGPU / Canvas / shader / animated-3D visual effect from a web page — the GPU-rendered surface that DOM/CSS cloning is blind to.
$ npx skills add cth9191/site-clone --skill shader-extract -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cth9191/site-clone shader-extract --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/cth9191/site-clone.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/shader-extract .claude/skills/shader-extract && 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-extract" agent skill from https://github.com/cth9191/site-clone/tree/main/skills/shader-extract into .claude/skills/shader-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-extract", 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/cth9191/site-clone/tree/main/skills/shader-extractType 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 cth9191/site-clone --skill shader-extract -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cth9191/site-clone shader-extract --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cth9191/site-clone.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/shader-extract .agents/skills/shader-extract && 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-extract" agent skill from https://github.com/cth9191/site-clone/tree/main/skills/shader-extract into .agents/skills/shader-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-extract", 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 cth9191/site-clone --skill shader-extract -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cth9191/site-clone shader-extract --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cth9191/site-clone.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/shader-extract .cursor/skills/shader-extract && 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-extract" agent skill from https://github.com/cth9191/site-clone/tree/main/skills/shader-extract into .cursor/skills/shader-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-extract", 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/cth9191/site-clone.git --path skills/shader-extract--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 cth9191/site-clone --skill shader-extract -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cth9191/site-clone shader-extract --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cth9191/site-clone.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/shader-extract .gemini/skills/shader-extract && 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-extract" agent skill from https://github.com/cth9191/site-clone/tree/main/skills/shader-extract into .gemini/skills/shader-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-extract", 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 cth9191/site-clone shader-extractInstalls 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 cth9191/site-clone --skill shader-extract -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cth9191/site-clone.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/shader-extract .github/skills/shader-extract && 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-extract" agent skill from https://github.com/cth9191/site-clone/tree/main/skills/shader-extract into .github/skills/shader-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-extract", 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 cth9191/site-clone --skill shader-extract -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cth9191/site-clone shader-extract --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cth9191/site-clone.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/shader-extract .opencode/skills/shader-extract && 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-extract" agent skill from https://github.com/cth9191/site-clone/tree/main/skills/shader-extract into .opencode/skills/shader-extract/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-extract", 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-extractExtract, reproduce, and locally replay a single WebGL / WebGPU / Canvas / shader / animated-3D visual effect from a web page — the GPU-rendered surface that DOM/CSS cloning is blind to.
Shader Extract is an agent skill from cth9191/site-clone. Extract, reproduce, and locally replay a single WebGL / WebGPU / Canvas / shader / animated-3D visual effect from a web page — the GPU-rendered surface that DOM/CSS cloning is blind to. Use whenever a page has a WebGL/WebGPU/canvas shader background, animated 3D hero, generative gradient, particle field, or Unicorn Studio / Spline / Three.js effect that must be captured and rebuilt as a runnable local module. This is the GPU track of a site clone (driven by clone-site) but also stands alone. Trigger on "extract…
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 30 other files, including reference files (for example `ATTRIBUTION.md`, `references/capture-backends.md` and `vendor/web-shader-extractor/SKILL.md`).
It sits in Game Development, covering 3D graphics and WebGL and Shaders. It works with Three.js. The repository describes itself as: Point Claude Code at a URL, get a teardown + a verified near pixel-identical rebuild. Runtime probes, evidence-tagged TEARDOWN.md, Playwright pixel-diff QA. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f01d396. 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 javascript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Shader Extract loads about 1.4k tokens when it runs, and up to ~2.5k if it reads all its reference files. Until then it costs about 181 tokens; SKILL.md has 559 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 cth9191/site-clone at commit f01d396, republished under its MIT licence (© cth9191). 559 words, ~1,375 tokens.
.claude/skills/shader-extract/SKILL.md (or your agent's skills folder). This skill also uses 26 other files; get the full folder from GitHub.Capture one GPU-rendered surface and rebuild it as a verified, runnable local effect module. The governing principle — inherited from the vendored engine this skill wraps — is evidence before implementation: capture what the page's GPU pipeline actually does (shaders, uniforms, pass order, textures, timing) and match it, rather than eyeballing the visual and hand-tuning a lookalike. A lookalike drifts; a capture-matched baseline is faithful and honest about its gaps.
The heavy machinery lives in vendor/web-shader-extractor/ — an
evidence-gated state machine (surface lock → source/runtime trace → capture →
verified baseline → projectize) by lixiaolin94 (MIT; see ATTRIBUTION.md). Do
not reimplement it. This wrapper does two things the vendored engine assumes were
done elsewhere:
references/capture-backends.md): Spector.js for WebGL1/2 and
WebGPU Inspector for WebGPU. These are what actually recover a frame; the
vendored policy files describe the discipline, these describe the tools.Driven by clone-site (common): you receive a locked surface — selector,
bounding box, guessed driver (three.js / unicorn-studio / spline / regl / raw
WebGL), and an output dir like output/<host>/effects/<surface-id>/. The surface
is already attributed, so skip scouting. Go straight to:
vendor/web-shader-extractor/SKILL.md and its references/replay-policy.md
— that is the operating manual for capture → baseline → projectize.references/capture-backends.md):
WEBGL1/2 → Spector.js; WEBGPU → WebGPU Inspector.CAPTURE_MINIMUM_TRUTH onward, writing
evidence and the baseline into the given output dir.Standalone (user hands you a URL): you must lock the surface first. Run the
full vendored flow from INTAKE (read vendor/web-shader-extractor/SKILL.md).
The clone-site script scripts/surface-map.js is a fast way to enumerate and
classify canvases if you want a head start, but the vendored TARGET_LOCK gate
is authoritative.
SOURCE, PARTIAL,
or GUESS; unlabeled = GUESS. The final module carries a fidelity verdict.
Never quietly upgrade a BEHAVIOR_REBUILD (lookalike) to sound like a source
replay.known-gaps.md, not fudged away.Beyond the vendored output/ layout (capture-baseline, editable-project,
qa-report, known-gaps), expose the effect through the mount lifecycle the
coordinator composites against:
export function mount(canvasEl, opts) { /* start renderer + rAF loop */ return handle }
export function unmount(handle) { /* cancel rAF, loseContext, free GPU */ }
export function resize(handle, w, h, dpr) { /* resize drawing buffer + viewport */ }Also emit a poster frame (a captured still) as a fallback for reduced-motion and for the case where reconstruction only reached poster fidelity. Report the fidelity label so the coordinator carries it into the final clone report unchanged.
references/capture-backends.md — Spector.js (WebGL) and WebGPU Inspector
(WebGPU): what each captures, how to drive it, what's reliable vs guesswork.vendor/web-shader-extractor/SKILL.md — the full state machine + reference
router (surface discovery, target lock, evidence policy, replay policy, QA,
Three.js/TSL reconstruction, Unicorn Studio / shaders.com adapters).ATTRIBUTION.md — upstream authorship and MIT license.© cth9191, 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 26 other files (references) in skills/shader-extract of cth9191/site-clone.
Open the folder on GitHubat commit f01d396
Shader Extract 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 Extract this skillcth9191/site-clone | 138 | — | ~1.4k | Automated safety check: Pass | MIT | |
| New ExperimentTresjs/tres | 3.8k | — | ~782 | Automated safety check: Pass | MIT | |
| Typegpusoftware-mansion-labs/skills | 291 | 2 repos | ~5.6k | Automated safety check: Pass | None | |
| Tslpmndrs/glyph | 395 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Stage RenderingSiege-Perilous/tableslayer | 123 | — | ~4.1k | Automated safety check: Pass | Custom licence | |
| Threejs MaterialsOWWZO/ai-agent | 189 | 5 repos | ~3.4k | Automated safety check: Pass | None |
Tresjs/tres
Create a new experiment in TresJS Lab with all necessary files
software-mansion-labs/skills
TypeGPU is type-safe WebGPU in TypeScript. An agent skill from software-mansion-labs/skills.
pmndrs/glyph
Implement, migrate, review, debug, or verify Three.js Shading Language (TSL) materials, node graphs, WebGPU compute work, and post-processing.
Siege-Perilous/tableslayer
Architecture and gotchas for packages/stage — the Threlte/Three.js map renderer (layers, two-pass rendering, shaders, coordinate flips, performance tiers, disposal).
OWWZO/ai-agent
Three.js materials - PBR, basic, phong, shader materials, material properties.
OWWZO/ai-agent
Three.js post-processing - EffectComposer, bloom, DOF, screen effects.
cth9191/site-clone
Turn a cloned (or any measured) website into YOUR site: re-skin it with your brand, copy, and assets; generate three deliberately different design directions as token/motion/shader overrides and…
cth9191/site-clone
Extract and rebuild the DOM/CSS layer of a web page — layout, typography, colors, spacing, real content, assets, and normal interactions — into clean components, section by section, from exact…
Works with
Categories
Extract, reproduce, and locally replay a single WebGL / WebGPU / Canvas / shader / animated-3D visual effect from a web page — the GPU-rendered surface that DOM/CSS cloning is blind to. Shader Extract is an agent skill from cth9191/site-clone. Extract, reproduce, and locally replay a single WebGL / WebGPU / Canvas / shader / animated-3D visual effect from a web page — the GPU-rendered surface that DOM/CSS cloning is blind to.
Shader Extract fits situations like: A page has a WebGL/WebGPU/canvas shader background; animated 3D hero; generative gradient; unicorn Studio / Spline / Three.js effect that must be captured and rebuilt as a runnable local module.
Run `npx skills add cth9191/site-clone --skill shader-extract -a claude-code`. Or copy the skill folder (skills/shader-extract in cth9191/site-clone) into .claude/skills/shader-extract in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cth9191/site-clone --skill shader-extract -a codex`. Or copy the skill folder (skills/shader-extract in cth9191/site-clone) into .agents/skills/shader-extract 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 cth9191/site-clone --skill shader-extract -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-extract, .gemini/skills/shader-extract, .github/skills/shader-extract and .opencode/skills/shader-extract in your project.
SKILL.md names no scripts, command-line tools or credentials: Shader Extract 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.
Shader Extract is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.5k 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.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Shader Extract: New Experiment (Tresjs/tres, 3.8k stars), Typegpu (software-mansion-labs/skills, 291 stars), Tsl (pmndrs/glyph, 395 stars) and Stage Rendering (Siege-Perilous/tableslayer, 123 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cth9191 (a GitHub user) maintains it in cth9191/site-clone, which has 138 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 21, 2026.
Source: cth9191/site-clone on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.