What is the gsap-performance skill?
gsap-performance is an official SKILL.md in the greensock/gsap-skills repository. It teaches an AI coding agent to keep GSAP animation smooth by animating transforms and opacity, using will-change sparingly, preferring stagger and quickTo, limiting simultaneous tweens, and cleaning up off-screen animations and ScrollTriggers.
gsap-performance is the shortest skill in the official greensock/gsap-skills set. Its SKILL.md applies when an agent optimizes GSAP animation for smooth 60fps, reduces layout and paint cost, or answers a question about jank.
It builds on gsap-core for transforms and autoAlpha, and on gsap-timeline for sequencing. ScrollTrigger tuning is shared with gsap-scrolltrigger.
What changes in your agent's output
- Movement animates
x,y,scale,rotationandopacityinstead ofwidth,height,top,left,marginorpadding. will-change: transformappears only on elements that really animate, not on everything just in case.- Repeated animation of the same kind uses
staggerrather than many tweens with manual delays. - Mouse followers use
gsap.quickTo(), which reuses one tween instead of creating a new tween on everymousemove. - Off-screen or inactive animations are paused or killed, and ScrollTrigger gets
refresh()only when layout actually changes.
Why animation jank happens
The skill's core idea is that layout and paint are expensive and compositing is cheap. Transforms and opacity stay on the compositor, so they animate smoothly even when the main thread is busy.
It also reminds the agent that too many simultaneous tweens or ScrollTriggers cost real time, so it should test on low-end devices when creating many.
Who the gsap-performance skill is for
Best for
- Pages where scroll or hover animation drops frames on mid-range phones.
- Agents that animate
leftandtopfor movement or addwill-changeeverywhere. - Review passes that sit next to fixing-motion-performance, which targets the same class of problem more broadly.
Not for
- Learning the GSAP API. Start with gsap-core.
- Replacing profiling. The skill itself says to test on low-end devices when you create many tweens or ScrollTriggers.
How to install GSAP Performance Skill: Smooth 60fps Rules for AI Agents
git clone https://github.com/greensock/gsap-skills.gitClaude Code users can also add the repository as a plugin marketplace with /plugin marketplace add greensock/gsap-skills, which the README documents.Clone the repository
Run
git clone https://github.com/greensock/gsap-skills.git. The skill is the skills/gsap-performance folder, which holds one SKILL.md.Copy the skill folder
Copy skills/gsap-performance into your agent's skills directory. The README lists ~/.claude/skills/ for Claude Code, ~/.cursor/skills/ for Cursor, ~/.config/opencode/skills/ for OpenCode and ~/.codex/skills/ for OpenAI Codex.
Install GSAP in the project
The skill guides the agent's code but does not add the library. Add the gsap package to your project with your package manager. It includes every plugin.
Ask for animation work
Describe the motion you want, such as a staggered card entrance, and name the skill if your agent needs a nudge.
Check that it loaded
Ask the agent to add a cursor-following dot. The result should call gsap.quickTo() for x and y instead of a new gsap.to() inside the mousemove handler.
Key features
- Transform and opacity firstAnimating
x,y,scaleX,scaleY,rotation,skewXandopacitykeeps work on the compositor and avoids layout and most paint. - Layout property banThe skill flags
width,height,top,left,marginandpaddingas properties that trigger layout and can cause jank. - Careful will-changeAdd
will-change: transformin CSS on elements that will animate. The Do Not list rules out setting it orforce3Don every element. - Read and write batchingGSAP batches its own updates. When you mix in direct DOM reads and writes, do all reads first and then all writes to avoid layout thrashing.
- Stagger over manual delaysThe same animation on many elements should use one
staggerinstead of many tweens with hand-set delays. - Many-element guidanceFor long lists, consider virtualization or animating only visible items, and reuse timelines instead of creating new ones every frame.
- quickTo for frequent updates
gsap.quickTo('#id', 'x', { duration: 0.4, ease: 'power3' })returns a setter that reuses one tween for values updated often, such as a cursor follower. - ScrollTrigger tipsPin only what needs pinning, try a small scrub value such as
scrub: 1, and callScrollTrigger.refresh()only on real layout changes, debounced where possible. - CleanupPause or kill animations that are off-screen or inactive. Stray tweens and ScrollTriggers keep running and hurt performance and correctness.
Frequently asked questions
What is the gsap-performance skill?
It is the skills/gsap-performance folder in the greensock/gsap-skills repository. Its SKILL.md gives an AI coding agent official rules for smooth GSAP animation: transforms and opacity, will-change, stagger, quickTo, ScrollTrigger tips and cleanup.
How do I install gsap-performance?
Clone greensock/gsap-skills and copy skills/gsap-performance into your agent's skills folder. The README lists folders for Claude Code, Cursor, OpenCode and OpenAI Codex. Add the gsap package to your project separately, since the skill only guides code.
Why does the skill say to avoid animating width and height?
Those properties trigger layout, and layout work during animation can cause jank. The skill says to prefer transforms and opacity, which stay on the compositor, whenever a transform can achieve the same visual effect.
When should an agent use gsap.quickTo()?
The skill says to use it for properties updated often, such as mouse-follower x and y. It reuses a single tween instead of creating a new tween on each update, which cuts work during rapid events.
Is will-change always a good idea?
No. The skill says to use it in CSS only on elements that actually animate. Its Do Not list rules out setting will-change or force3D on every element just in case.
How is this different from fixing-motion-performance?
gsap-performance is specific to GSAP and written by the GSAP team. fixing-motion-performance is a general motion-performance audit skill that is not tied to one library. They overlap on the transform-and-opacity rule, and you can install both together.
Does gsap-performance help with ScrollTrigger?
Yes, briefly. It covers pinning only what is needed, using a small scrub value, and calling refresh only when layout changes. The full ScrollTrigger rules, including setup and cleanup, live in gsap-scrolltrigger.



