Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dylantarre avatar

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

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs416
repo stars68
Last updatedDecember 30, 2025
Repositorydylantarre/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

SKILL.mdMarkdownGitHub ↗

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 timing

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

5. 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); // faster

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

10. 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 range
  • setSpeed(n) - Control timing
  • setDirection(1/-1) - Forward/reverse
  • goToAndStop(frame) - Pose control
  • addEventListener - 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.

Frontend Developmentfrontendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.