stevysmith/rive-skills/rive-react

Claude Code and agent skill by stevysmith/rive-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Trigger when: (1) Using @rive-app/react-canvas or @rive-app/react-webgl, (2) Using useRive hook or RiveComponent, (3) Building React components with Rive animations, (4) User mentions "Rive React" or "useRive", (5) Implementing scroll-based or parallax animations with Rive. Best practices for integrating Rive animations in React applications using the official Rive React package. Covers hooks, layout, and scroll animations.

Install

npx vskill@latest install stevysmith/rive-skills/rive-react

SKILL.md

Rive React

React components and hooks for Rive animations.

Installation

bash
# Canvas renderer (recommended)
npm install @rive-app/react-canvas
# WebGL renderer (complex animations)
npm install @rive-app/react-webgl

Quick Start

tsx
import { useRive } from '@rive-app/react-canvas';
function MyAnimation() {
const { RiveComponent } = useRive({
src: 'animation.riv',
stateMachines: 'State Machine 1',
autoplay: true,
});
return <RiveComponent />;
}

useRive Hook

The main hook for Rive integration:

tsx
const {
RiveComponent, // The canvas component to render
rive, // Rive instance for direct control
} = useRive({
src: 'animation.riv',
stateMachines: 'State Machine',
autoplay: true,
});

Controlling Inputs

tsx
import { useRive, useStateMachineInput } from '@rive-app/react-canvas';
function ControlledAnimation() {
const { rive, RiveComponent } = useRive({
src: 'animation.riv',
stateMachines: 'State Machine',
autoplay: true,
});
// Get typed input
const isActive = useStateMachineInput(rive, 'State Machine', 'isActive');
const progress = useStateMachineInput(rive, 'State Machine', 'progress');
return (
<>
<RiveComponent />
<button onClick={() => isActive && (isActive.value = !isActive.value)}>
Toggle
</button>
<input
type="range"
onChange={(e) => progress && (progress.value = +e.target.value)}
/>
</>
);
}

Callbacks

tsx
const { RiveComponent } = useRive({
src: 'animation.riv',
stateMachines: 'State Machine',
autoplay: true,
onLoad: () => console.log('Loaded'),
onStateChange: (event) => console.log('State:', event.data),
onPlay: () => console.log('Playing'),
onPause: () => console.log('Paused'),
});

Rules

@file rules/use-rive.md @file rules/callbacks.md @file rules/layout.md @file rules/scroll-animations.md

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
10
7-day trend score
12

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/stevysmith/rive-skills/rive-react/badge)](https://verified-skill.com/skills/stevysmith/rive-skills/rive-react)

Something wrong with this skill or its page? Tell us.