emilkowalski-motion
Adds subtle animations and smooth transitions to user interfaces. It's useful for enhancing user experience with elegant and professional interactions.
What it does
This tool adds subtle motion and transitions to digital interfaces, like websites or apps, to make them more engaging and user-friendly without being overwhelming.
When to use it
- ✓After you have a screen design ready.
- ✓To provide visual feedback when a user interacts with a button.
- ✓To animate the appearance of important elements on the screen.
Example of what to ask your AI
“Add subtle animations to this page to improve the user experience.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool analyzes the existing design and applies discreet movements, focusing on how elements appear, change state, or respond to touch. It uses simple techniques to ensure the animation is helpful and not distracting.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add nexu-io/open-design --skill emilkowalski-motionOr download just the file:
curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/skills/emilkowalski-motion/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from 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
- Inspect the current HTML, component, or selected page element before adding animation.
- 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
- Prefer
transformandopacity. Avoid animating layout properties such astop,left,width, orheight. - Use one motion language across the artifact. Do not mix unrelated easings, durations, or physics.
- Add
prefers-reduced-motionfallbacks for any automatic or scroll-linked motion. - 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, orgsap-scrolltrigger. - Always clean up observers, timers, and animation instances.
FAQ
What are 'micro-interactions'?
These are small animations that occur when you interact with something, like a button changing color when clicked.
Why avoid animating 'layout properties'?
Animations on layout properties (like position or size) can make the interface slow and unstable. It's better to use animations that don't affect the page structure.
What is 'prefers-reduced-motion'?
This is a setting that allows users sensitive to motion to disable or reduce animations, making the experience more comfortable for everyone.
Details
Original description by the author
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.
repo: nexu-io/open-design
Popularity
- GitHub stars
- 101k
- Ranking position
- #688
- License
- Apache-2.0
- Updated
- 10/16/2026
Comments
- …
More skills from this repository
sample-plugin
Makes your agent create a metadata file for tests. It helps ensure code works correctly in different situations.
nexu-io/open-design
aster-atelier
Helps your agent create an artistic website with a classic look. It uses elegant imagery, blue skies, and serif fonts for a cinematic feel.
nexu-io/open-design
audio-jingle
Makes your agent generate audio like jingles and sound effects. It can create music and voices, saving the result as an audio file.
nexu-io/open-design
blog-post
Helps your agent write long articles or blog posts. It includes space for images, quotes, and author information.
nexu-io/open-design
Similar skills
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
design-system
Helps your agent create a design system from existing code. It extracts visual information and checks for consistency, generating a report and an interactive preview.
affaan-m/ECC
liquid-glass-design
Helps your agent create iOS user interfaces with a 'Liquid Glass' effect. Allows adding dynamic and interactive visual effects in SwiftUI and UIKit.
affaan-m/ECC