The page this skill built from examples/lowtide, working in your browser. Opens in a new tab. Also: Ondine.
12-second example rendered by this skill from examples/lowtide · 1280×720
Example settingswhat each example above was built from
examples/lowtidehero.json
- Brand
- Lowtide Rooms
- Headline
- Wake to the sea at your blinds.
- Badge
- Port Ellery · Open March to October
- Colors
- background #f5efe4 · ink #1c2230 · accent #b4471f
- Mode
- light
- Fonts
- Instrument Serif and Manrope
examples/ondinehero.json
- Brand
- Ondine Editions
- Headline
- Two colours, pulled by hand.
- Badge
- Edition 14 · 60 signed prints
- Colors
- background #15161c · ink #f2ede3 · accent #f0a640
- Mode
- dark
- Fonts
- Bricolage Grotesque and IBM Plex Sans
What you get
- A self-contained index.html hero and an embed.html to paste into an existing site
- A seamless loop of two cycles: the blind opens on one art plate, closes, and reopens on a second palette
- Three code-drawn plates (gradient sun, layered horizon, geometric poster) with grain, in your colours
- A headline that wipes in line by line through clip-path masks
- 24 documented effect settings: slat count, direction, wave origin and stagger, cycle, plates, six plate colours, slat colour, frame shape, size, offset, breathing, sheen, grain and glow
- An SVG still of the open first plate for failures, and one real frame for reduced motion, so the hero is never blank
- Contrast and layout checks at 390, 768, 1024 and 1440 px, plus a frame-exact MP4 and poster
- Open-source licenses for every part it builds on
Good fit
- Hotels, guesthouses and travel brands can frame a sunset or a morning horizon in an arch behind slats that open in a slow wave.
- Galleries, print studios and interiors brands can show two poster colourways, one after the other, behind a vertical louvre on a light or dark page.
- Teams announcing a launch can record a 1080p video whose 12-second loop of two 6-second cycles joins without a seam.
Not for
- Brands with real photography to show: the plates are drawn in code, not photos
- Busy, fast-cut brands: the reveal is slow and calm by design
- 3D or WebGL looks such as glass, particles or shaders
- Full landing pages below the hero (see the Landing Pages series)
About this skill
A hero section that opens like a venetian blind. Beside the copy hangs a framed art plate drawn in code: a gradient sun over horizon bands, layered hills under a low sun, or a bold geometric poster, all with a soft film grain. A blind of 8 to 16 thin slats folds open in a staggered wave, each slat catching a sheen and casting a soft shadow while its strip of the plate slides into register. The headline wipes in line by line behind its own masks. Open, the strips breathe with a slow parallax. Then the blind closes and reopens onto a second plate in a shifted palette, so the scene loops without a seam. Your agent sets your colours, plates, slats, fonts, logo and words, checks contrast at four widths and records a frame-exact 1080p video.
Example request
Build a Shutter Reveal hero for Lowtide Rooms, our guesthouse above the harbour at Port Ellery: a sunset sun behind a horizontal blind in an arch that reopens onto a cool morning horizon, headline 'Wake to the sea at your blinds.', and record the video for our spring opening.
How it works
Your agent
- 1
Collect the brand
Every claim, price, date and time in the copy must come from the person.
- 2
Write hero.json
Copy the closer example and replace everything:
examples/lowtide/hero.json(a cream page, a horizontal blind in an arch, a sunset sun plate that reopens onto a cool morning horizon, a serif headline on the left: a seaside guesthouse) orexamples/ondine/hero.json(a near-black page, a vertical louvre opening from the middle in a rectangle, two geometric poster plates in different colourways, a heavy grotesque on the right: a screen-print studio). - 3
Build
It lists every problem in
hero.jsonat once (missing fields, text over its limit, a setting out of range, a sky and ground too close to tell apart, a slat colour far from the page, 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
The first catches the blind mid-opening with the headline wiping in, the second the first plate settled, the third a phone (each run saves
out/still-<size>.png; add--png <file>to keep both desktop stills). - 6
Record the video
With the default
cycleof 6 the loop is 12 seconds: the blind opens on the first plate, closes, opens on the second and closes again. - 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/preview.mp4
- out/poster.png
- out/assets/logo.svg


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 a plain 2D canvas and CSS inlined in the page. Only the fonts load from a CDN; without the network the page uses system fonts. Without the canvas, visitors see the SVG still: the first plate behind the open blind.
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.
"the horizon disappears"
The plate's sky and ground are too close. Darken the ground or lighten the sky.
"the closed blind will read as a hole in the page"
The slat colour is far from the background. Pick one a step lighter or darker than the page.
What’s in the download
- SKILL.md16.6 KB
- examples/
- examples/lowtide/2.12 KBLowtide Rooms, a seaside guesthouse, a sunset sun and a morning horizon in an arch on cream · 2 files
- examples/ondine/2.03 KBOndine Editions, a screen-print studio, two poster plates behind a vertical louvre on near-black · 2 files
- scripts/
- scripts/effect/the blind itself:
effect.mjs(its settings, checks and the SVG still),effect.js(the canvas: the plates, the slats, the wave, the parallax and the sweep) andeffect.css(the headline's line-by-line mask wipe). - scripts/effect/effect.css1.25 KB
- scripts/effect/effect.js17.5 KB
- scripts/effect/effect.mjs9.81 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.65 KBwhere the effect comes from, and the fonts it loads.
- TESTED.json739 B
26 files · 176 KB · installs to ~/.claude/skills/shutter-reveal-hero for Claude Code and ~/.agents/skills/shutter-reveal-hero for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- Animated canvas 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
Does it work on a dark background?
Yes. Light and dark pages both work, and the slat shadows switch to black on a dark page. The words always sit on the plain page colour, and the build checks their contrast at four widths.
How long is the loop?
Each plate shows for the cycle setting, 4 to 10 seconds (default 6), and the loop is two cycles, one per plate. Record twice the cycle, 12 seconds with the default, and the video joins without a seam.
Can I use my own photo as the plate?
No. The three plates (sun, horizon, poster) are drawn in code from your six colours, so they stay crisp at any size and need no image files. Pick the style and the two palettes in hero.json.
Which agents is Shutter Reveal 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: the shutter reveal effect, its canvas drawing and line-wipe CSS, the Motion Heroes kit and the examples. No third-party code or libraries are included. 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.