react-spring-physics

Implements physics-based React animations using React Spring hooks and Popmotion utilities.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Building natural, interruptible UI animations in React is difficult with duration-based transitions, which feel artificial and lose momentum when users interact mid-animation. This Skill provides physics-based spring animation patterns that calculate motion from mass, tension, and friction for organic, gesture-responsive movement. ## Core Features & Use Cases - Spring Animation Hooks: Implement useSpring, useTrail, useTransition, useScroll, and useInView patterns with correct configuration and dependency handling. - Physics Tuning Tools: Calculate damping ratios, critical friction, and settle times with the physics calculator script, plus a deep-dive tuning guide for mass, tension, and friction. - Boilerplate Generation: Generate ready-to-use components for click, scroll, trail, transition, gesture, and chained animations with the spring generator script. - Use Case: Build a draggable card interface that preserves velocity on release, snaps back with spring physics, and chains into a momentum-based inertia scroll using Popmotion. ## Quick Start Ask the AI to create a React Spring animation for a button that scales up with a bouncy spring effect when clicked.

Frequently Asked Questions about react-spring-physics

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

FAQPage Schema
How do I create a spring animation in React with React Spring?

Use the useSpring hook with from and to values, then apply the returned springs to an animated component's style prop. For imperative control, use the function config form which returns an api object with a start method to trigger animations on events.

React Spring vs Framer Motion for physics animations?

React Spring calculates motion purely from physical properties like mass, tension, and friction, producing interruptible animations that preserve velocity. Framer Motion uses a variant-based declarative API better suited for orchestrated layout animations and simpler tween transitions.

How do I add drag gestures to React Spring animations?

Combine React Spring with @use-gesture/react using the useDrag hook. Pass movement values to api.start with immediate set to true while dragging, and pass gesture velocity on release so the spring continues with natural momentum.

Why does my React Spring animation recreate on every render?

This happens when the function config form of useSpring is called without a dependency array, causing a new spring each render. Pass an empty dependency array as the second argument, or use the object config form which updates automatically on prop changes.

How do I disable React Spring animations for testing or accessibility?

Call Globals.assign with skipAnimation set to true from @react-spring/web to make all animations resolve instantly. This is recommended for test suites and for respecting the prefers-reduced-motion media query.

When should I use Popmotion instead of React Spring hooks?

Use Popmotion for low-level control outside React's declarative model, such as inertia scrolling with snap-to-grid via modifyTarget, custom physics simulations, or decay animations. React Spring hooks cover most component-level animation needs.