micro-interactions · dylantarre — скилл для Claude Code: анимация мелких UI-деталей
Скилл для ИИ-агента, который подсказывает, как анимировать кнопки, тумблеры, чекбоксы, индикаторы загрузки и бейджи уведомлений.
npx skills add dylantarre/animation-principles --skill micro-interactions -a claude-codeЧто делает micro-interactions
Скилл применяет 12 принципов анимации Диснея к мелким элементам интерфейса. Внутри — таблица соответствия принципов и реализаций, разбор каждого принципа и готовые CSS-паттерны для состояний кнопки, тумблера и чекбокса. Агент берёт оттуда тайминги и кривые: 100–300 мс на большинство взаимодействий, ease-out для отзывчивости, spring для тумблеров.
Есть справочник длительностей по типам взаимодействий: hover, клик, тумблер, чекбокс, фокус-кольцо, тултип, обновление бейджа, ошибка формы. Плюс правила: у каждого интерактивного элемента должна быть обратная связь, у отключённых состояний анимации нет, а функциональность не должна зависеть от анимации.
Отдельный пункт — уважать prefers-reduced-motion. Если у вас в проекте этого нет, скилл как раз напомнит: часть пользователей отключает анимацию на уровне системы, и интерфейс обязан это учитывать. Агент подсказывает значения вроде scaleY: 0.95 при нажатии или сдвига ошибки на 3–5px — это советы для старта, а не жёсткие лимиты.
Какие задачи решает
- подобрать длительность и кривую для нажатия кнопки
- сделать тумблер с пружинным отскоком
- нарисовать прорисовку галочки в чекбоксе
- собрать состояние ошибки формы без резкого дёргания
- добавить отклик иконке при смене состояния родителя
Примеры запросов агенту
- анимируй состояния кнопки: hover, active, disabled
- сделай тумблер с пружинным переходом и лёгким перелётом
- добавь анимацию галочки в чекбоксе и учти prefers-reduced-motion
Как установить micro-interactions
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill micro-interactions -a claude-code2Вручную: положить файлы
~/.claude/skills/micro-interactions/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/micro-interactions/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill micro-interactions -a codex2Вручную: положить файлы
.agents/skills/micro-interactions/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill micro-interactions -a cursor2Вручную: положить файлы
.cursor/skills/micro-interactions/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles micro-interactions2Вручную: положить файлы
.github/skills/micro-interactions/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill micro-interactions -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/01-by-domain/micro-interactionsВручную: положить файлы
.devin/skills/micro-interactions/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill micro-interactions -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора86
Другие версии micro-interactions
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о micro-interactions
Как установить micro-interactions в Claude?
Выполните npx skills add dylantarre/animation-principles --skill micro-interactions -a claude-code. После этого файл скилла лежит по пути ~/.claude/skills/micro-interactions/SKILL.md.
Что делает micro-interactions?
Помогает агенту проектировать мелкую обратную связь в интерфейсе: состояния кнопок, тумблеры, валидацию форм, индикаторы загрузки, бейджи уведомлений. Внутри — принципы анимации, CSS-паттерны и таблица таймингов.
Скилл учитывает доступность?
Да, в правилах есть пункт про prefers-reduced-motion, а также требование проверять работу интерфейса без анимации.
Исходный текст
SKILL.md · MIT
---
name: micro-interactions
description: Use when designing small UI feedback moments like button states, toggles, form validation, loading indicators, or notification badges.
---
# Micro-interaction Animation
Apply Disney's 12 animation principles to small UI feedback moments and interface details.
## Quick Reference
| Principle | Micro-interaction Implementation |
|-----------|--------------------------------|
| Squash & Stretch | Button press compression, toggle bounce |
| Anticipation | Hover state hints, pre-click feedback |
| Staging | Focus attention on active element |
| Straight Ahead / Pose to Pose | Progress vs state changes |
| Follow Through / Overlapping | Ripple effects, settling motion |
| Slow In / Slow Out | Snappy but smooth transitions |
| Arc | Toggle switches, circular menus |
| Secondary Action | Icons respond to parent state |
| Timing | 100-300ms for most interactions |
| Exaggeration | Clear but not distracting |
| Solid Drawing | Consistent transform behavior |
| Appeal | Delightful, purposeful feedback |
## Principle Applications
**Squash & Stretch**: Buttons compress slightly on press (scaleY: 0.95). Toggle thumbs squash when hitting bounds. Notification badges bounce on update. Keep subtle—this is UI, not cartoon.
**Anticipation**: Hover states prepare for click. Buttons lift/grow slightly before press animation. Draggable items elevate on grab start. Loading spinners wind up before spinning.
**Staging**: Active form field clearly distinguished. Error states demand attention. Success confirmations are unmistakable. One interaction feedback at a time.
**Straight Ahead vs Pose to Pose**: Progress indicators animate continuously (straight ahead). Checkboxes snap between states (pose to pose). Combine: loading indicator ends with state-change snap.
**Follow Through & Overlapping**: Ripple effects expand past tap point. Toggle switches overshoot then settle. Checkmarks draw with slight delay after box fills. Menu items stagger in.
**Slow In / Slow Out**: Quick ease-out for responsive feel. 100ms with ease-out feels instant. Avoid linear—looks broken. Snappy entrance, gentle settling.
**Arc**: Toggle switches travel in slight arc. Circular action buttons expand radially. Dropdown carets rotate smoothly. Menu items can follow curved path.
**Secondary Action**: Icon changes color as button state changes. Badge count updates with parent notification. Helper text appears as input focuses. Shadow responds to elevation.
**Timing**: Immediate feedback: 50-100ms. Standard transitions: 100-200ms. Complex micro-interactions: 200-300ms. Anything longer feels sluggish for small UI.
**Exaggeration**: Enough to notice, not enough to distract. Error shakes: 3-5px, not 20px. Success scales: 1.05-1.1, not 1.5. Subtle but unmistakable.
**Solid Drawing**: Transform origin matters—buttons scale from center, tooltips from pointer. Consistent behavior across similar elements. Maintain visual integrity during animation.
**Appeal**: Micro-interactions add personality without overwhelming. Users should feel the interface is responsive and alive. Small delights build into overall experience quality.
## Component Patterns
### Button States
```css
.button {
transition: transform 100ms ease-out,
box-shadow 100ms ease-out;
}
.button:hover {
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.button:active {
transform: translateY(0) scale(0.98);
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
```
### Toggle Switch
```css
.toggle-thumb {
transition: transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.toggle-thumb.active {
transform: translateX(20px);
}
```
### Checkbox
```css
.checkmark {
stroke-dasharray: 20;
stroke-dashoffset: 20;
transition: stroke-dashoffset 200ms ease-out 50ms;
}
.checkbox:checked + .checkmark {
stroke-dashoffset: 0;
}
```
## Timing Reference
| Interaction | Duration | Easing |
|-------------|----------|--------|
| Hover | 100ms | ease-out |
| Click/tap | 100ms | ease-out |
| Toggle | 150-200ms | spring/elastic |
| Checkbox | 150ms | ease-out |
| Focus ring | 100ms | ease-out |
| Tooltip show | 150ms | ease-out |
| Tooltip hide | 100ms | ease-in |
| Badge update | 200ms | elastic |
| Form error | 200ms | ease-out |
## Best Practices
1. Every interactive element needs feedback
2. Disabled states: no animation, reduced opacity
3. Group related feedback together
4. Don't animate on every change—filter unnecessary updates
5. Test without animation—functionality shouldn't depend on it
6. Respect `prefers-reduced-motion`
© dylantarre · MIT · dylantarre/animation-principles