Skip to main content
skill CX Codex

motion-system — Claude Code skill: motion tokens

Defines one set of durations, easing curves and reduced-motion rules for a product. Useful when every component animates on its own timing.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Owl-Listener/designer-skills --skill motion-system -a claude-code
Open on GitHub

What motion-system does

The skill treats motion as a design token layer rather than a pile of one-off animations. It ships duration tables from duration-instant (50ms) up to duration-deliberate (600ms), named curves such as ease-standard and ease-spring, choreography rules for elements that move together, and system-level handling of prefers-reduced-motion.

Keep the scale small. The author suggests 4–6 duration values and adding more only when a real use case does not fit. Staggered groups move 30–50ms apart, and a whole staggered sequence stays under 500ms. Under reduced motion, sliding, scaling and rotation go away while loading and progress animations stay, since they carry state information.

Tokens are written as CSS custom properties and belong in the same export pipeline as color and spacing. Test motion on low-powered devices — what looks smooth in a design tool can stutter in production. If you need one specific animation instead of a system, reach for animation-principles from the interaction-design set.

What it helps with

  • pull durations and easing from every component into one shared token set
  • give design and engineering a common vocabulary for motion
  • handle reduced-motion globally instead of per component
  • set stagger rules for groups of elements that enter together
  • ship motion tokens alongside color and spacing in the token export

Example prompts for the agent

  • build motion tokens for our design system: durations, easing, reduced-motion
  • check whether we have too many duration values and propose a 4–6 token scale
  • write choreography rules for a list of cards that appear together

How to install motion-system

1Skills CLI (Vercel)

npx skills add Owl-Listener/designer-skills --skill motion-system -a claude-code

2Manually: put the files in place

~/.claude/skills/motion-system/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/motion-system/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about motion-system

How do I install motion-system in Claude?

Run npx skills add Owl-Listener/designer-skills --skill motion-system -a claude-code. The skill file then lives at ~/.claude/skills/motion-system/SKILL.md.

What does motion-system do?

It defines a product's motion vocabulary: a duration scale, named easing curves, choreography rules for elements animating together, and global reduced-motion handling.

How is it different from animation-principles?

motion-system standardises motion across a whole product, while animation-principles from the interaction-design set covers one specific animation.

Source text

SKILL.md · MIT
---
name: motion-system
description: Define motion tokens — durations, easing vocabulary, and reduced-motion handling — for consistency product-wide. Use when standardising motion across a system. For crafting one specific animation, use `animation-principles` (interaction-design).
---
# Motion System
You are an expert in defining motion as a systematic design token layer, not a collection of one-off animations.
## What You Do
You define the motion vocabulary for a product — duration scales, easing curves, choreography rules, and accessibility handling — so animation decisions are consistent, purposeful, and implementable by any team.
## Why a Motion System
Without a system, animation decisions are made ad hoc: each component has its own duration and easing, transitions feel inconsistent, and there's no shared language between design and engineering. A motion system makes animation decisions as deliberate as color or type choices.
## Duration Tokens
Define a small set of named duration values. Example scale:
| Token | Value | Use |
|---|---|---|
| `duration-instant` | 50ms | State changes that must feel immediate (checkbox tick, toggle) |
| `duration-fast` | 100ms | Small element transitions (tooltip appear, chip dismiss) |
| `duration-normal` | 200ms | Default for most transitions (dropdown open, focus ring) |
| `duration-moderate` | 300ms | Medium element transitions (modal entry, panel slide) |
| `duration-slow` | 400ms | Page-level transitions, complex choreography |
| `duration-deliberate` | 600ms | Intentionally paced, high-emphasis moments (onboarding reveal) |
Don't create more tokens than you have distinct use cases. 4–6 values is usually enough.
## Easing Tokens
Define named easing curves mapped to semantic use cases:
| Token | Curve | Use |
|---|---|---|
| `ease-standard` | cubic-bezier(0.2, 0, 0, 1) | Most UI transitions — elements moving between states |
| `ease-decelerate` | cubic-bezier(0, 0, 0.2, 1) | Elements entering the screen |
| `ease-accelerate` | cubic-bezier(0.3, 0, 1, 0.3) | Elements leaving the screen |
| `ease-spring` | spring / cubic-bezier(0.34, 1.56, 0.64, 1) | Playful or tactile interactions (FAB expand, drawer bounce) |
| `ease-linear` | linear | Looping animations only (progress spinners, shimmer) |
## Choreography Rules
When multiple elements animate together:
- **Stagger**: related elements entering together stagger by 30–50ms; lead with the most important
- **Coordination**: elements in the same semantic group use the same duration and easing
- **Sequence total**: total duration of a staggered sequence should not exceed 500ms
- **Direction consistency**: if elements slide in from the right, related outgoing elements slide out to the left
## Reduced Motion
The `prefers-reduced-motion: reduce` media query must be handled at the system level, not component by component:
- **Disable**: remove sliding, scaling, and rotation animations
- **Replace**: substitute instant state changes or simple opacity fades (opacity transitions are generally acceptable)
- **Preserve**: keep animations that convey essential state information (loading spinners, progress)
- **Token approach**: define a `duration-instant` (0ms or 1ms) override for all duration tokens under reduced-motion, applied globally
## Implementation
- Define duration and easing values as CSS custom properties (or platform-equivalent tokens)
- Apply reduced-motion overrides at the `:root` level within a `prefers-reduced-motion` query
- Document each token with: name, value, use case, and a live example
- Include motion tokens in the design token export pipeline — they should live alongside color and spacing tokens
## Motion Principles (to define per product)
Every product's motion system should be grounded in 3–5 principles:
- Example: "Purposeful — every animation communicates a state change or relationship"
- Example: "Quick — UI motion is never slow; we respect users' time"
- Example: "Physical — motion follows natural physics; decelerate on entry, accelerate on exit"
- Example: "Accessible — all motion respects user preferences and never causes discomfort"
## Best Practices
- Start with fewer tokens and add only when a new use case genuinely doesn't fit existing values
- Test all motion on low-powered devices — what's smooth in design tools can be janky in production
- Include motion in design QA checklists alongside color and spacing
- Document what should NOT animate as clearly as what should — not everything moves

© Owl-Listener · MIT · Owl-Listener/designer-skills

Similar skills

Everything for Design →

From the same set111

critique-composition Critiques balance, negative space, visual rhythm, and gestalt grouping on rendered screens. Useful when layout hierarchy is solid but the spatial composition still feels off. CX Codex +1 1,900installs service-blueprint Maps how a service is delivered to users and behind the scenes. Use it to trace gaps between visible interactions, operations, and supporting systems. CX Codex +1 1,800installs critique-brand-consistency Compares a rendered screen against mood.md, voice.md and tokens.md, then points out where styling and copy drifted from the brand. CX Codex +1 1,800installs navigation-patterns Helps select and design navigation patterns such as tab bars, sidebars, and breadcrumbs. Useful when mapping user journeys across mobile and desktop interfaces. CX Codex +1 1,800installs design-negotiation Helps designers advocate for UX quality, scope, and timelines when negotiating with PMs and engineers using evidence instead of personal taste. CX Codex +1 1,700installs design-impact-reporting Turns design work into a report leadership can read: user, product and business metrics with the evidence behind them. CX Codex +1 1,700installs critique-information-density A skill that critiques a rendered screen's density: cognitive load, content priority, scanning patterns and progressive disclosure. Useful when a screen feels overwhelming. CX Codex +1 1,700installs research-repository Helps teams organize UX findings into a structured repository so research insights stay searchable, reusable, and linked to evidence. CX Codex +1 1,700installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor