exit-animations — скилл для Claude Code: анимации ухода элементов
Скилл подсказывает агенту, как анимировать исчезновение элементов: закрытие модалок, скрытие уведомлений, удаление строк списка.
npx skills add dylantarre/animation-principles --skill exit-animations -a claude-codeЧто делает exit-animations
Скилл описывает, как применять 12 принципов анимации Диснея к уходу элементов со экрана. Агент получает готовые правила: сжатие до 95–98% при уходе, короткая задержка перед началом, уход в логичную сторону — удалённые строки падают вниз, модалки сжимаются к точке появления, боковые панели возвращаются к своему краю.
Внутри таблица таймингов по типам элементов: подсказки 100ms, выпадающие списки и тосты 150ms, модалки и удаляемые строки 200ms, переходы страниц 250ms, везде ease-in. Есть шаблон CSS с @keyframes и cubic-bezier(0.4, 0, 1, 1) и порядок сворачивания строки списка: сначала гашение содержимого, потом схлопывание высоты, удаление из DOM после завершения анимации.
Скилл советует делать уход на 20–30% быстрее появления и добавлять will-change: opacity, transform. Если у вас уже есть свои токены длительности, эти значения придётся согласовывать вручную — скилл задаёт числа напрямую, а не берёт их из темы.
Какие задачи решает
- закрыть модалку так, чтобы она сжималась к месту появления, а не пропадала рывком
- свернуть удалённую строку списка без прыжка соседних элементов
- увести тост или уведомление по дуге вверх и в сторону
- подобрать длительность и кривую для подсказки, дропдауна и перехода страницы
- сделать уход элемента быстрее его появления
Примеры запросов агенту
- Сделай анимацию закрытия модалки по скиллу exit-animations: контент гаснет первым, оверлей последним
- У меня список задач, при удалении строка должна свернуться — примени exit-animations
- Настрой уход тоста: 150ms, ease-in, движение по дуге вверх
Как установить exit-animations
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill exit-animations -a claude-code2Вручную: положить файлы
~/.claude/skills/exit-animations/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/exit-animations/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill exit-animations -a codex2Вручную: положить файлы
.agents/skills/exit-animations/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill exit-animations -a cursor2Вручную: положить файлы
.cursor/skills/exit-animations/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles exit-animations2Вручную: положить файлы
.github/skills/exit-animations/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill exit-animations -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/05-by-animation-type/exit-animationsВручную: положить файлы
.devin/skills/exit-animations/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill exit-animations -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о exit-animations
Как установить exit-animations в Claude?
Выполните npx skills add dylantarre/animation-principles --skill exit-animations -a claude-code. Файл скилла появится по пути ~/.claude/skills/exit-animations/SKILL.md.
Что делает exit-animations?
Даёт агенту правила анимации ухода элементов: сжатие, задержку перед началом, направление ухода, тайминги и кривые. Работает при закрытии модалок, скрытии уведомлений, удалении элементов и переходах страниц.
Какие тайминги задаёт скилл?
Подсказки — 100ms, выпадающие списки и тосты — 150ms, модалки и удаляемые строки — 200ms, переходы страниц — 250ms. Везде ease-in, а уход советует делать на 20–30% быстрее появления.
Исходный текст
SKILL.md · MIT
---
name: exit-animations
description: Use when elements need to leave the screen - closing modals, dismissing notifications, removing items, page transitions out, or any "leaving view" animation.
---
# Exit Animations
Apply Disney's 12 principles when removing elements from view.
## Principle Application
**Squash & Stretch**: Scale down to 95-98% on exit. Element compresses slightly as it departs.
**Anticipation**: Brief pause or micro-movement before departure. A 50ms hesitation acknowledges the exit.
**Staging**: Exit toward logical destinations. Deleted items fall down, dismissed modals shrink to origin, sidebars return to their edge.
**Straight Ahead vs Pose-to-Pose**: Pose-to-pose with clear visible→invisible states. Plan the exit trajectory.
**Follow Through & Overlapping**: Content exits before container. Text fades 50ms before the card collapses.
**Slow In/Slow Out**: Use ease-in for exits. Gentle start, accelerating departure: `cubic-bezier(0.4, 0, 1, 1)`.
**Arcs**: Exit on curves, not straight lines. Dismissed notifications arc upward-and-out.
**Secondary Action**: Combine opacity fade with directional movement. Pure fades feel like errors.
**Timing**:
- Exits should be 20-30% faster than entrances
- Quick exits: 100-150ms (tooltips, dropdowns)
- Standard exits: 150-200ms (modals, toasts)
- Graceful exits: 200-300ms (page transitions)
**Exaggeration**: Scale to 0.9 for dramatic departure, 0.97 for subtle dismissal.
**Solid Drawing**: Maintain spatial logic. Elements should exit the way they came or toward where they "belong."
**Appeal**: Exits confirm user intent. Make dismissals feel decisive, not abrupt.
## Timing Recommendations
| Element Type | Duration | Easing | Notes |
|-------------|----------|--------|-------|
| Tooltip | 100ms | ease-in | Faster than entrance |
| Dropdown | 150ms | ease-in | Collapse upward |
| Toast | 150ms | ease-in | Slide to origin |
| Modal | 200ms | ease-in | Content first, overlay last |
| Deleted Item | 200ms | ease-in | Collapse height after fade |
| Page | 250ms | ease-in | Current page exits, then new enters |
## Implementation Pattern
```css
.exiting {
animation: exit 200ms cubic-bezier(0.4, 0, 1, 1) forwards;
}
@keyframes exit {
from {
opacity: 1;
transform: translateY(0) scale(1);
}
to {
opacity: 0;
transform: translateY(-10px) scale(0.98);
}
}
```
## Collapse Pattern
For removed list items:
1. Fade out content (150ms)
2. Collapse height (150ms, starts at 100ms)
3. Remove from DOM after animation completes
Total perceived time: 250ms. Always use `will-change: opacity, transform` for smooth exits.
© dylantarre · MIT · dylantarre/animation-principles