design-motionlisted
Install: claude install-skill kensaurus/cursor-kenji
# Motion Design Skill
Create purposeful, performant animations that enhance UX without overwhelming users.
## CRITICAL: Check Existing First
**Before adding ANY animation, verify:**
1. **Check for existing animation utilities:**
```bash
cat package.json | grep -i "framer-motion\|gsap\|animat"
rg "motion\.|animate\(|useSpring" --type tsx -l | head -10
```
2. **Check for existing CSS animations:**
```bash
rg "@keyframes|animation:" --type css
cat tailwind.config.* | grep -A20 "animation\|keyframes"
```
3. **Check for animation preferences:**
```bash
rg "prefers-reduced-motion" --type tsx --type css
```
**Why:** Maintain consistent animation language. Respect user motion preferences.
## Animation Principles
### 1. Purpose-Driven Motion
Every animation should serve a purpose:
- **Feedback** - Confirm user actions (button press, form submit)
- **Orientation** - Show where elements come from/go to
- **Focus** - Direct attention to important elements
- **Delight** - Add personality (use sparingly)
### 2. Performance Rules
- Use `transform` and `opacity` only (GPU-accelerated)
- Avoid animating `width`, `height`, `top`, `left` (trigger layout)
- Use `will-change` sparingly and remove after animation
- Target 60fps - keep animations under 100ms for interactions
## Framer Motion Patterns (React)
### Basic Animations
```tsx
import { motion } from 'framer-motion'
// Entrance animation
<motion.div
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{