The page this skill built from examples/longlight, working in your browser. Opens in a new tab. Also: Solmercado.
12-second example rendered by this skill from examples/longlight · 1280×720
What you get
- A self-contained index.html hero and an embed.html to paste into an existing site
- A seamless 12-second loop of turning rays, spinning rings of dots and a rippling sun
- Two spot inks that overprint into a third colour, with misregistration, uneven toner and paper grain
- 15 documented effect settings: paper, two inks, ray count and width, turn, sun size, sunset stripes, spin, ripple, screen size, misregistration, grain and copy dimming
- An SVG still with the same burst and sun for no WebGL, and one real frame for reduced motion, so the hero is never blank
- Contrast and layout checks at 390, 768, 1024 and 1440 px
- A frame-exact MP4 (1080p by default, portrait sizes too) and a poster, the same on any machine
- Open-source licenses for every part it builds on
Good fit
- Festivals, concerts and summer events can get a gig-poster look, with rays in one ink and a striped sunset sun in another.
- Food markets, restaurants, record labels and beach brands on a light paper-coloured page can show two inks overprinting into a third colour.
- Teams announcing a line-up or launch can record a 1080p video that loops without a seam every 12 seconds.
Not for
- Dark pages: the inks multiply on paper, so the build only accepts a light background
- Quiet, minimal brands: a sunburst is loud by design
- Full landing pages below the hero (see the Landing Pages series)
About this skill
A hero section printed like a two-ink screen poster. A sunburst of rays in one ink is screened in round halftone dots, and the dots swell and shrink as the rays turn through them. A sun in the second ink is built of dots in rings that turn in opposite directions, with a ripple running outward, a halo of shrinking dots and poster-sunset stripes across its lower half. The sun ink sits slightly out of register and drifts, and both inks multiply on grainy paper. The loop repeats without a seam every 12 seconds. Your agent sets your paper, inks, rays, fonts, logo and words, checks contrast at four widths and records a frame-exact 1080p video.
Example request
Build a Halftone Sunburst hero for Longlight, our music festival on the Isle of Bute: navy rays and a tomato-red striped sunset on cream paper, headline 'Three days of the longest light.', and record the video for the line-up announcement.
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/longlight/hero.json(cream paper, navy rays, a tomato-red striped sunset, a condensed headline on the left: a music festival) orexamples/solmercado/hero.json(pale pink paper, green rays, an orange whole sun with a strong ripple, a chunkier screen and looser register, a script headline on the right: a street food market). - 3
Build
It lists every problem in
hero.jsonat once (missing fields, text over its limit, a setting out of range, a paper too dark to print on, 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 12 seconds at 30 fps at 1920×1080, drawing each frame at exactly its time, and writes
out/preview.mp4(H.264; 12 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. Only the fonts load from a CDN; without the network the page uses system fonts. Without WebGL, visitors see the SVG still: the same sunburst and sun, dot for dot.
Last checked Oct 26, 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.
"too dark: the inks print over the paper"
Use a light paper. The inks multiply like real ink, so this effect needs a light page; for a dark one pick another Motion Hero.
The words fight the dots
Lower
copyDimor raisetheme.scrim.
What’s in the download
- SKILL.md13.8 KB
- examples/
- examples/longlight/1.88 KBLonglight, a music festival, navy and tomato on cream · 2 files
- examples/solmercado/1.90 KBSol Mercado, a street food market, green and orange on pink · 2 files
- scripts/
- scripts/effect/the print itself:
effect.mjs(its settings, checks and the SVG still) andeffect.js(the WebGL shader: the rays' screen, the sun's rings of dots, misregistration, inks and paper). - scripts/effect/effect.js10.2 KB
- scripts/effect/effect.mjs7.11 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.43 KBwhere the effect comes from, and the fonts it loads.
- TESTED.json685 B
25 files · 161 KB · installs to ~/.claude/skills/halftone-sunburst-hero for Claude Code and ~/.agents/skills/halftone-sunburst-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 video
- Needs
- Node.js 18+, Chrome (or Chromium/Edge), and ffmpeg for the video
- Series
- Motion Heroes · 50 skills
- Updated
- Oct 26, 2026
- Checked
- Oct 26, 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?
No. The inks multiply over the paper like real ink, so the build refuses a dark paper and asks for a light one. The ray ink must reach 2.2:1 on the paper and the sun ink 1.8:1. For a dark page, pick another hero.
Why do the rays shimmer on my phone?
The halftone dots can come close to the size of the phone’s own pixels. Raise the dot setting, the distance between dots from 6 to 28 px (default 12), so the screen stays coarser than the pixels. Dots are already drawn a little smaller on phones.
Will the text stay readable over the dots?
Yes. Behind the copy the dots shrink to a share of their size set by copyDim, default 0.25, and the build checks the text against both inks at that level. If the words still fight the dots, lower copyDim or raise the scrim. With reduced motion visitors get one still frame at 4 seconds.
Which agents is Halftone Sunburst 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 halftone print effect, its shader, the Motion Heroes kit and the examples. No third-party code is 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.