slow-in-out-mastery — скилл для Claude Code: кривые easing
Скилл для ИИ-агента, который подсказывает, какую кривую ускорения и замедления выбрать в анимации интерфейса или персонажа.
npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a claude-codeЧто делает slow-in-out-mastery
Скилл объясняет принцип slow in / slow out: объект разгоняется от покоя и тормозит перед остановкой, а не едет с постоянной скоростью. Агент получает теорию плотности кадров, список типовых функций (ease out, ease in, ease in out, linear, кастомный bezier) и разбор, как easing связан с таймингом, anticipation, follow through и squash/stretch.
Дальше идёт разбивка по областям: переходы страниц, модалки, кнопки, лоадеры и hover-состояния в UI; прыжки, повороты головы, моргание и перенос веса в анимации персонажа; появление текста и логотипы в motion graphics; движение камеры и отклик управления в играх. Отдельный блок про bounce, elastic и back — кривые с перелётом и колебанием.
Практическая часть — эвристика выбора: ease out для появления элементов и отклика на действие пользователя, ease in для уходов, ease in out для самостоятельных анимаций. Там же перечислены типовые ошибки: линейное движение везде, слишком мягкие кривые, easing не в ту сторону. Скилл советует начать с ease out для большинства анимаций интерфейса. Это текст-руководство, кода и скриптов внутри нет, поэтому для нестандартных кривых придётся считать bezier самому.
Какие задачи решает
- выбрать кривую для появления модального окна
- объяснить агенту, почему линейная анимация выглядит механически
- развести easing для входа и выхода элемента
- подобрать кривую для прыжка персонажа с разгоном и торможением
- отличить bounce от elastic, когда нужен перелёт
Примеры запросов агенту
- подбери easing для появления модалки — она должна откликаться быстро
- почему моя анимация кнопки выглядит роботом, что не так с кривой
- сделай прыжок персонажа: разгон от земли, замедление к пику
Как установить slow-in-out-mastery
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a claude-code2Вручную: положить файлы
~/.claude/skills/slow-in-out-mastery/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/slow-in-out-mastery/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a codex2Вручную: положить файлы
.agents/skills/slow-in-out-mastery/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a cursor2Вручную: положить файлы
.cursor/skills/slow-in-out-mastery/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles slow-in-out-mastery2Вручную: положить файлы
.github/skills/slow-in-out-mastery/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/11-by-principle-focus/slow-in-out-masteryВручную: положить файлы
.devin/skills/slow-in-out-mastery/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о slow-in-out-mastery
Как установить slow-in-out-mastery в Claude?
Выполните npx skills add dylantarre/animation-principles --skill slow-in-out-mastery -a claude-code. После этого файл скилла лежит в ~/.claude/skills/slow-in-out-mastery/SKILL.md.
Что делает slow-in-out-mastery?
Даёт агенту теорию и эвристики по кривым ускорения и замедления: какие функции брать для входов, выходов и самостоятельных анимаций, как easing связан с таймингом и follow through.
Для каких платформ подходит скилл?
Кроме Claude есть установка для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode — команда та же, меняется только флаг -a.
Исходный текст
SKILL.md · MIT
--- name: slow-in-out-mastery description: Use when designing easing curves, controlling motion pacing, creating natural acceleration/deceleration, or making movements feel physically grounded. --- # Slow In / Slow Out Mastery ## The Physics Principle Objects in the real world don't move at constant speeds—they accelerate from rest and decelerate to stops. Slow in/slow out (also called ease in/ease out) captures this fundamental truth. Without it, animation looks mechanical. With it, motion feels alive. ## Core Theory **Slow Out** (Ease Out): More drawings clustered at the start of a movement. The object accelerates away from its starting position gradually. **Slow In** (Ease In): More drawings clustered at the end of a movement. The object decelerates into its final position gradually. **Linear motion**: Equal spacing between positions. Rare in nature, useful for mechanical elements or stylistic choice. ## The Spacing Principle Traditional animators controlled this through drawing spacing: - **Tight spacing** = slow movement (drawings close together) - **Wide spacing** = fast movement (drawings far apart) Digital animators control this through easing curves—mathematical functions that describe how values change over time. ## Common Easing Functions - **Ease Out**: Fast start, slow end (70% of UI animations) - **Ease In**: Slow start, fast end (exits, departures) - **Ease In Out**: Slow start and end (elegant, deliberate) - **Linear**: Constant rate (mechanical, looping) - **Custom bezier**: Precise control for specific feels ## Interaction with Other Principles **Timing is modified by easing**: The same duration feels different with different easing. Ease out feels faster than ease in at identical durations. **Anticipation often uses ease in**: The wind-up accelerates before the fast action. **Follow through uses ease out**: Settling motion decelerates to rest. **Squash/stretch intensity follows easing**: More deformation during fast phases, less during slow phases. ## Domain Applications ### UI/Motion Design - **Page transitions**: Ease out for entrances (fast appearance, settle), ease in for exits - **Modals**: Ease out scale-up for friendly, non-jarring appearance - **Buttons**: Ease out on press feedback (immediate response, smooth settle) - **Loading**: Linear for progress bars (predictable), ease for spinners (organic) - **Hover states**: Quick ease out to start, ease in out for smooth feel ### Character Animation - **Jumps**: Slow out from ground (acceleration), slow in to peak (deceleration), fast middle - **Head turns**: Slow out from rest, slow in to new direction - **Blinks**: Fast down (almost linear), slow out up (lids dragging) - **Weight shifts**: Heavy easing reflects mass ### Motion Graphics - **Text reveals**: Staggered ease outs create cascading arrivals - **Logo animations**: Carefully crafted curves define brand personality - **Data visualization**: Ease out for growth, ease in for decrease ### Game Feel - **Camera movement**: Ease in out for cinematic, quick ease out for responsive - **Character control**: Ease curves define how "tight" or "floaty" movement feels - **Impact effects**: Sharp ease in creates punch ## Common Mistakes 1. **Linear everything**: Motion feels robotic and sterile 2. **Too much easing**: Overly soft motion feels sluggish, unresponsive 3. **Wrong easing direction**: Ease in on entrances feels reluctant; ease out on exits feels like the element doesn't want to leave 4. **Ignoring context**: Playful UIs need bouncier curves; professional UIs need subtler easing ## The Bounce and Elastic Extensions Beyond basic easing: - **Bounce**: Overshoot with diminishing oscillation (playful, energetic) - **Elastic**: Overshoot with wobble (stretchy, cartoony) - **Back**: Slight pullback before motion (adds anticipation) ## The 80/20 Rule For most UI work: use ease out for 80% of animations (elements responding to user action). Ease out communicates responsiveness—"I heard you and I'm moving." Reserve ease in for departures and de-emphasis. ## Implementation Heuristic Default to ease out (fast start, slow end) for element appearances and responses. Use ease in for exits. Use ease in out for autonomous animations (not triggered by user). Adjust curve intensity based on brand personality—aggressive curves for dynamic brands, subtle curves for calm brands.
© dylantarre · MIT · dylantarre/animation-principles