The page this skill built from examples/lumen-night, working in your browser. Opens in a new tab.
5.3-second example rendered by this skill from examples/lumen-night · 1280×720
Example settingswhat each example above was built from
examples/lumen-nighthero.json
- Brand
- Lumen Night
- Headline
- Lights on the water
What you get
- A one-page hero and a paste-in embed with your name, words and links
- A film that loops forever with no visible restart, checked frame against frame
- A tall cut of the film for phones, so the subject fills a portrait screen
- Cormorant and Manrope in this hero's own colors, with words that rise in once as the page opens
- A poster frame for reduced motion and while the film loads, so it is never blank
- Checks at 390, 768, 1280 and 1920 px: 14 px minimum text, a headline nothing touches, 44 px tap targets, no overflow
- A 1080p MP4 and a 1080x1920 phone MP4, rendered frame by frame
- Open-source licenses for every part it builds on
Good fit
- Festivals, night markets and events get hundreds of warm lanterns bobbing on a black lake behind a centred Cormorant headline.
- Hotels, travel and candle brands get a warm gold glow on deep indigo, with the wordmark centred in the bar between its links.
- On a phone the lanterns stay in view at the top while the headline and a full-width ticket button sit in the darker water below.
Not for
- Your own video: the layout and colours are set for this film (warm paper lanterns bobbing on a black mountain lake at night)
- Changing the colors, fonts or layout through settings (every word and link is yours; the look is fixed)
- Long headlines: two short lines, with limits the build enforces
- Sound: browsers only autoplay muted video, and the film is silent
- Full landing pages below the hero (see the Landing Pages series)
About this skill
A full-screen website hero on five seconds of generated film that loops with no seam: warm paper lanterns bobbing on a black mountain lake at night, their flames flickering and their reflections long and gold, while mist drifts over the water. It uses a centred layout: the wordmark in the middle of the bar, a two-line headline centred and set very large, the introduction under it and the button at the foot. Wide screens get the wide film and phones a tall cut framed on the subject, so a phone never shows a letterbox or an empty half; every text is at least 14 px and nothing touches the headline. Your agent writes one hero.json with your words and links; the build checks every length, a check at four widths enforces the layout rules and the seamless loop, and a recorder makes 1080p and phone MP4s. It suits a festival, event, travel, hospitality, candle or any warm, nocturnal, celebratory brand.
Example request
Make a Lantern Lake hero for our winter night market: 'Lights on / the old town', tickets as the button, and record it.
How it works
Your agent
- 1
Collect the words
Every number, price and claim must come from the person.
- 2
Write hero.json
Copy
<skill>/examples/lumen-night/hero.json(Lumen Night, a lantern night on the lake) and replace every value. - 3
Build
It lists every problem at once (a missing field, words too long for their place, a bad link) and writes nothing until they're fixed.
- 4
Check
It opens the page at 390, 768, 1280 and 1920 px wide and with reduced motion, and fails on: script errors, sideways scrolling, any text under 14 px, a headline smaller than 6.5% of the screen or that anything else touches, a headline closer than 24 px under the bar, overlaps, text that spills out, links without an address, buttons shorter than 44 px on a phone, a hero that doesn't fill the screen, and a film whose last frame doesn't match its first.
- 5
Look at it
Open the address it prints, and narrow the window to see the phone layout and the tall film.
- 6
Record the video (optional)
Writes
out/preview.mp4(1920×1080, 30 fps, one loop) andout/poster.png; with--tall,out/preview-tall.mp4andout/poster-tall.pngas a phone shows it (1080×1920). - 7
Put it on the site
Use
out/index.htmlas the page, or pasteout/embed.htmlinto an existing page and copyout/assets/next to it (or change theassets/paths).
- 1
You get
- out/preview.mp4
- out/poster.png
- out/preview-tall.mp4
- out/poster-tall.png
- out/index.html
- out/embed.html


What you need
- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge, for the checks and the video (the scripts find it; set
CHROME_PATHif they don't). - ffmpeg for the loop check and the video (
brew install ffmpeg,winget install ffmpeg,apt install ffmpeg; or setFFMPEG_PATH). - Internet access when the page is opened, for the Google Fonts. Without them system fonts stand in.
Last checked Nov 2, 2026: the package’s own build and render commands ran and passed.
If something goes wrong
The page shows a still picture instead of the film
Reduced motion is on in the system settings (that is on purpose), or the browser blocked autoplay in power-saving mode. The still is the film's first frame, so the hero still looks finished.
A phone shows the wide film cropped badly
The page decides by shape, not width: anything taller than 4:5 gets the tall film. Check that
assets/film-tall.mp4was copied with the page.The build says a field is too long
Shorten the words. The headline lines are sized for the lengths in
template/fields.json.
What’s in the download
- SKILL.md8.03 KBthese instructions.
- examples/
- examples/lumen-night/765 B1 file
- scripts/
- scripts/kit/the Loop Stage kit the four scripts run (
build.mjs,stage.css,runtime.jsfor the browser,check.mjs,record.mjs,serve.mjs,cdp.mjs);scripts/kit/KIT.mdsays how it fits together. - scripts/kit/build.mjs11.5 KB
- scripts/kit/cdp.mjs4.90 KB
- scripts/kit/check.mjs9.84 KB
- scripts/kit/KIT.md3.26 KB
- scripts/kit/record.mjs6.88 KB
- scripts/kit/runtime.js1.70 KB
- scripts/kit/serve.mjs2.46 KB
- scripts/kit/stage.css2.26 KB
- scripts/build.mjs142 Bchecks
hero.jsonagainsttemplate/fields.jsonand writes the page, the embed and the assets. - scripts/check.mjs142 Bchecks the page at four widths and with reduced motion, and checks both films loop with no seam.
- scripts/chrome.mjs3.63 KBfinds Chrome, Chromium or Edge.
- scripts/record.mjs144 Brenders the words frame by frame and lays them on the film with ffmpeg:
preview.mp4andposter.png, a phone version with--tall, or one still. - scripts/serve.mjs142 Bserves a built hero on localhost to look at.
- template/
- template/fields.json2.53 KBevery field of
hero.jsonwith its limit, plus the film's length, the colours, fonts and framing. - template/hero.html4.98 KBthe design: its CSS and the markup of the words.
- NOTICE.md885 B
- TESTED.json253 B
19 files · 64.4 KB · installs to ~/.claude/skills/lantern-lake-hero for Claude Code and ~/.agents/skills/lantern-lake-hero for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- Full-screen hero on a generated film that loops with no seam · tall cut for phones · page + embed · 1080p and phone MP4s
- Needs
- Node.js 18+, Chrome, and ffmpeg for the loop check and the video
- Series
- Loop Heroes · 8 skills
- Updated
- Nov 2, 2026
- Checked
- Nov 2, 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
Is the text readable over the bright lanterns?
Yes. A soft dark glow sits behind the headline and introduction, and the introduction carries a shadow, so the words hold at every width; the check also fails on any text under 14 px.
How long can the headline be?
Two lines of up to 10 characters each, centred. The build refuses anything longer and lists every field that doesn't fit.
Can the page play sound?
No. Browsers only autoplay muted video, so the film is silent on the page and in the recording.
Which agents is Lantern Lake 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
the film, generated for Lookbk from a scene written for Lookbk (a still image animated into film with the same first and last frame), and the layout, template and Loop Stage kit, all written for Lookbk. The fonts are from Google Fonts. 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.