The page this skill built from examples/fernhall, working in your browser. Opens in a new tab. Also: Pomelo.
10-second example rendered by this skill from examples/fernhall · 1280×720
Example settingswhat each example above was built from
examples/fernhallhero.json
- Brand
- Fernhall Type
- Headline
- Letters with some weight.
- Badge
- New family · Plump Display
- Colors
- background #f3ead9 · ink #1d1a16 · accent #a5351f
- Mode
- light
- Fonts
- Bricolage Grotesque and Instrument Sans
examples/pomelohero.json
- Brand
- Pomelo
- Headline
- Reading that feels like playtime.
- Badge
- Reading app for ages 4 to 7
- Colors
- background #16224a · ink #f7f4ec · accent #ffc94d
- Mode
- dark
- Fonts
- Fredoka and Nunito
What you get
- A self-contained index.html hero and an embed.html to paste into an existing site
- Your word dropped as solid, extruded letters or toy blocks in your colours and headline font
- Deterministic physics with bounce, tumble, friction and a squash on every hard landing
- A trapdoor sweep that clears the shelf so the loop closes exactly
- A pointer shove on the live page and a scripted nudge in recordings
- An SVG still of the settled pile for reduced motion and failures
- A frame-exact 1080p MP4 loop and poster, plus contrast and layout checks at four widths
- Open-source licenses for every part it builds on
Good fit
- A type foundry, sign maker or lettering studio that wants its letters to feel heavy and physical on the first screen.
- A toy, game or children's learning brand whose name reads well as a pile of bright blocks.
- A launch or brand page that needs a playful hero video which loops without a visible seam.
Not for
- Long words or phrases (the word is 2 to 10 characters)
- Calm, minimal or luxury pages that need a still hero
- Lowercase or script wordmarks that must keep their exact shape
- Reproducing a real logo as the falling letters
About this skill
Big, chunky letters of the brand's word fall from the top of the hero one after another, bounce, tumble and pile up on a shelf beside the headline. Each letter is solid, with a lit face, a darker extruded side, a soft shadow and a squash and spring back when it lands hard. A small rigid-body solver runs the whole loop once from a fixed seed with a fixed step, and every frame is looked up by time, so the recording is the same on any machine. Near the end of the loop the shelf drops open like a trapdoor, the pile slides away and the drop starts again, closing the loop exactly. On the live page the pointer shoves letters aside. Letters can be the glyphs themselves or toy blocks, drawn on a plain 2D canvas with no libraries.
Example request
Make a hero for our type foundry where the letters of our new typeface's name drop in and pile up beside the headline.
How it works
Your agent
- 1
Collect the brand
Every claim, price, date and spec in the copy must come from the person.
- 2
Write hero.json
Copy the closer example and replace everything:
examples/fernhall/hero.json(a type foundry launching a heavy display face, solid letters on cream, copy on the left) orexamples/pomelo/hero.json(a reading app for young children, toy blocks on deep navy, copy on the right). - 3
Build
It lists every problem in
hero.jsonat once (missing fields, text over its limit, a setting out of range, characters that can't drop, a still moment after the sweep has started, 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, the live hero at 5.5 seconds, when the pile has settled. - 6
Record the video
It steps the hero through 8 seconds at 30 fps at 1920×1080, drawing each frame at exactly its time, and writes
out/preview.mp4(H.264, for X, LinkedIn, Product Hunt or a README) andout/poster.png(the frame at 3.4 s). - 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). - At runtime, nothing but a 2D canvas: the solver and the drawing code are inlined in the page. Fonts load from jsDelivr (the pinned list) or Google Fonts; without the network the page uses system fonts.
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 word doesn't read in the pile
Try other seeds, raise
spreadtoward 1, lowertumble, or useorder: reading.Letters are still on the shelf when the loop ends
The build says so. Raise
sweeportilt.
What’s in the download
- SKILL.md17.0 KB
- examples/
- examples/fernhall/1.89 KBFernhall Type, a type foundry launching a display face, light · 2 files
- examples/pomelo/1.96 KBPomelo, a reading app for young children, dark, blocks · 2 files
- scripts/
- scripts/effect/the letters themselves:
effect.mjs(their settings, checks, the build-time run of the solver and the still picture) andeffect.js(the rigid-body solver, the frame lookup, the shelf and its trapdoor, the squash, the pointer shove and the drawing on a 2D canvas). - scripts/effect/effect.js26.5 KB
- scripts/effect/effect.mjs10.9 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), the pinned three.js catalogue (three.json, unused by this effect) 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.68 KBwhere the effect comes from, and the fonts it loads.
- TESTED.json726 B
25 files · 185 KB · installs to ~/.claude/skills/letter-drop-hero for Claude Code and ~/.agents/skills/letter-drop-hero for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- Rigid-body letter drop · 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
Will the drop look the same every time?
Yes. The physics runs once from the seed with a fixed step, and every frame is looked up by time, so the same settings always give the same drop, the same pile and the same recording on any machine. Change the seed for a different pile.
How does the loop restart?
Near the end of each loop the shelf drops open like a trapdoor, 40 degrees by default, the pile slides off its far end, and the shelf swings back level before the next drop. With the default 10 second cycle, record 10 seconds for one exact loop.
Can I use toy blocks instead of letters?
Yes. Set style to blocks and each letter is printed on a rounded block in your colours, with the letter in a contrasting ink. The blocks bounce, tumble and pile with the same physics as the plain letters.
Which agents is Letter Drop 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 letters run on a hand-written rigid-body solver drawn on a plain 2D canvas with no libraries, and the brands in the examples are made up. 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.