К основному содержанию
скилл CX Codex GP ChatGPT официальный · OpenAI

gsap · openai — скилл для Codex: справочник по анимации в HyperFrames

Справочник по GSAP для агента: твины, таймлайны, easing и производительность. Пригодится, когда пишете анимацию в композициях HyperFrames.

Установить в Codex · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add openai/plugins --skill gsap -a codex
Открыть на GitHub

Что делает gsap

Скилл подкладывает агенту шпаргалку по GSAP: методы gsap.to(), from(), fromTo(), set(), работу с easing, stagger, defaults и таймлайнами. Отдельный раздел про производительность — трансформы, will-change, gsap.quickTo() для частых обновлений. Внутри есть таблица соответствия свойств GSAP и CSS: x, y, scale, rotation, transformOrigin, а также autoAlpha вместо opacity.

Таймлайны разобраны подробно: позиционный параметр ("<", "+=0.5", метки), вложенность, управление воспроизведением через play(), pause(), reverse(), progress(). Есть раздел про gsap.matchMedia() — сетап срабатывает только при совпадении media query и откатывается, когда перестаёт совпадать. Это удобно для prefers-reduced-motion.

Скилл рассчитан на композиции HyperFrames, поэтому в обычном React-проекте без них пользы мало. Часть материала лежит в references/effects.md и подгружается по запросу — готовые эффекты вроде печатающегося текста и аудиовизуализатора.

Какие задачи решает

  • написать входную анимацию через gsap.from()
  • собрать последовательность твинов в один таймлайн
  • настроить stagger для списка элементов
  • отключить анимацию при prefers-reduced-motion
  • убрать дёрганье при частых обновлениях позиции

Примеры запросов агенту

  • добавь анимацию появления карточек через gsap.from со stagger
  • собери таймлайн для сцены HyperFrames с метками intro и outro
  • сделай так, чтобы при prefers-reduced-motion анимация не проигрывалась

Как установить gsap

1Через Skills CLI (Vercel)

npx skills add openai/plugins --skill gsap -a codex

2Вручную: положить файлы

.agents/skills/gsap/SKILL.md

Для всех проектов — ~/.agents/skills/

По шагам, с командами для каждой платформы: Скиллы Codex: как установить, где лежат и как вызвать

Вопросы о gsap

Как установить gsap в Claude?

Выполните npx skills add openai/plugins --skill gsap, затем npx skills add openai/plugins --skill gsap -a codex. Файл скилла окажется по пути .agents/skills/gsap/SKILL.md.

Что делает скилл gsap?

Даёт агенту справочник по анимации GSAP: твины, easing, stagger, таймлайны и приёмы для производительности. Агент опирается на него, когда пишет анимацию в композициях HyperFrames.

Чем отличается autoAlpha от opacity?

При значении 0 autoAlpha дополнительно ставит visibility: hidden. В справочнике его советуют вместо opacity.

Исходный текст

SKILL.md · Apache-2.0
---
name: gsap
description: GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.
---

# GSAP

## Core Tween Methods

- **gsap.to(targets, vars)** — animate from current state to `vars`. Most common.
- **gsap.from(targets, vars)** — animate from `vars` to current state (entrances).
- **gsap.fromTo(targets, fromVars, toVars)** — explicit start and end.
- **gsap.set(targets, vars)** — apply immediately (duration 0).

Always use **camelCase** property names (e.g. `backgroundColor`, `rotationX`).

## Common vars

- **duration** — seconds (default 0.5).
- **delay** — seconds before start.
- **ease** — `"power1.out"` (default), `"power3.inOut"`, `"back.out(1.7)"`, `"elastic.out(1, 0.3)"`, `"none"`.
- **stagger** — number `0.1` or object: `{ amount: 0.3, from: "center" }`, `{ each: 0.1, from: "random" }`.
- **overwrite** — `false` (default), `true`, or `"auto"`.
- **repeat** — number or `-1` for infinite. **yoyo** — alternates direction with repeat.
- **onComplete**, **onStart**, **onUpdate** — callbacks.
- **immediateRender** — default `true` for from()/fromTo(). Set `false` on later tweens targeting the same property+element to avoid overwrite.

## Transforms and CSS

Prefer GSAP's **transform aliases** over raw `transform` string:

| GSAP property               | Equivalent          |
| --------------------------- | ------------------- |
| `x`, `y`, `z`               | translateX/Y/Z (px) |
| `xPercent`, `yPercent`      | translateX/Y in %   |
| `scale`, `scaleX`, `scaleY` | scale               |
| `rotation`                  | rotate (deg)        |
| `rotationX`, `rotationY`    | 3D rotate           |
| `skewX`, `skewY`            | skew                |
| `transformOrigin`           | transform-origin    |

- **autoAlpha** — prefer over `opacity`. At 0: also sets `visibility: hidden`.
- **CSS variables** — `"--hue": 180`.
- **svgOrigin** _(SVG only)_ — global SVG coordinate space origin. Don't combine with `transformOrigin`.
- **Directional rotation** — `"360_cw"`, `"-170_short"`, `"90_ccw"`.
- **clearProps** — `"all"` or comma-separated; removes inline styles on complete.
- **Relative values** — `"+=20"`, `"-=10"`, `"*=2"`.

## Function-Based Values

```javascript
gsap.to(".item", {
  x: (i, target, targets) => i * 50,
  stagger: 0.1,
});
```

## Easing

Built-in eases: `power1`–`power4`, `back`, `bounce`, `circ`, `elastic`, `expo`, `sine`. Each has `.in`, `.out`, `.inOut`.

## Defaults

```javascript
gsap.defaults({ duration: 0.6, ease: "power2.out" });
```

## Controlling Tweens

```javascript
const tween = gsap.to(".box", { x: 100 });
tween.pause();
tween.play();
tween.reverse();
tween.kill();
tween.progress(0.5);
tween.time(0.2);
```

## gsap.matchMedia() (Responsive + Accessibility)

Runs setup only when a media query matches; auto-reverts when it stops matching.

```javascript
let mm = gsap.matchMedia();
mm.add(
  {
    isDesktop: "(min-width: 800px)",
    reduceMotion: "(prefers-reduced-motion: reduce)",
  },
  (context) => {
    const { isDesktop, reduceMotion } = context.conditions;
    gsap.to(".box", {
      rotation: isDesktop ? 360 : 180,
      duration: reduceMotion ? 0 : 2,
    });
  },
);
```

---

## Timelines

### Creating a Timeline

```javascript
const tl = gsap.timeline({ defaults: { duration: 0.5, ease: "power2.out" } });
tl.to(".a", { x: 100 }).to(".b", { y: 50 }).to(".c", { opacity: 0 });
```

### Position Parameter

Third argument controls placement:

- **Absolute**: `1` — at 1s
- **Relative**: `"+=0.5"` — after end; `"-=0.2"` — before end
- **Label**: `"intro"`, `"intro+=0.3"`
- **Alignment**: `"<"` — same start as previous; `">"` — after previous ends; `"<0.2"` — 0.2s after previous starts

```javascript
tl.to(".a", { x: 100 }, 0);
tl.to(".b", { y: 50 }, "<"); // same start as .a
tl.to(".c", { opacity: 0 }, "<0.2"); // 0.2s after .b starts
```

### Labels

```javascript
tl.addLabel("intro", 0);
tl.to(".a", { x: 100 }, "intro");
tl.addLabel("outro", "+=0.5");
tl.play("outro");
tl.tweenFromTo("intro", "outro");
```

### Timeline Options

- **paused: true** — create paused; call `.play()` to start.
- **repeat**, **yoyo** — apply to whole timeline.
- **defaults** — vars merged into every child tween.

### Nesting Timelines

```javascript
const master = gsap.timeline();
const child = gsap.timeline();
child.to(".a", { x: 100 }).to(".b", { y: 50 });
master.add(child, 0);
```

### Playback Control

`tl.play()`, `tl.pause()`, `tl.reverse()`, `tl.restart()`, `tl.time(2)`, `tl.progress(0.5)`, `tl.kill()`.

---

## Performance

### Prefer Transform and Opacity

Animating `x`, `y`, `scale`, `rotation`, `opacity` stays on the compositor. Avoid `width`, `height`, `top`, `left` when transforms achieve the same effect.

### will-change

```css
will-change: transform;
```

Only on elements that actually animate.

### gsap.quickTo() for Frequent Updates

```javascript
let xTo = gsap.quickTo("#id", "x", { duration: 0.4, ease: "power3" }),
  yTo = gsap.quickTo("#id", "y", { duration: 0.4, ease: "power3" });
container.addEventListener("mousemove", (e) => {
  xTo(e.pageX);
  yTo(e.pageY);
});
```

### Stagger > Many Tweens

Use `stagger` instead of separate tweens with manual delays.

### Cleanup

Pause or kill off-screen animations.

---

## References (loaded on demand)

- **[references/effects.md](references/effects.md)** — Drop-in effects: typewriter text, audio visualizer. Read when needing ready-made effect patterns for HyperFrames.

## Best Practices

- Use camelCase property names; prefer transform aliases and autoAlpha.
- Prefer timelines over chaining with delay; use the position parameter.
- Add labels with `addLabel()` for readable sequencing.
- Pass defaults into timeline constructor.
- Store tween/timeline return value when controlling playback.

## Do Not

- Animate layout properties (width/height/top/left) when transforms suffice.
- Use both svgOrigin and transformOrigin on the same SVG element.
- Chain animations with delay when a timeline can sequence them.
- Create tweens before the DOM exists.
- Skip cleanup — always kill tweens when no longer needed.

© HeyGen · Apache-2.0 · openai/plugins

Похожие скиллы

Всё по теме «Фронтенд и UI» →

Сначала — gsap от других авторов.

gsap MengTo Скилл для ИИ-агента, который помогает писать и отлаживать веб-анимации на GSAP: таймлайны, ScrollTrigger, stagger, трансформации. CX Codex +1 1 800установок gsap AThevon Скилл помогает агенту писать анимации GSAP: таймлайны, каскадные эффекты и ScrollTrigger. Нужен для сложных движений и прокрутки. CX Codex +1 997установок gsap martinholovsky Скилл для GSAP-анимаций: вход и выход панелей HUD, переходы статус-индикаторов, эффекты по скроллу. Пригодится, если собираете интерфейс на Vue. CX Codex +1 1 300установок gsap Mindrally Задаёт агенту правила анимаций на GSAP: трансформы вместо left/top, stagger, таймлайны, ScrollTrigger. Пригодится, когда интерфейс дёргается на слабом железе. CX Codex +1 769установок gsap-timeline greensock Скилл помогает собирать последовательности GSAP-анимаций, управлять таймингом и воспроизведением. Нужен для многошаговых и параллельных сцен. CX Codex +1 69 100установок hyperframes heygen-com Скилл задаёт агенту правила рендера HTML-кода в видео через HyperFrames. Помогает собирать проморолики, эксплейнеры и титры прямо в коде проекта. CX Codex +1 1 200 000установок gsap-scrolltrigger greensock Обучает ИИ-агента писать анимации по скроллу с плагином ScrollTrigger от GreenSock: закреплять секции и связывать таймлайны с прокруткой через scrub. CX Codex +1 72 200установок frost-sequence-camera-orbit heygen-com Скилл собирает 22.5-секундную сцену: камера облетает ледяной логотип, он рассыпается, собирается в два текста и растворяется. CX Codex +1 10 000установок cinematic-gsap-lenis-motion-system MengTo Настраивает кинематографичную анимацию интерфейса на GSAP, ScrollTrigger и Lenis. Пригодится для премиальных сайтов, портфолио, плавного скролла и параллакса. CX Codex +1 2 400установок gsap-scrolltrigger-storytelling MengTo Скилл для скролл-сторителлинга: закреплённые секции, послойное появление интерфейса и переходы между сценами на GSAP ScrollTrigger. CX Codex +1 1 800установок

Из того же набора304

Весь набор →
sandbox-sdk Скилл описывает работу с Cloudflare Sandbox SDK: запуск команд и кода в изолированной среде, операции с файлами и preview URL. Пригодится для исполнения кода через Cloudflare Workers. CX Codex GP ChatGPT 4установок circleci-cli Скилл помогает управлять пайплайнами CircleCI через терминальную утилиту circleci. Пригодится для проверки статусов, валидации конфигов и точечного перезапуска сборок. CX Codex GP ChatGPT 4установок remotion-saas Помогает собрать приложение с видео на Remotion: от простой формы с рендером до редактора. Пригодится, если делаете SaaS с генерацией видео. CX Codex GP ChatGPT 3установок ngs-amplicon-microbiome Скилл для анализа маркерных генов из ампликонных FASTQ: 16S, 18S, ITS, COI. Запускает пайплайны nf-core/ampliseq, QIIME2 и DADA2. CX Codex GP ChatGPT 3установок wrangler Скилл для Codex и ChatGPT, который заставляет агента сверяться с документацией Cloudflare перед запуском команд wrangler. CX Codex GP ChatGPT 3установок microfrontends Разбивает большое приложение на независимо деплоящиеся части, которые для пользователя выглядят одним сайтом. Полезен, когда фронтенд делят между командами. CX Codex GP ChatGPT 2установок cdn-caching Помогает понять, почему страница отдаётся из кэша или мимо него: статусы, причины, ревалидация, стоимость ISR. CX Codex GP ChatGPT 2установок twilio-whatsapp-send-message Справочник по отправке сообщений WhatsApp через Twilio: 24-часовое окно, шаблоны, песочница и разбор ошибок доставки. CX Codex GP ChatGPT 2установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой