Cinematic Scroll Landing logo

Cinematic Scroll Landing

Community
kash-123
cinematic-scroll-landing

Build dark, cinematic, awwwards-style landing pages with seamless scroll choreography — endless/infinite scroll loops, pinned image-morph galleries, book page-flip feature sections, full-page book sites, cross-dissolve scene transitions, unified AI-generated imagery, film-slate section markers. Use when the user asks for an "endless scroll", "infinite scroll", "seamless scroll", "cinematic", "movie-like", "page-flip", "flipbook", "book landing page", "book-style scroll", "morphing images" landing page, or references sites like activetheory.net, or complains that an existing scroll experience feels disjointed ("sections don't flow", "images feel unrelated"). Stack: React 19 + Vite + Tailwind + GSAP ScrollTrigger + Lenis.

Overview

Publisherkash-123
Repositorycinematic-scroll-landing
Skill namecinematic-scroll-landing
Stars
4
Forks
1
Bundled files
52
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 52 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by kash-123 on GitHub. Read the source before you install it.

Installation

Install the Cinematic Scroll Landing AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/kash-123/cinematic-scroll-landing/tree/main
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/kash-123/cinematic-scroll-landing.git \
  .claude/skills/cinematic-scroll-landing
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cinematic Scroll Landing in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Cinematic Scroll Landing on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Cinematic Scroll Landing is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Cinematic Scroll Landing Pages

Methodology distilled from production builds (agency-grade studio site rebranded into an institutional LMS landing; a full-page book site for an LMS trial). It produces sites that feel like one continuous film, not a stack of sections.

The core system (always applies)

  1. Research the reference, don't clone the stack. Award sites are usually custom WebGL engines. Decompose the feel into reproducible mechanics: smooth scroll, parallax, distortion, looping. You get 90% of the feel with Lenis + GSAP + disciplined art direction.

  2. One visual universe. The #1 cause of "sections feel unrelated" is mixed-source imagery. Generate ALL imagery with ONE locked style template (see references/imagery-universe.md). Never mix stock photos with generated art. QA every batch on a contact sheet; crop generator watermarks (bottom ~5.5% is typical).

  3. A shared atmosphere layer. One position: fixed layer behind all content (radial gradient + slow-drifting fog/noise + faint watermark), mounted ONCE at layout level — never per-section. Content floats through one continuous world.

  4. One transition grammar. Pick ONE reveal recipe and ONE dissolve recipe and use them site-wide (e.g. clip-path inset(12%)→0 + scale 1.2→1; cross-dissolves with ~25vh overlap). Matched parallax on ALL media. Consistency, not variety, is what reads as cinematic.

  5. Film grammar. Section labels as slates (SC.01 / HERO), mono folios, accent progress ticks, preloader with 000→100 counter, film grain. For book-themed sites this becomes book grammar: folios, running heads, ribbon bookmark, colophon.

Set-piece menu (choose deliberately — each has costs)

Set-pieceUse whenDo NOT use whenCost
Endless loop (Lenis infinite: true)Portfolio/brand reels meant for wanderingConversion pages — they must END on a CTA; content users need to re-findKills scrollbar/footer wayfinding; disorienting
Image-morph gallery (pinned)Showcasing N related works/productsText-heavy content~N×100vh scroll runway
Flip-book section (pinned)A chaptered feature story inside a longer pageOnly 1–2 items to show~pages×100vh runway
Full-page book (references/book-mode.md)The whole page IS the story; trial/launch pages wanting max wowDocs-like or frequently-revisited utility pagesWhole page pinned; content must fit page spreads; mobile needs a flat fallback
Cross-dissolve scenesAny multi-section cinematic page—Cheap; default choice

Costs & trade-offs (read before choosing): infinite scroll destroys the scrollbar and footer as navigation; every pinned scene adds scroll runway the user must budget (report total "lap length"; keep home ≤ ~25 viewports); stacked blurred layers and unscoped will-change melt GPUs — prefer opacity overlays over animated filter; pinned scenes need keyboard/AT escape paths; a preloader IS your LCP (a 1.6s counter + wipes ≈ +2.3s to first content — choose that knowingly and keep observed LCP ≤ 2.5s). Skipping imagery unity (core #2) or the atmosphere layer (core #3) is what makes sections feel unrelated — those two are not optional.

Workflow

  1. Teardown (if a reference URL is given): fetch HTML + screenshots + web research; identify engine, type, palette, motion vocabulary. Write findings to info.md. Conclusion is almost always "custom WebGL — imitate the mechanics, not the stack".
  2. Design doc first (palette ≤3 colors + accent, type pairing, hairlines), then implement. Pick set-pieces from the menu ON PURPOSE. Decide imagery SHIP formats/sizes now (WebP q80-85 at ≤2× render size, og as JPEG) — retrofitting at deploy time churns manifest + tests.
  3. Budget scroll length: each pinned scene costs viewports. Tell the user the total.
  4. Verify visually (NON-NEGOTIABLE): serve the build, screenshot at multiple scroll depths — hero, each set-piece mid-state, transitions, ending. Static builds of cinematic sites ALWAYS have at least one bug you can't see in code.
  5. Deep-link test: hard-load nested routes and hash anchors.
  6. Deploy, then verify the LIVE URL the same way (see checklist).

First-run setup (new machine or new user)

Install needs nothing beyond copying the files. On FIRST use, run python scripts/check_setup.py and show the user the gap report, then offer to close gaps — with their approval, never silently. The only credential is an image-gen key (free at https://aistudio.google.com/apikey; stored wherever the user's image tool expects, e.g. ~/.banana/api_key.txt — or skip if the session has an image-gen MCP/skill). Deploy auth (npx vercel login, gh auth login) is the user's own interactive step — hand them the command. Missing pieces never block design/build work; each matters only when its workflow step arrives.

Gotchas (each cost real time — check them all)

  • Vite base: './' breaks deep links. Relative asset URLs 404 the JS bundle on hard-load of nested routes → blank page. Use base: '/' (or the deployment subpath, e.g. /repo-name/ for GitHub Pages).
  • Pinned sections + loops: pins live INSIDE loop content; atmosphere/HUD are global. Outros go inside the pin timeline's tail.
  • GSAP filter clobbers Tailwind filter classes: animate filters on a wrapper div, never on the same element as Tailwind filter utilities — better, avoid animated filters entirely (opacity overlays composite cheaper).
  • Generated images ship watermarks: contact-sheet every batch, crop bottom ~5.5%.
  • "Missing images" is often logical, not 404s: audit data-level wiring (per-item image fields), not just file existence (scripts/audit_images.py).
  • Mobile + reduced-motion: unpin everything; stacked fades. Gate with gsap.matchMedia. No strobing (WCAG 2.3.1: any flash < 3/sec); pinned scenes must not trap keyboard focus; preloaders resolve instantly under reduced-motion and always carry a failsafe timeout.
  • External credentials: probe capabilities before use (list what the token can actually do before depending on it).
  • A stopped Lenis silently ignores scrollTo: preloaders stop Lenis, so programmatic jumps (hash deep-links) need { force: true }.
  • Verification tooling: puppeteer's networkidle0 never fires on hosts with keepalive connections (e.g. Vercel) — use load + a settle sleep. Local antivirus page-injection (e.g. Kaspersky) skews simulated Lighthouse scores; judge by observed FCP/LCP.
  • Unreliable filesystems: if your environment's FS is flaky, verify every git ref update immediately after making it.

Bundled resources

  • references/motion-recipes.md — copy-paste GSAP/Lenis code: Lenis infinite loop, morph gallery, flip-book section, cross-dissolves, velocity marquee, preloader.
  • references/book-mode.md — full-page book sites: sheet model, z-index choreography, timeline math, flat fallback.
  • references/imagery-universe.md — locked style template, per-item prompts, generation ops probes, contact-sheet QA + watermark crop, ship-size discipline.
  • references/verification-harness.md — screenshot/console/Lighthouse verification when browser tooling misbehaves: probe order, puppeteer-core fallback harness, binary-deploy CLI-vs-MCP probe.
  • scripts/audit_images.py — image refs vs public/ (missing + unused + shared-generic wiring smells).
  • scripts/check_setup.py — first-run environment gap report (stdlib only).

Delivery checklist

  • npm run build passes
  • Screenshots at ≥5 scroll depths reviewed (local)
  • Deep link / hash-anchor hard-loads render (not blank)
  • All imagery passes contact-sheet review (one universe, no watermarks)
  • Reduced-motion + mobile fallbacks render ALL content
  • Scroll-length budget reported to user
  • og/meta/favicon present
  • Deployed URL smoke-tested: re-screenshot hero, one mid-set-piece, ending; hash deep-link hard-load
  • Quick Lighthouse pass (perf + a11y sanity)
  • Demo copy contains no real institutions/people; credits are nominative only

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Cinematic Scroll Landing AI skill do?

Build dark, cinematic, awwwards-style landing pages with seamless scroll choreography — endless/infinite scroll loops, pinned image-morph galleries, book page-flip feature sections, full-page book sites, cross-dissolve scene transitions, unified AI-generated imagery, film-slate section markers. Use when the user asks for an "endless scroll", "infinite scroll", "seamless scroll", "cinematic", "movie-like", "page-flip", "flipbook", "book landing page", "book-style scroll", "morphing images" landing page, or references sites like activetheory.net, or complains that an existing scroll experienc...

Why use Cinematic Scroll Landing on TypingMind?

Because you install it once and use it with any model. Cinematic Scroll Landing is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Cinematic Scroll Landing in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kash-123/cinematic-scroll-landing/tree/main. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Cinematic Scroll Landing?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Cinematic Scroll Landing?

As many as you like. As long as a model supports skills, you can use Cinematic Scroll Landing with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Cinematic Scroll Landing AI skill free?

Yes. It is published on GitHub by kash-123 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇