Install any skill in seconds. Free to start, no credit card required.
Get Started Free →nexu-io/gsap-performance
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
Passed 22 of 22 test cases with the skill, and 21 of 22 without it.
1 fixed21 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
A test case the skill fixed. Same model, same prompt, with and without the skill.
Our marketing landing page has severe scroll jank, especially after resizing the window or scrolling past long sections with multiple animated elements. I suspect our scroll listeners and off-screen GSAP timelines are eating up main thread resources. Please inspect our current animation setup and outline an optimization plan with refactored code to keep scrolling smooth.
| Checked | Without skill | With skill |
|---|---|---|
| The response recommends debouncing window resize handlers before calling ScrollTrigger refresh. | Missed | Passed |
| The response refactors code to pause or kill off-screen or inactive animations. | Passed | Passed |
| The response avoids setting force3D: true globally in gsap.config(). | Missed | Passed |
The instructions your model reads when the skill loads.
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.
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.
GSAP’s x and y use transforms (translate) by default; use them instead of left/top for movement.
Use will-change in CSS on elements that will animate. It hints the browser to promote the layer.
will-change: transform;
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).
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.
test cases passed, vs 21 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.