Web & Frontendlow risk
emilkowalski-motion
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.
nexu-io/open-design·skills/emilkowalski-motion/SKILL.md
62/ 100Recommendation
Install this skill
Choose your coding agent and copy a project or personal installation command.
Project installation.agents/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a codex -yPersonal installation~/.agents/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a codex -g -yProject installation.claude/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a claude-code -yPersonal installation~/.claude/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a claude-code -g -yProject installation.agents/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a github-copilot -yPersonal installation~/.copilot/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a github-copilot -g -yProject installation.agents/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a cursor -yPersonal installation~/.cursor/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a cursor -g -yProject installation.agents/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a gemini-cli -yPersonal installation~/.gemini/skills/emilkowalski-motion
npx skills add https://github.com/nexu-io/open-design/tree/7533db3f4342d09b27368fa5d907ebd3cdb93b75/skills/emilkowalski-motion -a gemini-cli -g -yNative Gemini CLI
gemini skills install https://github.com/nexu-io/open-design.git --scope workspace --path skills/emilkowalski-motion⚠ Installation uses the open-source skills CLI. Inspect the source and permissions before running the command.
Skill instructions
View source on GitHub ↗# 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.