Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
nexu-io avatar

Gsap Performance

  • 1.2k installs
  • 83.7k repo stars
  • Updated August 5, 2026
  • nexu-io/open-design

This is a copy of gsap-performance by greensock - installs and ranking accrue to the original listing.

gsap-performance is an agent skill curated from GreenSock's official gsap-skills repo that teaches developers to optimize GSAP animations for smooth 60fps by preferring transforms, batching updates, and avoiding layout t

About

gsap-performance is an agent skill from nexu-io/open-design, curated upstream from GreenSock's official gsap-skills repository under MIT license. The skill focuses on GSAP animation performance: preferring transform and opacity tweens, avoiding layout thrashing, using will-change strategically, and batching DOM reads and writes to reduce jank. It pairs with gsap-core for transform and autoAlpha basics and applies when users report animation jank, low FPS, or ask about smooth 60fps motion. Developers reach for gsap-performance during optimization passes on scroll-driven timelines, hero animations, and interactive UI motion before shipping production frontends. Trigger phrases include gsap performance, animation jank, 60fps animation, will-change, and layout thrashing.

  • gsap-performance
  • AI & Agent Building
  • AI-coding skill

Gsap Performance by the numbers

  • 1,207 all-time installs (skills.sh)
  • +72 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/nexu-io/open-design --skill gsap-performance

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.2k
repo stars83.7k
Last updatedAugust 5, 2026
Repositorynexu-io/open-design

How do you optimize GSAP animations for 60fps?

Helps with ai & agent building tasks.

Who is it for?

Frontend developers profiling janky GSAP timelines who need concrete transform, will-change, and batching guidance before release.

Skip if: Skip gsap-performance when the task is only choosing a framework integration pattern without any performance or FPS concern.

When should I use this skill?

Trigger when the user asks about GSAP performance, animation jank, 60fps animation, will-change, or layout thrashing.

What you get

Transform-optimized GSAP tweens with reduced layout thrashing and documented will-change and batching choices.

  • optimized GSAP tween configuration
  • performance-oriented animation code

By the numbers

  • Targets smooth 60fps GSAP animation performance
  • Curated upstream from GreenSock official gsap-skills repository

Files

SKILL.mdMarkdownGitHub ↗

GSAP Performance

Curated from GreenSock's official GSAP skills: https://github.com/greensock/gsap-skills

When to Use This Skill

Apply when optimizing GSAP animations for smooth 60fps, reducing layout/paint cost, or when the user asks about performance, jank, or best practices for fast animations.

Related skills: Build animations with gsap-core (transforms, autoAlpha) and gsap-timeline; for ScrollTrigger performance see gsap-scrolltrigger.

Prefer Transform and Opacity

Animating transform (x, y, scaleX, scaleY, rotation, rotationX, rotationY, skewX, skewY) and opacity keeps work on the compositor and avoids layout and most paint. Avoid animating layout-heavy properties when a transform can achieve the same effect.

  • ✅ Prefer: x, y, scale, rotation, opacity.
  • ❌ Avoid when possible: width, height, top, left, margin, padding (they trigger layout and can cause jank).

GSAP’s x and y use transforms (translate) by default; use them instead of left/top for movement.

will-change

Use will-change in CSS on elements that will animate. It hints the browser to promote the layer.

will-change: transform;

Batch Reads and Writes

GSAP batches updates internally. When mixing GSAP with direct DOM reads/writes or layout-dependent code, avoid interleaving reads and writes in a way that causes repeated layout thrashing. Prefer doing all reads first, then all writes (or let GSAP handle the writes in one go).

Many Elements (Stagger, Lists)

  • Use stagger instead of many separate tweens with manual delays when the animation is the same; it’s more efficient.
  • For long lists, consider virtualization or animating only visible items; avoid creating hundreds of simultaneous tweens if it causes jank.
  • Reuse timelines where possible; avoid creating new timelines every frame.

Frequently updated properties (e.g. mouse followers)

Prefer gsap.quickTo() for properties that are updated often (e.g. mouse-follower x/y). It reuses a single tween instead of creating new tweens on each update.

let xTo = gsap.quickTo("#id", "x", { duration: 0.4, ease: "power3" }),
    yTo = gsap.quickTo("#id", "y", { duration: 0.4, ease: "power3" });

document.querySelector("#container").addEventListener("mousemove", (e) => {
  xTo(e.pageX);
  yTo(e.pageY);
});

ScrollTrigger and Performance

  • pin: true promotes the pinned element; pin only what’s needed.
  • scrub with a small value (e.g. scrub: 1) can reduce work during scroll; test on low-end devices.
  • Call ScrollTrigger.refresh() only when layout actually changes (e.g. after content load), not on every resize; debounce when possible.

Reduce Simultaneous Work

  • Pause or kill off-screen or inactive animations when they’re not visible (e.g. when the user navigates away).
  • Avoid animating huge numbers of properties on many elements at once; simplify or sequence if needed.

Best practices

  • ✅ Animate transform and opacity; use will-change in CSS only on elements that animate.
  • ✅ Use stagger instead of many separate tweens with manual delays when the animation is the same.
  • ✅ Use gsap.quickTo() for frequently updated properties (e.g. mouse followers).
  • ✅ Clean up or kill off-screen animations; call ScrollTrigger.refresh() when layout changes, debounced when possible.

Do Not

  • ❌ Animate width/ height/ top/ left for movement when x/ y/ scale can achieve the same look.
  • ❌ Set will-change or force3D on every element “just in case”; use for elements that are actually animating.
  • ❌ Create hundreds of overlapping tweens or ScrollTriggers without testing on low-end devices.
  • ❌ Ignore cleanup; stray tweens and ScrollTriggers keep running and can hurt performance and correctness.

Related skills

How it compares

Pick gsap-performance after gsap-core when animations run but jank or low FPS remains the problem.

FAQ

What GSAP properties does gsap-performance recommend for speed?

gsap-performance recommends animating transform and opacity properties instead of width, height, or top values that trigger layout. Pairing with gsap-core covers autoAlpha and transform basics for GPU-friendly tweens.

How does gsap-performance reduce layout thrashing?

gsap-performance guides batching DOM reads and writes, avoiding interleaved layout queries during tweens, and using will-change only where needed so GSAP timelines minimize paint and reflow cost.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.