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.