Loading...
Loading...
Web animations with Motion (formerly Framer Motion) for React -- gestures, scroll effects, spring physics, layout animations, SVG, micro-interactions, loading states. Use when: drag-and-drop, scroll animations, modals, carousels, parallax, page transitions, hover effects, staggered lists, loading spinners, number counters. Troubleshoot: AnimatePresence exit, list performance, Tailwind conflicts, Next.js "use client", layout in scaled containers.
npx skill4agent add oakoss/agent-skills motionmotionframer-motionmotion/react| Pattern | API / Props |
|---|---|
| Fade in on mount | |
| Exit animations | |
| Staggered list | |
| Hover / tap / focus | |
| Drag | |
| Scroll-triggered | |
| Scroll-linked/parallax | |
| Progress indicator | |
| Layout animation | |
| Shared element | |
| Layout group | |
| Page transition | |
| SVG path drawing | |
| Animated counter | |
| Imperative control | |
| Custom components | |
| Bundle optimization | |
| Reduced motion | |
| Mistake | Correct Pattern |
|---|---|
| AnimatePresence inside a conditional | Keep AnimatePresence mounted; place conditional content inside it |
Missing unique | Add unique |
Tailwind | Remove Tailwind transition classes to avoid stuttering |
Importing from | Use |
| Animating 50+ items without virtualization | Use react-window or @tanstack/react-virtual for large lists |
| Full 34 KB bundle for simple animations | Use LazyMotion + domAnimation (4.6 KB) or useAnimate (2.3 KB) |
Missing | Add directive or use |
Animating | Use |
No | Wrap app in |
ExploreTaskPlanIf theskill is available, delegate animation token definitions and motion design guidelines to it.design-system