Claude-skill-registry entrance-animations

Use when elements need to appear on screen - page loads, modals opening, items being added, content reveals, or any "coming into view" animation.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/entrance-animations" ~/.claude/skills/majiayu000-claude-skill-registry-entrance-animations && rm -rf "$T"
manifest: skills/data/entrance-animations/SKILL.md
source content

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 TypeDurationEasingDelay Pattern
Toast/Alert150msease-outNone
Modal250msease-outContent +50ms
Card/Item200msease-outNone
List Items200msease-outStagger 50ms
Page Section300msease-outStagger 100ms
Hero Content400msease-outStagger 150ms

Implementation Pattern

.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.