The page this skill built from examples/mixtape, working in your browser. Opens in a new tab.
5-second example rendered by this skill from examples/mixtape · 1280×720
What you get
- A one-page hero and a paste-in embed with your name, words, numbers and links
- The tape, player and headphones cut out of every frame and drawn over the headline
- The intro animation tied to the film's own clock, so words and picture stay in step
- A phone layout: the headline stays in the frame, the introduction and buttons move into a block underneath
- Stills of the last frame for reduced motion, no WebGL, blocked autoplay or a slow connection, so it is never blank
- A 1080p MP4 with the film's sound and a poster, rendered frame by frame
- Checks at 390, 768, 1280 and 1920 px for overflow, overlaps, links and script errors
- Open-source licenses for every part it builds on
Good fit
- Music, playlist and gift apps can open on a slow push across orange shag carpet, past a clear cassette, a tape player and foam headphones.
- Brands with a short phrase, such as Side A., can set it in a giant cream headline over rainbow stripes, with the cassette and player passing in front.
- Teams with a real count, a year or a catalog number can show it on a four-digit tape counter, which can roll up from 0000 to their number.
Not for
- Swapping in your own video: the matte is made for this film, and the scene (a cassette and tape player on shag carpet) is the design
- Changing the colors, fonts or layout through settings (every word, number and link is yours; the look is fixed)
- Long headlines: each field has a length limit the build enforces
- Sound on the live page (browsers only autoplay muted video; the MP4 keeps the sound)
- Full landing pages below the hero (see the Landing Pages series)
About this skill
A website hero on five seconds of generated footage: a slow macro push across orange shag carpet over a clear cassette, a portable tape player, foam headphones and a polaroid, with warm afternoon light sweeping across. A chunky cream headline with 1970s rainbow stripes sits behind the tape and player, which are cut out of every frame and drawn over it. Around it: a cassette logo, a spec label, a round badge, a tape-counter stat and a handwritten liner note. Your agent writes one hero.json with your words and links; the build checks every length and writes a page and an embed, and a recorder makes a 1080p MP4 with sound.
Example request
Make a Mixtape hero for our playlist-sharing app with our name, headline and buttons, and record the video for the launch.
How it works
Your agent
- 1
Collect the words
Every number and claim must come from the person.
- 2
Write hero.json
Copy
<skill>/examples/mixtape/hero.json(Mixtape, an app for making playlists for one friend at a time) and replace every value. - 3
Build
It lists every problem at once (a missing field, a word too long for its place, a bad link) and writes nothing until they're fixed.
- 4
Check
It serves the page on localhost and opens it at 390, 768, 1280 and 1920 px wide and with reduced motion.
- 5
Look at it
Open the address it prints.
- 6
Record the video (optional)
Writes
out/preview.mp4(1920×1080, 30 fps, five seconds, with the film's sound) andout/poster.png(the last moment). - 7
Put it on the site
Either use
out/index.htmlas the page, or pasteout/embed.htmlinto an existing page and copyout/assets/next to it (or change the fourassets/paths to where you host them).
- 1
You get
- out/preview.mp4
- out/poster.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 video (
brew install ffmpeg,winget install ffmpeg,apt install ffmpeg; or setFFMPEG_PATH). - A web server for the page. Opened straight from disk (
file://) browsers won't let the page draw the film, and it shows the still;node scripts/serve.mjs outserves it on localhost. - Internet access when the page is opened: GSAP and the fonts load from jsDelivr (pinned, with an integrity hash) and Google Fonts. Without GSAP the hero shows its still with every word in place.
Last checked Oct 26, 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
It was opened from disk; run
node scripts/serve.mjs outand open the address. If it still shows the still, the section'sdata-fh-stillattribute says why (reduced-motion,no-webgl,autoplay-blocked,film-failed,film-slow,no-timeline).The film doesn't play on the live site but did locally
The film is on another domain without CORS headers. Serve
assets/from the same site as the page, or addAccess-Control-Allow-Originon the CDN.The build says a field is too long
Shorten the words. The headline is sized for a 5-letter word and a 3-character italic word, the sticker's big word for 7 narrow letters.
What’s in the download
- SKILL.md11.4 KBthese instructions.
- examples/
- examples/mixtape/1.07 KB1 file
- scripts/
- scripts/kit/the Footage Heroes kit the four scripts run (
build.mjs,runtime.jsfor the browser,frame.css,check.mjs,serve.mjs,record.mjs,cdp.mjs);scripts/kit/KIT.mdsays how it fits together. - scripts/kit/build.mjs13.6 KB
- scripts/kit/cdp.mjs4.90 KB
- scripts/kit/check.mjs5.48 KB
- scripts/kit/frame.css2.24 KB
- scripts/kit/KIT.md4.52 KB
- scripts/kit/record.mjs7.23 KB
- scripts/kit/runtime.js7.94 KB
- scripts/kit/serve.mjs2.55 KB
- scripts/build.mjs146 Bchecks
hero.jsonagainsttemplate/fields.jsonand writes the page, the embed and the assets. - scripts/check.mjs146 Bserves the page and checks it at four widths and with reduced motion.
- scripts/chrome.mjs3.63 KBfinds Chrome, Chromium or Edge.
- scripts/record.mjs148 Brenders the words frame by frame and lays them on the film with ffmpeg:
preview.mp4with sound andposter.png, or one still. - scripts/serve.mjs146 Bserves a built hero on localhost to look at.
- template/
- template/fields.json3.64 KBevery field of
hero.jsonwith its limit, plus the film's length and the hero's colours and fonts. - template/hero.html10.6 KBthe design: its CSS, the layer behind the cassette (headline and stripes), the layer in front, and the GSAP timeline.
- NOTICE.md1.21 KB
- TESTED.json237 B
19 files · 80.8 KB · installs to ~/.claude/skills/mixtape-hero for Claude Code and ~/.agents/skills/mixtape-hero for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- Retro hero on generated footage · words behind the subject · page + embed · 1080p MP4 with sound
- Needs
- Node.js 18+, Chrome, and ffmpeg for the video; the page needs a web server (a local one is included)
- Series
- Footage Heroes · 17 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
What can the tape counter show?
Up to four digits, one tile per digit, digits only. Set a count to the same number and the tiles roll up from 0000 during the film, like a tape counter. With no real figure, use a year or a catalog number such as 0045, with a label that says what it is.
What goes on the label strip and the liner note?
The cassette-label strip above the headline takes up to 36 characters, and putting asterisks around words turns them rust. The liner-note card takes a typed line of up to 30 characters and a handwritten line of up to 40.
How long can the headline be?
One upright word of up to 5 letters, such as Side or Track, and a short italic word of up to 3 characters, such as A. or B. Pick words that read as one phrase. The round sticker’s big word takes 7 narrow letters or 6 wide ones.
Which agents is Mixtape 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 licensesBuilt on greensock/GSAP
What Lookbk adds on top of greensock/GSAP (Standard License): the footage, which was generated for Lookbk (a still image animated into film, with the matte cut from every frame), and the layout, template and Footage Heroes kit, all written for Lookbk. GSAP (free under its Standard License) loads from a pinned CDN with SRI; the fonts are from Google Fonts.
Credits and licenses for the open-source software and fonts it uses are in NOTICE.md inside the download.