gsap-performance

Optimizes GSAP animations for smooth 60fps rendering using transforms and batching.

52|3|Updated Aug 20, 2026
One-click install
npx skills add https://github.com/Wayn-Git/Amethyst --skill gsap-performance-wayn-git
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: gsap-performance
Source: https://github.com/Wayn-Git/Amethyst/tree/main/agents/skills/gsap-performance
Command: npx skills add https://github.com/Wayn-Git/Amethyst --skill gsap-performance-wayn-git

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? GSAP animations can cause jank, dropped frames, and layout thrashing when developers animate layout-heavy properties or create excessive tweens. This Skill provides concrete rules and patterns to keep animations on the compositor thread and maintain smooth 60fps rendering. ## Core Features & Use Cases - Compositor-Friendly Properties: Enforces animating transform and opacity instead of width, height, top, or left to avoid layout and paint costs. - Efficient Update Patterns: Recommends gsap.quickTo() for frequently updated properties like mouse followers, and stagger instead of many separate tweens. - ScrollTrigger Tuning: Covers pin promotion, scrub values, and debounced ScrollTrigger.refresh() calls to reduce scroll-time work. - Use Case: When a user reports a laggy scroll-driven animation or a janky mouse-follower effect, apply these guidelines to refactor tweens onto transforms, batch reads and writes, and kill off-screen animations. ## Quick Start Ask the AI to review your GSAP animation code for performance issues and refactor it to use transforms, quickTo, and proper cleanup.

Frequently Asked Questions about gsap-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make GSAP animations run at 60fps?▼

Animate only transform properties (x, y, scale, rotation) and opacity, which stay on the compositor thread. Avoid animating width, height, top, left, margin, or padding since they trigger layout and cause jank.

What is gsap.quickTo and when should I use it?▼

gsap.quickTo() creates a single reusable tween for properties updated frequently, such as mouse-follower x/y positions. It avoids creating a new tween on every mousemove event, reducing overhead.

Should I use will-change on all animated elements?▼

No, apply will-change: transform only to elements that will actually animate. Setting it on every element wastes memory and can hurt performance instead of helping layer promotion.

Why does my ScrollTrigger animation lag during scroll?▼

Lag often comes from excessive pinning, calling ScrollTrigger.refresh() on every resize, or too many simultaneous triggers. Use scrub with a small value, pin only what is needed, and debounce refresh calls.

How do I animate many elements without jank in GSAP?▼

Use stagger instead of many separate tweens with manual delays, and reuse timelines rather than creating new ones each frame. For long lists, animate only visible items or use virtualization.