Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dylantarre avatar

Web Motion Design

  • 775 installs
  • 68 repo stars
  • Updated December 30, 2025
  • dylantarre/animation-principles

web-motion-design is a frontend design skill that applies Disney's 12 animation principles to CSS, JavaScript, and framework motion for developers who need cohesive web UI animation systems.

About

web-motion-design is a skill from dylantarre/animation-principles that translates Disney's 12 animation principles into practical CSS, JavaScript, and React or Vue motion patterns. It guides squash-and-stretch via transform scale, anticipation cues, staggered child animations, easing curves, and motion hierarchy for buttons, modals, and page transitions. Developers reach for web-motion-design when micro-interactions feel random or disjointed and a product needs a deliberate motion language across components instead of one-off animation snippets.

  • Easing, duration, and delay scales
  • Hierarchy for primary vs secondary motion
  • Modal, drawer, and route transition recipes
  • Micro-interaction patterns for feedback
  • Consistency rules across component libraries

Web Motion Design by the numbers

  • 775 all-time installs (skills.sh)
  • Ranked #482 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dylantarre/animation-principles --skill web-motion-design

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs775
repo stars68
Last updatedDecember 30, 2025
Repositorydylantarre/animation-principles

How do you design cohesive web UI motion systems?

Define cohesive motion language for buttons, modals, page transitions, and micro-interactions so a web product feels intentional rather than randomly animated.

Who is it for?

Frontend developers implementing CSS animations, JavaScript transitions, or React and Vue motion who want principled, consistent interaction design.

Skip if: Native iOS or Android animation work outside browser-based CSS and JavaScript motion stacks.

When should I use this skill?

The user builds CSS animations, modal transitions, page routes with motion, or asks for micro-interaction timing and easing guidance.

What you get

Motion language guidelines, CSS and JS animation patterns, and staggered easing recipes for web components

  • Motion design guidelines
  • CSS and JS animation snippets
  • Component transition patterns

By the numbers

  • Covers Disney's 12 animation principles for web implementation

Files

SKILL.mdMarkdownGitHub ↗

Web Motion Design

Apply Disney's 12 animation principles to CSS, JavaScript, and frontend frameworks.

Quick Reference

PrincipleWeb Implementation
Squash & Stretchtransform: scale() on interaction states
AnticipationSlight reverse movement before action
StagingFocus user attention with motion hierarchy
Straight Ahead / Pose to PoseJS frame-by-frame vs CSS keyframes
Follow Through / OverlappingStaggered child animations, elastic easing
Slow In / Slow Outease-in-out, cubic-bezier curves
Arcmotion-path or bezier translate transforms
Secondary ActionShadows, glows responding to primary motion
TimingDuration: micro 100-200ms, standard 200-400ms
ExaggerationScale beyond 1.0, overshoot animations
Solid DrawingConsistent transform-origin, 3D perspective
AppealSmooth 60fps, purposeful motion design

Principle Applications

Squash & Stretch: Apply scaleY compression on button press, scaleX stretch on hover. Keep volume constant—if you compress Y, expand X slightly.

Anticipation: Before expanding a dropdown, shrink it 2-3% first. Before sliding content left, move it 5px right.

Staging: Dim background elements during modal focus. Use motion to direct eye flow—animate important elements first.

Straight Ahead vs Pose to Pose: Use CSS @keyframes for predictable, repeatable animations (pose to pose). Use JavaScript/GSAP for dynamic, physics-based motion (straight ahead).

Follow Through & Overlapping: Child elements should complete movement after parent stops. Use animation-delay with decreasing values for natural stagger.

Slow In / Slow Out: Never use linear for UI motion. Standard easing: cubic-bezier(0.4, 0, 0.2, 1). Enter: cubic-bezier(0, 0, 0.2, 1). Exit: cubic-bezier(0.4, 0, 1, 1).

Arc: Elements in nature move in arcs, not straight lines. Use offset-path or combine X/Y transforms with different easings.

Secondary Action: Button shadow grows/blurs on hover. Icon inside button rotates while button scales. Background particles respond to primary element.

Timing: Micro-interactions: 100-200ms. Standard transitions: 200-400ms. Complex sequences: 400-700ms. Page transitions: 300-500ms.

Exaggeration: Hover states scale to 1.05-1.1, not 1.01. Error shakes move 10-20px, not 2px. Make motion noticeable but not jarring.

Solid Drawing: Maintain consistent transform-origin. Use perspective for 3D depth. Avoid conflicting transforms that create visual glitches.

Appeal: Target 60fps—use transform and opacity only when possible. Add subtle personality through custom easing curves. Motion should feel intentional.

Code Patterns

/* Elastic button with squash/stretch */
.button:active {
  transform: scale(0.95, 1.05);
  transition: transform 100ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Anticipation before expansion */
.dropdown-enter {
  animation: dropdown-open 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes dropdown-open {
  0% { transform: scaleY(0.98); opacity: 0; }
  100% { transform: scaleY(1); opacity: 1; }
}

Performance Rules

1. Animate only transform and opacity for GPU acceleration 2. Use will-change sparingly and remove after animation 3. Prefer CSS over JavaScript when animation is predictable 4. Test on low-powered devices

Related skills

How it compares

Choose web-motion-design for principled UI motion systems rather than one-off Lottie asset integration or backend-only work.

FAQ

What principles does web-motion-design use?

web-motion-design applies Disney's 12 animation principles—such as squash and stretch, anticipation, follow through, and slow in/out—to CSS transforms, keyframes, and JavaScript-driven web transitions for buttons, modals, and routes.

Which frontend stacks does web-motion-design support?

web-motion-design targets browser-based motion with CSS animations, JavaScript transitions, and framework patterns for React and Vue, focusing on cohesive UI motion rather than native mobile animation APIs.

Design & UI/UXuiuxbranding

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.