vercel-react-view-transitions

Implements React View Transition animations for route changes, shared elements, and Suspense reveals.

Updated Sep 15, 2026
One-click install
npx skills add https://github.com/Nadav011/nadavai-claude --skill vercel-react-view-transitions-nadav011
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vercel-react-view-transitions
Source: https://github.com/Nadav011/nadavai-claude/tree/main/plugins/nadavai/skills/vercel-react-view-transitions
Command: npx skills add https://github.com/Nadav011/nadavai-claude --skill vercel-react-view-transitions-nadav011

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Adding smooth, native-feeling animations between UI states in React is hard to get right: developers must coordinate document.startViewTransition, CSS pseudo-elements, Suspense boundaries, and Next.js routing without breaking layouts or causing flicker. This Skill provides a structured workflow and production-tested patterns for implementing view transitions correctly. ## Core Features & Use Cases - Directional page transitions: Tag navigations with addTransitionType or transitionTypes on next/link to play forward/back slide animations that communicate spatial depth. - Shared element morphs: Pair named <ViewTransition> boundaries across routes so images, cards, or titles morph between list and detail views. - Suspense reveals and list identity: Animate skeleton-to-content reveals and list reorders with per-item keyed boundaries, plus ready-to-use CSS recipes (fade, slide, scale, morph, reduced motion). - Use Case: When building a Next.js photo gallery, use this Skill to audit all routes, add directional slides for list-to-detail navigation, morph thumbnails into full-size images, and isolate the persistent navbar so it stays static during transitions. ## Quick Start Ask the agent to add view transitions to your React or Next.js app, starting with an audit of all links, Suspense boundaries, and shared visual elements.

Frequently Asked Questions about vercel-react-view-transitions

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

FAQPage Schema
How do I add page transition animations in Next.js?

Wrap each page component in a type-keyed ViewTransition and tag navigations with transitionTypes on next/link or addTransitionType inside startTransition. The App Router bundles React canary internally, so ViewTransition works without installing react@canary.

How do shared element transitions work in React?

Give two ViewTransition boundaries the same name prop on the source and target views; when one unmounts and the other mounts in the same transition, they morph. Names must be globally unique, and the target must be rendered at navigation time for the pair to form.

Does ViewTransition require installing react@canary?

In Next.js App Router, no — React canary is bundled internally and ViewTransition works out of the box. Outside Next.js, you must install react@canary and react-dom@canary because ViewTransition is not in stable React.

Why is my view transition not animating on navigation?

Common causes: the state update is not inside startTransition, default="none" suppresses the trigger without an explicit prop, or a type-keyed animation never receives its transition type. router.back() and browser back buttons carry no transition types, so typed animations resolve to their default.

Which browsers support the View Transition API?

React's ViewTransition needs Chromium 125+, Firefox 144+, or Safari 18.2+, since it relies on the v2 object form of startViewTransition. Unsupported browsers skip animations gracefully, so no fallback code is required.

Why does my Suspense fallback flicker when content loads?

Flicker happens when the same element renders in both the fallback and the resolved content, causing it to fade against itself. Fix it by rendering that element outside the Suspense boundary or pinning it with a unique viewTransitionName.