Use when creating or auditing a motion design system for a digital product, defining reusable animation tokens, principles, and component-level motion patterns
Scanned 9/8/2026
Install to Claude Code
npx -y skills add jeffreytse/grimoire-core --skill design-animation-system --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Design Animation System?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jeffreytse-design-animation-system)More formats (shields.io, HTML) on the badges page.
---
name: design-animation-system
description: Use when creating or auditing a motion design system for a digital product, defining reusable animation tokens, principles, and component-level motion patterns
source: 'Thomas & Johnston "The Illusion of Life: Disney Animation" (1981) 12 Principles; Material Design motion guidelines (Google 2014); CSS Animation specification (W3C)'
tags: [motion, animation, design-system, ui, interaction]
verified: true
---
# Design Animation System
Build a coherent, reusable animation system that enforces brand personality, reduces cognitive load, and communicates state changes clearly across a product.
## Why This Is Best Practice
**Adopted by:** Google Material Design, Apple Human Interface Guidelines, IBM Carbon Design System, Shopify Polaris
**Impact:** Consistent motion reduces perceived task time by ~15% (Nielsen Norman Group); systematic animation tokens cut inconsistent implementation by 60% in multi-team projects
**Why best:** Disney's 12 principles — squash-and-stretch, anticipation, follow-through, ease-in/ease-out — remain the canonical motion vocabulary. Systematizing them as tokens creates predictable, learnable patterns.
Sources: Thomas & Johnston (1981); Google Material Design motion spec; W3C CSS Animations Level 1
## Steps
1. **Audit current motion** — catalog all existing animations in the product; identify inconsistencies, missing states, and conflicting durations.
2. **Define motion values** — establish a duration scale (e.g., 100ms micro, 200ms standard, 400ms complex, 600ms page) and map to interaction types.
3. **Choose easing library** — select 3–5 named curves (ease-in, ease-out, ease-in-out, spring, linear) aligned with Disney ease principles; document each use case.
4. **Map motion to meaning** — assign easing and duration to semantic intent: entrances use ease-out, exits use ease-in, emphasis uses spring or bounce.
5. **Define 12-principle usage rules** — specify which Disney principles apply to which component types (e.g., squash-and-stretch for feedback, anticipation for navigation).
6. **Create animation tokens** — export durations, curves, and delays as design tokens (CSS custom properties or JSON) consumed by code and design tools.
7. **Build component-level motion specs** — document per-component animation: trigger, property animated, duration, easing, delay, and stagger rules.
8. **Establish accessibility rules** — define reduced-motion fallbacks for every animated component using `prefers-reduced-motion`; no animation should be the only indicator of state.
9. **Validate in code** — implement tokens in the front-end; test in slow-motion (quarter speed) to catch overshoots and timing errors.
10. **Document with live examples** — publish animated examples in the design system storybook; include do/don't side-by-sides.
## Rules
- Duration must scale with spatial distance: large elements moving far use longer durations than small elements moving short distances.
- Every animation must have a `prefers-reduced-motion` counterpart — either instant or cross-fade only.
- Never animate more than 3 properties simultaneously on a single element; isolate transform and opacity for GPU compositing.
- Easing curves must be purposeful — no linear easing for natural-feeling motion.
- Spring animations must be critically damped or underdamped by ≤10% to avoid infinite bounce.
## Common Mistakes
- **Using one duration for everything** — flat timing destroys hierarchy; users cannot distinguish micro-feedback from major transitions.
- **Skipping reduced-motion support** — violates WCAG 2.1 Success Criterion 2.3.3; causes vestibular disorders in affected users.
- **Animating layout properties (width/height/top/left)** — triggers reflow; always prefer transform and opacity for performance.
- **Designing animations only in static prototypes** — 60fps feel cannot be judged in Figma; always validate in browser or native runtime.
- **No stagger logic for lists** — animating all list items simultaneously looks mechanical; stagger at 30–50ms per item.
## When NOT to Use
- Single-page utilities with no state transitions (no motion needed)
- High-frequency data dashboards where animation distracts from data reading
- Contexts where battery or performance constraints dominate (e.g., embedded devices)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!