gsap-performance
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
Skill by 12-Studio
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/12-studio-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
- 74 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 12-Studio/Tackl, MIT.
More from 12-Studio/Tackl
- 0.635score
lenis-react
12-Studio
Integrate Lenis smooth scroll into React and Next.js projects.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
webgl-expert
12-Studio
Expert guide for WebGL API development including 3D graphics, shaders (GLSL), rendering pipeline, textures, buffers, performance optimization, and canvas…
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
gsap-tackl
12-Studio
Implements and orchestrates GSAP in Tackl — useAnimation, useGSAP, ScrollTrigger, Lenis sync, page transitions, and reduced-motion fallbacks.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
react-hook-creator
12-Studio
Create react hook creator operations.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
tackl-performance
12-Studio
Optimizes Tackl apps for Web Vitals, reduced motion, and scroll performance.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
react-context-setup
12-Studio
Configure react context setup operations.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
scss-modules
12-Studio
Styles React components with SCSS CSS Modules and the Tackl design system.
SkillAFreshness: A★ 10Claude Code +9 - 0.626score
motion-framer
12-Studio
Modern animation library for React and JavaScript.
SkillAFreshness: A★ 10Claude Code +9 - 0.626score
threejs-webgl
12-Studio
Comprehensive skill for Three.js 3D web development.
SkillAFreshness: A★ 10Claude Code +9 - 0.622score
react-three-fiber
12-Studio
Build declarative 3D scenes with React Three Fiber (R3F) - a React renderer for Three.js.
SkillAFreshness: A★ 10Claude Code +9 - 0.621score
web3d-integration-patterns
12-Studio
Meta-skill for combining Three.js, GSAP ScrollTrigger, React Three Fiber, Motion, and React Spring for complex 3D web experiences.
SkillAFreshness: A★ 10Claude Code +9 - 0.600score
grilling
12-Studio
Grill the user relentlessly about a plan or design.
SkillAFreshness: A★ 10Claude Code +9
Signals
- Stars
- 10
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Jul 22, 2026 (3 months ago)
- Last release
- Oct 11, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/12-Studio/Tackl
- Website
- tackl.netlify.app/
- 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.339score
gsap-performance
NachikethReddyY
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching.
SkillAFreshness: AClaude 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 12-Studio
- 0.635score
lenis-react
12-Studio
Integrate Lenis smooth scroll into React and Next.js projects.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
react-hook-creator
12-Studio
Create react hook creator operations.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
gsap-tackl
12-Studio
Implements and orchestrates GSAP in Tackl — useAnimation, useGSAP, ScrollTrigger, Lenis sync, page transitions, and reduced-motion fallbacks.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
tackl-performance
12-Studio
Optimizes Tackl apps for Web Vitals, reduced motion, and scroll performance.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
react-context-setup
12-Studio
Configure react context setup operations.
SkillAFreshness: A★ 10Claude Code +9 - 0.630score
scss-modules
12-Studio
Styles React components with SCSS CSS Modules and the Tackl design system.
SkillAFreshness: A★ 10Claude Code +9
Cite this page
gsap-performance skill. Agent Mart. https://agentmart.dev/skills/12-studio-gsap-performance (last updated 2026-10-24)