emilkowalski-motion — скилл для Claude Code: что делает
Добавляет микровзаимодействия, переходы состояний и анимацию к готовому интерфейсу. Работает после того, как макет или компонент уже собран.
npx skills add nexu-io/open-design --skill emilkowalski-motion -a claude-codeЧто делает emilkowalski-motion
Скилл проверяет текущий HTML или компонент и выбирает минимальный набор моментов, где движение поможет. Появление основного контента, обратная связь при наведении, переход между состояниями UI, раскрытие при прокрутке — только то, что проясняет иерархию. Анимирует через transform и opacity, не трогает width, height или left.
Переходы для контролов — 140–220 мс, крупные раскрытия страниц могут быть медленнее, но не блокируют чтение. Один язык движения на весь артефакт: не смешивает разные функции плавности и длительности. Для любого автоматического или привязанного к скроллу движения добавляет fallback prefers-reduced-motion.
Работает с чистым HTML, CSS и маленькими JavaScript-обсерверами. Если в репозитории уже есть React или другой фреймворк, использует локальный стек. Когда доступен GSAP и нужна последовательность, можно связать со скиллами gsap-core, gsap-timeline или gsap-scrolltrigger. Очищает обсерверы, таймеры и экземпляры анимаций.
Какие задачи решает
- добавить обратную связь при наведении на кнопки
- анимировать смену состояний без сдвига вёрстки
- раскрыть контент при прокрутке с поддержкой accessibility
- отполировать готовый UI микровзаимодействиями
- добавить появление секций страницы
Примеры запросов агенту
- Примени emilkowalski-motion к текущему HTML: добавь сдержанные микровзаимодействия и переходы состояний, не меняя основную вёрстку
- Отполируй анимацию этого компонента через emilkowalski-motion, оставь fallback для prefers-reduced-motion
- Используй emilkowalski-motion: добавь появление для основного контента и hover для кнопок
Как установить emilkowalski-motion
1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill emilkowalski-motion -a claude-code2Вручную: положить файлы
~/.claude/skills/emilkowalski-motion/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/emilkowalski-motion/
1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill emilkowalski-motion -a codex2Вручную: положить файлы
.agents/skills/emilkowalski-motion/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill emilkowalski-motion -a cursor2Вручную: положить файлы
.cursor/skills/emilkowalski-motion/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install nexu-io/open-design emilkowalski-motion2Вручную: положить файлы
.github/skills/emilkowalski-motion/SKILL.md1Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill emilkowalski-motion -a gemini-cli2Командой платформы
gemini skills install https://github.com/nexu-io/open-design --path skills/emilkowalski-motionВручную: положить файлы
.devin/skills/emilkowalski-motion/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add nexu-io/open-design --skill emilkowalski-motion -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора106
Весь набор →Похожие
Вопросы о emilkowalski-motion
Как установить emilkowalski-motion в Claude Code?
Выполни npx skills add nexu-io/open-design --skill emilkowalski-motion -a claude-code, скилл появится в ~/.claude/skills/emilkowalski-motion/SKILL.md.
Что делает emilkowalski-motion?
Добавляет микровзаимодействия, переходы состояний и анимацию к интерфейсу, который уже собран. Проверяет HTML или компонент, выбирает минимальный набор моментов движения и применяет один язык анимации с поддержкой prefers-reduced-motion.
Когда использовать emilkowalski-motion?
После того, как интерфейс или компонент готов. Скилл не меняет вёрстку и данные — он добавляет движение к тому, что уже существует.
Исходный текст
SKILL.md · Apache-2.0
---
name: emilkowalski-motion
description: |
Motion-design follow-up skill inspired by Emil Kowalski's animation guidance. Use after an interface exists to add tasteful micro-interactions, state transitions, and page motion with product-grade restraint.
triggers:
- "emil kowalski"
- "motion polish"
- "micro interaction"
- "interaction animation"
- "tasteful animation"
- "动效润色"
od:
mode: prototype
surface: web
platform: desktop
category: animation-motion
upstream: "https://emilkowal.ski/skill"
preview:
type: html
design_system:
requires: true
craft:
requires:
- animation-discipline
- accessibility-baseline
example_prompt: |
Use emilkowalski-motion on the current HTML artifact: add restrained micro-interactions, state transitions, and reduced-motion fallbacks without changing the core layout.
---
# Emil Kowalski Motion Follow-Up
Use this skill after a design artifact already exists. The goal is to make the interface feel alive without turning it into a motion demo.
## Workflow
1. Inspect the current HTML, component, or selected page element before adding animation.
2. Pick the smallest set of motion moments that clarify state or hierarchy:
- entry reveal for the primary content
- hover / active feedback for important controls
- transition between UI states
- scroll reveal only when it helps the story
3. Prefer `transform` and `opacity`. Avoid animating layout properties such as `top`, `left`, `width`, or `height`.
4. Use one motion language across the artifact. Do not mix unrelated easings, durations, or physics.
5. Add `prefers-reduced-motion` fallbacks for any automatic or scroll-linked motion.
6. Keep copy, data, and layout intent intact unless the user explicitly asks for a redesign.
## Motion Rules
- Default UI transitions should feel quick and useful: 140-220ms for most controls.
- Larger page reveals can be slower, but must not block reading.
- Avoid endless decorative loops unless they communicate status or progress.
- Do not add custom cursors, noisy particle effects, or motion that competes with content.
- Stagger only small groups. Long staggered lists make interfaces feel slow.
## Implementation Notes
- For plain HTML, CSS keyframes and small JavaScript observers are enough.
- For React or framework code, use the local stack already present in the repo.
- If GSAP is available and the motion needs sequencing, pair this with `gsap-core`, `gsap-timeline`, or `gsap-scrolltrigger`.
- Always clean up observers, timers, and animation instances.
© nexu-io · Apache-2.0 · nexu-io/open-design