gsap-performance
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
Skill by NachikethReddyY
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nachikethreddyy-gsap-performance
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
gsap-performance- Description
- Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching. Use when optimizing GSAP animations, reducing jank, or when the user asks about animation performance, FPS, or smooth 60fps.
- License
- MIT
- Instructions
- 75 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# GSAP Performance
## 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.
```css
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.
```javascript
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.From NachikethReddyY/fleet, MIT.
More from NachikethReddyY/fleet
- 0.565score
cli-proxy-reset
NachikethReddyY
Reset a CLIProxyAPI management-IP lockout by safely restarting the owning service.
SkillAFreshness: AClaude Code +9 - 0.565score
design-thinking
NachikethReddyY
Apply a human-centered, iterative process to ambiguous product, service, process, environment, or business-model challenges.
SkillAFreshness: AClaude Code +9 - 0.565score
here-now
NachikethReddyY
here.now lets agents publish websites and files to live URLs in seconds.
SkillAFreshness: AClaude Code +9 - 0.561score
design-ui
NachikethReddyY
Design, implement, or review web, mobile, and desktop product interfaces, navigation, typography, interaction states, and engagement loops.
SkillAFreshness: AClaude Code +9 - 0.559score
audit-ai-design-slop
NachikethReddyY
Audit websites, apps, screenshots, mockups, and design code for harmful AI-design clichés, generic generated defaults, and established UI defects.
SkillAFreshness: AClaude Code +9 - 0.559score
critique-information-density
NachikethReddyY
Critique a rendered screen's density — cognitive load, content prioritisation, scanning patterns, and progressive disclosure.
SkillAFreshness: AClaude Code +9 - 0.559score
file-pr
NachikethReddyY
Review, file, or update a pull request.
SkillAFreshness: AClaude Code +9 - 0.556score
greenfield
NachikethReddyY
Archived Greenfield router state for prior projects.
SkillAFreshness: AClaude Code +9 - 0.534score
grilling
NachikethReddyY
Grill the user relentlessly about a plan, decision, or idea.
SkillAFreshness: AClaude Code +9 - 0.534score
domain-modeling
NachikethReddyY
Build and sharpen a project's domain model.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 15, 2026 (14 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/NachikethReddyY/fleet
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.683score
gsap-performance
greensock
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillDFreshness: D★ 17KClaude Code +9 - 0.378score
gsap-performance
12-Studio
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillAFreshness: A★ 10Claude Code +9 - 0.339score
gsap-performance
phamTuan207
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillAFreshness: AClaude Code +9 - 0.335score
gsap-performance
Vinayak-RZ
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillBFreshness: B★ 2Claude Code +9 - 0.322score
gsap-performance
imMamdouhaboammar
Official GSAP skill for performance - prefer transforms, avoid layout thrashing, will-change, batching.
SkillAFreshness: A★ 33Claude Code +9 - 0.322score
gsap-performance
imMamdouhaboammar
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillAFreshness: A★ 33Claude Code +9 - 0.285score
gsap-performance
maggielerman
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillCFreshness: CClaude Code +9 - 0.285score
gsap-performance
eivmosn
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillCFreshness: CClaude Code +9
More from NachikethReddyY
- 0.565score
cli-proxy-reset
NachikethReddyY
Reset a CLIProxyAPI management-IP lockout by safely restarting the owning service.
SkillAFreshness: AClaude Code +9 - 0.565score
design-thinking
NachikethReddyY
Apply a human-centered, iterative process to ambiguous product, service, process, environment, or business-model challenges.
SkillAFreshness: AClaude Code +9 - 0.565score
here-now
NachikethReddyY
here.now lets agents publish websites and files to live URLs in seconds.
SkillAFreshness: AClaude Code +9 - 0.561score
design-ui
NachikethReddyY
Design, implement, or review web, mobile, and desktop product interfaces, navigation, typography, interaction states, and engagement loops.
SkillAFreshness: AClaude Code +9 - 0.559score
audit-ai-design-slop
NachikethReddyY
Audit websites, apps, screenshots, mockups, and design code for harmful AI-design clichés, generic generated defaults, and established UI defects.
SkillAFreshness: AClaude Code +9 - 0.559score
critique-information-density
NachikethReddyY
Critique a rendered screen's density — cognitive load, content prioritisation, scanning patterns, and progressive disclosure.
SkillAFreshness: AClaude Code +9
Cite this page
gsap-performance skill. Agent Mart. https://agentmart.dev/skills/nachikethreddyy-gsap-performance (last updated 2026-10-24)