The page this skill built from examples/lumi-serum, working in your browser. Opens in a new tab.
5.3-second example rendered by this skill from examples/lumi-serum · 1280×720
Example settingswhat each example above was built from
examples/lumi-serumhero.json
- Brand
- Lumi
- Headline
- Liquid light
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
- Instrument Serif and DM Sans 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
- Skincare and beauty brands open on a golden drop falling into a pool of serum and rippling out in rings.
- A light frosted panel on the right with an Instrument Serif headline; the drop and ripples play on the left.
- On a phone the dropper and ripples fill the top and the panel becomes a cream sheet with the button and facts.
Not for
- Your own video: the layout and colours are set for this film (a golden drop of serum falling from a glass dropper into a pool of serum on pale stone)
- 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: a golden drop of serum falling from a glass dropper into a pool of serum on pale stone, rings rippling out in clean studio light. It uses a side-column layout: a frosted panel the full height of the screen with the wordmark, numbered links, a two-line headline, the introduction, the buttons and short facts, with the film beside it. 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 skincare, beauty, wellness, supplement, honey or any clean, golden, premium brand.
Example request
Make a Skincare Macro hero for our hair oil: 'Pure / shine', a shop button, two facts, 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/lumi-serum/hero.json(Lumi, a golden vitamin serum) 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.04 KBthese instructions.
- examples/
- examples/lumi-serum/932 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.mjs10.5 KB
- scripts/kit/KIT.md3.61 KB
- scripts/kit/record.mjs8.06 KB
- scripts/kit/runtime.js3.38 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.59 KBevery field of
hero.jsonwith its limit, plus the film's length, the colours, fonts and framing. - template/hero.html4.61 KBthe design: its CSS and the markup of the words.
- NOTICE.md887 B
- TESTED.json249 B
19 files · 68.1 KB · installs to ~/.claude/skills/skincare-macro-hero for Claude Code and ~/.agents/skills/skincare-macro-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 · 21 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
Does the drop loop without a jump?
Yes. The ripples settle back and the end of the film is cross-faded into the start.
What should go in the facts?
Short real product details from the person, such as size or formula.
Is it light or dark?
Light: dark ink on a frosted cream panel, with a warm gold accent.
Which agents is Skincare Macro 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.