The page this skill built from examples/harrow-fell, working in your browser. Opens in a new tab. Also: .
9-second example rendered by this skill from examples/harrow-fell · 1280×720
Example settingswhat each example above was built from
examples/harrow-fellhero.json
- Brand
- Harrow & Fell
- Headline
- Every ridge hides another.
- Colors
- background #efe6d8 · ink #17201f · accent #b4532a
- Mode
- light
- Fonts
- Instrument Serif and Instrument Sans
examples/kestel-roofhero.json
- Brand
- Kestel Roof
- Headline
- Supper on the eleventh floor.
- Colors
- background #0b101c · ink #f2ebdf · accent #f2a54a
- Mode
- dark
- Fonts
- Big Shoulders Display and DM Sans
What you get
- A self-contained index.html hero and an embed.html to paste into an existing site
- A mountain range at dawn or a city at night painted on 6 plates at real distances
- Near trees or roofs passing in front of the foot of the letters, never more than 30% of any letter
- A pinned scroll that raises the camera so far ranges and the sun or moon rise behind the words
- Computed air, valley mist, rim light and out-of-focus near plates
- A baked still of the scene for when WebGL is off, plus checks at 4 widths
- A frame-exact 1080p MP4 of the scroll and a poster
- Open-source licenses for every part it builds on
Good fit
- A walking holiday, mountain hut or outdoor brand whose promise is the view waiting past the next ridge.
- A rooftop restaurant, hotel or bar that wants its name set among the city lights it looks out over.
- A brand site that needs a calm, deep first screen and a short scroll video of the camera rising.
Not for
- Long headlines that wrap into many tall lines on phones
- Brands that need a photo or product shot as the hero picture
- Heroes placed inside a box with overflow set, where sticky pinning can't work
- Dark themes over the mountain scene or light themes over the city
About this skill
A centred lockup hero built like a multiplane camera. A scene is painted in code on 6 plates at real distances from the lens, and the headline is one of them: the far plates drift against the pointer, the near plates move with it, and the words hold still. Two worlds come with it, a mountain range at first light with snow, spruce, valley fog and grass at the lens, or a city at night with lit towers, a moon, chimneys, a water tower and a festoon of lamps. Air, mist, light and defocus are computed, not painted. Scrolling raises the camera over 1.25 screen heights, so the near ridge drops below the words while the sun rises behind them, and no letter is ever covered more than 30%.
Example request
Make a hero where our headline sits inside a layered landscape, with near ridges passing in front of the words and the far mountains and sun rising as visitors scroll.
How it works
Your agent
- 1
Collect the brand and the words
Name and a logo (
.svg) or a monogram. - 2
Write hero.json
Copy
examples/harrow-fell/hero.json(the range, a walking company) orexamples/kestel-roof/hero.json(the city, a rooftop restaurant) and replace everything. - 3
Build, bake the still, check, look, record
still.mjsbakes the picture shown when WebGL is off (and before the first frame): the whole scene at frame 0, wide and tall, intoout/assets/. - 4
Put it live
Upload
index.htmlandassets/, or pasteembed.htmlinto your page and copyassets/next to it.
- 1
You get
- index.html
- embed.html


What you need
- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge, for the checks, the still and the recording (set
CHROME_PATHif it isn't found). - ffmpeg, for the video (or set
FFMPEG_PATH). - Internet access when the page is opened, for the fonts (pinned with integrity hashes).
Last checked Nov 8, 2026: the package’s own build and render commands ran and passed.
If something goes wrong
The page shows a still picture and the plates never move
WebGL isn't available (or the visitor asked for reduced motion: then frame 0 is drawn once). The still is the baked scene; rebake it with
still.mjsif it shows the example's colours.The build refuses the scene
A dark theme needs
scene: "city"and a light themescene: "range", so the ink reads on the sky.The near plate hardly crosses the letters
Raise
covertoward 0.33, or use a display face with longer descenders and stems; the trees and chimneys grow as tall as each letter allows.
What’s in the download
- SKILL.md9.45 KB
- examples/
- examples/harrow-fell/1.15 KBtwo examples. · 1 file
- examples/kestel-roof/1.26 KB1 file
- scripts/
- scripts/effect/
- scripts/effect/effect.js44.8 KBthe plates, the air and the light (one WebGL1 shader, two passes), the per-letter ceiling and the roofs' layout.
- scripts/effect/effect.mjs8.38 KBthe settings, checks, still picture and story.
- scripts/kit/the Motion Heroes kit v2, unchanged (see
KIT.md). - scripts/kit/build.mjs47.4 KB
- scripts/kit/cdp.mjs5.07 KB
- scripts/kit/check.mjs15.7 KB
- scripts/kit/fonts.json5.42 KB
- scripts/kit/KIT.md13.7 KB
- scripts/kit/record.mjs8.11 KB
- scripts/kit/runtime.js22.5 KB
- scripts/kit/shell.css18.7 KB
- scripts/kit/three.json6.35 KB
- scripts/build.mjs263 Bthe kit's entry points (build the page, check it at four widths, record the video and stills).
- scripts/check.mjs179 B
- scripts/chrome.mjs3.63 KB
- scripts/color.mjs1.40 KB
- scripts/coverage.mjs3.17 KBmeasures how much of each letter the near plates cover, over the scroll and the pointer's extremes.
- scripts/inline.mjs1.67 KB
- scripts/markup.mjs6.15 KB
- scripts/record.mjs255 B
- scripts/screenshot.mjs1.79 KB
- scripts/still.mjs3.02 KBbakes the WebGL-off still picture of your own scene into
out/assets/. - NOTICE.md1.09 KB
- TESTED.json918 B
26 files · 231 KB · installs to ~/.claude/skills/parallax-depth-hero for Claude Code and ~/.agents/skills/parallax-depth-hero for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- WebGL multiplane scene with the headline as a plate · page + embed · 1080p scroll video
- Needs
- Node.js 18+, Chrome (or Chromium/Edge), and ffmpeg for the video
- Series
- Motion Heroes · 87 skills
- Updated
- Nov 8, 2026
- Checked
- Nov 8, 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
Can the scenery hide the headline?
No. The page draws each letter in its real font and finds the height that leaves 30% of its ink below; no near plate is drawn above it. A separate script measures the covered share over the whole scroll at 4 widths and fails above a third.
What do visitors see without WebGL or with reduced motion?
With reduced motion the scene is drawn once at its first frame and nothing pins. Without WebGL they see a baked picture of the same scene, wide on desktops and tall on phones, behind the real headline and copy.
How heavy is it to run?
It is one shader and no libraries. The scene draws at most 1.5 device pixels per CSS pixel and measured under 10.1 ms a frame at 1440 by 900 on a 2x screen.
Which agents is Parallax Depth 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 in raw WebGL with no libraries, the fonts load from Fontsource under the SIL Open Font License 1.1, and the brands and copy 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.