anime-js · dylantarre — скилл для Claude Code: 12 принципов анимации
Скилл для ИИ-агента, который подсказывает, как собрать анимацию на Anime.js по 12 принципам Disney.
npx skills add dylantarre/animation-principles --skill anime-js -a claude-codeЧто делает anime-js
Скилл описывает все 12 принципов анимации Disney и показывает для каждого готовый приём на Anime.js. Squash and stretch через scaleX и scaleY, anticipation через anime.timeline(), follow through с относительным сдвигом '-=450', арки через anime.path() по SVG-контуру. Агент берёт нужный раздел и подставляет ваши селекторы.
Внутри — примеры кода на JavaScript: таймлайны, keyframes, anime.stagger(), встроенные easing-функции плюс spring() и elastic(). Есть разделы про тайминг (быстро, обычно, медленно), преувеличение с overshoot и объём через rotateX/rotateY с perspective.
Скилл рассчитан на проект, где Anime.js уже подключён: без библиотеки примеры не запустятся. Ставится одной командой через npx skills add, файл ложится в ~/.claude/skills/anime-js/SKILL.md.
Какие задачи решает
- собрать прыжок персонажа с squash and stretch
- сделать замах перед движением через таймлайн
- рассинхронизировать волосы и плащ относительно тела
- пустить элемент по SVG-контуру
- подобрать easing под драматичный или резкий переход
Примеры запросов агенту
- Сделай анимацию карточки на Anime.js с принципом appeal — мягкий scale и тень
- Покажи, как через anime.timeline() сделать anticipation перед прыжком мяча
- Как в Anime.js пустить элемент по SVG-пути через anime.path()?
Как установить anime-js
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill anime-js -a claude-code2Вручную: положить файлы
~/.claude/skills/anime-js/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/anime-js/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill anime-js -a codex2Вручную: положить файлы
.agents/skills/anime-js/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill anime-js -a cursor2Вручную: положить файлы
.cursor/skills/anime-js/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles anime-js2Вручную: положить файлы
.github/skills/anime-js/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill anime-js -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/09-by-tool-framework/anime-jsВручную: положить файлы
.devin/skills/anime-js/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill anime-js -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о anime-js
Как установить anime-js в Claude?
Выполните npx skills add dylantarre/animation-principles --skill anime-js -a claude-code. Скилл появится в ~/.claude/skills/anime-js/SKILL.md.
Что делает anime-js?
Даёт агенту готовые примеры на Anime.js для каждого из 12 принципов анимации Disney: от squash and stretch до appeal.
Нужна ли установка Anime.js отдельно?
Да, скилл только подсказывает код. Саму библиотеку Anime.js подключаете в проекте сами.
Исходный текст
SKILL.md · MIT
---
name: anime-js
description: Use when implementing Disney's 12 animation principles with Anime.js library
---
# Anime.js Animation Principles
Implement all 12 Disney animation principles using Anime.js's flexible animation engine.
## 1. Squash and Stretch
```javascript
anime({
targets: '.ball',
scaleX: [1, 1.2, 1],
scaleY: [1, 0.8, 1],
duration: 300,
easing: 'easeInOutQuad'
});
```
## 2. Anticipation
```javascript
anime.timeline()
.add({
targets: '.character',
translateY: 10,
scaleY: 0.9,
duration: 200
})
.add({
targets: '.character',
translateY: -200,
duration: 400,
easing: 'easeOutQuad'
});
```
## 3. Staging
```javascript
anime({
targets: '.background',
filter: 'blur(3px)',
opacity: 0.6,
duration: 500
});
anime({
targets: '.hero',
scale: 1.1,
duration: 500
});
```
## 4. Straight Ahead / Pose to Pose
```javascript
anime({
targets: '.element',
keyframes: [
{ translateX: 0, translateY: 0 },
{ translateX: 100, translateY: -50 },
{ translateX: 200, translateY: 0 },
{ translateX: 300, translateY: -30 }
],
duration: 1000
});
```
## 5. Follow Through and Overlapping Action
```javascript
anime.timeline()
.add({ targets: '.body', translateX: 200, duration: 500 })
.add({ targets: '.hair', translateX: 200, duration: 500 }, '-=450')
.add({ targets: '.cape', translateX: 200, duration: 600 }, '-=500');
```
## 6. Slow In and Slow Out
```javascript
anime({
targets: '.element',
translateX: 300,
duration: 600,
easing: 'easeInOutCubic'
});
// Options: easeInQuad, easeOutQuad, easeInOutQuad
// easeInCubic, easeOutCubic, easeInOutCubic
// spring(mass, stiffness, damping, velocity)
```
## 7. Arc
```javascript
anime({
targets: '.ball',
translateX: 200,
translateY: [
{ value: -100, duration: 500 },
{ value: 0, duration: 500 }
],
easing: 'easeOutQuad',
duration: 1000
});
// Or use SVG path
anime({
targets: '.element',
translateX: anime.path('.motion-path')('x'),
translateY: anime.path('.motion-path')('y'),
duration: 1000
});
```
## 8. Secondary Action
```javascript
const tl = anime.timeline();
tl.add({
targets: '.button',
scale: 1.1,
duration: 200
})
.add({
targets: '.icon',
rotate: 15,
duration: 150
}, '-=150')
.add({
targets: '.particles',
opacity: [0, 1],
delay: anime.stagger(50)
}, '-=100');
```
## 9. Timing
```javascript
// Fast - snappy
anime({ targets: '.fast', translateX: 100, duration: 150 });
// Normal
anime({ targets: '.normal', translateX: 100, duration: 300 });
// Slow - dramatic
anime({ targets: '.slow', translateX: 100, duration: 600 });
// Spring physics
anime({ targets: '.spring', translateX: 100, easing: 'spring(1, 80, 10, 0)' });
```
## 10. Exaggeration
```javascript
anime({
targets: '.element',
scale: 1.5,
rotate: '2turn',
duration: 800,
easing: 'easeOutElastic(1, 0.5)' // overshoot
});
```
## 11. Solid Drawing
```javascript
anime({
targets: '.box',
rotateX: 45,
rotateY: 30,
perspective: 1000,
duration: 500
});
```
## 12. Appeal
```javascript
anime({
targets: '.card',
scale: 1.02,
boxShadow: '0 20px 40px rgba(0,0,0,0.2)',
duration: 300,
easing: 'easeOutQuad'
});
```
## Stagger Animation
```javascript
anime({
targets: '.item',
translateY: [20, 0],
opacity: [0, 1],
delay: anime.stagger(100), // 100ms between each
easing: 'easeOutQuad'
});
```
## Key Anime.js Features
- `anime.timeline()` - Sequence animations
- `keyframes` - Multiple poses
- `anime.stagger()` - Offset delays
- `anime.path()` - SVG motion paths
- Built-in easings + `spring()` + `elastic()`
- `'-=200'` - Relative offset timing
- `anime.set()` - Instant property set
© dylantarre · MIT · dylantarre/animation-principles
Похожие скиллы
Всё по теме «Фронтенд и UI» →Сначала — anime-js от других авторов.