Use when building slow intentional animations between 1200-2000ms - app intros, loading sequences, storytelling moments that create emotional resonance
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: deliberate-1200-2000ms description: Use when building slow intentional animations between 1200-2000ms - app intros, loading sequences, storytelling moments that create emotional resonance
Deliberate Animations (1200-2000ms)
At 1200-2000ms, you're creating experiences, not interfaces. This duration is for moments of genuine storytelling where animation itself is the content.
Disney Principles at Deliberate Speed
Full Narrative Expression
Squash & Stretch: Character-defining - 30-40% deformation creates personality. Objects become characters.
Anticipation: Full dramatic preparation - 300-400ms wind-up creates tension and expectation.
Staging: Scene direction - think cinematography. Establish shot, then detail. Clear narrative flow.
Straight Ahead/Pose to Pose: Pose to pose mandatory - 6-10 key poses define the narrative arc.
Follow Through: Extended settling - 300-500ms of secondary motion after primary completes.
Slow In/Slow Out: Narrative pacing - ease curves tell emotional stories. Sharp starts mean urgency, soft ends mean resolution.
Arcs: Orchestrated paths - motion paths are designed, not default. Each element's trajectory contributes to composition.
Secondary Action: Full ecosystem - primary, secondary, tertiary, ambient all working together.
Timing: 72-120 frames at 60fps. Animation-quality frame counts.
Exaggeration: Emotional amplification - push for feeling, not just movement.
Solid Drawing: Dimensional storytelling - parallax, depth, perspective shifts create space.
Appeal: Deep emotional engagement - users feel something during these animations.
Easing Recommendations
/* Narrative arc - beginning, middle, end */
animation-timing-function: cubic-bezier(0.34, 0, 0.14, 1);
/* Graceful, considered motion */
transition: all 1500ms cubic-bezier(0.16, 1, 0.3, 1);
/* Building momentum */
transition: all 1800ms cubic-bezier(0.65, 0, 0.35, 1);
/* Elastic storytelling */
transition: transform 1600ms cubic-bezier(0.68, -0.6, 0.32, 1.6);
Best Use Cases
- App splash/launch sequences
- Brand moments
- Tutorial narratives
- Achievement celebrations
- Milestone animations
- Emotional state changes (error to success)
- Story-driven onboarding
- Feature announcements
Implementation Pattern
@keyframes appLaunch {
0% {
opacity: 0;
transform: scale(0.6) translateY(50px);
filter: blur(10px);
}
30% {
opacity: 1;
filter: blur(5px);
}
60% {
transform: scale(1.02) translateY(-10px);
filter: blur(0);
}
80% {
transform: scale(0.99) translateY(5px);
}
100% {
transform: scale(1) translateY(0);
}
}
.app-launch {
animation: appLaunch 1800ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
Critical Considerations
- Users MUST be able to skip/dismiss
- Never block critical paths
- Avoid on repeat visits (detect returning users)
- Must add genuine value, not decoration
- Test for motion sensitivity (prefer reduced motion)
Key Insight
Deliberate animations are brand investments. They don't just show what's happening - they make users feel something. Budget for design, iteration, and testing. These moments define perceived quality.
More by dylantarre
View allUse when animating navigation bars, menus, sidebars, or wayfinding elements to create smooth, intuitive transitions
Use when building micro-interactions between 100-200ms - tooltips appearing, dropdown opens, small feedback animations that feel quick but perceptible
Use when implementing Disney's 12 animation principles with Motion One (modern, lightweight animation library)
product-manager: Use when prioritizing animation features, building motion roadmaps, or when a PM needs to understand the business value of animation principles.
