Agent skill

React Spring Physics Animation

by freshtechbro in freshtechbro/claudedesignskills

Guides React UI animation built on spring physics with React Spring and Popmotion: hooks, config presets, trails, list transitions and scroll or in-view effects.

MITAuto-check passedFrontend & Design

Install React Spring Physics Animation

skills CLI
$ npx skills add freshtechbro/claudedesignskills --skill react-spring-physics -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install freshtechbro/claudedesignskills react-spring-physics --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/freshtechbro/claudedesignskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/react-spring-physics .claude/skills/react-spring-physics && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
react-spring-physics
GitHub stars
986
Token cost
~2.8k tokens
SKILL.md length
339 words
Files
7 (incl. scripts, references, assets)
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Guides React UI animation built on spring physics with React Spring and Popmotion: hooks, config presets, trails, list transitions and scroll or in-view effects.

  • Works in 12 steps: Click-Triggered Spring Animation → Multi-Element Trail Animation → List Transitions (Enter/Exit) → …
  • Building drag, swipe or scroll interactions that should feel natural
  • SKILL.md covers Overview, Core Concepts, Common Patterns and Integration Patterns, plus 3 more sections
  • Runs Python scripts from its folder

What it does

The skill covers physics-based animation for React apps, using React Spring for declarative springs and Popmotion for lower-level keyframe, decay and inertia utilities. Unlike duration-based tweens, springs are driven by mass, tension and friction, so motion can be interrupted midway and carry its velocity into the next state. It explains the main hooks and two ways to initialize useSpring, then lists the built-in configuration presets.

It then walks through five recurring patterns: a click-triggered animation, trails across several elements, enter and exit transitions for lists, scroll-driven springs and a fade-in when an element enters the viewport. Supporting material includes reference files for physics, the Popmotion API and the React Spring API, plus two Python scripts, a physics calculator and a spring generator. The `@react-spring/three` package is named for Three.js scenes, and Popmotion is marked optional for advanced cases.

When your agent uses it

  • Building drag, swipe or scroll interactions that should feel natural
  • Making animations that can be interrupted without jumping
  • Adding enter and exit transitions to a list that changes
  • Choosing spring settings such as mass, tension and friction

Example prompts

  • “Animate this card so it springs back when I release the drag.”
  • “Add a staggered trail animation to the feature list on the pricing page.”
  • “Make the banner fade in on scroll using a spring instead of a CSS transition.”
  • “Generate a spring config that feels heavy and slow for the sidebar.”

Requirements

  • A React project with `@react-spring/web` installed
  • Python to run the bundled helper scripts

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Click-Triggered Spring Animation
  2. Multi-Element Trail Animation
  3. List Transitions (Enter/Exit)
  4. Scroll-Based Spring Animation
  5. Viewport Intersection Animation
  6. Chained Async Animations
  7. Spring with Velocity Preservation
  8. Forgetting Dependencies Array
  9. Mutating Spring Values
  10. Ignoring Config Precision
  11. Not Handling Velocity
  12. Mixing Config Patterns

What it can do on your machine

Read from SKILL.md and the folder at commit 1da73fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

React Spring Physics Animation loads about 2.8k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 146 tokens; SKILL.md has 339 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~146
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~12k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from freshtechbro/claudedesignskills at commit 1da73fe, republished under its MIT licence (© freshtechbro). 339 words, ~2,835 tokens.

Download SKILL.mdSave it as .claude/skills/react-spring-physics/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
react-spring-physics
description
Physics-based animation library combining React Spring (spring dynamics, gesture integration, 60fps animations) and Popmotion (low-level composable animation utilities, reactive streams). Use when building fluid, natural-feeling UI animations, gesture-driven interfaces, physics simulations, or spring-loaded interactions. Triggers on tasks involving React Spring hooks, spring physics, inertia scrolling, physics-based motion, animation composition, or natural UI movements. Alternative physics approach to motion-framer for more physically accurate animations.

React Spring Physics

Physics-based animation for React applications combining React Spring's declarative spring animations with Popmotion's low-level physics utilities.

Overview

React Spring provides spring-physics animations that feel natural and interruptible. Unlike duration-based animations, springs calculate motion based on physical properties (mass, tension, friction), resulting in organic, realistic movement. Popmotion complements this with composable animation functions for keyframes, decay, and inertia.

When to use this skill:

  • Natural, physics-based UI animations
  • Gesture-driven interfaces (drag, swipe, scroll)
  • Interruptible animations that respond to user input mid-motion
  • Smooth transitions that maintain velocity across state changes
  • Momentum scrolling and inertia effects

Core libraries:

  • @react-spring/web - React hooks for spring animations
  • @react-spring/three - Three.js integration
  • popmotion - Low-level animation utilities (optional, for advanced use cases)

Core Concepts

Spring Physics

Springs animate values from current state to target state using physical simulation:

jsx
import { useSpring, animated } from '@react-spring/web'

function SpringExample() {
  const springs = useSpring({
    from: { opacity: 0, y: -40 },
    to: { opacity: 1, y: 0 },
    config: {
      mass: 1,        // Weight of object
      tension: 170,   // Spring strength
      friction: 26    // Opposing force
    }
  })

  return <animated.div style={springs}>Hello</animated.div>
}
useSpring Hook Patterns

Two initialization patterns for different use cases:

jsx
// Object config (simpler, auto-updates on prop changes)
const springs = useSpring({
  from: { x: 0 },
  to: { x: 100 }
})

// Function config (more control, returns API for imperative updates)
const [springs, api] = useSpring(() => ({
  from: { x: 0 }
}), [])

// Trigger animation via API
const handleClick = () => {
  api.start({
    from: { x: 0 },
    to: { x: 100 }
  })
}
Spring Configuration Presets

React Spring provides built-in config presets:

jsx
import { config } from '@react-spring/web'

// Available presets
config.default  // { tension: 170, friction: 26 }
config.gentle   // { tension: 120, friction: 14 }
config.wobbly   // { tension: 180, friction: 12 }
config.stiff    // { tension: 210, friction: 20 }
config.slow     // { tension: 280, friction: 60 }
config.molasses // { tension: 280, friction: 120 }

// Usage
const springs = useSpring({
  from: { x: 0 },
  to: { x: 100 },
  config: config.wobbly
})

Common Patterns

1. Click-Triggered Spring Animation
jsx
import { useSpring, animated } from '@react-spring/web'

function ClickAnimated() {
  const [springs, api] = useSpring(() => ({
    from: { scale: 1 }
  }), [])

  const handleClick = () => {
    api.start({
      from: { scale: 1 },
      to: { scale: 1.2 },
      config: { tension: 300, friction: 10 }
    })
  }

  return (
    <animated.button
      onClick={handleClick}
      style={{
        transform: springs.scale.to(s => `scale(${s})`)
      }}
    >
      Click Me
    </animated.button>
  )
}
2. Multi-Element Trail Animation
jsx
import { useTrail, animated } from '@react-spring/web'

function Trail({ items }) {
  const trails = useTrail(items.length, {
    from: { opacity: 0, x: -20 },
    to: { opacity: 1, x: 0 },
    config: config.gentle
  })

  return (
    <div>
      {trails.map((style, i) => (
        <animated.div key={i} style={style}>
          {items[i]}
        </animated.div>
      ))}
    </div>
  )
}
3. List Transitions (Enter/Exit)
jsx
import { useTransition, animated } from '@react-spring/web'

function List({ items }) {
  const transitions = useTransition(items, {
    from: { opacity: 0, height: 0 },
    enter: { opacity: 1, height: 80 },
    leave: { opacity: 0, height: 0 },
    config: config.stiff,
    keys: item => item.id
  })

  return transitions((style, item) => (
    <animated.div style={style}>
      {item.text}
    </animated.div>
  ))
}
4. Scroll-Based Spring Animation
jsx
import { useScroll, animated } from '@react-spring/web'

function ScrollReveal() {
  const { scrollYProgress } = useScroll()

  return (
    <animated.div
      style={{
        opacity: scrollYProgress.to([0, 0.5], [0, 1]),
        scale: scrollYProgress.to([0, 0.5], [0.8, 1])
      }}
    >
      Scroll to reveal
    </animated.div>
  )
}
5. Viewport Intersection Animation
jsx
import { useInView, animated } from '@react-spring/web'

function FadeInOnView() {
  const [ref, springs] = useInView(
    () => ({
      from: { opacity: 0, y: 100 },
      to: { opacity: 1, y: 0 }
    }),
    { rootMargin: '-40% 0%' }
  )

  return <animated.div ref={ref} style={springs}>Content</animated.div>
}
6. Chained Async Animations
jsx
import { useSpring, animated } from '@react-spring/web'

function ChainedAnimation() {
  const springs = useSpring({
    from: { x: 0, background: '#ff6d6d' },
    to: [
      { x: 80, background: '#fff59a' },
      { x: 0, background: '#88DFAB' },
      { x: 80, background: '#569AFF' }
    ],
    config: { tension: 200, friction: 20 },
    loop: true
  })

  return <animated.div style={springs} />
}
7. Spring with Velocity Preservation
jsx
import { useSpring, animated } from '@react-spring/web'

function VelocityPreservation() {
  const [springs, api] = useSpring(() => ({
    x: 0,
    config: { tension: 300, friction: 30 }
  }), [])

  const handleDragEnd = () => {
    api.start({
      x: 0,
      velocity: springs.x.getVelocity(), // Preserve momentum
      config: { tension: 200, friction: 20 }
    })
  }

  return <animated.div style={springs} onMouseUp={handleDragEnd} />
}

Integration Patterns

With React Three Fiber (3D)
jsx
import { useSpring, animated } from '@react-spring/three'
import { Canvas } from '@react-three/fiber'

const AnimatedBox = animated(MeshDistortMaterial)

function ThreeScene() {
  const [clicked, setClicked] = useState(false)

  const springs = useSpring({
    scale: clicked ? 1.5 : 1,
    color: clicked ? '#569AFF' : '#ff6d6d',
    config: { tension: 200, friction: 20 }
  })

  return (
    <Canvas>
      <mesh onClick={() => setClicked(!clicked)} scale={springs.scale}>
        <sphereGeometry args={[1, 64, 32]} />
        <AnimatedBox color={springs.color} />
      </mesh>
    </Canvas>
  )
}
With Popmotion (Low-Level Physics)
jsx
import { spring, inertia } from 'popmotion'
import { useState } from 'react'

function PopmotionIntegration() {
  const [x, setX] = useState(0)

  const handleDragEnd = (velocity) => {
    inertia({
      from: x,
      velocity: velocity,
      power: 0.3,
      timeConstant: 400,
      modifyTarget: v => Math.round(v / 100) * 100 // Snap to grid
    }).start(setX)
  }

  return <div style={{ transform: `translateX(${x}px)` }} />
}
With Forms and Validation
jsx
import { useSpring, animated } from '@react-spring/web'

function ValidatedInput() {
  const [error, setError] = useState(false)

  const shakeAnimation = useSpring({
    x: error ? [0, -10, 10, -10, 10, 0] : 0,
    config: { tension: 300, friction: 10 },
    onRest: () => setError(false)
  })

  return <animated.input style={shakeAnimation} />
}

Performance Optimization

On-Demand Rendering
jsx
// Only re-render when animation is active
const [springs, api] = useSpring(() => ({
  from: { x: 0 },
  config: { precision: 0.01 } // Higher value = less updates
}), [])
Batch Multiple Springs
jsx
// Use useSprings for multiple similar animations
const springs = useSprings(
  items.length,
  items.map(item => ({
    from: { opacity: 0 },
    to: { opacity: 1 }
  }))
)
Skip Animation (Testing/Accessibility)
jsx
import { Globals } from '@react-spring/web'

// Skip all animations (prefers-reduced-motion)
useEffect(() => {
  Globals.assign({ skipAnimation: true })
  return () => Globals.assign({ skipAnimation: false })
}, [])

Common Pitfalls

1. Forgetting Dependencies Array
jsx
// ❌ Wrong: No dependencies, creates new spring every render
const springs = useSpring(() => ({ x: 0 }))

// ✅ Correct: Empty array prevents recreation
const [springs, api] = useSpring(() => ({ x: 0 }), [])
2. Mutating Spring Values
jsx
// ❌ Wrong: Direct mutation
springs.x.set(100)

// ✅ Correct: Use API to animate
api.start({ x: 100 })
3. Ignoring Config Precision
jsx
// ❌ Default precision too fine (0.0001), causing unnecessary renders
const springs = useSpring({ x: 0 })

// ✅ Set appropriate precision for your use case
const springs = useSpring({
  x: 0,
  config: { precision: 0.01 } // Stop updating when within 0.01 of target
})
4. Not Handling Velocity
jsx
// ❌ Abrupt stop when interrupting animation
api.start({ x: 0 })

// ✅ Preserve momentum
api.start({
  x: 0,
  velocity: springs.x.getVelocity()
})
5. Mixing Config Patterns
jsx
// ❌ Wrong: Using both object and function config
const springs = useSpring({
  from: { x: 0 }
})
api.start({ x: 100 }) // api is undefined

// ✅ Correct: Use function config for imperative control
const [springs, api] = useSpring(() => ({
  from: { x: 0 }
}), [])
6. Animating Non-Numerical Values
jsx
// ❌ Wrong: Spring can't interpolate complex strings directly
const springs = useSpring({ transform: 'translateX(100px) rotate(45deg)' })

// ✅ Correct: Animate individual values
const springs = useSpring({ x: 100, rotation: 45 })
// Then combine: transform: `translateX(${x}px) rotate(${rotation}deg)`

Resources

Scripts
  • spring_generator.py - Generate React Spring boilerplate code
  • physics_calculator.py - Calculate optimal spring physics parameters
References
  • react_spring_api.md - Complete React Spring hooks and API reference
  • popmotion_api.md - Popmotion functions and reactive streams
  • physics_guide.md - Spring physics deep dive with tuning guide
Assets
  • starter_spring/ - React + Vite template with React Spring examples
  • examples/ - Real-world patterns (gestures, scroll, 3D integration)
  • motion-framer - Alternative declarative animation approach with variants
  • gsap-scrolltrigger - Timeline-based animations for complex sequences
  • react-three-fiber - 3D scene management (use @react-spring/three for animations)
  • animated-component-libraries - Pre-built animated components using Motion

Physics vs Timeline: Use React Spring for natural, physics-based motion that responds to user input. Use GSAP for precise, timeline-based choreography and complex multi-step sequences.

© freshtechbro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (scripts, references, assets) in .claude/skills/react-spring-physics of freshtechbro/claudedesignskills.

  • SKILL.md
  • assets/README.md
  • references/physics_guide.md
  • references/popmotion_api.md
  • references/react_spring_api.md
  • scripts/physics_calculator.py
  • scripts/spring_generator.py

Open the folder on GitHubat commit 1da73fe

Compare with similar skills

React Spring Physics Animation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

React Spring Physics Animation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
React Spring Physics Animation this skillfreshtechbro/claudedesignskills986—~2.8kAutomated safety check: PassMIT
Awwwards-Level React AnimationsHainrixz/editor-pro-max260—~4.4kAutomated safety check: PassCustom licence
React Router Developmentremix-run/react-router57k1 repos~1.5kAutomated safety check: PassMIT
React UI State PatternsChrisWiles/claude-code-showcase6.1k7 repos~1.6kAutomated safety check: PassNone
React View Transitions Guidevercel-labs/next-beats16710 repos~3.1kAutomated safety check: PassMIT
GSAP for Reactgreensock/gsap-skills16k4 repos~1.6kAutomated safety check: PassMIT

Similar skills

  • Awwwards-Level React Animations

    Hainrixz/editor-pro-max

    Guides React animation work with GSAP, Motion, Anime.js and Lenis for scroll effects, page transitions, text effects and generative visuals, with a library decision table.

    260 GitHub stars~4.4k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check passed
  • React Router Development

    remix-run/react-router

    Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.

    57k GitHub starsUsed in 1 repo~1.5k tokens
    Frontend & DesignAuto-check passed
  • React UI State Patterns

    ChrisWiles/claude-code-showcase

    Sets patterns for React interfaces: when to show loading spinners or skeletons, how to surface errors, how to disable buttons during async work and how to handle empty lists.

    6.1k GitHub starsUsed in 7 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • React View Transitions Guide

    vercel-labs/next-beats

    Official

    Guides implementing animated page and state transitions in React with the native View Transition API, covering shared elements, list reorders and directional navigation.

    167 GitHub starsUsed in 10 repos~3.1k tokens
    Frontend & DesignAuto-check passed
  • GSAP for React

    greensock/gsap-skills

    Shows how to run GSAP animations in React and Next.js with the useGSAP hook, refs, scoped selectors and automatic cleanup on unmount.

    16k GitHub starsUsed in 4 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • React Frontend Development Guidelines

    diet103/claude-code-infrastructure-showcase

    Guidelines for React 18 and TypeScript apps covering Suspense data fetching, lazy loading, feature folders, MUI v7 styling, TanStack Router and performance.

    10k GitHub starsUsed in 2 repos~2.9k tokens
    Frontend & DesignAuto-check passed

More from freshtechbro/claudedesignskills

All 19 skills in this repo
  • Anime.js Animation Guide

    freshtechbro/claudedesignskills

    Guides use of Anime.js for timeline sequences, stagger effects, SVG morphing and keyframe animation on DOM elements, CSS, SVG and JavaScript objects.

    986 GitHub stars~2.7k tokensUpdated 10 mo ago
    Auto-check passed
  • Barba.js Page Transitions

    freshtechbro/claudedesignskills

    Adds animated page transitions to multi-page sites with Barba.js, covering the wrapper and container markup, lifecycle hooks, views and GSAP integration.

    986 GitHub stars~4.9k tokensUpdated 10 mo ago
    Auto-check passed
  • Blender Web Export Pipeline

    freshtechbro/claudedesignskills

    Exports and optimizes Blender 3D models and animations for the web as glTF, covering batch Python scripting, texture baking, decimation and LOD generation for Three.js and Babylon.js.

    986 GitHub stars~4.2k tokensUpdated 10 mo ago
    Auto-check passed
  • GSAP and ScrollTrigger

    freshtechbro/claudedesignskills

    Covers GSAP tweens and timelines and the ScrollTrigger plugin for scroll-driven animation, including pinning, scrubbing, parallax and horizontal scroll sections.

    986 GitHub stars~4.3k tokensUpdated 10 mo ago
    Auto-check passed
  • Locomotive Scroll

    freshtechbro/claudedesignskills

    A guide to the Locomotive Scroll library for smooth scrolling, parallax, viewport detection, sticky elements and GSAP ScrollTrigger integration.

    986 GitHub stars~3.1k tokensUpdated 10 mo ago
    Auto-check passed
  • Lottie Animation Integration

    freshtechbro/claudedesignskills

    Implements After Effects Lottie animations in web and React apps: picking JSON or dotLottie format, a rendering library, and a data source, with an optimizer script.

    986 GitHub stars~4.5k tokensUpdated 10 mo ago
    Auto-check passed

Works with

Questions about React Spring Physics Animation

What does React Spring Physics Animation do?

Guides React UI animation built on spring physics with React Spring and Popmotion: hooks, config presets, trails, list transitions and scroll or in-view effects. The skill covers physics-based animation for React apps, using React Spring for declarative springs and Popmotion for lower-level keyframe, decay and inertia utilities. Unlike duration-based tweens, springs are driven by mass, tension and friction, so motion can be interrupted midway and carry its velocity into the next state.

When should I use React Spring Physics Animation?

React Spring Physics Animation fits situations like: building drag, swipe or scroll interactions that should feel natural; making animations that can be interrupted without jumping; adding enter and exit transitions to a list that changes; choosing spring settings such as mass, tension and friction.

How do I install React Spring Physics Animation in Claude Code?

Run `npx skills add freshtechbro/claudedesignskills --skill react-spring-physics -a claude-code`. Or copy the skill folder (.claude/skills/react-spring-physics in freshtechbro/claudedesignskills) into .claude/skills/react-spring-physics in your project. Claude Code loads it when a task matches its description.

How do I install React Spring Physics Animation in Codex?

Run `npx skills add freshtechbro/claudedesignskills --skill react-spring-physics -a codex`. Or copy the skill folder (.claude/skills/react-spring-physics in freshtechbro/claudedesignskills) into .agents/skills/react-spring-physics in your project. Codex loads it when a task matches its description.

Can I use React Spring Physics Animation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add freshtechbro/claudedesignskills --skill react-spring-physics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/react-spring-physics, .gemini/skills/react-spring-physics, .github/skills/react-spring-physics and .opencode/skills/react-spring-physics in your project.

What does React Spring Physics Animation need to run?

Going by SKILL.md and its folder, React Spring Physics Animation needs Python for the scripts in its folder. Our summary lists: A React project with `@react-spring/web` installed; Python to run the bundled helper scripts.

Does React Spring Physics Animation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is React Spring Physics Animation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does React Spring Physics Animation use?

React Spring Physics Animation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does React Spring Physics Animation use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.1k tokens, read only when the agent opens those files.

What are the alternatives to React Spring Physics Animation?

Skills that share tags, products or a category with React Spring Physics Animation: Awwwards-Level React Animations (Hainrixz/editor-pro-max, 260 stars), React Router Development (remix-run/react-router, 57k stars), React UI State Patterns (ChrisWiles/claude-code-showcase, 6.1k stars) and React View Transitions Guide (vercel-labs/next-beats, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains React Spring Physics Animation?

freshtechbro (a GitHub user) maintains it in freshtechbro/claudedesignskills, which has 986 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on November 20, 2025.

Source: freshtechbro/claudedesignskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.