medium-300-500ms — скилл для Claude Code: анимации 300–500 мс
Скилл для ИИ-агента, который помогает писать анимации средней длительности: переходы страниц, модалки, появление элементов.
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a claude-codeЧто делает medium-300-500ms
Скилл описывает, как строить анимации в диапазоне 300–500 мс. Это длительность для заметного движения: зритель успевает его увидеть, но интерфейс не тормозит. Внутри разобраны все двенадцать принципов анимации применительно к этому диапазону — от squash & stretch до follow through, с конкретными ориентирами вроде 80–120 мс на anticipation и 18–30 кадров при 60 fps.
Практическая часть — это готовые значения cubic-bezier для CSS. Четыре кривые под разные задачи: плавное естественное движение, выразительный вход, пружинистый отскок, резкое торможение. Плюс шаблон для перехода страницы и пример каскадного появления элементов списка через transition-delay.
Скилл пригодится, когда анимация должна что-то сообщать, а не просто украшать: смена экрана, раскрытие фичи, завершение загрузки. Если у вас в проекте уже есть дизайн-система со своими таймингами, значения из скилла стоит сверить с ней — иначе получится два разных ритма движения в одном интерфейсе.
Какие задачи решает
- подобрать длительность и кривую для перехода между страницами
- сделать каскадное появление элементов списка
- оживить модалку с последовательностью шагов
- добавить отскок кнопке или карточке без ощущения тормозов
- задать тайминги для анимации графика или диаграммы
Примеры запросов агенту
- Сделай переход между страницами в диапазоне 300–500 мс, подбери easing под плавное движение
- Добавь каскадное появление карточек списка с задержкой 50 мс между ними
- Анимируй раскрытие модалки на 400 мс с выразительным входом
Как установить medium-300-500ms
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a claude-code2Вручную: положить файлы
~/.claude/skills/medium-300-500ms/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/medium-300-500ms/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a codex2Вручную: положить файлы
.agents/skills/medium-300-500ms/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a cursor2Вручную: положить файлы
.cursor/skills/medium-300-500ms/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles medium-300-500ms2Вручную: положить файлы
.github/skills/medium-300-500ms/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/10-by-time-scale/medium-300-500msВручную: положить файлы
.devin/skills/medium-300-500ms/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о medium-300-500ms
Как установить medium-300-500ms в Claude?
Выполните npx skills add dylantarre/animation-principles --skill medium-300-500ms -a claude-code. Скилл окажется в ~/.claude/skills/medium-300-500ms/SKILL.md.
Что делает скилл medium-300-500ms?
Задаёт агенту правила для анимаций длительностью 300–500 мс: какие принципы движения применять, какие кривые cubic-bezier брать и как выстраивать переходы страниц и каскады элементов.
Для каких платформ подходит этот скилл?
Ставится в Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — у каждой свой путь к файлу скилла.
Исходный текст
SKILL.md · MIT
---
name: medium-300-500ms
description: Use when building standard animations between 300-500ms - page transitions, significant UI changes, animated illustrations that need clear communication
---
# Medium Animations (300-500ms)
The 300-500ms range is **standard animation territory**. Long enough to be watched, short enough to not impede flow. The workhorse duration for meaningful motion.
## Disney Principles at Medium Duration
### All 12 Principles Applicable
**Squash & Stretch**: Full expression - visible deformation for bouncing, elastic elements. 15-25% stretch feels natural.
**Anticipation**: Clear preparation - 80-120ms anticipation before main action. Pull back before push forward.
**Staging**: Multi-element choreography possible - primary action leads, supporting elements follow.
**Straight Ahead/Pose to Pose**: Pose to pose recommended - define key positions, let easing handle in-betweens.
**Follow Through**: Essential - overlapping action where parts settle at different rates.
**Slow In/Slow Out**: Critical for naturalism - both directions need proper easing.
**Arcs**: Natural motion paths - elements should travel on curves matching real physics.
**Secondary Action**: Multiple secondary actions - hair follows head, shadow follows object.
**Timing**: 18-30 frames at 60fps. Enough frames for nuanced motion.
**Exaggeration**: Full range available - match to brand personality and context.
**Solid Drawing**: Complex transforms work - 3D rotations, perspective shifts.
**Appeal**: Character-defining animations - this is where brand personality lives.
## Easing Recommendations
```css
/* Smooth, natural motion */
transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);
/* Expressive entrance */
transition: all 450ms cubic-bezier(0.16, 1, 0.3, 1);
/* Bouncy, playful */
transition: transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
/* Dramatic deceleration */
transition: all 350ms cubic-bezier(0, 0.55, 0.45, 1);
```
## Best Use Cases
- Page/view transitions
- Complex modal sequences
- Animated illustrations
- Data visualization changes
- Onboarding animations
- Feature reveals
- State machine transitions
- Loading completion celebrations
## Implementation Pattern
```css
.page-enter {
opacity: 0;
transform: translateX(30px);
}
.page-enter-active {
opacity: 1;
transform: translateX(0);
transition: opacity 350ms ease-out,
transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
}
/* Staggered children */
.list-item {
transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);
}
.list-item:nth-child(1) { transition-delay: 0ms; }
.list-item:nth-child(2) { transition-delay: 50ms; }
.list-item:nth-child(3) { transition-delay: 100ms; }
```
## Key Insight
Medium duration is where animation becomes **storytelling**. Users watch, understand, and remember these animations. Invest in polish here - it defines perceived quality.
© dylantarre · MIT · dylantarre/animation-principles