interaction-design · secondsky — скилл для Claude Code: состояния загрузки
Скилл для проектирования отклика интерфейса: состояния загрузки, ошибки, пустые экраны, анимация и доступность. Пригодится, когда нужно продумать поведение UI, а не только его вид.
npx skills add secondsky/claude-skills --skill interaction-design -a claude-codeЧто делает interaction-design
Скилл задаёт правила взаимодействия: сколько должна длиться микроанимация, переход или появление элемента списка, как показать ожидание и что делать, если запрос упал. Внутри — таблица длительностей, примеры скелетон-загрузчика на CSS, компоненты состояний ошибки и пустого экрана на JSX, а также блок про доступность с aria-live и проверкой prefers-reduced-motion.
Анимации скилл советует держать короче 500 мс, входить через ease-out, а выходить через ease-in. Отдельно требует видимый фокус и проверку клавиатурной навигации. Это те места, где интерфейс чаще всего ломается у пользователей с клавиатурой или включённым режимом уменьшенной анимации.
Ставится через npx skills add secondsky/claude-skills --skill interaction-design -a claude-code, файл оказывается в ~/.claude/skills/interaction-design/SKILL.md. Для Cursor, Codex, Gemini CLI и OpenCode есть свои варианты установки, у GitHub Copilot — команда gh skill install. Лицензия MIT.
Какие задачи решает
- продумать состояния загрузки для медленных запросов
- написать понятный экран ошибки с кнопкой повтора
- оформить пустой список так, чтобы он не выглядел поломкой
- подобрать длительность анимации для модалки и появления списка
- добавить объявление смены состояния для скринридеров
Примеры запросов агенту
- Спроектируй состояния загрузки и ошибок для страницы со списком заказов
- Подбери длительности анимаций для модального окна и появления карточек
- Проверь, что экран ошибки доступен с клавиатуры и озвучивается скринридером
Как установить interaction-design
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill interaction-design -a claude-code2Вручную: положить файлы
~/.claude/skills/interaction-design/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/interaction-design/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill interaction-design -a codex2Вручную: положить файлы
.agents/skills/interaction-design/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill interaction-design -a cursor2Вручную: положить файлы
.cursor/skills/interaction-design/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install secondsky/claude-skills interaction-design2Вручную: положить файлы
.github/skills/interaction-design/SKILL.md1Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill interaction-design -a gemini-cli2Командой платформы
gemini skills install https://github.com/secondsky/claude-skills --path plugins/interaction-design/skills/interaction-designВручную: положить файлы
.devin/skills/interaction-design/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add secondsky/claude-skills --skill interaction-design -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о interaction-design
Как установить interaction-design в Claude?
Выполните npx skills add secondsky/claude-skills --skill interaction-design -a claude-code. После этого файл скилла лежит в ~/.claude/skills/interaction-design/SKILL.md.
Что делает interaction-design?
Описывает паттерны отклика интерфейса: длительности анимаций, состояния загрузки, ошибок и пустых экранов, а также требования доступности вроде aria-live и prefers-reduced-motion.
С какими платформами работает скилл?
Кроме Claude есть установка для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для GitHub Copilot команда другая: gh skill install secondsky/claude-skills interaction-design.
Исходный текст
SKILL.md · MIT
---
name: interaction-design
description: Creates intuitive user experiences through feedback patterns, microinteractions, and accessible interaction design. Use when designing loading states, error handling UX, animation guidelines, or touch interactions.
license: MIT
---
# Interaction Design
Create intuitive user experiences through thoughtful feedback and interaction patterns.
## Interaction Patterns
| Pattern | Duration | Use Case |
|---------|----------|----------|
| Microinteraction | 100-200ms | Button press, toggle |
| Transition | 200-400ms | Page change, modal |
| Entrance | 300-500ms | List items appearing |
## Loading States
```css
/* Skeleton loader */
.skeleton {
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
```
```jsx
function LoadingState({ isLoading, children }) {
if (isLoading) {
return <div className="skeleton" style={{ height: 200 }} />;
}
return children;
}
```
## Error States
```jsx
function ErrorState({ error, onRetry }) {
return (
<div className="error-container" role="alert">
<Icon name="warning" />
<h3>Something went wrong</h3>
<p>{error.message}</p>
<button onClick={onRetry}>Try Again</button>
</div>
);
}
```
## Empty States
```jsx
function EmptyState({ title, description, action }) {
return (
<div className="empty-state">
<Illustration name="empty-inbox" />
<h3>{title}</h3>
<p>{description}</p>
{action && <button onClick={action.onClick}>{action.label}</button>}
</div>
);
}
```
## Accessibility
```jsx
// Announce state changes to screen readers
function StatusAnnouncer({ message }) {
return (
<div aria-live="polite" aria-atomic="true" className="sr-only">
{message}
</div>
);
}
// Respect motion preferences
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
```
## Animation Guidelines
- Keep animations under 500ms (longer feels sluggish)
- Use ease-out for entering, ease-in for exiting
- Respect `prefers-reduced-motion`
- Ensure focus indicators are always visible
- Test with keyboard navigation
## Best Practices
- Provide immediate feedback for all actions
- Show loading states for waits >0.5s
- Include clear error messages with recovery options
- Design meaningful empty states
- Support keyboard navigation
© secondsky · MIT · secondsky/claude-skills
Похожие скиллы
Всё по теме «Дизайн» →Сначала — interaction-design от других авторов.