К основному содержанию
скилл CX Codex

universal-patterns — скилл для Claude Code: тайминги и изинги анимаций

Задаёт базовые длительности, кривые изинга и 12 принципов анимации для любого движения в интерфейсе. Пригодится, когда агент пишет CSS-переходы и не угадывает с таймингом.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dylantarre/animation-principles --skill universal-patterns -a claude-code
Открыть на GitHub

Что делает universal-patterns

Скилл даёт агенту готовую шкалу длительностей: от 100-150ms для ховеров и микросостояний до 600-1000ms для драматичных появлений. Рядом лежит библиотека изингов в виде CSS-переменных — --ease-out для входов, --ease-in для выходов, --ease-in-out для смены состояний, плюс пружинные --ease-spring и --ease-bounce.

Внутри есть справочник по 12 принципам Disney с конкретными числами: squash & stretch в диапазоне 0.95-1.05, overshoot на 2-5%, отскок на 2-3px перед действием. Отдельным блоком идут базовые классы .animate-in, .animate-out, .animate-state с кейфреймами fade-in и fade-out, медиазапрос prefers-reduced-motion и дерево решений: элемент входит, выходит, меняет состояние или реагирует на жест.

Правила жёсткие. Пользовательское действие должно давать видимый отклик за 100ms, функциональная анимация не длиннее 400ms, выходы на 20-30% быстрее входов. Для плавных 60fps разрешены только transform и opacity — если анимируете width или top, скилл вам этого не разрешит. Когда сомневаетесь, автор советует начать с 250ms cubic-bezier(0.4, 0, 0.2, 1).

Ставится через npx skills add dylantarre/animation-principles --skill universal-patterns -a claude-code, файл окажется в ~/.claude/skills/universal-patterns/SKILL.md.

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

  • подобрать длительность для ховера и не сделать его вязким
  • выбрать кривую изинга для появления модалки
  • добавить поддержку prefers-reduced-motion без ручного переписывания стилей
  • объяснить агенту, почему анимация width тормозит
  • согласовать тайминги входов и выходов в одном интерфейсе

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

  • Сделай анимацию появления карточки по скиллу universal-patterns
  • Проверь мои CSS-переходы на соответствие правилам из universal-patterns
  • Добавь reduced-motion вариант для этих анимаций, как описано в скилле

Как установить universal-patterns

1Через Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill universal-patterns -a claude-code

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

~/.claude/skills/universal-patterns/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/universal-patterns/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

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

timing-calibration Скилл разбирает жалобы «слишком быстро» и «слишком медленно» и подбирает длительности и easing по типу действия. CX Codex +1 497установок Animation Principles - Teaching Others Помогает объяснить 12 принципов анимации ученикам, менти и коллегам разного уровня: что показать первым и на чём обычно спотыкаются. CX Codex +1 495установок user-feedback-clarity Скилл для ИИ-агента, который разбирает, почему пользователи не замечают отклик интерфейса, и подсказывает, как это исправить. CX Codex +1 496установок power-confidence Скилл задаёт правила анимаций, которые читаются как сила и власть: тяжёлое движение, резкая остановка, минимум отскока. Пригодится на hero-секциях и витринах премиум-продуктов. CX Codex +1 495установок secondary-action-mastery Скилл учит добавлять вторичное движение так, чтобы оно поддерживало главное действие, а не спорило с ним. Пригодится в UI-анимации и игровом филе. CX Codex +1 494установок feedback-indicators Скилл для анимаций обратной связи: галочки успеха, тряска ошибок, валидация полей и тосты. Пригодится, когда интерфейс должен внятно отвечать на действие пользователя. CX Codex +1 493установок Animation Principles - Troubleshooting Скилл разбирает, почему анимация выглядит неправильно, и подсказывает, какой принцип нарушен. Пригодится, когда движение «не читается», но причина неясна. CX Codex +1 490установок Animation Principles - Advanced Скилл для тех, кто уже знает базовые принципы анимации и хочет разобраться в нюансах: скрытый squash/stretch, отсутствие anticipation, сломанные арки. CX Codex +1 489установок

Похожие

animation-principles iart-ai Скилл задаёт физику и тайминги интерфейсной анимации. Он выдаёт точные кривые cubic-bezier, задержки шагов и длительности в миллисекундах. CX Codex +1 3 000установок emil-design-eng emilkowalski Скилл задаёт правила для полировки интерфейсов, компонентов и анимаций. Пригодится, когда UI работает, но требует более точных состояний и переходов. CX Codex +1 388 200установок review-animations emilkowalski Проверяет код интерфейсных анимаций по принципам Эмиля Ковальски. Помогает убрать дерганые переходы, медленный ease-in и лишнюю нагрузку на процессор. CX Codex +1 256 500установок better-ui jakubkrehel Скилл задаёт точные правила для радиусов, теней, иконок и анимаций интерфейса. Пригодится, когда базовые взаимодействия уже работают и нужна визуальная доводка. CX Codex +1 39 300установок micro-interaction iart-ai Скилл для мелкой анимации интерфейса: ховеры, тоглы, тосты, шторки, перестановка списков. Пригодится, когда UI нужно оживить, а не украсить. CX Codex +1 2 500установок interface-kit JuliusBrussee Скилл задаёт агенту план работы над интерфейсом: доступность, типографика, сетка, цвет, анимация. Пригодится, когда верстаете компонент или лендинг и не хотите получить шаблонный вид. CX Codex +1 2 200установок

Рядом в теме «Фронтенд и UI»

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

Вопросы о universal-patterns

Как установить universal-patterns в Claude?

Выполните npx skills add dylantarre/animation-principles --skill universal-patterns -a claude-code. Скилл появится в ~/.claude/skills/universal-patterns/SKILL.md.

Что делает universal-patterns?

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

Какие правила скилл задаёт по умолчанию?

Отклик на действие пользователя за 100ms, функциональная анимация не дольше 400ms, выходы на 20-30% быстрее входов. Для плавности разрешены только transform и opacity.

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

SKILL.md · MIT
---
name: universal-patterns
description: Use when creating any animation type - provides foundational timing, easing, and principle application that applies to all motion in interfaces.
---

# Universal Animation Patterns

Apply Disney's 12 principles as baseline defaults for any animation.

## Core Timing Scale

| Category | Duration | Use For |
|----------|----------|---------|
| Instant | 100-150ms | Hovers, toggles, micro-states |
| Fast | 150-250ms | Feedback, small transitions |
| Standard | 250-400ms | Modals, reveals, state changes |
| Slow | 400-600ms | Page transitions, sequences |
| Deliberate | 600-1000ms | Dramatic reveals, celebrations |

## Universal Easing Library

```css
:root {
  /* Standard easings */
  --ease-out: cubic-bezier(0, 0, 0.2, 1);        /* Entrances */
  --ease-in: cubic-bezier(0.4, 0, 1, 1);         /* Exits */
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);   /* State changes */

  /* Spring easings */
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);  /* Overshoot */
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.27, 1.55); /* Playful */
}
```

## The 12 Principles Quick Reference

1. **Squash & Stretch**: Scale 0.95-1.05 range for organic feel
2. **Anticipation**: 2-3px reverse movement or 50ms pause before action
3. **Staging**: Animate toward user attention, clear visual hierarchy
4. **Straight Ahead vs Pose-to-Pose**: Define keyframes, plan states
5. **Follow Through**: Overshoot by 2-5%, settle back
6. **Slow In/Slow Out**: Always ease, never linear (except spinners)
7. **Arcs**: Combine X+Y movement, natural paths
8. **Secondary Action**: Layer 2-3 properties max (opacity + transform + shadow)
9. **Timing**: Match duration to distance/importance
10. **Exaggeration**: Subtle for UI (under 10% deviation)
11. **Solid Drawing**: Maintain visual consistency during motion
12. **Appeal**: Motion should feel helpful, not performative

## Base Animation Classes

```css
/* Standard entrance */
.animate-in {
  animation: fade-in 250ms var(--ease-out) forwards;
}

/* Standard exit */
.animate-out {
  animation: fade-out 200ms var(--ease-in) forwards;
}

/* State transition */
.animate-state {
  transition: all 200ms var(--ease-in-out);
}

@keyframes fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fade-out {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-10px); }
}
```

## Universal Rules

1. **100ms Response Time**: User actions must trigger visible change within 100ms
2. **Under 400ms for UI**: Functional animations shouldn't exceed 400ms
3. **Reduce Motion**: Always provide `prefers-reduced-motion` alternative
4. **GPU Properties**: Use only `transform` and `opacity` for smooth 60fps
5. **Exit < Enter**: Exits 20-30% faster than entrances

## Accessibility Default

```css
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
```

## Decision Tree

1. Is element entering? → Use ease-out, 200-300ms
2. Is element exiting? → Use ease-in, 150-250ms
3. Is element changing state? → Use ease-in-out, 150-250ms
4. Is it continuous? → Use linear (rotation) or ease-in-out (pulse)
5. Is it responding to gesture? → Use ease-out with overshoot, under 200ms

When uncertain, start with: `250ms cubic-bezier(0.4, 0, 0.2, 1)`

© dylantarre · MIT · dylantarre/animation-principles

Смотрите также

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

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