animate

Implements CSS, WAAPI, and Motion animations using defined easing curves, durations, and spring configs.

Updated Jul 14, 2026
One-click install
npx skills add https://github.com/quanthubbr/tron-claude-config --skill animate-quanthubbr
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: animate
Source: https://github.com/quanthubbr/tron-claude-config/tree/main/managed/skills/emilkowalski/animate
Command: npx skills add https://github.com/quanthubbr/tron-claude-config --skill animate-quanthubbr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Deciding whether an element should animate at all, and then choosing the right tool, properties, easing curve, and duration, is where most UI motion goes wrong. This Skill turns a request for motion into an implementation that follows Emil Kowalski's animation philosophy, rejecting animations that should not exist and shipping reduced-motion and hover gating with every one that should. ## Core Features & Use Cases - Gated build sequence: Evaluates interaction frequency and purpose before writing code, so high-frequency actions like keyboard shortcuts get no animation instead of a bad one. - Opinionated ingredient selection: Picks the cheapest tool that works (CSS transition, @starting-style, CSS animation, WAAPI, or Motion), restricts properties to transform and opacity, and supplies exact cubic-bezier curves, duration ranges, and spring configs. - Ready-to-build recipes: Provides implementations for button presses, dropdowns, tooltips, modals, drawers, toasts, accordions, staggers, hold-to-confirm, tab indicators, scroll reveals, and drag-to-dismiss gestures. - Use Case: When asked to animate a dropdown menu, it produces a popover that scales from its trigger's transform-origin at 200ms with a strong ease-out curve, plus prefers-reduced-motion handling, rather than a generic fade. ## Quick Start Ask the AI to animate a component, for example: animate this modal so it feels right when it opens and closes.

Frequently Asked Questions about animate

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

FAQPage Schema
How do I animate a dropdown or popover in CSS?▼

Animate opacity and transform with a 150-250ms ease-out transition, scaling from 0.95 to 1. Set transform-origin to the trigger element (var(--transform-origin) in Base UI) so the panel appears to emerge from what the user clicked.

CSS transitions vs Motion library for animations?▼

Use CSS transitions for hover, press, and state toggles, and CSS @starting-style for mount animations. Reach for Motion only when you need springs, layout animations, exit animations, or gesture-driven values that CSS cannot express.

When should a UI element not be animated?▼

Skip animation for actions performed 100+ times per day, like keyboard shortcuts or command palette toggles. Near-imperceptible motion suits tens-of-daily actions, while standard animation fits occasional elements like modals and toasts.

Why does my animation drop frames under load?▼

Frame drops happen when animating layout properties like width, height, or top, or when using Motion's x/y/scale shorthand props. Animate only transform and opacity, and in Motion pass the full transform string for hardware acceleration.

How do I handle prefers-reduced-motion in animations?▼

Ship a reduced-motion variant with every animation using a @media (prefers-reduced-motion: reduce) query. Keep opacity and color transitions that aid comprehension, but remove transform-based movement and position changes.

What easing curve should UI animations use?▼

Use ease-out for entering and exiting elements, ease-in-out for on-screen movement, and never ease-in on UI. Built-in CSS easings are too weak, so use cubic-bezier(0.23, 1, 0.32, 1) as a strong ease-out.