Перейти к руководству
gsap-utilsавтор GreenSock

GSAP Utils Skill.

Скилл Claude Code и Codex для анимации и видео: хелперы gsap.utils — clamp, mapRange, interpolate, snap, wrap, pipe.

  • Анимация и видео
  • UI-код
greensock/gsap-skills · skills/gsap-utils/SKILL.mdSKILL.md
--- name: gsap-utils description: Official GSAP skill for gsap.utils — clamp, mapRange, normalize, interpolate, random, snap, toArray, wrap, pipe. Use when the user asks about gsap.utils, clamp, mapRange, random, snap, toArray, wrap, or helper utilities in GSAP. --- ## When to Use This Skill ## Clamping and Ranges ## Random and Snap ## Units and Parsing ## Arrays and Collections ## Best practices
Метаданные и заголовки разделов прочитаны из исходного файла 2026-09-14 · 12 051 символ полностью

01 Что делает

Что делает skill gsap-utils в Claude Code и Codex

Сводка, рабочий процесс и результаты — всё прочитано из SKILL.md этого skill.

Из SKILL.mdПрочитано 14.09.2026 · не запись выполнения

Словами самого skill

gsap.utils — это набор чистых вспомогательных функций GSAP для математики, диапазонов, единиц измерения, цветов и коллекций, не требующий регистрации. Skill документирует clamp, mapRange, normalize, interpolate, random, snap, shuffle, distribute, getUnit, unitize, splitColor, selector, toArray, pipe, wrap и wrapYoyo с их сигнатурами, значениями по умолчанию и разобранными примерами вывода.

Он предназначен для разработчиков, пишущих или проверяющих код GSAP, которому нужно преобразовать скролл в значение, нормализовать входные данные, привязать к сетке или ограничить селекторы областью компонента. Через весь файл проходит один паттерн: опустите завершающее значение, чтобы получить многоразовую функцию, — кроме random(), которой нужно передать true.

Что он выдаёт

  • Преобразованное значение, возвращаемое напрямую, когда вы передаёте аргумент value
  • Многоразовая функция, которая ограничивает, преобразует, нормализует или привязывает к сетке значения, передаваемые ей позже
  • Новый массив с теми же элементами в случайном порядке
  • Функция-селектор с ограниченной областью, которая находит элементы только внутри заданного элемента или ref
Смотрите пример запроса ↗

Как это работает

  1. 01
    Вспомогательные функции находятся в gsap.utils

    Эти утилиты — чистые вспомогательные функции, не требующие регистрации, их можно вызывать где угодно, где JS управляет GSAP: в tween vars, обработчиках ScrollTrigger или Observer.

  2. 02
    Передайте значение последним — и получите результат сразу

    Большинство утилит принимают конфигурацию первым аргументом, а преобразуемое значение — последним, немедленно возвращая результат преобразования.

  3. 03
    Опустите его, чтобы получить функцию

    Опустите это конечное значение, и утилита вернёт функцию, которую вы вызовете позже с самим значением, так что одна конфигурация сможет обслуживать множество значений.

  4. 04
    Помните: random() меняет паттерн местами

    random() не использует опущение аргумента для своей многоразовой формы; вы передаёте true последним аргументом и получаете функцию, возвращающую новое значение при каждом вызове.

  5. 05
    Snap можно задать прямо в tween

    Для движения по сетке или с фиксированным шагом можно передать snap прямо в tween vars, не вызывая утилиту заранее.

  6. 06
    Соединяйте преобразования с помощью pipe

    pipe соединяет функции слева направо, так что normalize, а затем snap можно применить как одну функцию внутри tween или callback.

02 Определите своё применение

Когда использовать навык gsap-utils

Используйте навык gsap-utils в Claude Code или Codex, когда работа связана с анимацией и видео такого рода. Соответствие и ограничения ниже взяты из собственного файла навыка.

Хорошо подходит

  • Преобразование позиции скролла, значения прогресса 0-1 или другого входного диапазона в диапазон анимации
  • Анимация по сетке или с фиксированным шагом внутри tween
  • Бесконечный скролл или другая циклическая обработка значений с помощью wrap и wrapYoyo
  • Распределение значений, таких как scale, opacity, x или delay, сразу по многим элементам
  • Случайное изменение порядка элементов перед их поочерёдным запуском

Знайте границы

  • Утилиты плавности, такие как CustomEase, которые файл помещает в gsap-plugins, а не в gsap.utils
  • Переопределение utils или использование недокументированного поведения
  • Создание самой анимации, что файл связывает с gsap-core, gsap-timeline и gsap-scrolltrigger

Что предоставить

  • Значение, которое вы хотите преобразоватьПередайте его как последний аргумент, чтобы получить результат сразу; опустите его и передайте значение позже в функцию, которую вы получили.
  • Элемент области видимости или ref для selector()Передайте DOM-элемент или ref фреймворка, чтобы возвращённая функция selector сопоставляла только его потомков.
  • Строка цвета для splitColorrgb(), rgba(), hsl(), hsla(), hex и именованные цвета — все работают; передайте true вторым аргументом, чтобы получить компоненты HSL вместо этого.
  • Конфигурация distribute, все ключи опциональныУкажите настройки распределения, такие как base, amount или each, from, grid, axis и ease, либо оставьте пустым для значений по умолчанию.

03 Внутри скилла

Правила, которые skill gsap-utils даёт Claude Code и Codex

6 конкретных инструкций, значений по умолчанию и ограничений, которые SKILL.md задаёт агенту, — та часть файла, которая меняет результат.

  1. Опускайте Значение, Когда Диапазон Повторяется

    Там, где один и тот же диапазон или конфигурация используются повторно, например в обработчике скролла или callback твина, сохраняйте возвращённую функцию вместо пересборки конфигурации при каждом вызове.

  2. Используйте Строковую Форму random в Tween Vars

    Записывайте "random(-100, 100)", "random(-100, 100, 5)" или "random([0, 100, 200])" как значение свойства; GSAP вычисляет строку для каждого таргета.

  3. Используйте snap для Сеток, toArray для Остального

    Обращайтесь к snap для значений, привязанных к сетке или шагу, и используйте toArray, когда GSAP или ваш собственный код требует настоящий массив из селектора или NodeList.

  4. Ограничивайте Селекторы Внутри Компонентов

    Вызывайте gsap.utils.selector(scope), чтобы селектор вида ".box" соответствовал только потомкам этого контейнера или ref, а не всему документу.

  5. Amount или Each, Никогда Не Оба Сразу

    В конфигурации distribute amount распределяет общую величину между всеми таргетами (amount 1 на 100 таргетов даёт шаг 0.01), а each задаёт фиксированный шаг на таргет, например 0, 1, 2, 3.

  6. mapRange и Normalize Работают Только с Числами

    Не ожидайте, что они обрабатывают единицы измерения; когда единицы важны, используйте getUnit или unitize.

04 Применение

Установите gsap-utils в Claude Code или Codex

Одна команда npx skills add, затем первая задача в вашем агенте и чек-лист для результата.

Добавьте gsap-utils в Claude Code, Codex или ваш агент

Запустите в своём проекте; установщик спросит, какому агенту его добавить.

Terminal
npx skills add https://github.com/greensock/gsap-skills --skill gsap-utils

Общая форма CLI skills для skills/gsap-utils/SKILL.md; репозиторий может документировать собственный путь.

Дайте skill первую задачу по motion и видео

Написано в терминах самого skill; замените части в квадратных скобках своим материалом.

Starter prompt
Use gsap.utils to drive a [scroll-linked effect] in [my component]: map the ScrollTrigger progress from 0-1 to 0-360 and snap the result to the nearest 5, then set the starting x of each [card] with the string form "random(-100, 100, 5)". Scope the selectors to the [container] ref with gsap.utils.selector so they do not match the whole document.

Источник: составлено по SKILL.md в терминах самого skill.

Проверьте первый результат

Что сам SKILL.md считает правильным результатом:

  • Сравните тестовый вызов с документированным результатом, например mapRange(0, 100, 0, 500, 50) даёт 250
  • Протестируйте wrap на обоих концах диапазона, чтобы подтвердить циклический результат
  • Передайте контейнер как второй аргумент toArray, чтобы убедиться, что результат ограничен областью
  • Проверьте, что RGBA-цвет возвращает четыре элемента, а не три
  • Убедитесь, что getUnit возвращает строку единицы измерения, а для чисел без единиц — пустую строку

В OpenDesign gsap-utils поставляется в комплекте: Plugins → Skills, выберите его в верхней панели.

05 Открытый исходный код, проверяемость

Источник, лицензия и проверка

Откуда взяты факты на этой странице и когда они были последний раз проверены.

Author
GreenSock
Repository
github.com/greensock/gsap-skills Ветка main
Файл skill
skills/gsap-utils/SKILL.md Контрольная сумма содержимого записана при верификации; коммит aed9cfd
License
MIT Из LICENSE; SKILL.md указывает «MIT».
Звёзды репозитория
15 248 Снимок GitHub от 2026-09-14 для всего репозитория greensock/gsap-skills, который содержит 8 навыков в этом каталоге. Не является рейтингом или счётчиком использования для gsap-utils.
Проверено OpenDesign
2026-09-14 Исходный файл, путь, текст лицензии и количество звёзд проверены. Включён в основной OpenDesign (проверено 2026-08-28); запись живого запуска на этой странице отсутствует.
Собственное описание skill
«Официальный навык GSAP для gsap.utils — clamp, mapRange, normalize, interpolate, random, snap, toArray, wrap, pipe. Используйте, когда пользователь спрашивает о gsap.utils, clamp, mapRange, random, snap, toArray, wrap или вспомогательных утилитах в GSAP.»

Описание из front-matter SKILL.md. Полный файл занимает около 12 051 символов. Прочитайте полный файл на GitHub.

GSAP Utils

Запустите gsap-utils на реальной задаче Motion & Video.

Навык gsap-utils поставляется внутри OpenDesign. Скачайте приложение, выберите навык в Plugins → Skills, вставьте промпт выше и прочитайте план перед результатом.

Терминал
npx skills add https://github.com/greensock/gsap-skills --skill gsap-utils