Build reusable UI animations and transitions for React and Next.js products.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "motion-ui" skill from askskill: 1. Download https://raw.githubusercontent.com/affaan-m/ECC/main/skills/motion-ui/SKILL.md 2. Save it as ~/.claude/skills/motion-ui/SKILL.md 3. Reload skills and tell me it's ready
Design a production-ready page transition animation system for my Next.js app, including enter, exit, and loading transitions, and provide a reusable React component abstraction.
A Next.js-ready page transition motion system with component structure, animation patterns, and implementation guidance.
Create a consistent microinteraction motion system for buttons, hover cards, and modals in a React project, with subtle style, stable performance, and easy reuse in a component library.
A reusable microinteraction motion spec and implementation approach for common interactive components.
Help me create a UI motion guideline for a product frontend, covering transition duration, easing, layering changes, and accessibility considerations for different scenarios, for a React/Next.js team.
A frontend-ready UI motion guideline that directly supports design and development collaboration.
Production-ready UI motion system for React / Next.js.
Focused on performance, accessibility, and usability — not decoration.
Use this motion system when motion:
Motion must:
If it does none → remove it.
npm install motion
motion/react - default for current Motion for React projects (package: motion)framer-motion - legacy import path for projects that still depend on Framer MotionDo not mix. Mixing causes conflicting internal schedulers and broken AnimatePresence contexts — components from one package will not coordinate exit animations with components from the other.
To check which version your project uses:
cat package.json | grep -E '"motion"|"framer-motion"'
Always import from one source consistently:
// Correct (modern)
import { motion, AnimatePresence } from "motion/react"
// Correct (legacy)
import { motion, AnimatePresence } from "framer-motion"
// Never mix both in the same project
// motionTokens.ts
export const motionTokens = {
duration: {
fast: 0.18,
normal: 0.35,
slow: 0.6
},
// Use these as the `ease` value inside a `transition` object:
// transition={{ duration: motionTokens.duration.normal, ease: motionTokens.easing.smooth }}
easing: {
smooth: [0.22, 1, 0.36, 1] as [number, number, number, number],
sharp: [0.4, 0, 0.2, 1] as [number, number, number, number]
},
distance: {
sm: 8,
md: 16,
lg: 24
}
}
Usage example:
import { motionTokens } from "@/lib/motionTokens"
<motion.div
initial={{ opacity: 0, y: motionTokens.distance.md }}
animate={{ opacity: 1, y: 0 }}
transition={{
duration: motionTokens.duration.normal,
ease: motionTokens.easing.smooth
}}
/>
Safe
Avoid
Rule: responsiveness > smoothness
The heuristic combines CPU core count and available memory for a more reliable signal. deviceMemory is available on Chrome/Android; the fallback covers Safari and Firefox.
const isLowEnd =
typeof navigator !== "undefined" && (
// Low memory (Chrome/Android only; undefined elsewhere → treat as capable)
(navigator.deviceMemory !== undefined && navigator.deviceMemory <= 2) ||
// Few cores AND no memory API (covers Safari/Firefox on weak hardware)
(navigator.deviceMemory === undefined && navigator.hardwareConcurrency <= 4)
)
const duration = isLowEnd ? 0.2 : 0.4
import { motion, useReducedMotion } from "motion/react"
export function FadeIn() {
const reduce = useReducedMotion()
return (
<motion.div
initial={{ opacity: 0, y: reduce ? 0 : 24 }}
animate={{ opacity: 1, y: 0 }}
/>
)
}
@media (prefers-reduced-motion: reduce) {
.motion-safe-transition {
transition: opacity 0.2s;
}
.motion-reduce-transform {
transform: none !important;
}
}
…
Prevent destructive actions in production systems and autonomous agent workflows.
Learn Pythonic patterns, type hints, and best practices for maintainable code.
Optimize energy procurement, tariffs, PPAs, and multi-site energy cost strategies.
Apply PyTorch best practices for robust, efficient, reproducible deep learning pipelines.
Investigate quality nonconformances, find root causes, and drive CAPA improvements.
Search icons and generate Xcode-ready PNG asset sets for iOS apps.
Build advanced motion, gestures, and animation sequences in React and Next.js.
Build a motion foundation for React/Next.js with safe, accessible performance rules.
Build polished React and Next.js animations with reusable production-ready patterns.
Build React microfrontends with shared dependencies, dynamic forms, and state management.
Convert UI screenshots or mockups into Vue 3 components in batch.
Record polished web app UI demo videos for walkthroughs, tutorials, and showcases.