entrance-animations — Claude Code skill: what it does, how to install
Teaches coding agents to apply Disney animation principles to UI entrance effects. It provides exact CSS timings, easing curves, and stagger formulas for modals, lists, and cards.
npx skills add dylantarre/animation-principles --skill entrance-animations -a claude-codeWhat entrance-animations does
This skill guides your coding assistant when building elements that enter the viewport. It translates classic animation principles into concrete CSS rules, combining opacity transitions with coordinate shifts and slight scaling. Entrances rely on cubic-bezier(0, 0, 0.2, 1) to achieve a fast launch followed by a decelerating landing.
The skill provides a duration reference table for interface components. Toasts and alerts run for 150ms, cards for 200ms, modal windows for 250ms with a 50ms inner content lag, and page sections for 300ms. Grouped items use a sequential formula where each item waits an extra 50ms.
Sequences must stay capped. Total stagger duration cannot exceed 500ms, and automated sequences should never animate more than five items in a row without direct user input.
What it helps with
- create smooth entrance transitions for modal dialogs
- calculate staggered CSS animation delays for list items
- apply Disney animation principles like squash and anticipation to web UI
- configure proper ease-out bezier curves and durations for UI cards
Example prompts for the agent
- Create a CSS entrance animation for this modal and its inner content
- Animate these dashboard metric cards coming into view
- Add a staggered entrance effect for our product list items
How to install entrance-animations
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill entrance-animations -a claude-code2Manually: put the files in place
~/.claude/skills/entrance-animations/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/entrance-animations/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill entrance-animations -a codex2Manually: put the files in place
.agents/skills/entrance-animations/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill entrance-animations -a cursor2Manually: put the files in place
.cursor/skills/entrance-animations/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles entrance-animations2Manually: put the files in place
.github/skills/entrance-animations/SKILL.md1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill entrance-animations -a gemini-cli2Platform CLI
gemini skills install https://github.com/dylantarre/animation-principles --path skills/05-by-animation-type/entrance-animationsManually: put the files in place
.devin/skills/entrance-animations/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill entrance-animations -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about entrance-animations
How do I install entrance-animations in Claude Code?
Run npx skills add dylantarre/animation-principles --skill entrance-animations -a claude-code. The skill file will be stored at ~/.claude/skills/entrance-animations/SKILL.md.
What does the entrance-animations skill do?
It provides standard animation guidelines and CSS snippets for entering UI elements. The instructions define durations between 150ms and 400ms, cubic-bezier easing, and staggered sequences.
What are the stagger sequence limits in this skill?
The formula assigns index * 50ms per item, capped at a 500ms total sequence. Automatic reveals cannot exceed five consecutive elements unless triggered directly by user action.
Source text
SKILL.md · MIT
---
name: entrance-animations
description: Use when elements need to appear on screen - page loads, modals opening, items being added, content reveals, or any "coming into view" animation.
---
# Entrance Animations
Apply Disney's 12 principles when bringing elements into view.
## Principle Application
**Squash & Stretch**: Scale from 95% to 100% on entry. Elements feel elastic, not rigid.
**Anticipation**: Start slightly below/smaller than final position. A -10px offset before sliding up creates expectation.
**Staging**: Enter from the direction of user attention. New list items from the top, modals from center, sidebars from their edge.
**Straight Ahead vs Pose-to-Pose**: Use pose-to-pose. Define clear start state (invisible, offset) and end state (visible, positioned).
**Follow Through & Overlapping**: Child elements should lag slightly. Container enters first, content 50-100ms after.
**Slow In/Slow Out**: Use ease-out for entrances. Fast start, gentle landing: `cubic-bezier(0, 0, 0.2, 1)`.
**Arcs**: Combine Y and X movement. Don't just fade - slide in on a subtle curve.
**Secondary Action**: Pair fade with scale. Opacity 0→1 while scaling 0.95→1 adds depth.
**Timing**:
- Quick entrances: 150-200ms (toasts, tooltips)
- Standard entrances: 200-300ms (modals, cards)
- Dramatic reveals: 300-500ms (hero sections, page transitions)
**Exaggeration**: Scale can start at 0.8 for dramatic effect, 0.95 for subtle polish.
**Solid Drawing**: Maintain consistent 3D space. Elements entering from "behind" should scale up; from sides should slide.
**Appeal**: Entrances should feel welcoming. Avoid jarring pops - everything deserves an introduction.
## Timing Recommendations
| Element Type | Duration | Easing | Delay Pattern |
|-------------|----------|--------|---------------|
| Toast/Alert | 150ms | ease-out | None |
| Modal | 250ms | ease-out | Content +50ms |
| Card/Item | 200ms | ease-out | None |
| List Items | 200ms | ease-out | Stagger 50ms |
| Page Section | 300ms | ease-out | Stagger 100ms |
| Hero Content | 400ms | ease-out | Stagger 150ms |
## Implementation Pattern
```css
.entering {
animation: entrance 250ms cubic-bezier(0, 0, 0.2, 1) forwards;
}
@keyframes entrance {
from {
opacity: 0;
transform: translateY(10px) scale(0.98);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
```
## Stagger Formula
For multiple items: `delay = index * 50ms`, cap at 500ms total sequence time.
Never exceed 5 items in a stagger sequence without user-initiated action.
© dylantarre · MIT · dylantarre/animation-principles