U

ui-animation

by @mblodev
4.4(33)

Create, review, and debug UI motion effects and animation implementations to enhance user experience. AI Agent Skill for improved work efficiency and automation.

ui-animationmotion-designframer-motioncss-animationsmicrointeractionsGitHub
Installation
npx skills add mblode/agent-skills --skill ui-animation
compare_arrows

Before / After Comparison

1
Before

UI animation implementation is complex, debugging is difficult, and the results are often unsatisfactory. Developers frequently mishandle animation details, leading to a decline in user experience and significantly diminishing the project's visual appeal.

After

This skill helps create, review, and debug UI animation implementations. It ensures animations are smooth and natural, enhances the user interaction experience, and makes product interfaces more appealing.

SKILL.md

UI Animation

Core rules

  • Animate to clarify cause/effect or add deliberate delight.
  • Keep interactions fast (200-300ms; up to 1s only for illustrative motion).
  • Never animate keyboard interactions (arrow-key navigation, shortcut responses, tab/focus).
  • Prefer CSS; use WAAPI or JS only when needed.
  • Make animations interruptible and input-driven.
  • Honor prefers-reduced-motion (reduce or disable).

What to animate

  • For movement and spatial change, animate only transform and opacity.
  • For simple state feedback, color, background-color, and opacity transitions are acceptable.
  • Never animate layout properties; never use transition: all.
  • Avoid filter animation for core interactions; if unavoidable, keep blur <= 20px.
  • SVG: apply transforms on a <g> wrapper with transform-box: fill-box; transform-origin: center.
  • Disable transitions during theme switches.

Spatial and sequencing

  • Set transform-origin at the trigger point.
  • For dialogs/menus, start around scale(0.85-0.9); avoid scale(0).
  • Stagger reveals <= 50ms.

Easing defaults

  • Enter and transform-based hover: cubic-bezier(0.22, 1, 0.36, 1).
  • Move: cubic-bezier(0.25, 1, 0.5, 1).
  • Simple hover colour/background/opacity: 200ms ease.
  • Avoid ease-in for UI (feels slow).

Accessibility

  • If transform is used, disable it in prefers-reduced-motion.
  • Disable hover transitions on touch devices via @media (hover: hover) and (pointer: fine).

Performance

  • Pause looping animations off-screen.
  • Toggle will-change only during heavy motion and only for transform/opacity.
  • Prefer transform over positional props in animation libraries.
  • Do not animate drag gestures using CSS variables.

Reference

Workflow

  1. Start with the core rules, then pick a reference snippet from examples.md.
  2. Keep motion functional; honor prefers-reduced-motion.
  3. When reviewing, cite file paths and line numbers and propose concrete fixes.
  4. Validate:
    • Test with prefers-reduced-motion: reduce enabled — animations must degrade gracefully.
    • Verify no layout property animations (width, height, top, left).
    • Check that looping animations pause off-screen.
    • Confirm will-change is toggled only during animation, not permanently set.

User Reviews (0)

Write a Review

Effect
Usability
Docs
Compatibility

No reviews yet

Statistics

Installs4.8K
Rating4.4 / 5.0
Version
Updated2026年5月23日
Comparisons1

User Rating

4.4(33)
5
27%
4
48%
3
21%
2
3%
1
0%

Rate this Skill

0.0

Compatible Platforms

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

Timeline

Created2026年3月16日
Last Updated2026年5月23日