motion-sickness — скилл для Claude Code: убрать укачивание от анимации
Помогает найти и убрать в интерфейсе анимации, от которых кружится голова: параллакс, зум, вращение. Пригодится, когда пользователи жалуются на тошноту при навигации.
npx skills add dylantarre/animation-principles --skill motion-sickness -a claude-codeЧто делает motion-sickness
Скилл разбирает анимацию по принципам Disney и показывает, какой из них даёт вестибулярный триггер. Драматичные трансформации, дуговые траектории, отскоки, несколько движущихся элементов сразу, рваное ускорение — под каждый случай есть правка: уменьшить масштаб, перейти на линейное движение, убрать overshoot, оставить одно ведущее движение.
Внутри — список опасных паттернов, таблица безопасных замен и готовый CSS-блок с prefers-reduced-motion. Советует держать смещение под 100px, отказаться от scroll-jacking и заменить зум на фейд с масштабом до 5%. Уважение к prefers-reduced-motion названо обязательным условием, а не опцией.
Проверять стоит на большом экране: там движение усиливается. И держать вкладку открытой хотя бы пять минут подряд, потому что короткий прогон не показывает накопительный эффект.
Какие задачи решает
- убрать параллакс, от которого укачивает при скролле
- заменить зум-переходы на фейд
- добавить поддержку
prefers-reduced-motionв стили - снизить амплитуду трансформаций до безопасной
- найти источник жалоб на головокружение в навигации
Примеры запросов агенту
- Пользователи жалуются на тошноту при скролле главной — проверь анимации по скиллу motion-sickness
- Убери параллакс и зум-переходы, оставь только безопасные варианты движения
- Добавь в CSS блок
prefers-reduced-motionи проверь, что ни один элемент не двигается больше 100px
Как установить motion-sickness
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill motion-sickness -a claude-code2Вручную: положить файлы
~/.claude/skills/motion-sickness/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/motion-sickness/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill motion-sickness -a codex2Вручную: положить файлы
.agents/skills/motion-sickness/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill motion-sickness -a cursor2Вручную: положить файлы
.cursor/skills/motion-sickness/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles motion-sickness2Вручную: положить файлы
.github/skills/motion-sickness/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill motion-sickness -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/12-by-problem-type/motion-sicknessВручную: положить файлы
.devin/skills/motion-sickness/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill motion-sickness -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о motion-sickness
Как установить motion-sickness в Claude?
Выполните npx skills add dylantarre/animation-principles --skill motion-sickness -a claude-code. Скилл появится в ~/.claude/skills/motion-sickness/SKILL.md.
Что делает motion-sickness?
Ищет в интерфейсе анимации, которые вызывают головокружение и тошноту, и предлагает замену: фейд вместо зума, статичный фон вместо параллакса, ease-out вместо отскока.
На каких платформах работает скилл?
Кроме Claude есть установка для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для GitHub Copilot команда другая: gh skill install dylantarre/animation-principles motion-sickness.
Исходный текст
SKILL.md · MIT
---
name: motion-sickness
description: Use when animation causes dizziness, nausea, disorientation, or vestibular discomfort
---
# Motion Sickness Prevention
Eliminate vestibular triggers using Disney's principles safely.
## Problem Indicators
- Users report dizziness or nausea
- Disorientation during navigation
- Users avoid certain features
- Complaints increase with larger screens
- Parallax or zoom effects cause issues
## Dangerous Patterns
These trigger vestibular responses:
- Large-scale zoom animations
- Parallax scrolling (especially multi-layer)
- Full-screen rotations
- Rapid direction changes
- Continuous/looping background motion
- Scroll-jacking
## Diagnosis by Principle
### Exaggeration
**Issue**: Over-dramatic motion
**Fix**: Reduce scale of transforms. Max 10-20% size change. Avoid full-screen zooms.
### Arcs
**Issue**: Curved paths cause tracking strain
**Fix**: Use linear motion for functional UI. Save arcs for small, optional elements only.
### Follow Through
**Issue**: Overshooting creates whiplash effect
**Fix**: Remove bounce/overshoot from navigation. Use critically damped springs or ease-out.
### Secondary Action
**Issue**: Multiple moving elements cause confusion
**Fix**: Limit to one primary motion. Remove parallax layers.
### Slow In and Slow Out
**Issue**: Acceleration patterns cause disorientation
**Fix**: Use consistent, predictable easing. Avoid sudden speed changes.
## Quick Fixes
1. **Respect `prefers-reduced-motion`** - Non-negotiable
2. **Remove parallax effects** - Common trigger
3. **Avoid zoom transitions** - Use fades instead
4. **Keep motion small** - Under 100px movement
5. **No scroll-jacking** - Let scroll be scroll
## Troubleshooting Checklist
- [ ] Does animation respect `prefers-reduced-motion`?
- [ ] Is any element moving more than 100px?
- [ ] Are there any zoom effects?
- [ ] Is parallax present? Remove it.
- [ ] Are there continuous/looping animations?
- [ ] Can users pause or disable motion?
- [ ] Test on large display (motion amplified)
- [ ] Test for 5+ minutes continuously
## Safe Alternatives
| Triggering | Safe Alternative |
|------------|------------------|
| Zoom transition | Fade + slight scale (max 5%) |
| Parallax scroll | Static or single-layer |
| Rotation | Fade or slide |
| Bounce/spring | Ease-out (no overshoot) |
| Full-page slide | Crossfade |
## Code Pattern
```css
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
.parallax {
transform: none !important;
}
}
/* Safe default motion */
.safe-transition {
transition: opacity 200ms ease-out;
/* Avoid: transform with large values */
}
```
© dylantarre · MIT · dylantarre/animation-principles