Skip to content
Skillpedia
Agents101k · #510

webgl-experience

Enables creating interactive real-time visual experiences using WebGL. Ideal for complex animations, 3D scenes, or GPU-generated visual effects. The output is a complete HTML page.

What it does

Creates a full-screen animated visual experience using WebGL technology. It displays real-time graphics like shaders, 3D scenes, or particle effects, with simple text on top. All of this is delivered in a single HTML file.

When to use it

  • ✓When you need a striking, animated background for a website.
  • ✓To create an interactive visual demo of 3D concepts or graphics.
  • ✓When developing a real-time visual effect that runs directly in the browser.

Example of what to ask your AI

“Create a WebGL experience with an aurora field and a simple title.”

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

https://github.com/nexu-io/open-design/blob/main/design-templates/webgl-experience/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/nexu-io/open-design/blob/main/design-templates/webgl-experience/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The AI uses WebGL code to draw graphics directly on your computer's graphics card. It creates an HTML file containing all instructions to display this full-screen animation with an overlaying text.

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 webgl-experience

Or download just the file:

curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/design-templates/webgl-experience/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

WebGL Experience Skill

Produce a single self-contained index.html that renders a real-time WebGL (or WebGL2) visual full-screen, with a clean typographic overlay on top.

Why this is a powered artifact

OpenDesign detects getContext('webgl2') / new Worker / SharedArrayBuffer and renders this file in powered preview — a cross-origin-isolated iframe with allow-same-origin. That means real Web Workers, SharedArrayBuffer, WASM, and the full GPU pipeline are available. You do not need to work around the opaque sandbox. Prefer webgl2 for modern features; fall back to webgl when the effect allows.

Resource map

webgl-experience/
├── SKILL.md      ← you're reading this
└── example.html  ← a working WebGL2 aurora-field reference (READ FIRST)

Workflow

Step 0 — Read the reference

Read example.html end to end. Note the shape: one full-viewport <canvas>, a fragment-shader draw loop on a fullscreen triangle, a DPR-aware resize, and a requestAnimationFrame tick. The overlay (kicker → h1 → sub) is pure HTML/CSS layered above the canvas via z-index.

Step 1 — Choose the visual

Pick ONE technique that fits the brief:

  • Fragment-shader field (default): domain-warped fbm noise, flow fields, plasma, gradients. Cheapest, always 60fps.
  • Raymarched scene: SDF spheres/boxes with soft shadows for a 3D hero.
  • Instanced geometry: thousands of points/quads driven by a vertex shader.
  • Post-processed image: sample a data-URI texture and distort/dither it.

Step 2 — Build index.html

  • Keep it one file, zero external requests (inline the shader source; embed any texture as a data: URI). Powered mode allows CDN loads, but self-contained previews are faster and portable.
  • Always: alpha:false, DPR clamped to 2, viewport on resize, and a guard that shows a graceful message if the context is null.
  • Compile shaders with error logging (getShaderInfoLog) so a typo fails loudly, not silently black.

Step 3 — Overlay + brand

  • Map the two :root-level accent colors to the active DESIGN.md when one is present; otherwise use a restrained dark palette with a single vivid accent (the reference uses lime #63fe13).
  • Headline ≤ 14ch, one supporting line. Never cover the whole canvas — the visual is the hero.

Step 4 — Self-review (P0)

  • Renders continuously at ~60fps; the FPS badge updates.
  • No WebGL console errors; getError() clean after first frame.
  • Resizes crisply on window resize (no stretching / blur).
  • Readable overlay contrast over the brightest frame.
  • Degrades to a message (not a blank page) if webgl2 is unavailable.
FAQ

What is WebGL?

WebGL is a technology that allows displaying interactive 2D and 3D graphics in a web browser, utilizing the graphics card's processing power.

What are shaders?

Shaders are small programs that run on the graphics card to control how 3D objects are drawn, defining colors, textures, and lighting effects.

What does 'real-time' mean?

It means the animation is generated and displayed instantly, continuously updating as you interact or as time passes.

Details

Original description by the author

A full-screen, real-time WebGL/WebGL2 experience — animated shaders, 3D scenes, generative visuals, particle fields — rendered live on the GPU with a typographic overlay. Produced as a single self-contained `index.html`. Use when the brief asks for a "WebGL", "shader", "3D", "generative", "GPU", "interactive canvas", "hero animation", or "real-time visual" experience. OpenDesign serves this in pow

repo: nexu-io/open-design

Popularity

GitHub stars
101k
Ranking position
#510
License
Apache-2.0
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills