lixiaolin94/skills

web-shader-extractor

Use when a user gives or references a webpage URL and wants to extract, reproduce, port, or locally replay a WebGL, WebGPU, Canvas, shader-like, animated background, interactive 3D, or web visual effect. Locks the target rendering surface group, records shader/resource/render graph/timing/input evidence, builds an evidence-matched local baseline, then projectizes it. Do not use for ordinary DOM/CSS page cloning.

First seen Mar 26, 2026

Installation

$ npx skills add lixiaolin94/skills --skill web-shader-extractor

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from lixiaolin94/skills.

npx skills add lixiaolin94/skills

Browse all from lixiaolin94/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 760
License MIT
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,928 B
  • docs SUMMARY.md 3,952 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 792 installs

SKILL.md

Web Shader Extractor

Index for WebGL / WebGPU / Canvas rendering investigation and local replay. Start from the target visual. Lock the surface group. Trace source or runtime facts. Build a runnable baseline. Then projectize.

Router Contract

This file is the index. Do not treat it as the full operating manual. Before task action, read:

  • references/operating-contract.md
  • references/recon-kernel.md

Then load only the focused references needed by the current state. Keep large evidence, captures, and generated outputs out of the conversation. Store them in the user's output directory.

Use This For

  • Extracting a webpage WebGL, WebGPU, Canvas2D, OffscreenCanvas, shader, or animated canvas effect.
  • Replaying an animated background, product shader, interactive WebGL scene, or Canvas visual locally.
  • Building an evidence-matched baseline first, then an editable project.
  • Investigating target-bound shader/render graph/timing/resource/input facts.

Do not use this for ordinary DOM/CSS cloning, static screenshots, generic website copying, unrelated JavaScript deobfuscation, or product UI redesign. Use it only when the task has a shader/canvas target.

Core Rules

  • Target-bound before framework-bound: a global Three.js, platform, or shader signature is only a hypothesis until tied to the target surface group.
  • Probes must discriminate: before running a probe, state which live hypotheses it separates and what each outcome eliminates. Evidence consistent with every candidate is weak; evidence only one candidate predicts is strong.
  • Evidence before implementation: source, runtime objects, frame captures, source maps, and public structured definitions outrank visual fitting.
  • No fabricated numbers: confidence is expressed with hypothesis status and SOURCE/PARTIAL/GUESS, never invented probabilities or scores.
  • Baseline before projectization: never overwrite a verified baseline for cleanup, simplification, or native conversion.
  • Honest labels: implementation-critical facts are SOURCE, PARTIAL, or GUESS; unlabeled values are treated as GUESS.
  • No compensation tuning: do not adjust brightness, time, color, offsets, or noise to mask missing pipeline evidence.
  • Gate artifacts are transition guards: if the required artifact is missing, incomplete, or has placeholders in gate-critical fields, the state has not advanced.
  • Ask only for product scope changes or external access/permission blockers.
  • Use plain records: state the fact, evidence path, current unknown, and next action. Avoid metaphor, broad claims, and unsupported conclusions.

State Router

The full state machine, branches, and gate semantics live in references/recon-kernel.md. The gate order is fixed:

TARGETLOCKED must precede deep source/bundle work. Before lock, only narrow source probes tied to nextProbe are allowed. REPLAYREADY must precede implementation. BASELINE_VERIFIED must precede projectization.

Reference Router

Load only what the current state needs:

Need Read
Global contract, fact labels, completion states references/operating-contract.md
Kernel, initial protocol, state flow, autonomy, budgets references/recon-kernel.md
Surface discovery and visual attribution references/surface-discovery.md
Lock criteria, target-bound evidence, scope, Three.js binding references/target-lock.md
Evidence labels, ledgers, unknown classes, sensitive data references/evidence-policy.md
Tool capability selection references/tool-capability-matrix.md
WebGL, WebGPU, and Canvas2D capture facts references/capture-backends.md
Source maps, bundle slices, config, encoded definitions references/source-analysis.md
Replay readiness, routes, baseline, stack choice, projectization references/replay-policy.md
QA, failure routing, severity, mismatch signatures references/qa-failure-policy.md
Three.js shader injection or TSL reconstruction references/three-shader-reconstruction.md
Unicorn Studio target references/unicorn-studio.md
shaders.com / TSL target references/shaders-com.md

Tool And Artifact Policy

Tools are replaceable capabilities, not prerequisites. First record the available capability profile:

navigate, runtime-eval, preload-script, network-metadata, network-body,
source-map, canvas-screenshot, interaction, frame-capture-webgl,
frame-capture-webgpu, local-run, multi-frame-compare

Use scripts/fetch-rendered-dom.mjs only as an optional inventory helper when Playwright is already available. Use scripts/scan-bundle.sh only on target-bound bundle slices or a precise nextProbe. Script output is hypothesis evidence. It never satisfies Surface Attribution, Target Lock, Replay Ready, or QA gates by itself.

Use bundled templates as schemas, not free-form notes:

  • templates/scout-card.json
  • templates/replay-manifest.json
  • templates/run-state.json
  • templates/qa-report.md
  • templates/known-gaps.md
  • templates/extraction-report.md

Platform Adapters

Load platform references only after target-bound evidence points there:

  • Unicorn Studio: references/unicorn-studio.md
  • shaders.com / TSL: references/shaders-com.md
  • Three.js shader injection or TSL: references/three-shader-reconstruction.md

If no adapter fits, follow generic WebGL, WebGPU, or Canvas2D capture in references/capture-backends.md.