motion-craft

Provide precise CSS and Motion animation configurations for web UI elements.

16|1|Updated Feb 6, 2026
One-click install
npx skills add https://github.com/olzn/ui-craft --skill motion-craft
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: motion-craft
Source: https://github.com/olzn/ui-craft/tree/main/motion-craft
Command: npx skills add https://github.com/olzn/ui-craft --skill motion-craft

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Many web interfaces suffer from inconsistent easing, inappropriate durations, and the use of layout‑triggering properties, leading to janky or inaccessible motion.

Core Features & Use Cases

  • Default easing: cubic‑bezier(0.16, 1, 0.3, 1) for most transitions.
  • Spring guidance: when to prefer Motion springs over bezier curves.
  • Duration limits: micro‑interactions ≤150 ms, entrances ≤300 ms, overall ≤400 ms.
  • Performance recommendations: use only transform, opacity, and filter; avoid layout properties and transition: all.
  • Scale ranges & transform‑origin: entry scale ≥0.85, press feedback 0.96‑0.98, origin set to trigger element.
  • Exit patterns: faster and smaller than entrances, with subtle translate.
  • Patterns: staggered entrances, icon‑swap animations, scroll‑triggered reveals, CSS vs keyframe guidance.
  • Reduced‑motion handling: respects prefers-reduced-motion with instant fallbacks.
  • Libraries: Motion, number‑flow, torph, liveline, vaul, sonner.

Quick Start

Ask the motion-craft skill to provide the default easing curve for a button hover transition.

Frequently Asked Questions about motion-craft

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

FAQPage Schema
What is the best easing curve for CSS button hover transitions?

The best easing curve for CSS button hover transitions is cubic-bezier(0.16, 1, 0.3, 1). This default configuration provides smooth motion while ensuring micro-interaction duration limits stay under 150 milliseconds.

How do I fix janky scroll-triggered reveal animations?

To fix janky scroll-triggered reveal animations, restrict animations to performant properties like transform, opacity, and filter. Avoid layout-triggering properties and transition: all to maintain smooth rendering and conform to accessibility guidelines.

When should I use Motion spring animations instead of CSS bezier curves?

You should use Motion spring animations instead of CSS bezier curves for dynamic UI elements like modal entrances. Spring guidance recommends springs when motion requires physics-based responsiveness rather than fixed duration or easing curve limits.

Does this animation approach support prefers-reduced-motion accessibility settings?

Yes, this approach fully supports prefers-reduced-motion accessibility settings. It respects user preferences by providing instant fallbacks, ensuring UI animations conform to reduced-motion guidelines without breaking interface functionality.

How do I animate modal entrance and exit patterns correctly?

Animate modal entrances with a scale range above 0.85 and duration under 300 milliseconds. Exit patterns should be faster and smaller than entrances, using subtle translate transforms with the transform-origin set to the trigger element.

Why does using transition: all cause janky web interface motion?

Using transition: all causes janky web interface motion because it inadvertently animates layout-triggering properties. Performance recommendations dictate using only transform, opacity, and filter to ensure smooth rendering during UI transitions.