motion-design

Guides UI animation decisions with easing curves, duration tables, and spring physics rules.

Updated Jun 21, 2026
One-click install
npx skills add https://github.com/abdul7867/affinity --skill motion-design-abdul7867
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: motion-design
Source: https://github.com/abdul7867/affinity/tree/main/frontend/.agent/skills/motion-design
Command: npx skills add https://github.com/abdul7867/affinity --skill motion-design-abdul7867

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? UI animations often feel sluggish, jarring, or unnecessary because developers lack concrete rules for when to animate, which easing to pick, and how long transitions should last. This Skill provides a decision framework and reference tables for crafting polished interface motion. ## Core Features & Use Cases - Animation Decision Framework: Tables for deciding whether to animate, which easing curve to use, and how long animations should run based on interaction frequency and element type. - Spring & Gesture Physics: Guidance on spring configurations, momentum dismissal thresholds, drag damping, and pointer capture for touch interactions. - Performance & Accessibility Rules: Rules for GPU-accelerated transform/opacity animations, prefers-reduced-motion handling, and avoiding Framer Motion shorthand pitfalls. - Use Case: When building a modal or drawer component, consult the duration table (200-500ms), apply the drawer easing curve cubic-bezier(0.32, 0.72, 0, 1), and ensure the exit animation runs faster than the enter. ## Quick Start Review my dropdown component's animation code and recommend the correct easing curve, duration, and enter/exit timing.

Frequently Asked Questions about motion-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the right easing curve for UI animations?▼

Use ease-out for entering and exiting elements, ease-in-out for elements moving on screen, ease for hover and color changes, and linear for constant motion. Never use ease-in for UI animations, and prefer custom cubic-bezier curves over built-in CSS easings.

How long should UI animations last?▼

Keep UI animations under 300ms. Button press feedback runs 100-160ms, tooltips 125-200ms, dropdowns 150-250ms, and modals or drawers 200-500ms. Exit animations should be faster than enter animations.

When should I use spring animations instead of CSS transitions?▼

Use springs for drag interactions with momentum, interruptible gestures, and elements that should feel alive. Springs maintain velocity when interrupted, making them ideal for gestures. Keep bounce subtle between 0.1 and 0.3.

Why are Framer Motion x and y shorthands slow?▼

Framer Motion's x, y, and scale shorthands run via requestAnimationFrame on the main thread and are not hardware-accelerated. Use the transform property with translateX() directly to get GPU-accelerated animation.

How do I handle animations for users who prefer reduced motion?▼

Wrap animations in a prefers-reduced-motion media query that keeps opacity and color transitions but drops movement. Also gate hover animations behind hover and pointer media queries so touch devices skip them.

When should UI elements not animate at all?▼

Skip animation for actions performed 100+ times per day like keyboard shortcuts and command palette toggles, and drastically reduce animation for frequent actions like hover effects. Never animate keyboard-initiated actions.