gsap-vanilla
GSAP Vanilla
mount → initial state → intro → settled → outro → end state → unmount
On full document loads, the browser owns mount and unmount; animation owns the five phases between them. On same-document swaps, the router owns node replacement and persistent resources need explicit cleanup.
Keep the requested look and existing project conventions. Add GSAP/plugins only as needed; do not replace the chosen animation library unless asked.
This skill decides when motion runs. For what moves, and for a feel such as premium or playful, also load the animaxxing skill when it is installed: its recipes and its guide to finding the vibe plug into this lifecycle.
Start with the project
Read repository instructions, existing animation, layouts, navigation, CSS, accessibility conventions, and checks. Then:
- Find out how pages are produced: hand-written HTML, a static generator with no client framework, a bundler such as Vite with no UI framework, or a transition library such as Swup, Barba, or Taxi. If a component framework renders the pages, say this skill does not cover it and use that framework's skill.
- Find out how GSAP loads: npm import, import map, or script tag. Keep it.
- Find out how scripts run: inline,
defer, ortype="module". This decides when the DOM exists and whether the page can paint before the script runs. - Check the target browsers. Cross-document View Transitions,
pageswapandpagereveal, the Navigation API, andblocking="render"are not everywhere. Read installed transition-library docs/types and feature-detect browser APIs instead of trusting memory, and make sure the site works with all of them missing.