跳转到使用指南
vercel-react-view-transitions作者 Vercel Labs

Vercel React View Transitions Skill.

Claude Code 和 Codex 的动效与视频 skill:使用 React 的 View Transition API 实现原生流畅的页面过渡动效。

  • Motion & Video
  • UI 代码
vercel-labs/agent-skills · skills/react-view-transitions/SKILL.mdSKILL.md
--- name: vercel-react-view-transitions description: Guide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation … --- ## When to Animate ## Availability ## Implementation Workflow ## Core Concepts ## Styling with View Transition Classes ## Transition Types
从上游文件读取的 front matter 和章节标题,日期 2026-09-14 · 完整内容 14,341 字符

01 功能说明

vercel-react-view-transitions Skill 在 Claude Code 和 Codex 中的作用

摘要、工作流与产物,均读自该 skill 的 SKILL.md。

来自 SKILL.md读取于 2026-09-14 · 非实际运行记录

以 skill 自身的术语

一份使用 React 的 View Transition API 在 UI 状态之间实现动画的指南:用 ViewTransition 组件声明「什么」,用 startTransition、useDeferredValue 或 Suspense 触发「何时」,并用 CSS 类控制「如何」。它按固定优先级顺序介绍了五种模式——共享元素变形、列表身份、状态变化和路由变化,以及通过 addTransitionType 实现的按类型区分方向的导航,还包括 Next.js App Router 集成。

它解释了 ViewTransition 边界应放置在何处、何时需要 default="none"、哪些浏览器支持该特性(Chromium 125+、Firefox 144+、Safari 18.2+),在其他浏览器中如何优雅降级,并指向用于实现顺序、CSS 方案、模式和故障排查的参考文件。

它产出什么

  • 一个可复用的方向性包装组件,用于在多页面应用中保存按类型区分的进入与退出映射表。
  • 通过在卸载和挂载的视图上重用相同的 name 来创建共享元素变形,例如缩略图变成主图。
  • 针对 view transition 伪元素编写的 CSS 规则,包括承载两个快照的 image pair。
  • 一种优雅降级的实现方式,不支持的浏览器会跳过动画,而不会破坏导航。
查看示例提示词 ↗

工作方式

  1. 01
    理清动画所表达的含义

    只有当你能清楚说明它所表达的空间关系或连续性时,才添加边界。如果说不清它传达了什么,就不要添加。

  2. 02
    用边界包裹状态

    React 会在幕后分配唯一的 view-transition-name 并调用 document.startViewTransition,因此你永远不需要自己调用 startViewTransition。

  3. 03
    用 Transition 触发它

    enter、exit、update 和 share 只会由 startTransition、useDeferredValue 或 Suspense 触发。普通的 setState 不会产生任何动画。

  4. 04
    在 CSS 中为快照设置样式

    离场和入场快照通过带有你自己类名的 view transition 伪元素来定位,recipes 文件提供了现成的动画。

  5. 05
    用 Transition Type 为其打标签

    addTransitionType 会堆叠上下文类型,让树中不同的边界做出不同的反应,而按类型划分的对象会将这些类型映射到 enter、exit 和 share 时的 CSS 类。

02 找到适合场景

何时使用 vercel-react-view-transitions Skill

在 Claude Code 或 Codex 中处理此类动效和视频任务时使用 vercel-react-view-transitions skill。适用范围和限制来自 skill 自己的文件。

适合场景

  • 基于浏览器原生的 document.startViewTransition 在 UI 状态之间进行动画,而不是使用 JavaScript 动画循环。
  • 列表重新排序动画,以及在有序视图之间进行的前进或后退方向导航。
  • 希望在 React 中实现状态过渡,而不引入第三方动画库的团队。
  • 随着数据到达揭示内容,由 Suspense fallback 以及简单的 enter 和 exit 字符串 props 驱动。

了解边界

  • Chromium 125+、Firefox 144+ 和 Safari 18.2+ 之外的浏览器会直接跳过动画,因此在这些浏览器上过渡是不可见的。
  • 目前 Next.js 尚不支持页面导航时按项目错位(stagger)的动画。
  • 嵌套在作为一个整体挂载或卸载的父边界内部的边界,不会运行自己的 enter 或 exit 动画。
  • 前进和后退导航无法播放按类型区分方向的滑动效果,因为这些过渡不携带类型信息。

需要提供的信息

  • 需要审查的现有应用该 skill 应用于正在运行的应用,实现参考文档旨在从审查阶段开始逐步遵循,而不是直接从代码修改入手。
  • 每次导航是层级式还是横向式从列表到详情的移动会获得按类型区分方向的前进和后退滑动效果,因为它传达了空间上的深度,而标签页之间的切换则不会。
  • 适用于你场景的 CSS recipesrecipes 文件包含可供复制的动画,之后可以根据应用自身的标记和类名进行调整。

03 Skill 内部

vercel-react-view-transitions Skill 为 Claude Code 和 Codex 设定的规则

SKILL.md 为 Agent 设定的 7 条具体指令、默认值与限制——正是文件中真正改变结果的部分。

  1. 按顺序实现每个适用的模式

    按共享元素、Suspense 揭示、列表标识、状态变化和路由变化的优先级依次处理。只有当应用没有对应用例时才跳过某个模式。

  2. 将边界放在任何 DOM 节点之前

    如果一个 div 包裹了 ViewTransition,enter 和 exit 会被抑制,动画会悄无声息地永不运行。

  3. 有意地使用 Default="none"

    在具名或共享元素以及按类型区分的页面边界上设置它,否则它们会在每次过渡时触发浏览器的交叉淡化效果。

  4. 为每个具名边界赋予唯一名称

    同一个名称的 ViewTransition 在同一时间只能挂载一个,因此应使用如 photo-${id} 这样的按条目命名方式,并检查那些同时在模态框和页面中渲染同一具名边界的可复用组件。

  5. 让 enter 与 exit 配对,将方向性 VT 保留在页面中

    始终定义方向性动画的两侧,并将方向性边界放在页面组件而非布局组件中。

  6. 在存在共享变形的页面上绝不使用淡出

    淡出退出会破坏共享元素的变形效果,这类退出应改用方向性滑动。

  7. 添加降低动态效果的 CSS

    CSS 方案中的降低动态效果代码块必须加入你的全局样式表,与动画代码放在一起。

04 投入使用

在 Claude Code 或 Codex 中安装 vercel-react-view-transitions

一条 npx skills add 命令,然后在你的 Agent 中执行第一个任务和对结果的清单检查。

将 vercel-react-view-transitions 添加到 Claude Code、Codex 或你的 Agent

在你的项目中运行;安装程序会询问要把它添加到哪个 Agent。

Terminal
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-view-transitions

针对 skills/react-view-transitions/SKILL.md 的通用 skills CLI 形式;具体仓库可能会记录其自身路径。

给 Skill 一个首次动效和视频任务

按 skill 自身的术语撰写;把括号中的部分换成你的内容。

Starter prompt
Add view transitions to [my Next.js App Router app]: tapping [a list item] should morph [its image] into the detail page hero instead of hard-navigating. Use directional nav-forward and nav-back slides for that hierarchical navigation, give the detail content a Suspense reveal when [the data] resolves, and keep background revalidations silent with default="none". Extract the type-keyed page transition into a reusable wrapper and add the reduced motion CSS.

来源:依据 SKILL.md,按 skill 自身的术语撰写。

检查首次结果

SKILL.md 本身如何描述正确的结果:

  • 在修改任何代码之前,先按照实现参考运行审查。
  • 确认接好的变形确实生效:default="none" 且没有显式的 share 属性,意味着 share 会解析为 none,什么都不会动画。
  • 检查每个应当做形变过渡的链接是否都添加了 transition type,可通过 next/link 上的 transitionTypes 或 addTransitionType 实现。
  • 确保标签页之间的切换没有使用方向性滑动,因为那暗示了应用并不具备的空间深度。

在 OpenDesign 中,通过其 SKILL.md 链接导入 vercel-react-view-transitions:Plugins → Add → Skill → Import from link,然后在顶部栏中选择它。

05 开源、可追溯

来源、许可与验证

本页面事实的来源,以及最后检查时间。

Skill 文件
skills/react-view-transitions/SKILL.md 验证时记录的内容校验和;提交 063bee9
License
MIT(在 SKILL.md 中声明)在技能或仓库级别未找到许可文件;上述值为 SKILL.md 中的声明。SKILL.md 中声明为 MIT;仓库中未找到 LICENSE 文件。
仓库星标数
31,174 2026-09-14 为整个 vercel-labs/agent-skills 仓库获取的 GitHub 快照。不是 vercel-react-view-transitions 的评分或使用计数。
已由 OpenDesign 验证
2026-09-14 已检查源文件、路径、许可文本和 star 数量。未内置在 OpenDesign 主程序(检查日期 2026-08-28);本页面未记录实际运行。
Skill 自身的描述
"使用 React 的 View Transition API(`<ViewTransition>` 组件、`addTransitionType` 和 CSS view transition 伪元素)实现流畅、原生感的动画的指南。每当用户想要添加页面过渡、为路由变化添加动画、创建共享元素动画、为组件的进入/退出添加动画、为列表重新排序添加动画、实现方向性(前进/后退)导航动画,或在 Next.js 中集成 view transitions 时使用此 skill。当用户提到 view transitions、`startViewTransition`、`ViewTransition`、transition types,或询问如何在 React 中不使用第三方动画库实现 UI 状态之间的动画时也使用此 skill。"

SKILL.md 中的 front-matter 描述。完整文件约 14,341 字符。在 GitHub 上阅读完整文件。

Vercel React View Transitions

在真实的 Motion and Video 任务中运行 vercel-react-view-transitions。

下载 OpenDesign,从其 SKILL.md 链接导入 vercel-react-view-transitions,粘贴上述提示,并在得到结果前阅读计划。

终端
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-view-transitions

OpenDesign 桌面客户端

一套设计系统,让每一次创作都保持品牌一致

在完整的 Vibe Design Workspace 中,用同一套品牌规则生成网页、PPT、可交互原型、数据看板、图像与 HTML 视频。连接本地 Codex、Claude Code、Cursor 等编程助手,即可免费创作。

  • 覆盖网页、PPT、原型、数据看板、图像与视频
  • 140+ 设计系统,以及完整模板与技能库
  • 连接本地 Codex 与 21+ 款编程助手 · 免费使用
免费下载

支持 macOS 与 Windows