
Lottie Bodymovin
- 416 installs
- 68 repo stars
- Updated December 30, 2025
- dylantarre/animation-principles
lottie-bodymovin is a Claude Code skill that teaches developers to implement all 12 Disney animation principles using Lottie JSON exported from After Effects via Bodymovin for web and mobile UI motion.
About
lottie-bodymovin is a frontend animation skill from dylantarre/animation-principles that maps Disney's 12 animation principles—squash and stretch, anticipation, staging, and more—to Lottie (Bodymovin) workflows. It documents After Effects composition frame ranges, scale expressions, and runtime JavaScript controls such as lottie.setSpeed for timing adjustments. Developers reach for lottie-bodymovin when integrating designer-authored vector animations for icons, loaders, onboarding stories, and marketing moments in React, React Native, or web apps. The skill bridges motion design exports and production playback APIs so engineers can ship polished micro-interactions without rebuilding animations in code. It assumes Bodymovin-compatible AE layers and focuses on principle-driven motion quality rather than generic Lottie installation steps.
- Embeds Bodymovin/Lottie JSON in React, Vue, and native apps
- Controls play, pause, segments, and speed programmatically
- Optimizes file size and defers loading for performance
- Syncs brand illustrations with light and dark themes
- Documents export settings designers should use in After Effects
Lottie Bodymovin by the numbers
- 416 all-time installs (skills.sh)
- Ranked #656 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dylantarre/animation-principles --skill lottie-bodymovinAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 416 |
|---|---|
| repo stars | ★ 68 |
| Last updated | December 30, 2025 |
| Repository | dylantarre/animation-principles ↗ |
How do you apply Disney animation principles in Lottie?
Integrate designer-authored Lottie JSON from After Effects into web and mobile apps for icons, loaders, onboarding stories, and marketing moments with controllable playback.
Who is it for?
Frontend developers pairing After Effects Bodymovin exports with Lottie players who need principle-driven motion for loaders, icons, and onboarding UI.
Skip if: Teams needing only a Lottie player install guide without After Effects composition planning or Disney principle choreography.
When should I use this skill?
A developer asks to implement Lottie animations from After Effects, apply Disney animation principles, or control Bodymovin playback at runtime.
What you get
Lottie JSON integrations with principle-based AE compositions, frame timing guides, and runtime playback control snippets.
- Lottie JSON integration patterns
- AE composition timing guides
- Runtime playback control snippets
By the numbers
- Covers all 12 Disney animation principles in Lottie Bodymovin workflows
Files
Lottie Animation Principles
Implement all 12 Disney animation principles using Lottie (Bodymovin) for vector animations.
1. Squash and Stretch
In After Effects before export:
- Animate Scale X and Y inversely
- Use expression:
s = transform.scale[1]; [100 + (100-s), s]
// Control at runtime
lottie.setSpeed(1.5); // affect squash timing2. Anticipation
Structure your AE composition: 1. Frames 0-10: Wind-up pose 2. Frames 10-40: Main action 3. Frames 40-50: Settle
// Play anticipation segment
anim.playSegments([0, 10], true);
setTimeout(() => anim.playSegments([10, 50], true), 200);3. Staging
// Layer multiple Lotties
<div className="scene">
<Lottie animationData={background} style={{ opacity: 0.6 }} />
<Lottie animationData={hero} style={{ zIndex: 10 }} />
</div>4. Straight Ahead / Pose to Pose
Pose to pose in AE:
- Set keyframes at key poses
- Let AE interpolate between
- Use Easy Ease for smoothing
// Jump to specific poses
anim.goToAndStop(25, true); // frame 255. Follow Through and Overlapping Action
In After Effects:
- Offset child layer keyframes by 2-4 frames
- Use parenting with delayed expressions
thisComp.layer("Parent").transform.position.valueAtTime(time - 0.05)
6. Slow In and Slow Out
AE Keyframe settings:
- Select keyframes > Easy Ease (F9)
- Use Graph Editor to adjust curves
- Bezier handles control acceleration
// Adjust playback speed dynamically
anim.setSpeed(0.5); // slower
anim.setSpeed(2); // faster7. Arc
In After Effects:
- Use motion paths (position property)
- Convert keyframes to Bezier
- Pull handles to create arcs
- Or use "Auto-Orient to Path"
8. Secondary Action
// Trigger secondary animation
mainAnim.addEventListener('complete', () => {
secondaryAnim.play();
});
// Or sync with frame
mainAnim.addEventListener('enterFrame', (e) => {
if (e.currentTime > 15) particleAnim.play();
});9. Timing
anim.setSpeed(0.5); // half speed - dramatic
anim.setSpeed(1); // normal
anim.setSpeed(2); // double speed - snappy
// Or control frame rate in AE export
// 24fps = cinematic, 30fps = smooth, 60fps = fluid10. Exaggeration
In After Effects:
- Push scale beyond 100% (120-150%)
- Overshoot rotation
- Use Overshoot expression
amp = 15; freq = 3; decay = 5; n = 0; time_start = key(1).time; if (time > time_start) { n = (time - time_start) / thisComp.frameDuration; amp * Math.sin(freq*n) / Math.exp(decay*n/100); } else { 0; }
11. Solid Drawing
In After Effects:
- Use 3D layers
- Apply perspective camera
- Animate Z position and rotation
- Use depth of field
12. Appeal
Design principles in AE:
- Smooth curves over sharp angles
- Consistent timing patterns
- Pleasing color palette
- Clean vector shapes
// React Lottie with hover
<Lottie
animationData={data}
onMouseEnter={() => anim.setDirection(1)}
onMouseLeave={() => anim.setDirection(-1)}
/>Lottie Implementation
import Lottie from 'lottie-react';
import animationData from './animation.json';
<Lottie
animationData={animationData}
loop={true}
autoplay={true}
style={{ width: 200, height: 200 }}
/>Key Lottie Features
playSegments([start, end])- Play frame rangesetSpeed(n)- Control timingsetDirection(1/-1)- Forward/reversegoToAndStop(frame)- Pose controladdEventListener- Frame events- Interactivity via
lottie-interactivity
Related skills
How it compares
Choose lottie-bodymovin over generic Lottie setup guides when motion quality depends on Disney principles and After Effects composition structure, not just dropping JSON into a player.
FAQ
What does lottie-bodymovin cover?
lottie-bodymovin covers all 12 Disney animation principles applied to Lottie workflows. It includes After Effects composition timing, Bodymovin export guidance, and JavaScript runtime controls like lottie.setSpeed for web and mobile players.
Does lottie-bodymovin require After Effects?
lottie-bodymovin assumes animations originate in After Effects before Bodymovin export. The skill documents AE layer expressions, frame ranges for anticipation, and export settings that produce compatible Lottie JSON for production apps.