Skip to main content
skill CX Codex

small-200-300ms — Claude Code skill: 200–300ms transitions

A skill that tells the agent how to build 200–300ms transitions: modal appearances, card expansions, navigation slides.

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

What small-200-300ms does

This skill covers the duration range where users consciously notice motion. It walks through the Disney animation principles and marks which ones hold up at 200–300ms: squash & stretch, anticipation, staging, follow through, easing. Each gets a short verdict on whether it works here.

The practical half is CSS. Four transition recipes are listed — a plain ease-out at 250ms, a confident modal arrival via cubic-bezier(0.16, 1, 0.3, 1), a bouncy cubic-bezier(0.34, 1.56, 0.64, 1) at 280ms, and a restrained 220ms curve. Then an implementation pattern for .modal and .card-expand that pairs opacity with transform.

The skill also names what breaks in this range: complex character animation, long travel distances, multiple sequential stages. If something should feel instant, 200–300ms is too slow. Worth installing when you are reworking UI transitions and would rather the agent follow a stated timing than guess one.

What it helps with

  • pick an easing curve for a modal appearing
  • make a card expand without it snapping
  • set up a navigation drawer slide
  • give a button a bouncy motion that still looks tidy
  • stagger a primary and secondary action inside one transition

Example prompts for the agent

  • Make the modal appear over 250ms with cubic-bezier(0.16, 1, 0.3, 1)
  • Rewrite the transition on .card-expand for the card expansion
  • Pick a duration and easing for the navigation drawer slide

How to install small-200-300ms

1Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill small-200-300ms -a claude-code

2Manually: put the files in place

~/.claude/skills/small-200-300ms/SKILL.md

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

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

Questions about small-200-300ms

How do I install small-200-300ms in Claude?

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

What does small-200-300ms do?

It describes 200–300ms transitions: which animation principles apply, which easing curves to use, and what the implementation pattern looks like for modals and expanding cards.

Which elements fit this duration range?

Modal dialogs, card expand and collapse, navigation drawer slides, tab content switches, filter panel toggles, thumbnail expansion, alert slides.

Source text

SKILL.md · MIT
---
name: small-200-300ms
description: Use when building small transitions between 200-300ms - modal appearances, card expansions, navigation transitions that users consciously perceive
---

# Small Transitions (200-300ms)

At 200-300ms, users **consciously perceive motion**. This duration bridges micro-interactions and full animations - ideal for UI state changes.

## Disney Principles at Small Duration

### Works Well

**Squash & Stretch**: Visible but restrained - 10-15% for playful interfaces, 5% for professional.

**Anticipation**: Brief wind-up works - 40-60ms preparation enhances 200ms main action.

**Staging**: Clear hierarchy - primary element leads, secondary follows by 50-100ms.

**Straight Ahead/Pose to Pose**: Pose to pose preferred - keyframes create polished motion.

**Follow Through**: Noticeable overshoot - 5-10% past target adds life.

**Slow In/Slow Out**: Full easing curves - both ease-in-out and custom beziers shine.

**Arcs**: Natural curves enhance - elements can travel on arcs rather than straight lines.

**Secondary Action**: One or two secondary actions - fade + scale, move + rotate.

**Timing**: 12-18 frames at 60fps. Smooth, deliberate motion.

**Exaggeration**: Moderate to pronounced - depends on brand personality.

**Solid Drawing**: Full transform combinations - translate, scale, rotate together.

**Appeal**: Conscious animation that builds brand character.

### Doesn't Work

- Feeling instant (too slow)
- Complex character animation
- Long travel distances
- Multiple sequential stages

## Easing Recommendations

```css
/* Standard smooth transition */
transition: all 250ms ease-out;

/* Modal/card appearance - confident arrival */
transition: all 250ms cubic-bezier(0.16, 1, 0.3, 1);

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

/* Professional, subtle */
transition: all 220ms cubic-bezier(0.4, 0, 0.2, 1);
```

## Best Use Cases

- Modal dialogs appearing
- Card expand/collapse
- Navigation drawer slides
- Tab content transitions
- Filter panel toggles
- Image thumbnails expanding
- Alert/notification slides

## Implementation Pattern

```css
.modal {
  opacity: 0;
  transform: translateY(20px) scale(0.95);
  transition: opacity 200ms ease-out,
              transform 250ms cubic-bezier(0.16, 1, 0.3, 1);
}

.modal.open {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.card-expand {
  transition: all 280ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
```

## Key Insight

Small transitions are **seen and understood**. Users track the motion and their brain processes the spatial relationship. Use this to guide attention and communicate hierarchy.

© 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