跳转到使用指南
stitch::react-native作者 Google Labs

Stitch React Native Skill.

Claude Code 和 Codex 的移动应用设计 skill:将 Stitch HTML 设计转换或同步为 React Native 组件。

  • Mobile Apps
  • UI 代码
google-labs-code/stitch-skills · plugins/stitch-build/skills/react-native/SKILL.mdSKILL.md
--- name: stitch::react-native description: - Convert Stitch HTML designs to React Native components, or syncs/updates existing native components to align with the latest Stitch designs, using StyleSheet. --- ## Phase 1: Retrieval and networking ## Phase 2: Theme extraction ## Phase 3: Architectural rules and HTML mapping ## Phase 4: Execution steps
前言和章节标题读取自上游文件,日期 2026-09-14,完整内容共 12,389 字符

01 功能说明

stitch::react-native Skill 在 Claude Code 和 Codex 中的作用

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

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

以 skill 自身的术语

该 skill 将 Stitch 的 HTML/CSS 网页设计转换为使用 StyleSheet 的生产级 React Native 组件,也能将现有原生组件同步回最新的 Stitch 设计。它分四个受控阶段运行:通过 scripts/fetch-stitch.sh 脚本下载每个画面并对每张截图进行视觉审查,将 tailwind.config 中的 token 提取到 src/theme.ts,按照严格的架构规则将 HTML 元素和 CSS 映射为 React Native 基础组件,然后基于 resources/component-template.tsx 起草组件。

组件遵循 src/components/ 下的 Atomic Design 文件夹结构,逻辑存放在 src/hooks/ 中,内容存放在 src/data/mockData.ts 中,每个组件文件都导出一个 readonly 的 [ComponentName]Props 接口。通过 npm run validate 和 tsc --noEmit 进行验证是可选的,且需要用户许可。

它产出什么

  • src/theme.ts 是一个 TypeScript token 文件,保存从设计的 tailwind.config 中提取的颜色、间距和字体信息。
  • src/data/mockData.ts 保存所有静态文本、图片 URL 和列表,确保组件中不硬编码任何内容。
  • 位于 src/hooks/ 下的自定义 hooks,承载事件处理、API 调用和业务逻辑,让组件只负责渲染。
  • 写入应用文件夹内的 .stitch/metadata.json 文件,并在工作区根目录中镜像一份。
查看示例提示词 ↗

工作方式

  1. 01
    发现 MCP 命名空间

    运行 list_tools 找到 Stitch MCP 前缀,然后在本次会话后续的所有调用中复用该前缀。

  2. 02
    通过脚本下载

    内部的抓取工具在 Google Cloud Storage 域名上可能失败,因此 HTML 和截图通过 scripts/fetch-stitch.sh 下载,该脚本会处理重定向和安全握手。

  3. 03
    审查每张截图

    打开下载的 PNG 以确认设计意图和布局细节,而不是假设设计的样子。

  4. 04
    提取主题

    读取每个 HTML 头部脚本块中的 tailwind.config 对象,获取颜色、字体、间距、圆角和字体样式,然后将它们作为 TypeScript 常量写入 src/theme.ts。

  5. 05
    基于模板起草

    每个组件都从 resources/component-template.tsx 开始编写,并查找替换所有占位组件名称的实例。

  6. 06
    记录同步元数据

    将项目配置保存到 .stitch/metadata.json,其中 Last Sync Time 字段要与当前同步执行时间一致。

02 找到适合场景

何时使用 stitch::react-native Skill

当工作是此类移动应用设计时,在 Claude Code 或 Codex 中使用 stitch::react-native skill。下方适用范围和限制取自该 skill 自身文件。

适合场景

  • 一个已有的 React Native 应用,其组件已与最新的 Stitch 设计产生偏差,需要重新对齐。
  • 一个多屏 Stitch 项目,需要在 App.tsx 中接入带有 stack 或 tab 导航器的 NavigationContainer。
  • 一个阴影在两个平台上都必须显示正确的设计,需要用 Platform.select 来处理 iOS 的阴影属性和 Android 的 elevation。
  • 希望在宣布完成之前,先按照书面架构检查清单核对输出结果的团队。

了解边界

  • 依赖 CSS hover、transition 或 animation 效果的设计:hover 和 transition 没有对应实现,动画应交由 react-native-reanimated 处理。
  • 网页设计中的下拉或 select 字段,因为 React Native 没有内置的 select,需要第三方 picker 或自定义模态框。
  • 网页图片的默认预期:React Native 的 Image 没有固有尺寸,因此必须始终提供 width 和 height,或者提供 aspectRatio。

需要提供的信息

  • Stitch 项目及其 MCP 前缀Agent 运行 list_tools 来查找 Stitch MCP 前缀,并在所有 get_screen 和 get_project 调用中复用它。
  • 屏幕的宽度值截图 URL 需要用屏幕元数据中的宽度追加 =w{width},否则 Google 的 CDN 会返回低清晰度缩略图。
  • 验证与运行应用的许可在启动打包器或开始视觉模拟器审查以检查应用在设备上的渲染效果之前,必须先获得许可。

03 Skill 内部

stitch::react-native Skill 赋予 Claude Code 和 Codex 的规则

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

  1. 不得跳过检索步骤

    只有当所有屏幕都通过脚本下载并完成视觉审查后,第一阶段才算完成;未先调用 MCP 的 get_screen 就直接读取本地设计文件是被禁止的。

  2. 刷新设计前先询问

    如果 .stitch/designs/{page}.html 和 .png 已存在,Agent 必须询问是从 Stitch 项目刷新还是复用本地文件,只有在确认后才能重新下载。

  3. 组件中禁止使用原始颜色值

    组件文件中禁止使用颜色十六进制代码和 rgba 字符串;每一个颜色、间距和字号数值都必须来自 src/theme.ts。

  4. 导出一个只读的 Props 接口

    每个组件文件(包括屏幕)都必须导出一个名为 [ComponentName]Props 的接口,并带有 readonly 修饰符,否则验证会失败。

  5. 使用正确的包处理安全区域

    顶层屏幕要用 react-native-safe-area-context 中的 SafeAreaView 包裹,而不是 react-native 自带的默认版本。

  6. 拆分为原子设计文件

    组件应放入 src/components/atoms/、molecules/ 和 organisms/ 中;禁止将整个 UI 放在单个页面或屏幕文件里。

  7. 不要保留 Google 头部信息

    生成的组件遵循目标项目的约定,不得携带 Google 许可证头部信息。

  8. 测试前需获得许可

    验证脚本、打包工具和模拟器审查绝不能单方面启动;Agent 必须先征得用户许可。

04 投入使用

在 Claude Code 或 Codex 中安装 stitch::react-native

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

将 stitch::react-native 添加到 Claude Code、Codex 或您的 Agent

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

Terminal
npx skills add https://github.com/google-labs-code/stitch-skills --skill stitch::react-native

针对 plugins/stitch-build/skills/react-native/SKILL.md 的通用 skills CLI 形式;仓库可能有其自己的文档路径。

给 Skill 第一个移动应用设计任务

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

Starter prompt
Convert the Stitch designs in project [project ID] to React Native. Download every screen with scripts/fetch-stitch.sh, visually audit the screenshots, extract the tailwind.config tokens into src/theme.ts, and build the components from resources/component-template.tsx using the atoms, molecules and organisms folders. Please hold off on starting the packager or a simulator audit for now.

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

检查首次结果

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

  • 对 components 和 screens 中的每个 .tsx 文件运行验证器,以报告组件的有效性。
  • 以无生成(no-emit)模式运行 TypeScript 编译器,确认项目仍能编译通过。
  • 确认 src/theme.ts 中的颜色和字体确实与 HTML 设计中输出的内容一致。
  • 检查是否有原始文本位于 Text 组件之外,因为 React Native 在这种情况下会崩溃。

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

05 开源、可追溯

来源、许可与验证

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

Skill 文件
plugins/stitch-build/skills/react-native/SKILL.md 验证时记录的内容校验和;提交 0337446
License
Apache-2.0 来自 LICENSE。
仓库星标数
8,304 GitHub 快照拍摄于 2026-09-14,来自整个 google-labs-code/stitch-skills 仓库,该仓库包含本目录中的 12 个 skill。不是 stitch::react-native 的评分或使用计数。
已由 OpenDesign 验证
2026-09-14 已检查源文件、路径、许可文本和 star 数量。未内置在 OpenDesign 主程序(检查日期 2026-08-28);本页面未记录实际运行。

SKILL.md 内部

  1. 第一阶段:检索与联网查找 MCP 前缀,获取每个屏幕,通过脚本下载 HTML 和截图,进行视觉审查,并保存元数据。
  2. 第二阶段:主题提取将 tailwind.config 中的颜色、字体、间距、圆角和排版 token 提取到 src/theme.ts 中。
  3. 第三阶段:架构规则与 HTML 映射将 HTML 标签映射到基础组件,将 CSS 转换为 StyleSheet,遵循原子设计、hook、主题和无障碍规则。
  4. 第四阶段:执行步骤安装依赖,从模板构建主题、数据和组件,接入导航,然后可选择在获得许可后进行验证。
  5. 故障排查针对获取错误、验证失败、未包裹的文本、图片尺寸问题以及 VirtualizedList 警告的修复方法。
Skill 自身的描述
"- 将 Stitch HTML 设计转换为 React Native 组件,或同步/更新现有原生组件以与最新 Stitch 设计保持一致,使用 StyleSheet。"

SKILL.md 文件的前言描述。完整文件约 12,389 个字符。在 GitHub 上阅读完整文件。

06 安装之前

关于 stitch::react-native Skill 的常见问题

以下回答来自 2026-09-14 读取到的 SKILL.md,而非某次实际运行的记录。

我可以跳过 Stitch MCP,直接把本地 HTML 文件交给它吗?

不可以。第一阶段要求在读取任何内容之前,必须先通过 get_screen 获取每个屏幕,并使用 scripts/fetch-stitch.sh 下载;未先调用 get_screen 就直接读取本地设计 HTML 被列为反模式。

这个 Skill 只能搭建全新的屏幕,还是也能更新我已有的应用?

两者都可以。除了将全新的 Stitch HTML 转换为组件之外,该 Skill 还会同步并更新现有的原生组件,使其与最新的 Stitch 设计保持一致。

它会自行启动模拟器或打包工具来检查结果吗?

默认不会。第四阶段的验证、审查以及模拟器或打包工具测试都是可选的,Agent 在运行验证脚本、启动打包工具或开始模拟器审查之前,必须先获得您的许可。

Stitch React Native

在真实的移动应用设计任务中运行 stitch::react-native。

下载 OpenDesign,从其 SKILL.md 链接导入 stitch::react-native,粘贴上方提示,在结果前查看计划。

终端
npx skills add https://github.com/google-labs-code/stitch-skills --skill stitch::react-native

OpenDesign 桌面客户端

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

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

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

支持 macOS 与 Windows