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

12 Principles Of Animation

  • 1.2k installs
  • 32 repo stars
  • Updated March 17, 2026
  • raphaelsalaja/skill

12-principles-of-animation is a Claude Code skill that audits web animation code against Disney's 12 principles adapted for interfaces and reports file:line findings for developers who need motion-quality review before s

About

12-principles-of-animation is a MIT-licensed agent skill (version 2.0.0) that reads specified animation source files, evaluates them against Disney's 12 principles adapted for web interfaces, and outputs prioritized findings in file:line format. The skill groups checks into rule categories with priority prefixes so reviewers can triage timing, easing, staging, and related motion issues quickly. Developers reach for 12-principles-of-animation when implementing or reviewing CSS, JavaScript, or framework animation code and want an objective checklist instead of subjective motion critique. Trigger it during PR review, animation refactors, or accessibility and performance passes on interactive UI motion.

  • Audits CSS, Tailwind, and Framer Motion code against 12 Disney animation principles adapted for web
  • Outputs findings in file:line format with clear pass/fail examples
  • Organized into 4 priority rule categories: Timing, Easing, Physics, and Staging
  • Checks timing constraints such as user-initiated animations under 300ms and consistent durations
  • Works on any codebase containing motion, transitions, or interactive animations

12 Principles Of Animation by the numbers

  • 1,245 all-time installs (skills.sh)
  • +60 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #324 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/raphaelsalaja/skill --skill 12-principles-of-animation

Add your badge

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

Listed on Skillselion
Installs1.2k
repo stars32
Security audit3 / 3 scanners passed
Last updatedMarch 17, 2026
Repositoryraphaelsalaja/skill

How do you audit web animation code quality?

Automatically audit web animation code against Disney's 12 principles adapted for interfaces.

Who is it for?

Frontend developers reviewing motion implementation in component libraries, marketing sites, or product UI before merge.

Skip if: Teams needing automated performance profiling, bundle-size analysis, or backend API review unrelated to interface motion.

When should I use this skill?

A developer asks to review, implement, or quality-check web animations, transitions, or motion design in specific files or patterns.

What you get

Prioritized file:line animation audit findings grouped by Disney principle rule categories.

  • File:line animation audit report
  • Prioritized principle violation list

By the numbers

  • Evaluates code against Disney's 12 animation principles adapted for web
  • Skill version 2.0.0 with MIT license

Files

SKILL.mdMarkdownGitHub ↗

12 Principles of Animation

Review animation code for compliance with Disney's 12 principles adapted for web interfaces.

How It Works

1. Read the specified files (or prompt user for files/pattern) 2. Check against all rules below 3. Output findings in file:line format

Rule Categories

PriorityCategoryPrefix
1Timingtiming-
2Easingeasing-
3Physicsphysics-
4Stagingstaging-

Rules

Timing Rules

timing-under-300ms

User-initiated animations must complete within 300ms.

Fail:

.button { transition: transform 400ms; }

Pass:

.button { transition: transform 200ms; }
timing-consistent

Similar elements must use identical timing values.

Fail:

.button-primary { transition: 200ms; }
.button-secondary { transition: 150ms; }

Pass:

.button-primary { transition: 200ms; }
.button-secondary { transition: 200ms; }
timing-no-entrance-context-menu

Context menus should not animate on entrance (exit only).

Fail:

<motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} />

Pass:

<motion.div exit={{ opacity: 0 }} />

Easing Rules

easing-entrance-ease-out

Entrances must use ease-out (arrive fast, settle gently).

Fail:

.modal-enter { animation-timing-function: ease-in; }

Pass:

.modal-enter { animation-timing-function: ease-out; }
easing-exit-ease-in

Exits must use ease-in (build momentum before departure).

Fail:

.modal-exit { animation-timing-function: ease-out; }

Pass:

.modal-exit { animation-timing-function: ease-in; }
easing-no-linear-motion

Linear easing should only be used for progress indicators, not motion.

Fail:

.card { transition: transform 200ms linear; }

Pass:

.progress-bar { transition: width 100ms linear; }
easing-natural-decay

Use exponential ramps, not linear, for natural decay.

Fail:

gain.gain.linearRampToValueAtTime(0, t + 0.05);

Pass:

gain.gain.exponentialRampToValueAtTime(0.001, t + 0.05);

Physics Rules

physics-active-state

Interactive elements must have active/pressed state with scale transform.

Fail:

.button:hover { background: var(--gray-3); }
/* Missing :active state */

Pass:

.button:active { transform: scale(0.98); }
physics-subtle-deformation

Squash/stretch deformation must be subtle (0.95-1.05 range).

Fail:

<motion.div whileTap={{ scale: 0.8 }} />

Pass:

<motion.div whileTap={{ scale: 0.98 }} />
physics-spring-for-overshoot

Use springs (not easing) when overshoot-and-settle is needed.

Fail:

<motion.div transition={{ duration: 0.3, ease: "easeOut" }} />
// When element should bounce/settle

Pass:

<motion.div transition={{ type: "spring", stiffness: 500, damping: 30 }} />
physics-no-excessive-stagger

Stagger delays must not exceed 50ms per item.

Fail:

transition={{ staggerChildren: 0.15 }}

Pass:

transition={{ staggerChildren: 0.03 }}

Staging Rules

staging-one-focal-point

Only one element should animate prominently at a time.

Fail:

// Multiple elements with competing entrance animations
<motion.div animate={{ scale: 1.1 }} />
<motion.div animate={{ scale: 1.1 }} />
staging-dim-background

Modal/dialog backgrounds should dim to direct focus.

Fail:

.overlay { background: transparent; }

Pass:

.overlay { background: var(--black-a6); }
staging-z-index-hierarchy

Animated elements must respect z-index layering.

Fail:

.tooltip { /* No z-index, may render behind other elements */ }

Pass:

.tooltip { z-index: 50; }

Output Format

When reviewing files, output findings as:

file:line - [rule-id] description of issue

Example:
components/modal/index.tsx:45 - [timing-under-300ms] Exit animation 400ms exceeds 300ms limit
components/button/styles.module.css:12 - [physics-active-state] Missing :active transform

Summary Table

After findings, output a summary:

RuleCountSeverity
timing-under-300ms2HIGH
physics-active-state3MEDIUM
easing-entrance-ease-out1MEDIUM

References

Related skills

How it compares

Choose this over generic lint rules when the goal is motion-design quality against established animation principles rather than syntax or accessibility alone.

FAQ

What does 12-principles-of-animation check?

12-principles-of-animation reads specified animation source files and evaluates them against Disney's 12 principles adapted for web interfaces. The skill returns prioritized findings in file:line format grouped by rule category prefixes.

What output format does the animation audit skill use?

12-principles-of-animation reports findings as file:line entries with priority category prefixes. Developers can jump directly from each finding to the offending animation code in their editor.

Is 12 Principles Of Animation safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

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

unsubscribe anytime.