Словами самого skill
Этот skill даёт агентам для кода экспертное чутьё Эмиля Ковальски в области дизайн-инженерии интерфейсов: как решить, должен ли элемент анимироваться, какие easing и длительность использовать, и как создавать компоненты, ощущающиеся отзывчивыми. Он задаёт жёсткие значения по умолчанию — анимации интерфейса короче 300 мс, кастомные кривые cubic-bezier вместо встроенных CSS easing, никогда ease-in, никогда появление через scale(0), всплывающие окна масштабируются от точки вызова.
Он также охватывает пружины (springs), техники clip-path, обработку жестов и перетаскивания, правила производительности GPU, режим reduced motion и обязательную markdown-таблицу «До/После» для код-ревью. Он предназначен для дизайнеров и разработчиков, которым нужны решения по интерфейсу, основанные на вкусе, а не общие советы по анимации.
Что он выдаёт
- Markdown-таблица ревью со столбцами «До», «После» и «Почему», по одной строке на каждую найденную проблему
- Готовые для вставки CSS-переменные с рекомендуемыми кастомными кривыми easing
- Объекты конфигурации пружин — либо в стиле Apple, либо традиционные физические параметры
- Приоритизированный список правок, составленный по категориям чек-листа ревью
Как это работает
- 01Ограничьте анимацию по частоте
Перед написанием кода анимации решите, как часто пользователи будут сталкиваться с этим взаимодействием.
- 02Назовите цель
Каждая анимация должна отвечать на вопрос, зачем она анимируется, из допустимого списка: пространственная согласованность, индикация состояния, объяснение, обратная связь или предотвращение резких изменений.
- 03Выберите кастомную кривую
Выбирайте easing в зависимости от того, появляется, исчезает, перемещается элемент или только меняет цвет, затем замените встроенные кривые более выразительными кастомными cubic-bezier.
- 04Задайте длительность
Соответствие длительности типу элемента из таблицы — нажатие кнопки 100-160 мс, раскрывающиеся списки 150-250 мс, модальные окна 200-500 мс — и не превышайте порог в 300 мс для UI.
- 05Примените настройки компонентов по умолчанию
Кнопки уменьшаются до 0.97 при :active, появления начинаются с 0.95 с изменением opacity, а не с scale(0), всплывающие окна масштабируются от своего триггера, а модальные окна остаются по центру.
- 06Используйте пружины там, где они оправданы
Пружины подходят для перетаскивания с инерцией, жестов, которые можно прервать, и намеренно декоративных взаимодействий.