К основному содержанию
скилл CX Codex

loading-states · dylantarre — скилл для Claude Code: анимации загрузки

Скилл для индикаторов загрузки: спиннеры, прогресс-бары, скелетоны и шиммер. Пригодится, когда интерфейс должен показать, что система работает.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dylantarre/animation-principles --skill loading-states -a claude-code
Открыть на GitHub

Что делает loading-states

Скилл разбирает анимации ожидания через 12 принципов Disney и превращает их в конкретные правила. Squash & Stretch задаёт лёгкую пульсацию индикатора (масштаб 0.98–1.02), Anticipation требует показать состояние загрузки сразу по действию, а Staging — ставить индикатор туда, где появится контент. Скелетоны при этом должны совпадать по пропорциям с настоящим содержимым, иначе иллюзия ломается.

Тайминги прописаны отдельно для каждого типа. Спиннер появляется с задержкой 200ms, чтобы не мигать на быстрых загрузках, и держится минимум 500ms; цикл шиммера скелетона — 1500ms. Прогресс-бар показывается без задержки и плавно заполняется между известными процентами. Переход от загрузки к контенту перекрывается на 100ms, чтобы не было резкого скачка.

Внутри есть готовые CSS-паттерны: шиммер через linear-gradient и @keyframes, спиннер с плавным вращением, прогресс-бар с cubic-bezier(0.4, 0, 0.2, 1) и появление контента через content-reveal. Отдельным пунктом идёт prefers-reduced-motion — при включённой настройке вместо анимации показывается статичный индикатор. Если у вас в проекте уже есть свои тайминги загрузки, этот скилл стоит сверить с ними: расхождения по задержке и минимальному времени показа дадут заметное мигание.

Какие задачи решает

  • показать спиннер, не дожидаясь медленного ответа сервера
  • собрать скелетон, совпадающий по пропорциям с реальным контентом
  • убрать мигание индикатора на быстрых загрузках
  • сделать плавный переход от загрузки к контенту
  • учесть prefers-reduced-motion в анимациях ожидания

Примеры запросов агенту

  • Сделай скелетон для карточки товара по скиллу loading-states
  • Настрой тайминги спиннера и прогресс-бара, как в loading-states
  • Проверь мои анимации загрузки на соответствие loading-states

Как установить loading-states

1Через Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill loading-states -a claude-code

2Вручную: положить файлы

~/.claude/skills/loading-states/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/loading-states/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о loading-states

Как установить loading-states в Claude?

Выполните npx skills add dylantarre/animation-principles --skill loading-states -a claude-code. Файл скилла окажется в ~/.claude/skills/loading-states/SKILL.md.

Что делает loading-states?

Описывает анимации ожидания через принципы Disney: спиннеры, прогресс-бары, скелетоны и шиммер. Даёт тайминги для каждого типа и CSS-паттерны для реализации.

Какие тайминги рекомендует скилл?

Спиннер появляется через 200ms и держится минимум 500ms, цикл шиммера скелетона — 1500ms, переход к контенту перекрывается на 100ms.

Исходный текст

SKILL.md · MIT
---
name: loading-states
description: Use when indicating progress or waiting - spinners, progress bars, skeleton screens, shimmer effects, or any animation showing the system is working.
---

# Loading State Animations

Apply Disney's 12 principles to communicate system activity.

## Principle Application

**Squash & Stretch**: Progress indicators can pulse/breathe to show life. Slight scale oscillation (0.98-1.02).

**Anticipation**: Show loading state immediately on action. Don't wait for slow response to show spinner.

**Staging**: Loading indicators appear where content will be. Skeleton screens match final layout.

**Straight Ahead vs Pose-to-Pose**: Design loading as a sequence: instant indicator → progress → completion → content.

**Follow Through & Overlapping**: Loading fades as content enters. Overlap the transition by 100ms.

**Slow In/Slow Out**: Progress bars ease-in-out between known percentages. Indeterminate uses smooth oscillation.

**Arcs**: Circular spinners follow true circular paths. Avoid jerky rotation.

**Secondary Action**: Skeleton shimmer + subtle pulse. Multiple signals reinforce "loading."

**Timing**:
- Show spinner after 200ms delay (avoid flash for fast loads)
- Minimum display: 500ms (prevent jarring flash)
- Skeleton shimmer cycle: 1500-2000ms

**Exaggeration**: Keep minimal - loading shouldn't distract, just reassure.

**Solid Drawing**: Skeletons should match content proportions. Wrong shapes break the illusion.

**Appeal**: Loading should feel optimistic, not tedious. Smooth motion suggests progress.

## Timing Recommendations

| Loading Type | Appear Delay | Min Display | Animation Cycle |
|-------------|--------------|-------------|-----------------|
| Spinner | 200ms | 500ms | 700-800ms |
| Progress Bar | 0ms | - | smooth fill |
| Skeleton | 0ms | 500ms | 1500ms shimmer |
| Button Spinner | 0ms | 400ms | 600ms |
| Full Page | 100ms | 800ms | 1000ms |

## Implementation Patterns

```css
/* Skeleton shimmer */
.skeleton {
  background: linear-gradient(
    90deg,
    #e0e0e0 0%,
    #f0f0f0 50%,
    #e0e0e0 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1500ms ease-in-out infinite;
}

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Spinner with smooth rotation */
.spinner {
  animation: spin 700ms linear infinite;
  opacity: 0;
  animation: fade-in 200ms 200ms ease-out forwards, spin 700ms linear infinite;
}

/* Progress bar with easing */
.progress-fill {
  transition: width 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
```

## Loading-to-Content Transition

```css
.content-enter {
  animation: content-reveal 300ms ease-out forwards;
}

@keyframes content-reveal {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
```

## Key Rules

1. Delay spinner appearance by 200ms to avoid flash
2. Keep loading visible minimum 500ms once shown
3. Skeleton shapes must match real content dimensions
4. Transition smoothly from loading to content - never pop
5. Respect `prefers-reduced-motion` - show static indicator instead

© dylantarre · MIT · dylantarre/animation-principles

Похожие скиллы

Всё по теме «Фронтенд и UI» →

Сначала — loading-states от других авторов.

loading-states Owl-Listener Проектирует состояния ожидания: скелетоны, индикаторы, постепенную загрузку и оптимистичные обновления. Нужен, когда контент или действие не завершаются сразу. CX Codex +1 2 200установок loading-states-and-perceived-performance dembrandt Скилл для ИИ-кодинга, который помогает выбрать спиннер, скелетон или прогресс-бар и сделать интерфейс быстрее на ощупь. CX Codex +1 871установок button-states dembrandt Скилл описывает шесть состояний интерактивных элементов и выводит цвета hover и active из базового цвета по HSL. Пригодится, когда кнопки в проекте выглядят незаконченными. CX Codex +1 877установок beam-glow-states MengTo Скилл для React-интерфейсов: подключает анимированное свечение границ из пакета border-beam к состояниям загрузки, выбора и фокуса. CX Codex +1 1 300установок emil-design-eng emilkowalski Скилл задаёт правила для полировки интерфейсов, компонентов и анимаций. Пригодится, когда UI работает, но требует более точных состояний и переходов. CX Codex +1 388 200установок review-animations emilkowalski Проверяет код интерфейсных анимаций по принципам Эмиля Ковальски. Помогает убрать дерганые переходы, медленный ease-in и лишнюю нагрузку на процессор. CX Codex +1 256 500установок better-ui jakubkrehel Скилл задаёт точные правила для радиусов, теней, иконок и анимаций интерфейса. Пригодится, когда базовые взаимодействия уже работают и нужна визуальная доводка. CX Codex +1 39 300установок

Из того же набора86

transition-sequences Скилл для многошаговых анимаций: переходы страниц, онбординг, шаги визарда. Подсказывает тайминги и порядок шагов по принципам Disney. CX Codex +1 573установок education-learning Скилл для тех, кто делает анимации в e-learning и тренажёрах: подсказывает тайминги, отклик на ответ и подачу прогресса. CX Codex +1 567установок physics-intuition Скилл для анимации: помогает агенту сделать движение весомым — падения, прыжки, столкновения и инерцию. CX Codex +1 569установок dramatic-2000ms-plus Скилл для анимаций длиннее 2000 мс: кинематографичные интро, сюжетные последовательности, премиальные онбординги. Пригодится, когда анимация и есть продукт. CX Codex +1 563установок rive-animations Скилл помогает агенту собрать анимацию в Rive по 12 принципам Disney: стейт-машины, инпуты, тайминги и React-обвязка. CX Codex +1 560установок navigation-menus Скилл для анимации навбаров, меню и сайдбаров: тайминги, кривые и состояния переходов по принципам Disney. CX Codex +1 554установок buttons-ctas Скилл для ИИ-кодинга, который подсказывает агенту, как анимировать кнопки и CTA: состояния, тайминги, CSS-переходы. CX Codex +1 550установок figma-prototyping Скилл подсказывает агенту, как собрать прототип в Figma по 12 принципам анимации Диснея — через Smart Animate и варианты компонентов. CX Codex +1 548установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой