od-web-effect-extractor
Lets your agent extract visual effects from websites. It recreates animations and interactions so you can use them in your projects.
What it does
This tool copies visual effects and animations from a website so you can use them in your own projects. It figures out how things move, interact, and look on the screen.
When to use it
- ✓When you see a cool effect on a website and want to recreate it.
- ✓To learn how complex animations or 3D graphics (WebGL) work on websites.
- ✓If you want to adapt a website's effect for your own design but don't know where to start.
Example of what to ask your AI
“Copy the animation effect from this website: [website URL]”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool visits the website, analyzes how the visual effects are made (using code and settings), and then rebuilds those effects in a format you can edit.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add nexu-io/open-design --skill od-web-effect-extractorOr download just the file:
curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/plugins/_official/scenarios/od-web-effect-extractor/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Web Effect Extractor
Use this plugin when the user gives a website URL and asks OpenDesign to recreate, remix, or learn from its visual effects. It is especially useful for hero backgrounds, WebGL scenes, Canvas animations, shader effects, cursor trails, scroll-driven motion, animated typography, and interaction patterns that are hard to understand from screenshots alone.
This workflow is inspired by the MIT-licensed web-shader-extractor skill from lixiaolin94/skills, adapted for OpenDesign's website recreation and editable artifact workflow.
Scope
The goal is to produce a faithful, editable OpenDesign artifact that preserves the reference site's visual effect and interaction logic while replacing private content, trademarks, tracking code, and nonessential app logic.
Extract only what is needed to understand and recreate the visual behavior:
- Layout structure, viewport behavior, breakpoints, and composition rhythm
- Color, typography, blend modes, gradients, texture, lighting, and post-processing
- Motion timing, easing, scroll triggers, pointer response, and idle animation loops
- Canvas, WebGL, Three.js, shader, particle, and framebuffer pipeline details
- Public static assets needed for visual parity, with provenance noted
Do not copy private product copy, hidden application state, user data, analytics, auth flows, or unrelated business logic.
Workflow
1. Prepare The Capture
Start from the supplied URL and define the exact effect to recreate. If the user is vague, inspect the first viewport first and infer the likely target effect.
Before extracting runtime details, prefer a browser context that can evaluate page scripts and inspect canvas/WebGL state. If Chrome DevTools MCP is available, use it for runtime interception. If it is not available, continue with the strongest available browser automation and clearly state that shader/runtime capture may be incomplete.
Record:
- URL and capture timestamp
- Viewport sizes to test, usually desktop and mobile
- Main effect target and fallback effect targets
- Framework clues from HTML, network requests, globals, and package signatures
2. Runtime Inspection
Capture runtime evidence before simplifying anything.
Inspect:
- DOM tree, computed styles, fonts, CSS variables, custom properties, and animation names
- Canvas elements, WebGL contexts, renderer attributes, supported extensions, and resolution scaling
- Global framework markers such as
THREE,BABYLON,__NEXT_DATA__,__NUXT__,vite, GSAP, Lenis, Framer Motion, or custom scene globals - Networked JS bundles, images, videos, fonts, LUTs, textures, HDRIs, and data files
When WebGL is present and tooling allows pre-page-load injection, intercept:
gl.shaderSource()for vertex and fragment sourcegl.uniform*()calls for names and observed valuesgl.bindFramebuffer()to understand multipass render ordergl.drawArrays()andgl.drawElements()to understand draw-call order- texture and buffer setup when it affects the final look
When 2D Canvas is present, inspect the render loop, draw primitives, image sources, compositing operations, and device-pixel-ratio handling.
3. Extract The Visual Model
Turn the raw capture into a compact visual model:
- Scene graph or layer stack
- Asset list with source, dimensions, and role
- Shader/material list with uniforms and dependencies
- Motion map with trigger, duration, easing, repeat behavior, and responsive differences
- Interaction map for pointer, keyboard, scroll, resize, and reduced-motion handling
- Known uncertainties, such as minified bundle branches or runtime values that could not be observed
Prefer evidence over guesses. If an effect cannot be observed directly, mark it as an inference.
4. Rebuild In OpenDesign
Create a standalone web artifact that can be inspected and edited.
Choose the simplest implementation that preserves the effect:
- Static DOM/CSS for layout-only references
- CSS animation or WAAPI for simple motion
- GSAP for sequenced or scroll-linked motion
- Canvas 2D for 2D procedural effects
- Native WebGL2 for compact full-screen shader effects
- Three.js when the reference uses 3D, cameras, materials, textures, post-processing, or GPGPU patterns
Keep the rebuild self-contained unless a dependency materially reduces complexity. If dependencies are used, load them in a transparent, reviewable way.
Important reconstruction rules:
…
FAQ
What is an 'OpenDesign artifact'?
It's a file containing the recreated visual effect, ready to be edited and used in your projects.
Does it copy all the website's content?
No, it focuses only on visual effects and animations, ignoring private information, specific text, or non-visual features.
What if the effect is very complex (like WebGL)?
The tool tries to extract as much detail as possible from the code and settings to recreate the effect, even complex ones.
Details
Original description by the author
Extract visual effects, animation systems, Canvas/WebGL/Shader behavior, and interaction details from a reference website, then rebuild them as an editable OpenDesign web artifact.
repo: nexu-io/open-design
Popularity
- GitHub stars
- 101k
- Ranking position
- #614
- License
- Apache-2.0
- Updated
- 10/16/2026
Comments
- …
More skills from this repository
sample-plugin
Makes your agent create a metadata file for tests. It helps ensure code works correctly in different situations.
nexu-io/open-design
aster-atelier
Helps your agent create an artistic website with a classic look. It uses elegant imagery, blue skies, and serif fonts for a cinematic feel.
nexu-io/open-design
audio-jingle
Makes your agent generate audio like jingles and sound effects. It can create music and voices, saving the result as an audio file.
nexu-io/open-design
blog-post
Helps your agent write long articles or blog posts. It includes space for images, quotes, and author information.
nexu-io/open-design
Similar skills
bun-runtime
Has your agent use Bun to run, organize, and test code. It helps choose Bun over other tools and migrate existing projects.
affaan-m/ECC
database-migrations
Helps your agent make safe changes to databases. It ensures changes can be undone and minimizes downtime.
affaan-m/ECC
deployment-patterns
Sets up deployment and CI/CD workflows, containerization, and rollback strategies to ensure safe releases.
affaan-m/ECC