The page this skill built from examples/dewline, working in your browser. Opens in a new tab. Also: Quinnet.
16-second example rendered by this skill from examples/dewline · 1280×720
Example settingswhat each example above was built from
examples/dewlinehero.json
- Brand
- Dewline
- Headline
- Skin that drinks like glass.
- Badge
- New · Glacier Water Serum
- Colors
- background #f3eee7 · ink #17181d · accent #a83a22
- Mode
- light
- Fonts
- Bricolage Grotesque and DM Sans
examples/quinnethero.json
- Brand
- Quinnet
- Headline
- Bitter, bright and ice cold.
- Badge
- Small-batch tonic · Est. 2019
- Colors
- background #09130f · ink #f0f4e4 · accent #c6f05a
- Mode
- dark
- Fonts
- Fraunces and Inter
What you get
- A self-contained index.html hero and an embed.html to paste into an existing site
- Fat macro drops on frosted glass, each showing your poster sharp and upside down, with rims, caustics and highlights
- Heavy drops that slide in fits and starts, merge with the drops in their way and wipe clear trails
- A poster drawn in your colors, with your headline's coloured phrase set huge in your display face
- Settings for drop count and size, sliders, optics, frost, haze, beads, shine and the poster word
- Contrast and layout checks at 390, 768, 1024 and 1440 px, plus an SVG still for reduced motion or no WebGL
- A frame-exact 16-second MP4 at 1080p that loops without a seam, and a poster image
- Open-source licenses for every part it builds on
Good fit
- Skincare, cosmetics and wellness brands can show a hydrating product as dewy drops that hold their name upside down.
- Drinks makers selling tonic, cold brew or sparkling water can set an ice-cold mood on a dark or light page.
- Teams preparing a launch post can record a 16-second loop at 1080p that repeats without a visible seam.
Not for
- Showing your product: the drops refract a drawn poster, not a photo or 3D model
- Rainy night scenes with a city behind the glass (see Rain on Glass Hero)
- Full landing pages below the hero
- Very old devices without WebGL, which get the still picture
About this skill
A hero section on a pane of frosted glass, with a bold poster behind it drawn in your colors: big discs, a tilted band, fine rules and one word set huge in your headline's typeface. Through the frost it is only soft color, but a few fat macro water drops cling to the glass, and each one is a clear lens with the poster sharp, small and upside down inside it, a dark rim, a caustic and a soft-box highlight. Heavy drops slide down in fits and starts, merge with the drops in their way like liquid and wipe clear trails where the poster shows sharp. Your agent puts in your colors, fonts, logo, headline and buttons, checks contrast at four widths and records a 16-second 1080p loop that repeats without a seam.
Example request
Build a Water Droplets hero for Dewline's Glacier Water Serum: warm porcelain page, a coral, aqua and butter-yellow poster behind frosted glass, fat drops showing 'like glass' upside down, headline 'Skin that drinks like glass.', and record the 16-second loop.
How it works
Your agent
- 1
Collect the brand
Every claim, price, date and size in the copy must come from the person.
- 2
Write hero.json
Copy the closer example and replace everything:
examples/dewline/hero.json(a warm porcelain background, coral, aqua and butter-yellow poster, copy on the left: a skincare serum) orexamples/quinnet/hero.json(a dark bottle-green background, lime, violet and orange poster, more drops and three sliders, copy on the right: a small-batch tonic water). - 3
Build
It lists every problem in
hero.jsonat once (missing fields, text over its limit, a setting out of range, a poster word that doesn't show on the background, colours that don't contrast) and writes nothing until they're fixed. - 4
Check
It loads the page at 390, 768, 1024 and 1440 px and must say
okat each: nothing wider than the screen or cut off, readable contrast for every line of text, names on every link and button, one h1. - 5
Look at it
They save
out/still-1440x900.pngandout/still-390x844.png. - 6
Record the video
It steps the hero through 16 seconds at 30 fps at 1920×1080, drawing each frame at exactly its time, and writes
out/preview.mp4(H.264; 16 seconds loops seamlessly) andout/poster.png. - 7
Put it live
As a page: upload
out/index.htmlandout/assets/to any static host (Cloudflare Pages, Netlify, Vercel, GitHub Pages, S3).
- 1
You get
- out/index.html
- out/embed.html
- out/still-1440x900.png
- out/still-390x844.png
- out/preview.mp4
- out/poster.png


What you need
- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge, for the checks and the recording (the scripts find it; set
CHROME_PATHif they don't). - ffmpeg, for the video (
brew install ffmpeg,winget install ffmpeg,apt install ffmpeg; or setFFMPEG_PATH). - Nothing else at runtime: the effect is plain WebGL inlined in the page, and the poster behind the glass is painted in the browser (no images to host). Only the fonts load from a CDN; without the network the page uses system fonts, and the poster word is set in them too. Without WebGL, visitors see the SVG still (soft colour and drops).
Last checked Nov 1, 2026: the package’s own build and render commands ran and passed.
If something goes wrong
build: fix hero.json firstEach line names the field and what to change; colour problems suggest a colour that works.
"effect.wordColor hardly shows on the background"
Use
theme.ink, or any colour with 2:1 against the background.The word in the drops is cut or hard to read
Shorten
word, raisedropSize, or try anotherseedso a big drop sits over the middle of the word.
What’s in the download
- SKILL.md15.1 KB
- examples/
- examples/dewline/1.87 KBDewline, a skincare serum, porcelain and coral · 2 files
- examples/quinnet/1.93 KBQuinnet, a small-batch tonic water, bottle green and lime · 2 files
- scripts/
- scripts/effect/the glass itself:
effect.mjs(its settings, checks and the SVG still),effect.js(the poster painted once into a sharp, a small and a blurred texture, the drops worked out per frame, and the WebGL shader for the frost, haze, beads, metaball drops, lensing, highlights and trails) andeffect.css(keeps the still picture's drops off the copy). - scripts/effect/effect.css420 B
- scripts/effect/effect.js23.4 KB
- scripts/effect/effect.mjs7.08 KB
- scripts/kit/the kit shared by every Motion Heroes skill: the build and checks (
build.mjs), the section's CSS (shell.css), the browser runtime (runtime.js: clock, pausing, pixel ratio, reduced motion, fallback), the recorder (record.mjs,cdp.mjs), the pinned fonts (fonts.json) andKIT.md, which explains them. - scripts/kit/build.mjs34.5 KB
- scripts/kit/cdp.mjs4.90 KB
- scripts/kit/fonts.json5.42 KB
- scripts/kit/KIT.md16.0 KB
- scripts/kit/record.mjs8.11 KB
- scripts/kit/runtime.js15.1 KB
- scripts/kit/shell.css9.41 KB
- scripts/kit/three.json6.35 KB
- scripts/build.mjs263 Bwhat you run. They call the Motion Heroes kit.
- scripts/check.mjs9.48 KBLookbk's checks, screenshots, colour maths and HTML writer.
- scripts/chrome.mjs3.63 KB
- scripts/color.mjs1.40 KB
- scripts/inline.mjs1.67 KB
- scripts/markup.mjs6.15 KB
- scripts/record.mjs255 B
- scripts/screenshot.mjs1.79 KB
- NOTICE.md1.80 KBwhere the effect comes from, and the fonts it loads.
- TESTED.json749 B
26 files · 177 KB · installs to ~/.claude/skills/water-droplets-hero for Claude Code and ~/.agents/skills/water-droplets-hero for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- Animated WebGL hero · page + embed · 1080p loop
- Needs
- Node.js 18+, Chrome (or Chromium/Edge), and ffmpeg for the video
- Series
- Motion Heroes · 71 skills
- Updated
- Nov 1, 2026
- Checked
- Nov 1, 2026: its own commands ran and passed. That is a working check, not a security audit.
Written for
See all 31 agents that read skill folders.
Install guides
For your agent
Generates with
Installed it? Tell others how it went. Reviews come from people who installed this skill.
Write a reviewFAQ
What do the drops show inside?
By default the poster behind the glass, sharp, small and upside down, the way a real drop on a window shows the world. The poster word is your headline's coloured phrase unless you set another word of up to 24 characters. Set optics to magnified to show the poster right behind each drop instead.
Do the drops really merge?
Yes. All drops are one liquid surface, so drops that touch fuse into one shape. Heavy sliders pull in every drop in their path as they pass and wipe a clear trail; the swallowed drops condense back before the slider returns, so the 16-second loop has no seam.
Will it run smoothly on phones?
On a phone the poster and drops move above the words, and the runtime lowers the pixel ratio by itself on slow devices. The effect is one shader with no libraries to download. Browsers without WebGL and visitors who ask for reduced motion get a still picture instead.
Which agents is Water Droplets Hero written for?
Any agent that reads SKILL.md folders, including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
Do I own what I make with it?
Yes. Everything your agent makes with this skill is yours, including for client and commercial work.
What if it doesn’t work for me?
Email support@lookbk.dev within 7 days of buying and we’ll fix it or refund you.
Credits and licensesWritten by Lookbk
Lookbk wrote this package from scratch: the poster, the metaball drops and sliders, the refraction shader, the still, the Motion Heroes kit and the examples. It uses no libraries; one hash function is adapted from Dave Hoskins' "Hash without Sine" (MIT). Written by Lookbk, no third-party code.
Credits and licenses for the open-source software and fonts it uses are in NOTICE.md inside the download.