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

Rive Animations

  • 359 installs
  • 68 repo stars
  • Updated December 30, 2025
  • dylantarre/animation-principles

rive-animations is a Claude Code skill that integrates Rive vector animations for developers who need state machines, interactive icons, and loaders in React or mobile frontends.

About

rive-animations is a Claude Code agent skill from dylantarre/animation-principles that teaches developers to implement all 12 Disney animation principles using Rive state machines and interactive vector animations. The skill documents Rive Editor workflows—bones for squash and stretch with inverse scaleX and scaleY keyframes, Idle to Anticipate to Action state machine transitions, and JavaScript runtime triggers such as rive.play and stateMachineInputs from web or mobile frontends. Developers reach for rive-animations when loaders, icons, or UI chrome need lightweight interactive motion with runtime control instead of heavy video or frame sequences. The skill pairs principle-by-principle guidance with concrete Rive setup steps and code snippets for React and hybrid mobile targets. Use it while integrating @rive-app runtime packages and tuning performance for production UI.

  • Rive runtime setup patterns
  • State machine event binding
  • Lightweight vector loaders
  • Interactive icon micro-animations
  • Asset size and lazy loading

Rive Animations by the numbers

  • 359 all-time installs (skills.sh)
  • Ranked #692 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 rive-animations

Add your badge

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

Listed on Skillselion
Installs359
repo stars68
Last updatedDecember 30, 2025
Repositorydylantarre/animation-principles

How do you integrate Rive animations in React?

Integrate Rive vector animations—state machines, interactive icons, and loaders—into React, web, or mobile frontends with correct runtime wiring and performance habits.

Who is it for?

Frontend developers integrating Rive interactive vector animations with state machines into React, web, or mobile UI codebases.

Skip if: Teams needing only CSS keyframe transitions, video-based motion, or backends with zero interactive frontend animation requirements.

When should I use this skill?

A developer asks to add Rive animations, state machines, interactive icons, or runtime-driven loaders to a React or mobile frontend.

What you get

Rive state machine setups, bone-driven squash-stretch keyframes, runtime trigger code, and performance-tuned interactive animation components.

  • Rive state machine configuration
  • Runtime trigger integration code

By the numbers

  • Covers all 12 Disney animation principles with Rive state machines

Files

SKILL.mdMarkdownGitHub ↗

Rive Animation Principles

Implement all 12 Disney animation principles using Rive's state machine and interactive animations.

1. Squash and Stretch

In Rive Editor:

  • Create shape with bones
  • Animate scale X/Y with inverse relationship
  • Key: scaleX: 1.2 when scaleY: 0.8
// Trigger from code
rive.play('squash_stretch');

2. Anticipation

State Machine Setup: 1. Create "Idle" state 2. Create "Anticipate" state (wind-up pose) 3. Create "Action" state 4. Connect: Idle → Anticipate → Action

const inputs = rive.stateMachineInputs('State Machine');
const trigger = inputs.find(i => i.name === 'jump');
trigger.fire(); // Plays anticipate → action sequence

3. Staging

In Rive:

  • Use artboard layers for depth
  • Apply blur/opacity to background layers
  • Use nested artboards for complex scenes
// Control visibility
const bgOpacity = inputs.find(i => i.name === 'bgOpacity');
bgOpacity.value = 0.6;

4. Straight Ahead / Pose to Pose

Pose to Pose in Rive:

  • Set key poses on timeline
  • Rive interpolates between
  • Use easing curves in Graph Editor

5. Follow Through and Overlapping Action

In Rive Editor:

  • Use bone hierarchy with constraints
  • Apply "delay" or "lag" to child bones
  • Or offset keyframes by 2-4 frames
  • Use spring constraints for natural follow-through

6. Slow In and Slow Out

In Rive Graph Editor:

  • Select keyframes
  • Apply easing: Cubic, Quad, Bounce
  • Adjust bezier handles for custom curves
// Runtime speed control
rive.play('animation', { speed: 0.5 });

7. Arc

In Rive:

  • Use IK (Inverse Kinematics) for natural arcs
  • Apply path constraints
  • Animate position with curved interpolation

8. Secondary Action

State Machine approach:

// Listen for state changes
rive.on('statechange', (event) => {
  if (event.data.includes('button_press')) {
    // Secondary animations auto-trigger via state machine
  }
});

// Or blend multiple animations
rive.play(['main_action', 'secondary_particles']);

9. Timing

// Fast - snappy feedback
rive.play('click', { speed: 1.5 });

// Normal
rive.play('hover');

// Slow - dramatic reveal
rive.play('reveal', { speed: 0.5 });

In Rive Editor:

  • Adjust animation duration
  • Use work area to fine-tune timing
  • Graph Editor for precise control

10. Exaggeration

In Rive:

  • Push bone rotations beyond natural limits
  • Exaggerate scale transformations
  • Use elastic/bounce interpolation
  • Overshoot in Graph Editor curves

11. Solid Drawing

In Rive:

  • Use multiple bones for volume preservation
  • Apply constraints to maintain form
  • Use clipping for depth illusion
  • Layer shapes for 3D effect

12. Appeal

Design in Rive:

  • Smooth bezier curves on shapes
  • Consistent stroke weights
  • Pleasing color palette
  • Clean bone structure
// Smooth hover interactions
const hover = inputs.find(i => i.name === 'isHovering');
element.addEventListener('mouseenter', () => hover.value = true);
element.addEventListener('mouseleave', () => hover.value = false);

React Implementation

import { useRive, useStateMachineInput } from '@rive-app/react-canvas';

function AnimatedButton() {
  const { rive, RiveComponent } = useRive({
    src: 'button.riv',
    stateMachines: 'Button',
    autoplay: true
  });

  const hoverInput = useStateMachineInput(rive, 'Button', 'isHovering');

  return (
    <RiveComponent
      onMouseEnter={() => hoverInput.value = true}
      onMouseLeave={() => hoverInput.value = false}
    />
  );
}

Key Rive Features

  • State Machines - Logic-driven animation flow
  • Inputs - Boolean, Number, Trigger types
  • Blend States - Mix multiple animations
  • Listeners - Pointer events in editor
  • Constraints - IK, path, distance, rotation
  • Bones & Meshes - Skeletal animation
  • Runtime API - Full control from code
  • Tiny file size - Optimized binary format

Related skills

FAQ

How many animation principles does rive-animations cover?

rive-animations implements all 12 Disney animation principles using Rive state machines, bones, and interactive animations, with Editor setup and JavaScript runtime trigger examples.

How do you trigger Rive animations from code?

rive-animations shows JavaScript runtime triggers such as rive.play for named animations and stateMachineInputs to drive Idle, Anticipate, and Action transitions from React or mobile frontends.

What Rive Editor setup does rive-animations document?

rive-animations documents Rive Editor bone rigs for squash and stretch, inverse scaleX and scaleY keyframes, and state machine graphs connecting Idle, Anticipate, and Action states.

This week in AI coding

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

unsubscribe anytime.