rive-interactive

Implement state machine-based Rive vector animations with React runtime interactivity and data binding.

Updated Aug 12, 2026
One-click install
npx skills add https://github.com/sixscripts-ai/agent-arena-voice --skill rive-interactive-sixscripts-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rive-interactive
Source: https://github.com/sixscripts-ai/agent-arena-voice/tree/main/.claude/plugins/claudedesignskills/plugins/bundles/authoring-motion/skills/rive-interactive
Command: npx skills add https://github.com/sixscripts-ai/agent-arena-voice --skill rive-interactive-sixscripts-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires rive-react, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Building animations that respond to user input and live application data requires more than timeline playback; this Skill provides patterns for controlling Rive state machines, inputs, events, and ViewModel data binding from React code. ## Core Features & Use Cases - State Machine Control: Drive animation states with boolean, number, and trigger inputs using useRive and useStateMachineInput hooks. - ViewModel Data Binding: Bind strings, numbers, colors, and enums from application state to animation properties with two-way updates. - Event Handling & Integration: Listen to custom Rive events and combine Rive with Framer Motion or GSAP ScrollTrigger for scroll- and gesture-driven experiences. - Use Case: Build an interactive rating widget where hovering and clicking fire state machine inputs, and the animation emits events carrying the selected rating back to your React app. ## Quick Start Ask the AI to create a React component that loads a .riv file, controls its state machine with hover and click inputs, and binds a text property through a ViewModel.

Frequently Asked Questions about rive-interactive

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control a Rive state machine from React?

Use the useRive hook with your state machine name, then call useStateMachineInput to get an input reference. Set boolean or number inputs via input.value, and fire trigger inputs with input.fire() in response to user events like hover or click.

Rive vs Lottie: which should I use for interactive animations?

Rive supports state machines, input handling, and two-way data binding, making it suited for interactive animations that react to user input or live data. Lottie plays fixed timeline animations and fits simpler playback without runtime logic.

How do I bind React data to Rive ViewModel properties?

Set autoBind to false in useRive, then get the ViewModel with useViewModel and an instance with useViewModelInstance. Use hooks like useViewModelInstanceString or useViewModelInstanceNumber to set property values whenever your React state changes.

Why is my Rive state machine input null in React?

useStateMachineInput returns null when the input name does not exactly match the name defined in the Rive editor, or when the state machine name is wrong. Verify both names in the editor and always check that the input exists before setting its value.

Why are Rive events not firing in my React component?

Rive events require automaticallyHandleEvents set to true in the useRive options. Then subscribe with rive.on(EventType.RiveEvent, callback) inside a useEffect and unsubscribe in the cleanup function to receive custom events and their properties.

How can I improve Rive animation performance on the web?

Enable useOffscreenRenderer, preload files with useRiveFile, and keep artboards under 2MB with vector graphics instead of raster images. You can also disable automatic event handling and canvas auto-resize when you do not need them.