animate

Implements CSS, WAAPI, and Motion animations following a gated decision sequence for web UI.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/Nadav011/nadavai-claude --skill animate-nadav011
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: animate
Source: https://github.com/Nadav011/nadavai-claude/tree/main/plugins/nadavai/skills/animate
Command: npx skills add https://github.com/Nadav011/nadavai-claude --skill animate-nadav011

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 should not move, pick wrong easing curves, or ship motion without reduced-motion support. This Skill turns a motion request into a reviewed implementation by enforcing a strict build sequence. ## Core Features & Use Cases - Gated decision sequence: First checks whether the element should animate at all based on usage frequency, then names the motion's purpose before writing any code. - Tool and property selection: Chooses the cheapest working tool (CSS transition, @starting-style, CSS animation, WAAPI, or Motion) and restricts animation to transform and opacity for GPU-accelerated rendering. - Ready-made recipes: Ships RECIPES.md with implementations for buttons, popovers, tooltips, modals, drawers, toasts, accordions, staggers, hold-to-confirm, tab indicators, scroll reveals, and drag-to-dismiss. - Use Case: When asked to animate a dropdown menu, the Skill selects a CSS transition with scale(0.95) and opacity, transform-origin anchored to the trigger, a strong ease-out curve at 150-250ms, plus reduced-motion and hover gating. ## Quick Start Ask the assistant to animate a dropdown menu opening from its trigger button using the animate skill.

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 scale(0.95) as the starting state, and set transform-origin to the trigger element so the panel appears to grow out of it. Keep duration between 150-250ms with a strong ease-out curve like cubic-bezier(0.23, 1, 0.32, 1).

When should I use Motion instead of CSS transitions?▼

Use Motion when you need springs, layout animations, exit animations, or gesture-driven values such as drag-to-dismiss. For simple hover, press, or state-toggle effects, a plain CSS transition is the cheaper and correct tool.

Should every UI element have an animation?▼

No. Elements triggered 100+ times per day, such as 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?▼

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 so it stays hardware-accelerated.

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

Wrap motion 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.

Why should I avoid ease-in and scale(0) for UI entrances?▼

ease-in starts slow, delaying the exact moment the user is watching, making the interface feel sluggish. scale(0) makes elements appear from nothing, which no physical object does; start from scale(0.9-0.97) with opacity 0 instead.