About universal-emotion
A design skill for translating emotional goals into animation parameters using Disney’s 12 principles. It helps motion and UI designers choose timing, easing, and deformation for a target feeling.
Key features
- 01Map emotions across four spectrums
- 02Relate principles to energy and tone
- 03Choose easing by emotion
- 04Blend primary and secondary emotions
Use cases
- 01Set motion direction for a new feature
- 02Create brand-specific animation behavior
- 03Plan emotional transitions
- 04Adapt motion for accessibility
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill universal-emotionAfter installing, type/universal-emotionin Claude Code to confirm it loaded.
Details
From the project READMEUniversal Emotion Animation Framework
Map Disney's 12 principles to any emotional goal through systematic analysis.
Emotional Goal
Any emotion can be achieved through intentional application of animation principles. This framework helps translate emotional intent into specific motion parameters.
Emotion Mapping Framework
Step 1: Define the Emotion
Identify your target on these spectrums:
- Energy: Low ←→ High
- Valence: Negative ←→ Positive
- Arousal: Calm ←→ Excited
- Dominance: Submissive ←→ Powerful
Step 2: Map Principles to Emotion
| Principle | Low Energy | High Energy |
|---|---|---|
| Squash & Stretch | 0-10% | 20-40% |
| Anticipation | 50-100ms | 150-300ms |
| Timing | 400-800ms | 100-250ms |
| Exaggeration | 0-15% | 25-50% |
| Follow Through | Extended settle | Quick bounce |
| Principle | Serious | Playful |
|---|---|---|
| Arc | Direct/Linear | Curved/Bouncy |
| Secondary Action | Minimal | Abundant |
| Straight Ahead | Avoid | Embrace |
| Appeal | Clean/Geometric | Round/Organic |
Step 3: Select Easing
| Emotion Type | Easing Style | Example |
|---|---|---|
| Calm | Symmetric ease | ease-in-out |
| Confident | Strong ease-out | cubic-bezier(0,0,0.2,1) |
| Playful | Overshoot | cubic-bezier(0.34,1.56,0.64,1) |
| Urgent | Sharp ease-out | cubic-bezier(0.0,0,0.2,1) |
| Elegant | Extended ease | cubic-bezier(0.4,0,0.6,1) |
Quick Reference by Emotion
Positive Emotions
- Joy: Fast timing, high squash/stretch, bouncy easing
- Trust: Consistent timing, minimal deformation, smooth easing
- Calm: Slow timing, subtle movement, symmetric easing
- Excitement: Fast timing, high energy, dynamic easing
Functional Emotions
- Urgency: Very fast, direct paths, attention-grabbing
- Professional: Moderate timing, minimal decoration, standard easing
- Friendly: Moderate timing, soft deformation, gentle easing
Premium Emotions
- Elegant: Slower timing, no deformation, refined easing
- Powerful: Deliberate timing, impact emphasis, strong easing
CSS Variables Template
:root {
/* Adjust based on target emotion */
--emotion-duration: 300ms;
--emotion-easing: cubic-bezier(0.4, 0, 0.2, 1);
--emotion-squash: 1;
--emotion-overshoot: 0;
}
Decision Tree
- Is the emotion high or low energy?
- Is the feeling positive, negative, or neutral?
- Should users feel in control or guided?
- Is this a moment or a state?
- What's the brand personality?
Combining Emotions
Real experiences blend emotions. Layer principles:
- Primary emotion: 70% influence
- Secondary emotion: 30% influence
- Adjust timing/easing accordingly
When to Use
- Novel emotional requirements
- Brand-specific interpretations
- Complex emotional journeys
- A/B testing emotional impact
- Cross-cultural considerations
- Accessibility adaptations
Comments
Markdown supported