Skip to main content
skill CX Codex

medium-300-500ms — Claude Code skill: 300–500ms animations

A skill that tells your coding agent how to build mid-duration animations: page transitions, modals, staggered reveals.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add dylantarre/animation-principles --skill medium-300-500ms -a claude-code
Open on GitHub

What medium-300-500ms does

This skill covers animations in the 300–500ms range. That window is long enough for a user to notice the motion and short enough that it does not slow the interface down. All twelve animation principles are mapped to this duration, with concrete numbers: 80–120ms of anticipation before the main action, 18–30 frames at 60fps.

The practical half is CSS. Four cubic-bezier curves are given for different jobs — smooth natural motion, an expressive entrance, a bouncy feel, dramatic deceleration. There is also a page-transition pattern and an example of staggered list items using transition-delay.

Reach for it when the animation has to communicate something: a view change, a feature reveal, a loading state finishing. If your project already has a design system with its own timing tokens, compare the values here against it. Two different motion rhythms in one interface look like a bug.

What it helps with

  • pick a duration and easing curve for a page transition
  • stagger the reveal of list items
  • animate a multi-step modal sequence
  • add bounce to a button or card without making it feel sluggish
  • set timings for a chart or diagram animation

Example prompts for the agent

  • Build a page transition in the 300–500ms range with easing for smooth natural motion
  • Stagger the card reveal in this list with a 50ms delay between items
  • Animate the modal opening at 400ms with an expressive entrance

How to install medium-300-500ms

1Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill medium-300-500ms -a claude-code

2Manually: put the files in place

~/.claude/skills/medium-300-500ms/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/medium-300-500ms/

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

Questions about medium-300-500ms

How do I install medium-300-500ms in Claude?

Run npx skills add dylantarre/animation-principles --skill medium-300-500ms -a claude-code. The skill lands at ~/.claude/skills/medium-300-500ms/SKILL.md.

What does the medium-300-500ms skill do?

It gives the agent rules for animations between 300 and 500ms: which motion principles apply, which cubic-bezier curves to use, and how to structure page transitions and staggered children.

Which platforms support this skill?

It installs into Claude, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode, each with its own skill file path.

Source text

SKILL.md · MIT
---
name: medium-300-500ms
description: Use when building standard animations between 300-500ms - page transitions, significant UI changes, animated illustrations that need clear communication
---

# Medium Animations (300-500ms)

The 300-500ms range is **standard animation territory**. Long enough to be watched, short enough to not impede flow. The workhorse duration for meaningful motion.

## Disney Principles at Medium Duration

### All 12 Principles Applicable

**Squash & Stretch**: Full expression - visible deformation for bouncing, elastic elements. 15-25% stretch feels natural.

**Anticipation**: Clear preparation - 80-120ms anticipation before main action. Pull back before push forward.

**Staging**: Multi-element choreography possible - primary action leads, supporting elements follow.

**Straight Ahead/Pose to Pose**: Pose to pose recommended - define key positions, let easing handle in-betweens.

**Follow Through**: Essential - overlapping action where parts settle at different rates.

**Slow In/Slow Out**: Critical for naturalism - both directions need proper easing.

**Arcs**: Natural motion paths - elements should travel on curves matching real physics.

**Secondary Action**: Multiple secondary actions - hair follows head, shadow follows object.

**Timing**: 18-30 frames at 60fps. Enough frames for nuanced motion.

**Exaggeration**: Full range available - match to brand personality and context.

**Solid Drawing**: Complex transforms work - 3D rotations, perspective shifts.

**Appeal**: Character-defining animations - this is where brand personality lives.

## Easing Recommendations

```css
/* Smooth, natural motion */
transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);

/* Expressive entrance */
transition: all 450ms cubic-bezier(0.16, 1, 0.3, 1);

/* Bouncy, playful */
transition: transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

/* Dramatic deceleration */
transition: all 350ms cubic-bezier(0, 0.55, 0.45, 1);
```

## Best Use Cases

- Page/view transitions
- Complex modal sequences
- Animated illustrations
- Data visualization changes
- Onboarding animations
- Feature reveals
- State machine transitions
- Loading completion celebrations

## Implementation Pattern

```css
.page-enter {
  opacity: 0;
  transform: translateX(30px);
}

.page-enter-active {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 350ms ease-out,
              transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Staggered children */
.list-item {
  transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);
}
.list-item:nth-child(1) { transition-delay: 0ms; }
.list-item:nth-child(2) { transition-delay: 50ms; }
.list-item:nth-child(3) { transition-delay: 100ms; }
```

## Key Insight

Medium duration is where animation becomes **storytelling**. Users watch, understand, and remember these animations. Invest in polish here - it defines perceived quality.

© dylantarre · MIT · dylantarre/animation-principles

Similar skills

Everything for Frontend and UI →

From the same set86

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