mcpField
W
web-shader-extractor

web-shader-extractor

github.com/lixiaolin94Development766826 installsUpdated 17w ago
Repository

About web-shader-extractor

web-shader-extractor is a skill for investigating and locally replaying shader- and canvas-based visuals from webpages. It guides evidence gathering and validation before building an editable project.

Key features

  1. 01Targets WebGL, WebGPU, and Canvas visuals
  2. 02Routes investigation through staged gates
  3. 03Uses source and runtime evidence
  4. 04Defines replay and baseline validation
  5. 05Provides focused platform reference guides

Use cases

  1. 01Recreate an animated webpage background locally
  2. 02Investigate a product shader or interactive scene
  3. 03Build an evidence-matched visual baseline

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/lixiaolin94/skills --skill web-shader-extractor

After installing, type/web-shader-extractorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
capture-backends.md
evidence-policy.md
operating-contract.md
qa-failure-policy.md
recon-kernel.md
replay-policy.md
shaders-com.md
source-analysis.md
surface-discovery.md
target-lock.md
three-shader-reconstruction.md
tool-capability-matrix.md
unicorn-studio.md
scripts/
fetch-rendered-dom.mjs
scan-bundle.sh
templates/
extraction-report.md
known-gaps.md
qa-report.md
replay-manifest.json
run-state.json
scout-card.json

Details

From the project README

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:

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

Reference Router

Load only what the current state needs:

NeedRead
Global contract, fact labels, completion statesreferences/operating-contract.md
Kernel, initial protocol, state flow, autonomy, budgetsreferences/recon-kernel.md
Surface discovery and visual attributionreferences/surface-discovery.md
Lock criteria, target-bound evidence, scope, Three.js bindingreferences/target-lock.md
Evidence labels, ledgers, unknown classes, sensitive datareferences/evidence-policy.md
Tool capability selectionreferences/tool-capability-matrix.md
WebGL, WebGPU, and Canvas2D capture factsreferences/capture-backends.md
Source maps, bundle slices, config, encoded definitionsreferences/source-analysis.md
Replay readiness, routes, baseline, stack choice, projectizationreferences/replay-policy.md
QA, failure routing, severity, mismatch signaturesreferences/qa-failure-policy.md
Three.js shader injection or TSL reconstructionreferences/three-shader-reconstruction.md
Unicorn Studio targetreferences/unicorn-studio.md
shaders.com / TSL targetreferences/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.

Comments

Markdown supported