Skip to main content
skill CX Codex

dramatic-2000ms-plus — Claude Code skill: long animations

A skill for animation sequences over 2000ms: cinematic intros, story sequences, premium onboarding. Useful when the animation is the product.

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

What dramatic-2000ms-plus does

This skill covers animation sequences that run past 2000ms. At that scale they stop being UI transitions and turn into short films inside your product, so the author suggests saving them for moments that define the brand.

Inside is a walkthrough of the Disney principles applied to the web: squash & stretch with 40%+ deformation, anticipation built over 400–600ms, staging through storyboarded scenes, follow through, slow in/slow out matched to narrative beats, arcs, secondary action, and timing of 120+ frames at 60fps. Each phase gets its own cubic-bezier curve, and the implementation example is an @keyframes epicReveal that combines perspective, X-axis rotation, translation, scale and a blur that clears by the midpoint.

Before you ship, the skill asks for a skip on tap, click or keypress, a stored once-per-user preference, an instant alternative for reduced motion, a preload strategy and a dedicated performance pass. Audio is optional, with a mute option. The author is blunt about cost: complex sequences take 3–5x normal development time, and you should test them on low-end devices. If your schedule has no slack, that is a reason to agree on the duration with stakeholders first.

What it helps with

  • build a cinematic intro for a product launch
  • ship premium onboarding that shows once per user
  • celebrate an achievement or milestone in-app
  • storyboard a narrative sequence before writing code
  • pick easing curves for different narrative phases

Example prompts for the agent

  • build a 3000ms intro following the dramatic-2000ms-plus skill
  • check my epicReveal animation against the dramatic-2000ms-plus principles
  • add skip and reduced motion to this long sequence using dramatic-2000ms-plus

How to install dramatic-2000ms-plus

1Skills CLI (Vercel)

npx skills add dylantarre/animation-principles --skill dramatic-2000ms-plus -a claude-code

2Manually: put the files in place

~/.claude/skills/dramatic-2000ms-plus/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/dramatic-2000ms-plus/

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

Questions about dramatic-2000ms-plus

How do I install dramatic-2000ms-plus in Claude?

Run npx skills add dylantarre/animation-principles --skill dramatic-2000ms-plus -a claude-code. The skill file then lands at ~/.claude/skills/dramatic-2000ms-plus/SKILL.md.

What does dramatic-2000ms-plus do?

It explains how to build animations longer than 2000ms: Disney principles on the web, easing curves per phase, an @keyframes epicReveal example, and requirements such as skip and reduced motion.

What do I need to plan for with these animations?

A skip on tap, click or keypress, a once-per-user preference, an instant reduced-motion alternative, preloading and a dedicated performance pass. The author also recommends testing on low-end devices.

Source text

SKILL.md · MIT
---
name: dramatic-2000ms-plus
description: Use when building extended animation sequences over 2000ms - cinematic intros, story sequences, premium experiences where animation IS the product
---

# Dramatic Animations (2000ms+)

Beyond 2000ms, animation becomes **cinema**. These aren't UI transitions - they're short films embedded in your product. Reserve for moments that define your brand.

## Disney Principles at Dramatic Scale

### Full Cinematic Treatment

**Squash & Stretch**: Fully animated character - 40%+ deformation for organic, living motion. Physics-defying when needed.

**Anticipation**: Dramatic tension - 400-600ms build-up. The audience waits with expectation.

**Staging**: Cinematography - establishing shots, close-ups, reveals. Think in scenes, not states.

**Straight Ahead/Pose to Pose**: Hybrid approach - pose-to-pose structure with straight-ahead detail passes.

**Follow Through**: Extended ecosystem - everything continues moving after primary action. World feels alive.

**Slow In/Slow Out**: Emotional timing - curves match narrative beats. Pause for emphasis.

**Arcs**: Choreographed paths - every element's path is intentionally designed.

**Secondary Action**: Full orchestration - layers of motion at different scales and speeds.

**Timing**: 120+ frames at 60fps. Full animation production values.

**Exaggeration**: Artistic license - break physics for emotional truth.

**Solid Drawing**: 3D environments - parallax, depth of field, camera movement.

**Appeal**: Memorable experiences - users tell others about these moments.

## Easing Recommendations

```css
/* Multi-phase narrative */
animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);

/* Building drama */
animation-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);

/* Resolution/satisfaction */
animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);

/* Complex sequences - use multiple keyframes with varying easings */
```

## Best Use Cases

- Product launch reveals
- Brand hero moments
- Premium onboarding (once per user)
- Achievement/milestone celebrations
- Game-like interactions
- Data story visualizations
- Annual report animations
- Marketing microsites

## Implementation Pattern

```css
@keyframes epicReveal {
  0% {
    opacity: 0;
    transform: perspective(1000px) rotateX(30deg) translateY(100px) scale(0.7);
    filter: blur(20px);
  }
  25% {
    opacity: 0.8;
    filter: blur(10px);
  }
  50% {
    transform: perspective(1000px) rotateX(-5deg) translateY(-20px) scale(1.05);
    filter: blur(0);
  }
  75% {
    transform: perspective(1000px) rotateX(2deg) translateY(10px) scale(0.98);
  }
  90% {
    transform: perspective(1000px) rotateX(-1deg) translateY(-5px) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: perspective(1000px) rotateX(0) translateY(0) scale(1);
  }
}

.epic-reveal {
  animation: epicReveal 3000ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}
```

## Requirements

- **Skippable**: Always allow skip (tap/click/keypress)
- **Once per user**: Store preference, don't repeat
- **Reduced motion**: Provide instant alternative
- **Loading strategy**: Preload or progressive enhancement
- **Performance budget**: Dedicated optimization pass
- **Sound design**: Consider audio (with mute option)

## Production Considerations

- Storyboard before building
- Get stakeholder buy-in on duration
- Test on low-end devices
- Consider video fallback for complex sequences
- Budget 3-5x normal development time

## Key Insight

Dramatic animations are **mini-productions**. They require storyboarding, iteration, and polish. The payoff is brand differentiation and memorable experiences. Invest accordingly.

© 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