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/thegoat395-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
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/gsap-performance
What's inside
- Skill name
gsap-performance- Description
- Diagnose GSAP and ScrollTrigger performance.
- License
- MIT
- Instructions
- 79 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# GSAP Performance
## When to Use This Skill
Apply when the affected animation uses GSAP or ScrollTrigger. Diagnose measured frame, layout/paint or lifecycle cost. Generic motion diagnosis belongs to `animation-jank-qa`, and a broad release review to `motion-performance-qa`.
**Related skills:** `motion-performance-qa`, `animation-jank-qa`, `animation-tool-router`, and `reduced-motion-design`.
## Prefer Transform and Opacity
Animating **transform** (`x`, `y`, `scaleX`, `scaleY`, `rotation`, `rotationX`, `rotationY`, `skewX`, `skewY`) and **opacity** usually avoids layout and can reduce paint cost; compositor isolation depends on the browser, layer composition and effect. Measure instead of assuming GPU acceleration. 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** because they trigger layout and can cause jank.
GSAP's **x** and **y** use transforms by default; use them instead of **left**/**top** for movement.
## will-change
Use **will-change** selectively on elements that will animate soon. It hints the browser to prepare for animation work, but overusing it can increase memory pressure.
```css
will-change: transform;
```
Remove or narrow `will-change` when an element no longer needs it.
## 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: Staggers and Lists
- Use **stagger** instead of many separate tweens with manual delays when the animation is the same.
- 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
Prefer **gsap.quickTo()** for properties that update often, such as 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** pins the trigger element during the active range; it is not a GPU-promotion guarantee. Pin only the intended surface and inspect spacing and surrounding layout.
- Numeric **scrub** sets catch-up smoothing (seconds). Animation can continue after scrolling stops; it does not inherently reduce work. Measure total frame cost and responsiveness on relevant devices.
- Call **ScrollTrigger.refresh()** only when layout actually changes, such as after content load. Debounce refresh calls when possible.
## Reduce Simultaneous Work
- Pause or kill off-screen or inactive animations when they are not visible, such as 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** where possible; use **will-change** only on elements that actually animate.
- Use **stagger** instead of many separate tweens with manual delays when the animation is the same.
- Use **gsap.quickTo()** for frequently updated properties.
- Clean up or kill off-screen animations; call **ScrollTrigger.refresh()** when layout changes, debounced when possible.
## Do Not
- Animate **width**, **height**, **top**, or **left** for movement when **x**, **y**, or **scale** can achieve the same look.
- Set **will-change** or **force3D** on every element just in case; reserve them for elements that actually need them.
- Create hundreds of overlapping tweens or ScrollTriggers without testing on lower-end devices.
- Ignore cleanup; stray tweens and ScrollTriggers keep running and can hurt performance and correctness.
Technical semantics: [GSAP ScrollTrigger](https://gsap.com/docs/v3/Plugins/ScrollTrigger/). Verify the installed version for implementation details.From TheGoat395/Codex-Skills, MIT.
More from TheGoat395/Codex-Skills
- 0.681score
animation-jank-qa
TheGoat395
Diagnose a concrete rendered hitch or stutter.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
content-structure-information-architecture
TheGoat395
Plan pages, navigation and content sequence.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
systematic-debugging
TheGoat395
Find and repair unresolved root causes.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
agent-evaluation-operations
TheGoat395
Evaluate agent and skill behavior or routing.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
frontend-quality-auditor
TheGoat395
Audit launch readiness; report ship/no-ship.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
browser-inspection-workflow
TheGoat395
Coordinate rendered behavior and state evidence.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
cross-browser-qa
TheGoat395
Verify browser-engine compatibility.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
motion-react-microinteractions
TheGoat395
Design tactile interaction feedback and timing.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
final-client-handoff
TheGoat395
Prepare verified ownership and delivery notes.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
premium-visual-reference-library
TheGoat395
Find references, Viktor Oddy and MotionSites.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
premium-web-build-gate
TheGoat395
Check premium specs before implementation.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
conversion-forms-checkout-polish
TheGoat395
Polish conversion journeys and visible states.
SkillBFreshness: B★ 132Claude Code +9
Signals
- Stars
- 132
- Forks
- 48
- Open issues
- 0
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
- Last release
- Aug 30, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/TheGoat395/Codex-Skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from TheGoat395
- 0.681score
motion-react-microinteractions
TheGoat395
Design tactile interaction feedback and timing.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
premium-visual-reference-library
TheGoat395
Find references, Viktor Oddy and MotionSites.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
cross-browser-qa
TheGoat395
Verify browser-engine compatibility.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
final-client-handoff
TheGoat395
Prepare verified ownership and delivery notes.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
frontend-quality-auditor
TheGoat395
Audit launch readiness; report ship/no-ship.
SkillBFreshness: B★ 132Claude Code +9 - 0.681score
premium-web-build-gate
TheGoat395
Check premium specs before implementation.
SkillBFreshness: B★ 132Claude Code +9
Cite this page
gsap-performance skill. Agent Mart. https://agentmart.dev/skills/thegoat395-gsap-performance (last updated 2026-10-24)