
Framer Motion Skill
- 1.7k installs
- 79 repo stars
- Updated December 30, 2025
framer-motion is a Claude Code skill that generates production-ready Framer Motion animation code from natural language prompts for developers implementing Disney's 12 animation principles in React applications.
npx skills add https://github.com/dylantarre/animation-principles --skill framer-motionInstall if
React frontend developers adding polished UI motion with Framer Motion who want principle-driven animation code instead of trial-and-error tweens.
Skip if
Teams building non-React frontends, CSS-only animations, or native mobile motion without Framer Motion.
What framer-motion covers
- Translates plain-English motion descriptions into correct Framer Motion variants and transitions
- Applies core animation principles (timing, easing, stagger, physics) automatically
- Produces reusable, accessible, and performant React component code
- Works with both CSS and JavaScript-driven animations in Framer Motion 11+
- Reduces animation implementation time from minutes to seconds
framer-motion by the numbers
| All-time installs | 1,704 | skills.sh registry |
|---|---|---|
| Repo stars | ★ 79 | GitHub |
| Repo last updated | December 30, 2025 | GitHub |
| Repository | dylantarre/animation-principles ↗ | |
Data as of Oct 27, 2026 (Skillselion catalog sync)
What does the Framer Motion skill produce?
Framer Motion JSX snippets, variant definitions, transition configs, and motion component implementations.
- Framer Motion JSX components
- Animation variant definitions
- Transition configuration snippets
- Implements all 12 Disney animation principles with Framer Motion
What files ship with framer-motion?
Framer Motion Animation Principles
Implement all 12 Disney animation principles using Framer Motion's declarative React API.
1. Squash and Stretch
<motion.div
animate={{ scaleX: [1, 1.2, 1], scaleY: [1, 0.8, 1] }}
transition={{ duration: 0.3, times: [0, 0.5, 1] }}
/>2. Anticipation
<motion.div
variants={{
idle: { y: 0, scaleY: 1 },
anticipate: { y: 10, scaleY: 0.9 },
jump: { y: -200 }
}}
initial="idle"
animate={["anticipate", "jump"]}
transition={{ duration: 0.5, times: [0, 0.2, 1] }}
/>3. Staging
<motion.div animate={{ filter: "blur(3px)", opacity: 0.6 }} /> {/* bg */}
<motion.div animate={{ scale: 1.1, zIndex: 10 }} /> {/* hero */}4. Straight Ahead / Pose to Pose
<motion.div
animate={{
x: [0, 100, 200, 300],
y: [0, -50, 0, -30]
}}
transition={{ duration: 1, ease: "easeInOut" }}
/>5. Follow Through and Overlapping Action
<motion.div animate={{ x: 200 }} transition={{ duration: 0.5 }}>
<motion.span
animate={{ x: 200 }}
transition={{ duration: 0.5, delay: 0.05 }} // hair
/>
<motion.span
animate={{ x: 200 }}
transition={{ duration: 0.6, delay: 0.1 }} // cape
/>
</motion.div>6. Slow In and Slow Out
<motion.div
animate={{ x: 300 }}
transition={{
duration: 0.6,
ease: [0.42, 0, 0.58, 1] // easeInOut cubic-bezier
}}
/>
// Or use: "easeIn", "easeOut", "easeInOut"7. Arc
<motion.div
animate={{
x: [0, 100, 200],
y: [0, -100, 0]
}}
transition={{ duration: 1, ease: "easeInOut" }}
/>8. Secondary Action
<motion.button
whileHover={{ scale: 1.05 }}
whileTap={{ scale: 0.95 }}
>
<motion.span
animate={{ rotate: [0, 10, -10, 0] }}
transition={{ duration: 0.3 }}
>
Icon
</motion.span>
</motion.button>9. Timing
const timings = {
fast: { duration: 0.15 },
normal: { duration: 0.3 },
slow: { duration: 0.6 },
spring: { type: "spring", stiffness: 300, damping: 20 }
};10. Exaggeration
<motion.div
animate={{ scale: 1.5, rotate: 720 }}
transition={{
type: "spring",
stiffness: 200,
damping: 10 // low damping = overshoot
}}
/>11. Solid Drawing
<motion.div
style={{ perspective: 1000 }}
animate={{ rotateX: 45, rotateY: 30 }}
transition={{ duration: 0.5 }}
/>12. Appeal
<motion.div
whileHover={{
scale: 1.02,
boxShadow: "0 20px 40px rgba(0,0,0,0.2)"
}}
transition={{ duration: 0.3 }}
/>Stagger Children
const container = {
hidden: { opacity: 0 },
show: {
opacity: 1,
transition: { staggerChildren: 0.1 }
}
};
<motion.ul variants={container} initial="hidden" animate="show">
{items.map(item => <motion.li variants={itemVariant} />)}
</motion.ul>Key Framer Motion Features
animate- Target statevariants- Named animation stateswhileHover/whileTap- Gesture animationstransition- Timing and easingAnimatePresence- Exit animationsuseAnimation- Programmatic controllayout- Auto-animate layout changes
Which skills are related to framer-motion?
What are the Framer Motion skill forks?
Framer Motion has 1 known copy in the catalog totaling 1.1k installs. They canonicalize to this original listing.
- calesthio - 1.1k installs
How does framer-motion compare?
Pick framer-motion over generic CSS animation skills when the stack is React plus Framer Motion and you want principled motion variants.
Framer Motion skill FAQ
Who is the Framer Motion skill for?
React frontend developers adding polished UI motion with Framer Motion who want principle-driven animation code instead of trial-and-error tweens. Skip if: Teams building non-React frontends, CSS-only animations, or native mobile motion without Framer Motion.
When should I use framer-motion?
The developer asks for Framer Motion animations, Disney animation principles, motion.div variants, or React UI micro-interactions.
How many animation principles does framer-motion cover?
framer-motion implements all 12 Disney animation principles using Framer Motion's declarative React API. Each principle includes JSX examples with motion components, variants, and transition timing.
Add a framer-motion badge
Show developers this skill is listed on Skillselion. Paste this into your README.