---
name: creating-oneshot-landing-pages
description: >-
Designs and builds video-driven parallax hero landing pages with smooth video scrubbing, progress-locked typography, and clean navigation. Powered by Gemini Omni and Nano Banana.
---
# Creating Oneshot Hero Landing Pages
An Antigravity skill to design and build video-driven parallax hero landing pages and looping motion showcases.
---
## 1. 4-Step Execution Pipeline
Execute every landing page request in this order:
1. **Step 1: Reference Images**: Generate reference images via `generate_image` (the built-in Antigravity tool powered by Nano Banana / `gemini-3.1-flash-image`) and save them into `./assets/` (e.g. `./assets/hero_ref.jpg`, `./assets/showcase_ref.jpg`).
2. **Step 2: Video Generation**: Execute Python REST calls against `gemini-omni-flash-preview` (Section 3) using the reference images to generate 10s 16:9 `.mp4` video files into `./assets/`.
3. **Step 3: Frontend Implementation**: Implement the **Hero Video Scrub Scaffold** (Section 4) in `index.html` with smooth scroll video scrubbing, progress-locked hero text, and clean navigation.
4. **Step 4: Verification & Local Hosting**: Launch a local preview server (`python3 -m http.server 3000 --directory
`), verify all video assets return `200 OK`, and inspect the visual layout.
---
## 2. Design Guidelines
- **Navigation Guidelines**:
- **Pick ONE Focused Composition**:
- `[Logo]` + `[2–4 Editorial Links Max]` (strictly <= 4 links)
- `[Logo]` + `[Menu / Index Trigger]`
- `[Logo]` + `[Brand Tagline or Location]` + `[Menu]`
- `[Logo]` + `[Single Quiet CTA]`
- `[Split Nav]` with `[2 Links]` Left, `[Logo]` Center, `[2 Links or 1 CTA]` Right
- **Keep It Simple**: If you have 2–4 inline links, do not stack a heavy CTA button and hamburger menu next to them. If using a drawer, keep the bar quiet.
- **No Mechanical Numbering or Fake Tickers**: Do not prefix mechanical numbers (`01`, `02`, `03`) onto nav links. Do not add fake GPS coordinates, sensor readings, or status dots (`● LIVE`).
- **No Decorative SVG Icons on Cards or UI**:
- Do not place decorative SVG icons, Lucide icons (``), or icon badge containers inside feature cards, headings, bullet points, or buttons.
- Cards, pillars, and sections should rely on typography, whitespace, and photography/video. (SVGs are fine for a logo mark or modal close button).
- **No Toy Widgets, Interactive Simulators, or Mini-Games**:
- Landing pages are editorial showcases.
- Do not generate character stat calculators, RPG inventory boxes, physics toy widgets, interactive sandbox cards, or `canvas-confetti` particle scripts.
- For playful brands or games, express personality through **color palettes, typography, and video motion** rather than playable JavaScript mini-games or calculators.
- **No Unrequested Audio Buttons or Sound Synthesizers**:
- Do not generate audio toggle buttons (`🔊`), background sound generators, or Web Audio API synthesizers (`AudioContext`, oscillators).
- **Clean Typography Over Badges**:
- Default to unbordered typography, subtle font weights, fine line accents (`—`), or roman numerals (`I`, `II`) instead of encasing words inside rounded pill badges (`[ BADGE ]`).
- When a tag or table cell is necessary:
- **1–2 Words Maximum**: Do not put long descriptions or sentences into compact badges (e.g. use `LEO`, not `LEO Station Rendezvous`).
- **Include `whitespace-nowrap`**: Keep badge text on a single line so it never breaks into awkward stacks.
- **Single-Row Filter Bars**: Filter buttons should stay on a single unbroken row (`flex items-center gap-2 overflow-x-auto whitespace-nowrap`).
- **Responsive Tables**: Data tables should use responsive scroll wrappers (`overflow-x-auto min-w-[650px]`).
- **Media & Hero Video Rules**:
- The hero must use a `