Skip to content
AI & Agents
Skill

/scrollytelling-web

Design and implement cinematic scroll-driven web narratives: pinned scenes, scrubbed timelines, product decomposition, image sequences, section transitions, spatial storytelling, and progressive 3D reveals. Use when scroll itself drives the story.

From plugin
skill
9.5k127 skills

Claude Code

$ npx -y skills add anbeime/skill --skill scrollytelling-web --agent claude-code

SKILL.md

scrollytelling-web.SKILL.md
name: scrollytelling-web
description: "Design and implement cinematic scroll-driven web narratives: pinned scenes, scrubbed timelines, product decomposition, image sequences, section transitions, spatial storytelling, and progressive 3D reveals. Use when scroll itself drives the story."

Scrollytelling Web

Build scroll experiences as authored narratives, not a pile of parallax effects. Scroll is the user's timeline controller; every pinned section, camera move, reveal, and product transformation must advance understanding or emotion.

1. Storyboard before code

Convert the page into **beats**. For every beat define:

  • what the user should understand or feel;
  • what remains spatially stable;
  • what changes with scroll progress;
  • the entry and exit state;
  • whether the user can stop at any intermediate frame without seeing a broken composition;
  • mobile/reduced-motion alternative.

For a product-decomposition sequence, a useful structure is:

1. establish the intact product; 2. isolate the key assembly; 3. explode parts along authored axes; 4. hold long enough for labels/copy to explain them; 5. move camera or product only after the part relationship is understood; 6. reassemble or transition into the next narrative state.

Do not make everything move simultaneously. Choreography needs hierarchy.

2. Pick the smallest correct engine

Use the simplest tool that can express the intended motion **well**:

  • **CSS transitions / native scroll-driven animation** — simple reveals, progress-linked decoration, sticky sections with modest transforms.
  • **Motion (`motion/react`)** — local React interactions, springs, component transitions, lightweight viewport effects.
  • **GSAP + ScrollTrigger** — default for serious scrollytelling: pinned/scrubbed timelines, coordinated multi-element chapters, horizontal story tracks, image-sequence scrubbing, long-form section handoffs, precise start/end markers.
  • **Lenis / smooth-scroll layer** — only when the choreography materially benefits from controlled smoothing. Never add scroll hijacking as decorative infrastructure.
  • **Lottie / Rive** — authored 2D/vector animations with well-defined state machines or timelines.
  • **Three.js / React Three Fiber** — real 3D camera work, lighting, materials, exploded assemblies, depth, product rotations, particles, or scenes where flat DOM transforms would be a fake substitute.

If a 2D solution communicates the product just as well, do not pay the 3D complexity/performance tax.

3. Scroll model

Normalize complex scroll experiences around a semantic progress value (`0..1`) or named chapter states. Keep narrative state separate from raw browser events.

Do **not** wire dozens of independent `scroll` listeners that each call layout reads and state updates. Prefer one timeline/controller that owns the sequence.

For GSAP, pair with `gsap-scrolltrigger`. For React, also apply the project's lifecycle/cleanup conventions and keep hot continuous values out of React render state.

4. Pinned scene rules

Pinned scenes work when the user understands why the page temporarily stops moving in document space.

  • Pin a stable wrapper/stage; animate descendants or scene state rather than fighting the pinned element's own transform.
  • Give the sequence enough scroll distance to read, but do not make the user grind through empty motion.
  • Design the exact first and last frame so the handoff back to normal document flow is seamless.
  • Avoid multiple nested pins unless there is a compelling reason and tested behavior.
  • Recompute positions after asset/font/layout changes when the animation engine requires it.
  • Test browser resize, dynamic address bars, and orientation changes.

5. Product exploded views

When the brief asks to “descompose/despiezar/explotar” a product:

Asset preparation

Prefer a properly authored GLB/glTF with meaningful node names and pivots. Parts that must separate independently need separate meshes/groups. Preserve a hierarchy that matches the product's conceptual assemblies.

If only a flattened render/image exists, do not pretend it is genuine 3D. Use an image-sequence/masked 2.5D treatment or request/produce the missing 3D asset through the project's asset workflow.

Explosion choreography

  • Define an intact pose and an exploded pose for each semantic part.
  • Use authored local axes or vectors; random radial explosions look like a debug visualization.
  • Stagger related assemblies in logical order.
  • Keep labels anchored to the relevant part and readable through camera motion.
  • Let camera movement support the part motion, not compete with it.
  • Reserve depth, rotation, focus changes, and lighting shifts for explanatory emphasis.

Scene quality

For premium product work, lighting/material/camera quality matters as much as the scroll linkage. Use physically plausible materials when the object demands realism, intentional environment/reflections, restrained post-processing, and consistent tone mapping. Avoid excessive bloom and “tech neon” unless the brand actually calls for it.

Use `threejs-product-storytelling` for the scene-specific craft layer.

6. Image-sequence scrollytelling

For photorealistic product transformation without real-time 3D, pre-rendered sequences are often the best solution.

  • Decode/preload intelligently around the current frame instead of loading hundreds of full-size frames synchronously.
  • Prefer modern formats where the delivery pipeline supports them.
  • Draw to a canvas sized for the displayed resolution, not the original camera master.
  • Map scroll progress monotonically to frame index; avoid jitter from repeated rounding around boundaries.
  • Provide a poster/static state before the sequence is ready.
  • On constrained mobile/network conditions, fall back to a short video/static milestone sequence if needed.

7. Typography and narrative layering

Copy is part of the choreography. Avoid forcing users to read paragraphs while the visual target

Read more
@anbeime
Ships withskill

收录最全、更新最快的AI Agent技能库,涵盖文档处理、内容创作、编程开发、机器学习、自动化工作流等多个领域的精选技能包。 🎁 知易多模型知识管家 · 免费试用预约 — 20+ 模型自由切换、技能市场、四色卡片知识库,留邮箱锁定免费试用名额,每周再收一份知易AI周刊。

9.5k127 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
9.5k
Star history of anbeime/skill on GitHub, a chart by star-history.com

Other skills on skill.

doc-parse

doc-parse

将 PDF/PPT/Excel/Word 等多格式文档解析为结构化 Markdown,并输出元数据与解析置信度,作为 RAG 与四色卡片的数据底座。

@anbeime@anbeimeInstall Skill
four-color-cards

four-color-cards

基于解析后的文档与用户意图,生成四色卡片——事实蓝卡、解释绿卡、风险黄卡、行动红卡,是八官署方法论的核心分析输出。

@anbeime@anbeimeInstall Skill
provenance

provenance

收集系统全链路操作日志,生成可追溯的执行证据链与向量索引,是多智能体系统可观测性与安全审计的底座。

@anbeime@anbeimeInstall Skill
security-scan

security-scan

对进入系统的文件或 URL 执行安全与合规扫描,输出 pass/reject 判定与扫描报告,作为所有文档处理的强制前置关卡。

@anbeime@anbeimeInstall Skill
RuiC-card-skill

RuiC-card-skill

Generate interactive 3D holographic collectible-card websites from a user description or reference image, using layered artwork,…

@anbeime@anbeimeInstall Skill
agent-team

agent-team

产品经理与项目管理专家在应对复杂项目时,使用此技能可动态组建包含“执行、指挥、评审”的专属AI团队。实时查看多智能体辩论与决策全过程,共享统一上下文记忆,一键完成从会议决策到系统构建的全流程高效协同!

@anbeime@anbeimeInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw2w393k
@openclaw@openclawInstall Skill

Questions about scrollytelling-web.

Which coding agents can use scrollytelling-web?
scrollytelling-web installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.