feedback-indicators — скилл для Claude Code: анимации подтверждения
Скилл для анимаций обратной связи: галочки успеха, тряска ошибок, валидация полей и тосты. Пригодится, когда интерфейс должен внятно отвечать на действие пользователя.
npx skills add dylantarre/animation-principles --skill feedback-indicators -a claude-codeЧто делает feedback-indicators
Скилл раскладывает анимации подтверждения по принципам Disney — squash & stretch, anticipation, staging, follow through. Для каждого типа отклика задан свой тайминг: инлайн-валидация 150ms, отрисовка галочки 400ms, тряска ошибки 400ms, тост успеха 300ms. Автозакрытие тоже прописано: галочка исчезает через 3000ms, тост успеха через 4000ms, тост ошибки через 6000ms.
Внутри готовые CSS-паттерны: отрисовка галочки через stroke-dashoffset, успех со scale и overshoot до 1.2, тряска ошибки через translateX, всплытие валидного поля. Есть разметка SVG-галочки и пример автозакрытия на setTimeout с классами success-visible и success-hidden. Состояния описаны как переходы neutral → processing → success/error.
Одно правило стоит держать в голове: отклик обязан появиться в пределах 100ms после действия, иначе пользователь решит, что ничего не произошло. Ошибки не гаснут сами — ждут, пока их заметят. Иконки всегда идут с текстом, а при prefers-reduced-motion анимация снимается и состояние меняется мгновенно.
Какие задачи решает
- показать галочку успеха после сохранения формы
- подсветить невалидное поле сразу при вводе
- встряхнуть поле с ошибкой и не дать ей исчезнуть самой
- собрать тост успеха с автозакрытием через несколько секунд
- сделать отклик на кнопку в месте самого действия
Примеры запросов агенту
- Сделай анимацию галочки успеха после отправки формы по скиллу feedback-indicators
- Добавь тряску поля с ошибкой валидации и оставь сообщение до исправления
- Настрой тост успеха с автозакрытием и учти prefers-reduced-motion
Как установить feedback-indicators
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill feedback-indicators -a claude-code2Вручную: положить файлы
~/.claude/skills/feedback-indicators/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/feedback-indicators/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill feedback-indicators -a codex2Вручную: положить файлы
.agents/skills/feedback-indicators/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill feedback-indicators -a cursor2Вручную: положить файлы
.cursor/skills/feedback-indicators/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles feedback-indicators2Вручную: положить файлы
.github/skills/feedback-indicators/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill feedback-indicators -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/05-by-animation-type/feedback-indicatorsВручную: положить файлы
.devin/skills/feedback-indicators/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill feedback-indicators -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о feedback-indicators
Как установить feedback-indicators в Claude?
Выполните npx skills add dylantarre/animation-principles --skill feedback-indicators -a claude-code. Скилл встанет в ~/.claude/skills/feedback-indicators/SKILL.md.
Что делает feedback-indicators?
Даёт агенту правила и готовый код для анимаций подтверждения: галочек, тряски ошибок, валидации полей, тостов. Тайминги и кривые ускорения прописаны для каждого типа отклика.
Для каких платформ подходит скилл?
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для каждой платформы своя команда установки.
Исходный текст
SKILL.md · MIT
---
name: feedback-indicators
description: Use when confirming user actions - success checkmarks, error alerts, form validation, save confirmations, or any animation acknowledging what the user did.
---
# Feedback Indicator Animations
Apply Disney's 12 principles to action confirmation animations.
## Principle Application
**Squash & Stretch**: Success checkmarks can scale with overshoot. Compress on draw, expand on complete.
**Anticipation**: Brief gather before feedback appears. 50ms of preparation before the confirmation.
**Staging**: Feedback appears at the action location. Button shows checkmark, field shows validation.
**Straight Ahead vs Pose-to-Pose**: Define feedback states: neutral → processing → success/error.
**Follow Through & Overlapping**: Icon animates, then label appears. Stagger confirmation elements.
**Slow In/Slow Out**: Success: ease-out (confident arrival). Error: ease-in-out (shake settles).
**Arcs**: Checkmarks draw in arcs, not straight lines. Error X's cross naturally.
**Secondary Action**: Checkmark draws + color shifts + scale bounces for rich feedback.
**Timing**:
- Instant feedback: 100-200ms (form validation)
- Success confirmation: 300-500ms (checkmark draw)
- Error indication: 400ms (shake + message)
- Auto-dismiss: 2000-4000ms after appearance
**Exaggeration**: Success deserves celebration. Overshoot scale to 1.2, bold colors, confident motion.
**Solid Drawing**: Feedback icons must be clear at a glance. Recognition in 100ms or less.
**Appeal**: Positive feedback should feel rewarding. Negative feedback firm but not punishing.
## Timing Recommendations
| Feedback Type | Duration | Auto-dismiss | Easing |
|--------------|----------|--------------|--------|
| Inline Validation | 150ms | No | ease-out |
| Checkmark Draw | 400ms | 3000ms | ease-out |
| Success Toast | 300ms | 4000ms | ease-out |
| Error Shake | 400ms | No | ease-in-out |
| Error Toast | 300ms | 6000ms | ease-out |
| Save Indicator | 200ms | 2000ms | ease-out |
## Implementation Patterns
```css
/* Checkmark draw */
.checkmark {
stroke-dasharray: 50;
stroke-dashoffset: 50;
animation: draw-check 400ms ease-out forwards;
}
@keyframes draw-check {
to { stroke-dashoffset: 0; }
}
/* Success with scale */
.success-icon {
animation: success 500ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes success {
0% { transform: scale(0); opacity: 0; }
60% { transform: scale(1.2); opacity: 1; }
100% { transform: scale(1); opacity: 1; }
}
/* Error shake */
.error-shake {
animation: shake 400ms ease-in-out;
}
@keyframes shake {
0%, 100% { transform: translateX(0); }
20%, 60% { transform: translateX(-6px); }
40%, 80% { transform: translateX(6px); }
}
/* Inline validation */
.field-valid {
animation: valid-pop 200ms ease-out;
}
@keyframes valid-pop {
0% { transform: scale(0.8); opacity: 0; }
100% { transform: scale(1); opacity: 1; }
}
```
## SVG Checkmark Pattern
```html
<svg class="checkmark" viewBox="0 0 24 24">
<circle cx="12" cy="12" r="10" fill="#10B981"/>
<path
class="check-path"
d="M7 13l3 3 7-7"
stroke="white"
stroke-width="2"
fill="none"
/>
</svg>
```
## Auto-Dismiss Pattern
```javascript
// Show success, auto-hide
element.classList.add('success-visible');
setTimeout(() => {
element.classList.remove('success-visible');
element.classList.add('success-hidden');
}, 3000);
```
## Key Rules
1. Feedback must appear within 100ms of action
2. Success states: celebrate briefly, don't linger
3. Error states: persist until user acknowledges
4. Always provide text alongside icons for accessibility
5. `prefers-reduced-motion`: instant state, no animation
© dylantarre · MIT · dylantarre/animation-principles