animate

Implements UI animations by selecting tools, properties, easing curves, and durations through a gated decision sequence.

Updated Sep 21, 2026
One-click install
npx skills add https://github.com/maxentr/la-cuisine-de-mm --skill animate-maxentr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: animate
Source: https://github.com/maxentr/la-cuisine-de-mm/tree/main/.agents/skills/animate
Command: npx skills add https://github.com/maxentr/la-cuisine-de-mm --skill animate-maxentr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Deciding whether and how to animate a UI element is error-prone: developers often animate things that shouldn't move, pick wrong easing curves, or use expensive properties that drop frames. This Skill turns a motion request into a reviewed-quality implementation by enforcing a strict build sequence. ## Core Features & Use Cases - Gated decision sequence: First determines whether the element should animate at all based on interaction frequency, then names the animation's purpose before writing any code. - Tool and property selection: Chooses the cheapest working tool (CSS transitions, @starting-style, WAAPI, or Motion) and restricts animation to GPU-friendly transform and opacity properties. - Ready-made recipes: Provides implementations for buttons, dropdowns, tooltips, modals, drawers, toasts, accordions, staggers, drag-to-dismiss, and more via RECIPES.md. - Use Case: When asked to add an entrance animation to a dropdown menu, the Skill picks a CSS transition with transform-origin anchored to the trigger, a strong ease-out curve at 150-250ms, and ships reduced-motion and hover gating alongside it. ## Quick Start Ask the AI to animate a component, for example: add an open and close animation to my dropdown menu built with Base UI.

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?

Use a CSS transition on opacity and transform with a strong ease-out curve like cubic-bezier(0.23, 1, 0.32, 1) at 150-250ms. Set transform-origin to the trigger element so the panel scales out of what was clicked, and start from scale(0.95) with opacity 0 rather than scale(0).

When should I use CSS transitions vs a motion library?

Use CSS transitions for hover, press, and state toggles; CSS @starting-style for mount animations; WAAPI for programmatic control without dependencies. Reach for a library like Motion only when you need springs, layout animations, exit animations, or gesture-driven values.

Should every UI element have an animation?

No. Elements triggered 100+ times per day, like keyboard shortcuts or command palettes, should never animate. Frequent interactions get near-imperceptible motion at most, while the delight budget is reserved for rare moments like onboarding or celebrations.

Why does my animation drop frames under load?

Animating width, height, margin, or top/left triggers layout and paint on every frame. Animate only transform and opacity, which run on the GPU. In Motion, use the full transform string instead of x/y/scale shorthands, which are not hardware-accelerated.

How do I handle reduced motion preferences in animations?

Wrap animations in a prefers-reduced-motion media query that keeps opacity and color transitions but drops transform-based movement. Reduced motion means fewer and gentler animations, not zero, so comprehension-aiding transitions should remain.

When should I use a spring instead of easing and duration?

Use springs for drag with momentum, interruptible gestures, or elements that should feel alive, because springs carry velocity through interruptions. Keep bounce between 0.1 and 0.3 and reserve it for drag-to-dismiss and playful interactions rather than standard UI.