gsap-timeline — скилл для Claude Code: установка и возможности
Скилл помогает собирать последовательности GSAP-анимаций, управлять таймингом и воспроизведением. Нужен для многошаговых и параллельных сцен.
npx skills add greensock/gsap-skills --skill gsap-timeline -a claude-codeЧто делает gsap-timeline
gsap-timeline учит агента работать с gsap.timeline() для последовательных и параллельных анимаций. Он объясняет position parameter: абсолютное время, относительные смещения, метки и размещение относительно предыдущей анимации. Внутри также есть примеры defaults, addLabel() и вложенных таймлайнов.
Скилл описывает управление воспроизведением через .play(), .pause(), .reverse(), .restart(), .time(), .progress() и .kill(). Для ScrollTrigger правило другое: его следует добавлять на верхнеуровневый tween или timeline, а не внутрь вложенных анимаций.
Ставьте его, если агент часто пишет GSAP-сцены из нескольких шагов. Для одиночных tween-анимаций лучше использовать gsap-core, а для React или scroll-driven сценариев нужны связанные с ними скиллы.
Какие задачи решает
- собрать многошаговую GSAP-анимацию
- синхронизировать tween-ы через position parameter
- разметить сцену метками timeline
- вложить дочерний timeline в master timeline
- управлять паузой, перемоткой и повтором анимации
Примеры запросов агенту
- Собери GSAP-анимацию для `.hero`: сначала покажи `.title`, затем `.subtitle`, а последний tween начни через `"
- Создай timeline с `defaults: { duration: 0.5, ease: "power2.out" }` и добавь метки `intro` и `outro`.
- Добавь `ScrollTrigger` к верхнеуровневому timeline и объясни, почему его нельзя помещать во вложенные tween-ы.
Как установить gsap-timeline
1Через Skills CLI (Vercel)
npx skills add greensock/gsap-skills --skill gsap-timeline -a claude-code2Вручную: положить файлы
~/.claude/skills/gsap-timeline/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/gsap-timeline/
1Через Skills CLI (Vercel)
npx skills add greensock/gsap-skills --skill gsap-timeline -a codex2Вручную: положить файлы
.agents/skills/gsap-timeline/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add greensock/gsap-skills --skill gsap-timeline -a cursor2Вручную: положить файлы
.cursor/skills/gsap-timeline/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install greensock/gsap-skills gsap-timeline2Вручную: положить файлы
.github/skills/gsap-timeline/SKILL.md1Через Skills CLI (Vercel)
npx skills add greensock/gsap-skills --skill gsap-timeline -a gemini-cli2Командой платформы
gemini skills install https://github.com/greensock/gsap-skills --path skills/gsap-timelineВручную: положить файлы
.devin/skills/gsap-timeline/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add greensock/gsap-skills --skill gsap-timeline -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора8
Весь набор →Похожие
Вопросы о gsap-timeline
Как установить gsap-timeline в Claude Code?
Выполните npx skills add greensock/gsap-skills --skill gsap-timeline -a claude-code. Файл скилла появится в ~/.claude/skills/gsap-timeline/SKILL.md.
Что делает gsap-timeline?
Скилл помогает агенту строить GSAP timelines, задавать порядок и перекрытие tween-ов, использовать метки, значения по умолчанию и управлять воспроизведением.
Можно ли использовать ScrollTrigger внутри вложенного timeline?
Нет. ScrollTrigger следует размещать на верхнеуровневом tween или timeline, а не на tween-е внутри timeline.
Исходный текст
SKILL.md · MIT
---
name: gsap-timeline
description: Official GSAP skill for timelines — gsap.timeline(), position parameter, nesting, playback. Use when sequencing animations, choreographing keyframes, or when the user asks about animation sequencing, timelines, or animation order (in GSAP or when recommending a library that supports timelines).
license: MIT
---
# GSAP Timeline
## When to Use This Skill
Apply when building multi-step animations, coordinating several tweens in sequence or parallel, or when the user asks about timelines, sequencing, or keyframe-style animation in GSAP.
**Related skills:** For single tweens and eases use **gsap-core**; for scroll-driven timelines use **gsap-scrolltrigger**; for React use **gsap-react**.
## Creating a Timeline
```javascript
const tl = gsap.timeline();
tl.to(".a", { x: 100, duration: 1 })
.to(".b", { y: 50, duration: 0.5 })
.to(".c", { opacity: 0, duration: 0.3 });
```
By default, tweens are **appended** one after another. Use the **position parameter** to place tweens at specific times or relative to other tweens.
## Position Parameter
Third argument (or position property in vars) controls placement:
- **Absolute**: `1` — start at 1 second.
- **Relative (default)**: `"+=0.5"` — 0.5s after end; `"-=0.2"` — 0.2s before end.
- **Label**: `"labelName"` — at that label; `"labelName+=0.3"` — 0.3s after label.
- **Placement**: `"<"` — start when recently-added animation starts; `">"` — start when recently-added animation ends (default); `"<0.2"` — 0.2s after recently-added animation start.
Examples:
```javascript
tl.to(".a", { x: 100 }, 0); // at 0
tl.to(".b", { y: 50 }, "+=0.5"); // 0.5s after last end
tl.to(".c", { opacity: 0 }, "<"); // same start as previous
tl.to(".d", { scale: 2 }, "<0.2"); // 0.2s after previous start
```
## Timeline Defaults
Pass defaults into the timeline so all child tweens inherit:
```javascript
const tl = gsap.timeline({ defaults: { duration: 0.5, ease: "power2.out" } });
tl.to(".a", { x: 100 }).to(".b", { y: 50 }); // both use 0.5s and power2.out
```
## Timeline Options (constructor)
- **paused: true** — create paused; call `.play()` to start.
- **repeat**, **yoyo** — same as tweens; apply to whole timeline.
- **onComplete**, **onStart**, **onUpdate** — timeline-level callbacks.
- **defaults** — vars merged into every child tween.
## Labels
Add and use labels for readable, maintainable sequencing:
```javascript
tl.addLabel("intro", 0);
tl.to(".a", { x: 100 }, "intro");
tl.addLabel("outro", "+=0.5");
tl.to(".b", { opacity: 0 }, "outro");
tl.play("outro"); // start from "outro"
tl.tweenFromTo("intro", "outro"); // pauses the timeline and returns a new Tween that animates the timeline's playhead from intro to outro with no ease.
```
## Nesting Timelines
Timelines can contain other timelines.
```javascript
const master = gsap.timeline();
const child = gsap.timeline();
child.to(".a", { x: 100 }).to(".b", { y: 50 });
master.add(child, 0);
master.to(".c", { opacity: 0 }, "+=0.2");
```
## Controlling Playback
- **tl.play()** / **tl.pause()**
- **tl.reverse()** / **tl.progress(1)** then **tl.reverse()**
- **tl.restart()** — from start.
- **tl.time(2)** — seek to 2 seconds.
- **tl.progress(0.5)** — seek to 50%.
- **tl.kill()** — kill timeline and (by default) its children.
## Official GSAP Best practices
- ✅ Prefer timelines for sequencing
- ✅ Use the **position parameter** (third argument) to place tweens at specific times or relative to labels.
- ✅ Add **labels** with `addLabel()` for readable, maintainable sequencing.
- ✅ Pass **defaults** into the timeline constructor so child tweens inherit duration, ease, etc.
- ✅ Put ScrollTrigger on the timeline (or top-level tween), not on tweens inside a timeline.
## Do Not
- ❌ Chain animations with **delay** when a **timeline** can sequence them; prefer `gsap.timeline()` and the position parameter for multi-step animation.
- ❌ Forget to pass **defaults** (e.g. `defaults: { duration: 0.5, ease: "power2.out" }`) when many child tweens share the same duration or ease.
- ❌ Forget that **duration** on the timeline constructor is not the same as tween duration; timeline “duration” is determined by its children.
- ❌ Nest animations that contain a ScrollTrigger; ScrollTriggers should only be on top-level Tweens/Timelines.
© greensock · MIT · greensock/gsap-skills