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;
}
}
…
Design reliable deployment workflows, CI/CD pipelines, and production release strategies.
Orchestrate parallel AI agent workflows with dmux for faster development execution.
Helps developers follow this JavaScript repository's coding, testing, and commit conventions.
Apply modern, safe, idiomatic C++ standards for writing, review, and refactoring.
Search PubMed literature, MeSH terms, PMIDs, and citation data efficiently.
Audit, plan, and implement SEO improvements for better search visibility.
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.
Generate accurate Motion for React animation code with correct imports and defaults.
Find and reuse validated Flutter animations with integration-ready guidance and pitfalls.
Turn scroll motion ideas into validated specs and deterministic GSAP/CSS output.