modals-dialogs — скилл для Claude Code: что делает и как установить
Набор правил анимации диалоговых окон, модалок и поповеров по 12 принципам анимации Диснея. Помогает настроить плавное появление и закрытие оверлеев.
npx skills add dylantarre/animation-principles --skill modals-dialogs -a claude-codeЧто делает modals-dialogs
Скилл задаёт агенту правила анимации для модальных окон, всплывающих подсказок и диалогов. Он переносит принципы классической анимации в CSS: вместо мгновенного переключения состояний окно масштабируется от 0.9 до 1.0, а подложка плавно затемняется до прозрачности 0.5–0.7 с размытием 4–8px.
В правилах зафиксированы конкретные тайминги. На затемнение фона отводится 200–250 мс, на открытие окна — 250–350 мс, а на закрытие — 200 мс. Для плавного торможения скилл использует кривую cubic-bezier(0.16, 1, 0.3, 1). Контент внутри окна появляется со сдвигом в 50–100 мс после самого контейнера.
Если закрывать модалку с той же скоростью, что и открывать, интерфейс кажется вязким, поэтому выход всегда делается быстрее.
Какие задачи решает
- настроить плавное появление и скрытие модального окна в CSS
- задать правильные тайминги для оверлеев и поповеров
- добавить ступенчатое появление полей формы внутри диалога
- настроить эффект тряски модалки при ошибке валидации
Примеры запросов агенту
- Добавь анимацию открытия для модального окна авторизации по принципам из скилла
- Настрой плавное закрытие и размытие фона для компонента Dialog в CSS
- Сделай появление поповера из кнопки вызова с небольшой задержкой контента
Как установить modals-dialogs
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill modals-dialogs -a claude-code2Вручную: положить файлы
~/.claude/skills/modals-dialogs/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/modals-dialogs/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill modals-dialogs -a codex2Вручную: положить файлы
.agents/skills/modals-dialogs/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill modals-dialogs -a cursor2Вручную: положить файлы
.cursor/skills/modals-dialogs/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles modals-dialogs2Вручную: положить файлы
.github/skills/modals-dialogs/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill modals-dialogs -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/07-by-ui-element/modals-dialogsВручную: положить файлы
.devin/skills/modals-dialogs/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill modals-dialogs -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о modals-dialogs
Как установить modals-dialogs в Claude Code?
Выполните команду npx skills add dylantarre/animation-principles --skill modals-dialogs -a claude-code. Файл правил запишется в ~/.claude/skills/modals-dialogs/SKILL.md.
Что делает скилл modals-dialogs?
Скилл инструктирует модель о том, как анимировать модальные окна, диалоги и поповеры. Он задаёт значения масштабирования, размытия, задержки появления контента и кривые безье.
Какие тайминги анимации рекомендует скилл?
Для плавного затемнения подложки задаётся 200–250 мс, для появления самого окна — 250–350 мс. Закрытие происходит быстрее — за 200 мс, а тряска при ошибке длится 300 мс.
Исходный текст
SKILL.md · MIT
---
name: modals-dialogs
description: Use when animating modals, dialogs, popovers, or overlay content to create smooth entrances and exits
---
# Modal & Dialog Animation Principles
Apply Disney's 12 principles to modals for seamless, non-jarring transitions.
## Principles Applied to Modals
### 1. Squash & Stretch
Modal can scale from 0.9 to 1.0 on enter, creating a subtle expansion feel. Exit reverses. Keep it subtle to maintain professionalism.
### 2. Anticipation
Trigger element (button) should react before modal appears. Brief scale-down of trigger, then modal emerges from that point.
### 3. Staging
Backdrop dims (0.5-0.7 opacity) to focus attention on modal. Background content can blur slightly (4-8px). Modal is the star.
### 4. Straight Ahead & Pose to Pose
Define states: hidden, entering, visible, exiting. Clear keyframes for each. Pose-to-pose ensures predictable, controllable animation.
### 5. Follow Through & Overlapping Action
Modal container arrives first, content fades in 50-100ms after. Close button can have slight bounce at end. Stagger form fields.
### 6. Ease In & Ease Out
Enter: `ease-out` (decelerates in). Exit: `ease-in` (accelerates out). `cubic-bezier(0.16, 1, 0.3, 1)` for smooth, bouncy enter.
### 7. Arcs
If modal originates from a button, arc toward center rather than straight line. Creates more organic movement path.
### 8. Secondary Action
While modal scales in (primary), backdrop fades (secondary), content staggers (tertiary). Each supports without competing.
### 9. Timing
- Backdrop fade: 200-250ms
- Modal enter: 250-350ms
- Modal exit: 200ms (faster out)
- Content stagger: 30-50ms per item
- Shake on error: 300ms
### 10. Exaggeration
Dramatic entrance for important alerts. Slight overshoot scale (1.02) before settling at 1.0. Error modals can shake briefly.
### 11. Solid Drawing
Modal shadows should match interface light source. Maintain consistent border-radius. Content should never overflow during animation.
### 12. Appeal
Smooth entrances feel polished. Origin-point animation feels connected. Abrupt modals feel jarring. Invest in modal transitions.
## CSS Implementation
```css
.modal-backdrop {
transition: opacity 250ms ease-out;
}
.modal {
animation: modalEnter 300ms cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes modalEnter {
from {
opacity: 0;
transform: scale(0.9) translateY(20px);
}
to {
opacity: 1;
transform: scale(1) translateY(0);
}
}
```
## Key Properties
- `transform`: scale, translate (origin point)
- `opacity`: fade in/out
- `backdrop-filter`: blur background
- `animation`: keyframe sequences
- `transform-origin`: source point
© dylantarre · MIT · dylantarre/animation-principles