1---2name: gsap-scrolltrigger-storytelling3description: Build cinematic sticky product storytelling with GSAP ScrollTrigger, progressive UI reveals, scroll-synced animation, smooth interpolation, and immersive section transitions.4---5
6# GSAP ScrollTrigger Storytelling Skill
7
8## Use When
9- Build cinematic sticky product storytelling with GSAP ScrollTrigger, progressive UI reveals, scroll-synced animation, smooth interpolation, and immersive section transitions.
10
11## Workflow
12
13## Scope
14- Apply this when the page should feel like a scroll-driven product story rather than a static marketing layout.
15- Use GSAP ScrollTrigger as the main choreography layer for sticky sections, progressive interface reveals, pinned scenes, scrubbed timelines, and immersive transitions between sections.
16- Preserve the actual product narrative and interface clarity. The motion should amplify comprehension, not hide basic content behind theatrical effects.
17
18## Experience target
19- Create sticky product storytelling where each scroll segment reveals a new product state, feature layer, data view, device frame, or workflow step.
20- Use scroll-synced animation so copy, UI panels, screenshots, overlays, and background atmosphere move together as one authored sequence.
21- Build progressive UI reveals: draw in frames, fade in controls, slide panels into place, count values up, highlight regions, and swap states as the user advances.
22- Keep the overall mood cinematic, premium, and immersive with controlled pacing, clean staging, depth, and transitions that feel intentional.
23
24## Implementation guidance
25- Use GSAP timelines with ScrollTrigger `scrub` for the main scroll narrative and regular tweens only for supporting entrance or hover motion.
26- Pin long-form story sections with `pin: true` and map each scene to explicit timeline labels so the sequence is easy to tune.
27- Prefer transform and opacity animation over layout-affecting properties. Use `will-change` sparingly on animated elements that actually need it.
28- Use `gsap.context()` in React components and clean it up on unmount so ScrollTriggers are killed correctly.
29- Refresh ScrollTrigger after images, fonts, or async content load if those assets affect section height or pinned offsets.
30- Use `matchMedia()` or equivalent breakpoints so desktop sticky choreography can simplify gracefully on smaller screens.
31
32## Motion patterns
33- Sticky product frame: keep the main artifact pinned while the surrounding narrative updates in measured steps.
34- Layer reveal: bring labels, overlays, panels, and product states in one at a time with short offsets and a shared easing language.
35- Section handoff: let the current scene scale, mask, blur, or translate into the next section instead of ending abruptly.
36- Smooth interpolation: use scrub smoothing, quickSetter/quickTo, or lerped values for pointer-following and scroll-reactive details.
37- Cinematic depth: use foreground/background parallax, subtle camera moves, dimming layers, masks, and focus shifts without overwhelming readability.
38
39## Tuning knobs
40- Pin duration: extend for dense product stories, shorten when the scene has only one or two state changes.
41- Scrub feel: use direct scrub for precise technical walkthroughs and eased scrub for a more cinematic product film feel.
42- Reveal density: add more micro-reveals for complex UI, reduce them for narrative sections where copy needs to carry the moment.
43- Transition intensity: keep high-impact transitions reserved for section handoffs, not every small content change.
44
45## Avoid
46- Triggering unrelated animations on every scroll tick without a clear story beat.
47- Using sticky/pinned sections that trap the reader for too long or make the page feel broken.
48- Animating width, height, top, left, or layout-heavy properties during scrubbed scenes when transforms can do the job.
49- Letting cinematic effects reduce text contrast, cover CTAs, or obscure the product UI the section is meant to explain.
50- Leaving ScrollTriggers alive after component unmounts or route changes.