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

Motion One

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

motion-one is a Claude Code skill that implements Disney's 12 animation principles with Motion One springs, keyframes, timelines, and scroll-linked effects via the Web Animations API for developers who need modern motion

About

motion-one is a frontend animation skill that maps all 12 Disney animation principles to Motion One APIs built on the Web Animations API. Examples include squash-and-stretch with animate scale transforms, anticipation via timeline sequences, and scroll-linked motion for lean sites, browser extensions, and islands. The skill favors the motion package imports such as animate and timeline over heavier animation libraries. Developers reach for motion-one when they want performant, principle-driven UI motion on lightweight pages that cannot absorb GSAP-sized dependencies.

  • Web Animations API leverage
  • Spring and keyframe utilities
  • Scroll-linked effects
  • Framework-agnostic usage
  • Compact runtime footprint

Motion One by the numbers

  • 362 all-time installs (skills.sh)
  • Ranked #687 of 2,245 Frontend Development 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 motion-one

Add your badge

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

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

How do you add Motion One scroll animations?

Add Motion One springs, keyframes, and scroll-linked effects using the Web Animations API for lean sites, extensions, and islands needing modern motion without GSAP weight.

Who is it for?

Frontend developers building lean sites, extensions, or islands who want Disney-principle motion without GSAP weight.

Skip if: Projects already standardized on GSAP, Framer Motion React-only patterns, or native mobile Core Animation workflows.

When should I use this skill?

The user needs Motion One springs, keyframes, scroll effects, or Disney animation principles on a lightweight web frontend.

What you get

Motion One animation code with springs, keyframes, timelines, and scroll-linked Web Animations API effects.

  • Motion One animation snippets
  • timeline and scroll effect implementations

By the numbers

  • Covers all 12 Disney animation principles

Files

SKILL.mdMarkdownGitHub ↗

Motion One Animation Principles

Implement all 12 Disney animation principles using Motion One's performant Web Animations API wrapper.

1. Squash and Stretch

import { animate } from "motion";

animate(".ball",
  { scaleX: [1, 1.2, 1], scaleY: [1, 0.8, 1] },
  { duration: 0.3, easing: "ease-in-out" }
);

2. Anticipation

import { timeline } from "motion";

timeline([
  [".character", { y: 10, scaleY: 0.9 }, { duration: 0.2 }],
  [".character", { y: -200 }, { duration: 0.4, easing: "ease-out" }]
]);

3. Staging

animate(".background", { filter: "blur(3px)", opacity: 0.6 });
animate(".hero", { scale: 1.1 });

4. Straight Ahead / Pose to Pose

animate(".element", {
  x: [0, 100, 200, 300],
  y: [0, -50, 0, -30]
}, { duration: 1 });

5. Follow Through and Overlapping Action

timeline([
  [".body", { x: 200 }, { duration: 0.5 }],
  [".hair", { x: 200 }, { duration: 0.5, at: "-0.45" }],
  [".cape", { x: 200 }, { duration: 0.6, at: "-0.5" }]
]);

6. Slow In and Slow Out

animate(".element", { x: 300 }, {
  duration: 0.6,
  easing: [0.42, 0, 0.58, 1] // cubic-bezier ease-in-out
});
// Or: "ease-in", "ease-out", "ease-in-out"
// Or spring: { easing: spring({ stiffness: 100, damping: 15 }) }

7. Arc

animate(".ball", {
  x: [0, 100, 200],
  y: [0, -100, 0]
}, { duration: 1, easing: "ease-in-out" });

// Or with offset path
animate(".element", {
  offsetDistance: ["0%", "100%"]
}, { duration: 1 });
// CSS: offset-path: path('M0,100 Q100,0 200,100');

8. Secondary Action

const button = document.querySelector(".button");
button.addEventListener("mouseenter", () => {
  animate(button, { scale: 1.05 }, { duration: 0.2 });
  animate(".icon", { rotate: 15 }, { duration: 0.15 });
});

9. Timing

import { spring } from "motion";

// Fast snap
animate(".fast", { x: 100 }, { duration: 0.15 });

// Spring physics
animate(".spring", { x: 100 }, {
  easing: spring({ stiffness: 300, damping: 20 })
});

// Slow dramatic
animate(".slow", { x: 100 }, { duration: 0.8, easing: "ease-out" });

10. Exaggeration

import { spring } from "motion";

animate(".element", { scale: 1.5, rotate: 720 }, {
  easing: spring({ stiffness: 200, damping: 10 }) // overshoot
});

11. Solid Drawing

animate(".box", {
  rotateX: 45,
  rotateY: 30
}, { duration: 0.5 });
// Set perspective in CSS: perspective: 1000px;

12. Appeal

animate(".card", {
  scale: 1.02,
  boxShadow: "0 20px 40px rgba(0,0,0,0.2)"
}, { duration: 0.3, easing: "ease-out" });

Stagger Animation

import { stagger } from "motion";

animate(".item",
  { opacity: [0, 1], y: [20, 0] },
  { delay: stagger(0.1) }
);

Scroll Animations

import { scroll, animate } from "motion";

scroll(
  animate(".parallax", { y: [0, 100] }),
  { target: document.querySelector(".container") }
);

In-View Animations

import { inView } from "motion";

inView(".section", ({ target }) => {
  animate(target, { opacity: 1, y: 0 }, { duration: 0.5 });
});

Key Motion One Features

  • animate() - Single animation
  • timeline() - Sequence with at positioning
  • stagger() - Offset delays
  • spring() - Physics-based easing
  • scroll() - Scroll-linked animations
  • inView() - Intersection observer wrapper
  • Uses Web Animations API (hardware accelerated)
  • Tiny bundle size (~3kb)

Related skills

FAQ

How many animation principles does motion-one cover?

motion-one implements all 12 Disney animation principles using Motion One APIs. Each principle maps to concrete animate or timeline code patterns on the Web Animations API.

Why use Motion One over GSAP?

motion-one targets lean sites, extensions, and islands that need modern motion without GSAP bundle weight. Motion One wraps the Web Animations API for performant springs, keyframes, and scroll effects.

This week in AI coding

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

unsubscribe anytime.