loaders-spinners — скилл для Claude Code: что делает и как установить
Помогает проектировать спиннеры, индикаторы загрузки и скелетоны по 12 принципам анимации Диснея. Подходит для вёрстки живых UI-состояний в CSS.
npx skills add dylantarre/animation-principles --skill loaders-spinners -a claude-codeЧто делает loaders-spinners
Скилл учит ассистента создавать индикаторы ожидания по правилам классической анимации. Вместо случайных значений агент применяет принципы Диснея к веб-интерфейсам: сжатие и растяжение для прыгающих точек, упреждение перед завершением полосы прогресса или вторичные действия вроде мягкого свечения вокруг спиннера.
Внутри собраны правила таймингов и готовые CSS-сниппеты. Для полного оборота спиннера задаётся диапазон от 800 до 1200 мс, для цикла прыжка — от 500 до 800 мс, а для мерцания скелетона — от 1500 до 2500 мс. Пошаговые анимации точек строятся со сдвигом 100–150 мс между соседними элементами.
Поведение анимации привязывается к тональности бренда: для строгих сервисов скилл оставляет сдержанное плавное вращение, а для неформальных проектов разрешает упругие скачки.
Какие задачи решает
- подобрать правильные тайминги для вращения спиннера и пульсации
- собрать скелетон со сдвигом градиента через CSS keyframes
- сделать прыгающие точки со смещением задержки
- применить сжатие и растяжение к индикаторам ожидания
Примеры запросов агенту
- Напиши CSS для трёх прыгающих точек с эффектом сжатия при падении.
- Сделай анимацию скелетона для карточки товара с плавным шиммером.
- Собери круглый спиннер с вращением за 1000 мс и затуханием.
Как установить loaders-spinners
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill loaders-spinners -a claude-code2Вручную: положить файлы
~/.claude/skills/loaders-spinners/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/loaders-spinners/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill loaders-spinners -a codex2Вручную: положить файлы
.agents/skills/loaders-spinners/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill loaders-spinners -a cursor2Вручную: положить файлы
.cursor/skills/loaders-spinners/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles loaders-spinners2Вручную: положить файлы
.github/skills/loaders-spinners/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill loaders-spinners -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/07-by-ui-element/loaders-spinnersВручную: положить файлы
.devin/skills/loaders-spinners/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill loaders-spinners -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о loaders-spinners
Как установить loaders-spinners в Claude Code?
Выполните в терминале команду npx skills add dylantarre/animation-principles --skill loaders-spinners -a claude-code.
Для каких компонентов ожидания подходит этот скилл?
Он рассчитан на круговые спиннеры, цепочки прыгающих точек, полосы прогресса и мерцающие заглушки skeleton screens.
Какие интервалы времени скилл рекомендует для анимаций?
Полный оборот спиннера занимает от 800 до 1200 мс, цикл прыжка точек — от 500 до 800 мс, а мерцание скелетона длится от 1500 до 2500 мс.
Исходный текст
SKILL.md · MIT
---
name: loaders-spinners
description: Use when creating loading indicators, spinners, progress bars, or skeleton screens to communicate system status
---
# Loader & Spinner Animation Principles
Apply Disney's 12 principles to loading indicators for engaging, informative wait experiences.
## Principles Applied to Loaders
### 1. Squash & Stretch
Bouncing dot loaders should squash on landing, stretch while rising. Creates life-like, playful motion.
### 2. Anticipation
Before progress completes, bar can briefly pause or slow. Spinners can decelerate before stopping. Signals completion coming.
### 3. Staging
Loader should be clearly visible but not block content unnecessarily. Skeleton screens stage where real content will appear.
### 4. Straight Ahead & Pose to Pose
Organic loaders (bouncing dots) benefit from straight-ahead. Progress bars use pose-to-pose (0% to 100% keyframes).
### 5. Follow Through & Overlapping Action
Multi-part loaders should have elements offset in timing. Dot 1 bounces, dot 2 follows 100ms later. Creates rhythm.
### 6. Ease In & Ease Out
Spinning: use `ease-in-out` per rotation cycle or `linear` for continuous. Bouncing: `ease-in` up, `ease-out` down.
### 7. Arcs
Orbital loaders should follow true circular arcs. Bouncing elements follow parabolic arcs like real physics.
### 8. Secondary Action
While spinner rotates (primary), glow pulses (secondary). Skeleton shimmer is secondary to skeleton shape.
### 9. Timing
- Spinner full rotation: 800-1200ms
- Bounce cycle: 500-800ms
- Skeleton shimmer: 1500-2500ms
- Progress bar smooth updates: 200ms
- Dot stagger: 100-150ms
- Pulse: 1000-2000ms
### 10. Exaggeration
Playful brands can use bouncy, elastic loaders. Professional contexts need subtle, smooth spinners. Match brand energy.
### 11. Solid Drawing
Maintain consistent stroke widths. Circular paths should be true circles. Progress bars should fill evenly.
### 12. Appeal
Engaging loaders reduce perceived wait time. Boring spinners feel slower. A delightful loader can turn frustration into momentary joy.
## CSS Implementation
```css
.spinner {
animation: spin 1000ms linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.bounce-dot {
animation: bounce 600ms ease-in-out infinite alternate;
}
.bounce-dot:nth-child(2) { animation-delay: 100ms; }
.bounce-dot:nth-child(3) { animation-delay: 200ms; }
@keyframes bounce {
from { transform: translateY(0) scaleY(1); }
to { transform: translateY(-20px) scaleY(0.9); }
}
.skeleton {
background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
background-size: 200% 100%;
animation: shimmer 2000ms infinite;
}
@keyframes shimmer {
to { background-position: -200% 0; }
}
```
## Key Properties
- `transform`: rotate, translateY, scale
- `animation`: infinite loops
- `background-position`: shimmer effects
- `stroke-dashoffset`: SVG spinners
- `opacity`: pulsing effects
© dylantarre · MIT · dylantarre/animation-principles