hover-interactions — скилл для Claude Code: анимации наведения
Скилл для анимаций при наведении курсора: подсветка кнопок, подъём карточек, подчёркивание ссылок, зум картинок. Пригодится, когда интерфейсу нужны живые отклики на мышь.
npx skills add dylantarre/animation-principles --skill hover-interactions -a claude-codeЧто делает hover-interactions
Скилл разбирает hover-состояния через 12 принципов анимации Диснея. Каждый принцип привязан к конкретному эффекту: карточка слегка увеличивается при подъёме, тень расширяется после родителя, подчёркивание выезжает из центра. Для каждого типа эффекта дана таблица таймингов и кривых — от смены цвета до зума изображения.
Внутри — готовые CSS-паттерны: подъём карточки с тенью, подчёркивание из центра, сдвиг иконки в кнопке. Отдельно прописано, как сделать возврат медленнее появления: hover-in быстрее, hover-out мягче. Есть правило про @media (hover: hover) — так эффекты не сработают на тач-устройствах, где наведения нет.
Главное ограничение: hover-in не должен превышать 200 мс, иначе отклик ощущается вязким. Скилл советует не двигать элементы настолько, чтобы это провоцировало промахи по клику, и комбинировать не больше трёх свойств сразу.
Какие задачи решает
- сделать подъём карточки с тенью при наведении
- нарисовать подчёркивание ссылки из центра
- добавить сдвиг иконки внутри кнопки
- подобрать тайминги и кривые для hover-эффекта
- ограничить hover-эффекты только устройствами с курсором
Примеры запросов агенту
- сделай hover-эффект для карточки товара: подъём и тень
- добавь подчёркивание из центра для ссылок в навигации
- настрой зум изображения при наведении с правильными таймингами
Как установить hover-interactions
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill hover-interactions -a claude-code2Вручную: положить файлы
~/.claude/skills/hover-interactions/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/hover-interactions/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill hover-interactions -a codex2Вручную: положить файлы
.agents/skills/hover-interactions/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill hover-interactions -a cursor2Вручную: положить файлы
.cursor/skills/hover-interactions/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles hover-interactions2Вручную: положить файлы
.github/skills/hover-interactions/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill hover-interactions -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/05-by-animation-type/hover-interactionsВручную: положить файлы
.devin/skills/hover-interactions/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill hover-interactions -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о hover-interactions
Как установить hover-interactions в Claude?
Выполните npx skills add dylantarre/animation-principles --skill hover-interactions -a claude-code. После этого файл скилла окажется в ~/.claude/skills/hover-interactions/SKILL.md.
Что делает hover-interactions?
Помогает проектировать анимации при наведении курсора: подсветку кнопок, подъём карточек, подчёркивание ссылок, зум картинок. Даёт тайминги, кривые и готовые CSS-паттерны.
Нужно ли что-то учитывать для тач-устройств?
Да. На тач-устройствах наведения нет, поэтому скилл советует оборачивать эффекты в @media (hover: hover) и следить, чтобы функциональность работала без hover.
Исходный текст
SKILL.md · MIT
---
name: hover-interactions
description: Use when creating mouse hover effects - button highlights, card lifts, link underlines, image zooms, or any pointer-triggered animation.
---
# Hover Interaction Animations
Apply Disney's 12 principles to mouse hover states.
## Principle Application
**Squash & Stretch**: Cards can subtly scale (1.02-1.05) on hover, creating "lift" effect.
**Anticipation**: Hover IS anticipation for click. The hover state previews the interaction.
**Staging**: Hover effects should highlight the interactive element, not distract from it.
**Straight Ahead vs Pose-to-Pose**: Define rest and hover poses precisely. Transition smoothly between them.
**Follow Through & Overlapping**: Child elements animate after parent. Card lifts, then shadow expands.
**Slow In/Slow Out**: Hover-in: ease-out (fast response). Hover-out: ease-in-out (graceful return).
**Arcs**: Underlines can draw from center outward. Highlights sweep in curved paths.
**Secondary Action**: Combine multiple subtle effects. Scale + shadow + color shift together.
**Timing**:
- Hover response: 150-200ms (must feel responsive)
- Hover exit: 200-300ms (can be slightly slower)
- Never exceed 300ms for hover-in
**Exaggeration**: Subtle - hover is preview, not performance. Scale max 1.05, shadow max +8px.
**Solid Drawing**: Hover states must feel like the same element elevated, not a replacement.
**Appeal**: Hover should invite clicking. Create anticipation without demanding action.
## Timing Recommendations
| Hover Effect | Hover-In | Hover-Out | Easing |
|-------------|----------|-----------|--------|
| Color Change | 150ms | 200ms | ease-out / ease-in-out |
| Scale/Lift | 200ms | 250ms | ease-out / ease-in-out |
| Shadow | 200ms | 250ms | ease-out / ease-in-out |
| Underline Draw | 200ms | 200ms | ease-out |
| Image Zoom | 300ms | 400ms | ease-out |
| Icon Shift | 150ms | 200ms | ease-out |
## Implementation Patterns
```css
/* Card lift with shadow */
.card {
transition: transform 200ms ease-out, box-shadow 200ms ease-out;
}
.card:hover {
transform: translateY(-4px) scale(1.02);
box-shadow: 0 12px 24px rgba(0,0,0,0.15);
}
/* Slower return */
.card:not(:hover) {
transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out;
}
/* Underline draw from center */
.link {
position: relative;
}
.link::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 2px;
background: currentColor;
transition: width 200ms ease-out, left 200ms ease-out;
}
.link:hover::after {
width: 100%;
left: 0;
}
```
## Icon Animation Pattern
```css
.button-icon {
transition: transform 150ms ease-out;
}
.button:hover .button-icon {
transform: translateX(4px);
}
/* Arrow grows */
.arrow-icon {
transition: transform 150ms ease-out;
}
.link:hover .arrow-icon {
transform: translateX(4px) scale(1.1);
}
```
## Key Rules
1. Touch devices don't have hover - ensure functionality without it
2. Hover-in must be under 200ms to feel responsive
3. Don't move elements enough to cause mis-clicks
4. Test with `@media (hover: hover)` to scope to pointer devices
5. Combine max 3 properties to avoid overwhelming
```css
@media (hover: hover) {
.card:hover { /* hover effects */ }
}
```
© dylantarre · MIT · dylantarre/animation-principles