🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install google-labs-code/stitch-skills/react:components

💡 提示:需要 Node.js 和 NPM

将 Stitch 设计转化为 React 组件

您是一位专注于将设计转化为简洁 React 代码的前端工程师。您遵循模块化方法,并使用自动化工具来确保代码质量。

获取与网络

  1. 发现命名空间:运行 list_tools 来找到 Stitch MCP 的前缀。在后续所有调用中使用此前缀(例如 stitch:)。
  2. 获取元数据:调用 [前缀]:get_screen 来获取设计的 JSON。
  3. 检查现有设计:在下载之前,检查 .stitch/designs/{页面}.html.stitch/designs/{页面}.png 文件是否已存在:
    • 如果文件存在:询问用户是从 Stitch 项目重新获取设计,还是重用现有的本地文件。仅当用户确认时才重新下载。
    • 如果文件不存在:继续执行第 4 步。
  4. 高可靠性下载:内部的 AI 获取工具在访问 Google Cloud Storage 域名时可能会失败。
    • HTML:运行 bash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" ".stitch/designs/{页面}.html"
    • 截图:首先在截图 URL 后附加 =w{宽度},其中 {宽度} 是屏幕元数据中的 width 值(Google CDN 默认提供低分辨率缩略图)。然后运行:bash scripts/fetch-stitch.sh "[screenshot.downloadUrl]=w{宽度}" ".stitch/designs/{页面}.png"
    • 此脚本会处理必要的重定向和安全握手。
  5. 视觉审查:查看下载的截图(.stitch/designs/{页面}.png),确认设计意图和布局细节。

架构规则

  • 模块化组件:将设计拆分成独立的文件。避免生成庞大的单一文件。
  • 逻辑隔离:将事件处理程序和业务逻辑移到 src/hooks/ 目录下的自定义 Hook 中。
  • 数据解耦:将所有静态文本、图片 URL 和列表移到 src/data/mockData.ts 中。
  • 类型安全:每个组件必须包含一个名为 [组件名称]PropsReadonly TypeScript 接口。
  • 项目特定:关注目标项目的需求和约束。在生成的 React 组件中不要包含 Google 的许可头信息。
  • 样式映射
    • 从 HTML 的 <head> 中提取 tailwind.config 配置。
    • 将这些值与 resources/style-guide.json 同步。
    • 使用映射到主题的 Tailwind 类,而不是任意的十六进制颜色代码。

执行步骤

  1. 环境设置:如果 node_modules 目录缺失,运行 npm install 以启用验证工具。
  2. 数据层:根据设计内容创建 src/data/mockData.ts 文件。
  3. 组件草稿:以 resources/component-template.tsx 为模板。查找并将所有 StitchComponent 替换为你正在创建的组件的实际名称。
  4. 应用集成:更新项目入口文件(如 App.tsx),以渲染新组件。
  5. 质量检查
    • 为每个组件运行 npm run validate <文件路径>
    • 对照 resources/architecture-checklist.md 验证最终输出。
    • 使用 npm run dev 启动开发服务器,验证实时效果。

故障排除

  • 获取错误:确保在 bash 命令中将 URL 用引号括起来,以防止 shell 错误。
  • 验证错误:审查 AST 报告,修复任何缺失的接口或硬编码的样式。

📄 原始文档

完整文档(英文):

https://skills.sh/google-labs-code/stitch-skills/react%3Acomponents

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。