1. 项目概述:Stitch Agent Skills 是什么?
如果你最近在玩 AI 编程助手,比如 Cursor、Claude Code 或者 GitHub Copilot,肯定有过这样的体验:你描述了一个挺复杂的 UI 需求,比如“帮我做一个带深色模式切换的用户仪表盘”,AI 助手吭哧吭哧给你生成了一堆代码。代码本身可能没问题,但离你心中那个“设计精美、交互流畅、代码结构清晰”的成品,总感觉差了那么一口气。问题出在哪?往往不是 AI 能力不行,而是我们和 AI 之间的“沟通协议”不够高效。我们给的指令太模糊,AI 对设计系统、组件规范、项目上下文的理解也不够深。
Stitch Agent Skills就是为了解决这个“最后一公里”问题而生的。它不是另一个 AI 模型,而是一个标准化的技能库。你可以把它想象成给 AI 编程助手安装的“专业插件”或“工具箱”。这个工具箱里的每一个“技能”,都遵循一个叫Agent Skills的开放标准,专门用来教会 AI 助手如何更专业、更精准地处理特定任务,尤其是在Stitch这个设计到代码的转换平台上。
简单来说,Stitch 能根据你的描述生成高保真的 UI 设计稿(HTML/CSS),而 Stitch Agent Skills 则是一系列配套技能,让 AI 助手能更好地理解、操作、增强和转化这些设计稿,最终产出更高质量、更可维护的代码。从模糊的想法到可运行的 React 组件,甚至是一个展示视频,这个库试图用标准化的“技能”来串联整个工作流。
2. 核心设计思路与架构解析
为什么需要一个专门的技能库?这背后是对当前 AI 辅助编程工作流痛点的一次系统性梳理和工程化解决。
2.1 痛点:AI 助手的“上下文缺失”与“能力边界”
当我们在 IDE 里使用 AI 助手时,它主要依赖两样东西:1) 我们输入的即时指令(Prompt);2) 它当前打开的有限文件内容作为上下文。这对于写一个函数、修一个 Bug 可能够了,但对于涉及设计一致性、项目架构、多文件操作的复杂任务,就显得力不从心。
举个例子,你想让 AI 基于一个已有的设计风格(比如使用了圆角、特定的配色和间距系统)生成一个新的页面组件。如果你不把整个项目的设计规范文档(DESIGN.md)、组件库的引入方式、甚至之前的类似组件代码都喂给它,它生成的结果很可能风格跑偏,或者引入重复的样式定义。
Stitch Agent Skills 的设计思路,就是把这些项目级的、可复用的知识和操作流程,封装成一个个独立的、可被 AI 发现和调用的“技能包”。每个技能包不仅告诉 AI“要做什么”,还通过结构化的资源(如检查清单、风格指南、示例代码)告诉它“按什么标准做”和“做成什么样才算好”。
2.2 架构:标准化的技能包结构
为了实现这个目标,每个技能都必须遵循一个严格的目录结构。这个结构是技能能够被 AI 有效学习和执行的关键。
skills/[category]/ ├── SKILL.md — 技能的“任务说明书” ├── scripts/ — 可执行的“质量检查员”和“网络通信员” ├── resources/ — 技能的“知识库”和“规范手册” └── examples/ — “黄金标准”示例,供 AI 模仿学习我们来拆解每个部分的作用:
- SKILL.md:这是核心。它用自然语言清晰地定义了技能的目标、输入、输出、使用场景和步骤。AI 助手在决定是否调用这个技能时,会首先读取这个文件来理解自己能做什么。一个好的
SKILL.md就像一个清晰的 API 文档,但它是写给 AI 看的。 - scripts/:这里存放可执行的脚本。通常包含两类:
- 验证脚本 (Validation):在技能执行后,自动检查输出是否符合预期。例如,
react-components技能生成 React 代码后,可能有一个脚本会自动运行eslint或尝试npm run build来验证语法和类型。 - 网络脚本 (Networking):处理需要与外部服务(如 Stitch MCP 服务器)通信的任务。这封装了复杂的 API 调用逻辑,让 AI 无需关心底层实现。
- 验证脚本 (Validation):在技能执行后,自动检查输出是否符合预期。例如,
- resources/:这是技能的“大脑”。里面可能包含:
- 检查清单 (Checklists):确保关键步骤无一遗漏。
- 风格指南 (Style Guides):定义代码、命名或设计的规范。
- 提示词模板 (Prompt Templates):为
enhance-prompt这类技能提供优化的提问框架。
- examples/:这里存放着完美的、可直接运行的示例。AI 可以通过“小样本学习”(Few-shot Learning)来模仿这些示例的结构和风格,从而生成更高质量的产出。这对于代码生成类技能至关重要。
2.3 与 Stitch MCP 的协同
Stitch 本身提供了一个MCP(Model Context Protocol)服务器。MCP 可以理解为 AI 模型与外部工具/数据源之间的一个标准化通信协议。Stitch MCP 服务器让 AI 助手能够直接读取、编辑、生成 Stitch 项目文件。
Stitch Agent Skills 库中的技能,很多都是作为 AI 助手与 Stitch MCP 服务器之间的“智能中介”。例如,stitch-design技能并不直接生成代码,而是:
- 理解用户的模糊需求。
- 通过查询项目中的
DESIGN.md(由design-md技能生成)来获取设计系统上下文。 - 构造一个结构清晰、富含关键词的优化提示词(可能调用
enhance-prompt的逻辑)。 - 最后,通过调用 Stitch MCP 服务器的接口,生成或编辑高保真的设计屏幕。
这个“技能链”使得单个 AI 指令能触发一连串智能化的、上下文感知的操作,大大提升了从想法到产出的效率和质量。
3. 核心技能详解与实操指南
了解了整体架构,我们来看看库里目前有哪些“神兵利器”,以及具体怎么用。我会结合一些实际场景,分享我的使用心得和避坑点。
3.1 设计增强与系统化:stitch-design&design-md
这两个技能是奠定项目设计基石的“黄金搭档”。
stitch-design:你的全能设计管家这个技能是一个统一入口,它整合了多项子任务:
- 提示词增强:自动为你的 UI 描述补充“现代感”、“玻璃态”、“呼吸感间距”、“无障碍对比度”等专业 UI/UX 关键词,让 Stitch 生成的设计更精准。
- 设计系统合成:它会读取或生成
.stitch/DESIGN.md文件,这是一个用自然语言描述的项目设计系统(颜色、字体、间距、圆角等)。 - 屏幕生成/编辑:直接与 Stitch MCP 对话,创建或修改高保真设计稿。
实操心得:不要指望一次提示就能得到完美设计。我的工作流是:先用一个简单提示让
stitch-design生成初版设计和DESIGN.md,然后人工审阅并修改DESIGN.md,用更准确的语言描述品牌色、字体层级。之后再让 AI 基于修订后的设计系统去生成其他页面,一致性会好得多。
design-md:项目设计的“活字典”这个技能能自动分析现有 Stitch 项目中的视觉元素,反向工程出一份DESIGN.md。它生成的不是冷冰冰的 HEX 颜色码和像素值,而是像“主色调是一种令人平静的深蓝 (#1e3a8a),用于主要按钮和重要标题”这样的语义化描述。这种描述对于 AI 理解和后续生成至关重要。
安装与使用示例:
# 首先,全局安装 stitch-design 技能,这样你所有的 AI 助手都能用 npx skills add google-labs-code/stitch-skills --skill stitch-design --global # 然后,在你的项目根目录下,让 AI 助手初始化设计系统 # 你可以在 Cursor 的 AI 聊天框里直接说:“请使用 stitch-design 技能,为我的电商项目创建一个简约风格的设计系统,主色调是蓝色。” # AI 助手会调用该技能,在后台执行一系列操作,最终在 .stitch/ 目录下生成 DESIGN.md 和初始设计稿。3.2 从想法到网站:stitch-loop与enhance-prompt
如果你有一个完整的网站创意,这两个技能可以帮你快速实现原型。
stitch-loop:单提示生成多页网站这是最令人惊艳的技能之一。你只需要给出一个像“创建一个宠物用品电商网站,包含首页、商品列表页、商品详情页和购物车页”这样的提示,stitch-loop就能:
- 分解出需要哪些页面。
- 为每个页面生成优化的提示词。
- 通过 Stitch MCP 依次生成所有页面的设计稿(HTML/CSS)。
- 自动组织文件结构,比如把页面放到
src/pages/,组件放到src/components/。 - 运行基础验证,确保文件可读。
enhance-prompt:把“大概”变成“具体”这是所有技能的“前哨”。我们常对 AI 说“做一个好看的登录框”,这太模糊了。enhance-prompt会将其转化为:
“生成一个现代风格的登录框组件,采用卡片式设计,包含电子邮箱和密码输入框,输入框有圆角边框和内部占位符提示。包含‘记住我’复选框和‘忘记密码’链接。主按钮使用渐变色背景,采用整个设计系统中的主色调。确保布局有充足的垂直间距,并在移动端适配。”
实操步骤与避坑指南:
- 安装技能:
npx skills add google-labs-code/stitch-skills --skill enhance-prompt --global - 先增强,再生成:在让 AI 执行任何设计或代码生成任务前,先让它“使用 enhance-prompt 技能优化以下描述:
[你的模糊想法]”。把优化后的提示词复制出来,审阅一下,你甚至可以在此基础上进一步微调。 - 与 loop 结合:将优化后的长提示直接交给
stitch-loop。关键点:stitch-loop在处理复杂任务时可能会超时或中断。我的经验是,对于超过4个页面的网站,最好分两次进行:先生成核心页面(如首页、列表页),成功后再用循环生成剩余页面。 - 检查文件结构:生成后,立刻检查文件组织是否符合你的项目习惯。有时 AI 对“组件”的划分逻辑可能和你的不同,需要手动调整。
3.3 从设计到代码:react-components与shadcn-ui
设计稿出来了,下一步就是变成可用的代码。
react-components:精准的代码转换器这个技能负责将 Stitch 生成的静态 HTML/CSS 屏幕,转换为模块化的 React 组件。它不仅仅是做格式转换,还会:
- 提取公共样式:将重复的 CSS 规则转化为可复用的样式对象或 CSS Modules。
- 组件化拆分:识别出可复用的部分(如按钮、卡片、导航栏),并将其拆分为独立组件。
- 验证语法:自动运行检查,确保生成的 JSX 和 CSS 没有语法错误。
shadcn-ui:组件库集成专家shadcn/ui 是近年来非常流行的基于 Tailwind CSS 的组件库,它以“复制粘贴”组件代码而非安装整个库的方式而备受青睐。但如何正确引入、定制和组合这些组件,对于新手甚至 AI 来说都有挑战。 这个技能就像一个精通 shadcn/ui 的顾问,能:
- 指导安装:告诉你如何通过
npx shadcn@latest add button这样的命令添加所需组件。 - 提供定制方案:如何修改主题色、圆角大小来匹配你的设计系统。
- 优化使用:给出最佳实践,比如如何组合
Card、Button、Input组件来构建一个登录表单。
深度整合工作流:
- 用
stitch-design或stitch-loop生成 UI 设计稿。 - 让 AI 使用
react-components技能将关键页面(如首页的 Hero 区域)转换为基础 React 组件。 - 然后,指示 AI:“使用
shadcn-ui技能,将刚才生成的Button和Card组件,用 shadcn/ui 的对应组件进行重构和替换,并应用我们的设计令牌(主色 #1e3a8a,圆角md)。” - AI 会调用技能,给出具体的命令行操作步骤和代码修改建议,你只需要按步骤确认即可。
重要注意事项:
react-components的转换并非百分之百完美,尤其是对于非常复杂或使用了特殊 CSS 技巧的设计。转换后,必须在浏览器中手动测试交互和响应式布局。AI 可能无法完全理解某些 CSS 布局的真实意图。
3.4 成果展示:remotion视频生成
项目做完了,如何向别人(比如产品经理或客户)动态展示?截图太静态,录屏又不够精致。remotion技能可以解决这个问题。
它利用 Remotion 这个用 React 编写视频的框架,自动将你的 Stitch 项目(多个屏幕)生成一个专业的演示视频。视频中会有:
- 平滑的屏幕间过渡(淡入淡出、滑动)。
- 镜头缩放(聚焦到某个交互元素)。
- 文字标注叠加(解释当前屏幕的功能)。
使用流程:
# 安装技能 npx skills add google-labs-code/stitch-skills --skill remotion --global # 在项目目录中,让 AI 助手执行视频生成 # 提示词示例:“使用 remotion 技能,为我的项目中的首页、仪表盘页和设置页生成一个30秒的展示视频,重点展示导航流程和核心数据可视化组件。”AI 会编写一个 Remotion 组合(Composition)脚本,自动导入你的项目截图或组件,并编排动画时间线。你需要本地安装 Remotion 环境并运行渲染。这个技能极大地简化了 Remotion 的学习曲线,让你能快速产出高质量的项目宣传材料。
4. 技能开发与贡献指南
现有的技能已经很强大了,但你的项目可能有特殊需求。这时,你可以考虑贡献新的技能。库的维护者列举了几个很好的新技能方向:
4.1 新技能创意方向
- 框架转换验证器:类似
react-components,但针对 Vue、Svelte 或 Angular。技能的核心是转换逻辑和语法验证脚本,确保生成的代码在新框架中可运行。 - 数据解耦器:很多 Stitch 生成的设计稿包含硬编码的文本、图片。一个优秀的技能可以分析 HTML,识别出静态内容(如用户姓名、产品标题、描述文案),并将其提取到外部的 JSON 或 JS 数据文件中,让 UI 与数据分离,更接近真实项目结构。
- 数据驱动设计生成器:与上一个相反,给定一个数据模型(例如,一个包含
title,description,price,imageUrl的商品数组),技能能自动生成用于展示这些数据的多种 Stitch 设计稿(列表视图、网格视图、详情卡片),极大提升设计一致性。
4.2 开发一个新技能的实战步骤
假设我们要开发一个vue-components技能,用于将 Stitch 设计转换为 Vue 3 组件。
第一步:创建技能结构在你的本地 fork 的仓库中,创建目录:
skills/framework-conversion/vue-components/ mkdir -p scripts resources examples touch SKILL.md第二步:编写 SKILL.md(任务说明书)这是最关键的一步。文件内容需要清晰定义:
- 目标:将 Stitch 生成的 HTML/CSS 屏幕转换为可复用的 Vue 3 单文件组件(.vue),并确保组合式 API 风格和语法正确。
- 输入:指向 Stitch 生成的 HTML 文件的路径。
- 输出:在
src/components/下生成对应的.vue文件,以及可选的composables/用于逻辑复用。 - 步骤:
- 解析 HTML 结构,识别 DOM 节点。
- 将内联样式或 ID/Class 转换为 Vue 单文件组件中的
<style scoped>部分或关联的 CSS 模块。 - 将重复的 UI 块提取为子组件。
- 生成基本的 Vue 3
<script setup>语法。 - (可选)将交互逻辑(如点击事件)转换为 Vue 方法。
- 调用示例:给出 AI 助手应该如何请求使用这个技能的提示词模板。
第三步:编写验证脚本 (scripts/validate.js)这个脚本用于在技能执行后,自动检查生成的文件。
#!/usr/bin/env node const { execSync } = require('child_process'); const path = require('path'); const targetDir = process.argv[2] || './src/components'; try { // 1. 检查是否安装了 Vue 编译器 execSync('vue-tsc --version', { stdio: 'ignore' }); console.log('✅ Vue TypeScript compiler found.'); } catch { console.error('❌ vue-tsc not found. Please install @vue/language-tools.'); process.exit(1); } try { // 2. 对生成的所有 .vue 文件进行类型检查(如果用了TS) execSync(`vue-tsc --noEmit --project ${path.join(targetDir, '../tsconfig.json')}`, { stdio: 'inherit' }); console.log('✅ Vue component type check passed.'); } catch (error) { console.error('❌ Vue component validation failed.'); process.exit(1); }记得在package.json中定义脚本命令:"validate:vue": "node scripts/validate.js"。
第四步:提供资源与示例
resources/vue-style-guide.md:定义本技能推崇的 Vue 代码风格(如使用<script setup>,CSS 使用scoped等)。examples/ProductCard.vue:提供一个从 Stitch 设计转换而来的完美 Vue 组件示例,供 AI 学习模仿。
第五步:测试与提交在本地使用skillsCLI 进行安装测试,确保 AI 助手能正确发现、理解并调用你的技能。然后,就可以向原仓库发起 Pull Request 了。
5. 常见问题与实战排坑记录
在实际使用和探索 Stitch Agent Skills 的过程中,我遇到并总结了一些典型问题,这里分享给大家。
5.1 安装与发现问题
问题:运行npx skills add...命令后,AI 助手(如 Cursor)仍然找不到技能。
- 排查思路:
- 确认安装路径:使用
--global参数会将技能安装到全局目录。不同的 AI 助手扫描的路径可能不同。你需要查阅你所用 AI 助手的文档,确认其如何发现自定义技能。有时可能需要重启 IDE 或 AI 助手插件。 - 检查技能 CLI 版本:确保你使用的
skillsCLI 是最新版本。旧版本可能存在兼容性问题。尝试运行npx skills@latest add ...。 - 手动链接:在某些情况下,你可能需要将技能目录手动符号链接(symlink)到 AI 助手指定的技能目录下。
- 确认安装路径:使用
问题:安装时网络超时或失败。
- 解决方案:
npx会从 npm 仓库下载包。由于网络原因,可能会失败。可以尝试:- 使用国内 npm 镜像源:
npx --registry=https://registry.npmmirror.com skills add ... - 检查是否安装了最新版 Node.js 和 npm。
- 使用国内 npm 镜像源:
5.2 技能执行与输出问题
问题:stitch-loop生成网站时中途停止,只生成了部分页面。
- 原因与解决:这通常是 Stitch MCP 服务器处理长任务超时,或 AI 助手的上下文长度限制导致的。
- 分治法:不要一次性生成超过4-5个页面。先生成核心页面。
- 检查日志:查看 AI 助手的对话历史或错误输出,看是否有明确的超时错误信息。
- 简化提示:初始提示词可能太复杂,先用
enhance-prompt优化,再手动拆分成多个更具体的、串行执行的指令。
问题:react-components转换后的代码样式错乱或布局崩塌。
- 深度排查:
- 审查 CSS 特异性:Stitch 生成的 CSS 可能包含复杂的选择器或
!important规则,转换过程中可能被简化或覆盖。打开浏览器开发者工具,检查元素的计算样式,看预期的 CSS 规则是否被应用。 - 检查包裹元素:转换过程可能会额外添加一层
<div>作为根容器,这可能会破坏原有的 Flexbox 或 Grid 布局。检查生成组件的 JSX 结构。 - 图片与资源路径:确保 Stitch 设计中的图片路径在转换后被正确更新,指向项目
public或assets目录下的正确位置。
- 根本解决:不要追求 100% 全自动转换。将技能输出视为高质量的初稿,开发人员需要在此基础上进行微调和打磨,尤其是复杂的交互组件。
- 审查 CSS 特异性:Stitch 生成的 CSS 可能包含复杂的选择器或
问题:使用shadcn-ui技能时,它建议的命令在我的项目中不工作。
- 排查步骤:
- 项目初始化:确认你的项目已经正确初始化了 shadcn/ui。通常需要在项目根目录运行过
npx shadcn@latest init。 - 配置文件:检查项目根目录下的
components.json文件是否存在且配置正确。这个文件定义了 shadcn/ui 的组件路径和样式引擎(Tailwind)。 - 依赖版本:确保
tailwindcss、class-variance-authority、tailwind-merge等核心依赖已安装且版本兼容。技能给出的建议可能基于最新版本,与你项目中的版本有差异。
- 项目初始化:确认你的项目已经正确初始化了 shadcn/ui。通常需要在项目根目录运行过
5.3 技能开发与调试问题
问题:我开发的新技能,AI 助手能发现但无法正确执行。
- 调试流程:
- SKILL.md 自查:这是 AI 理解技能的唯一天窗。确保描述极度清晰、无歧义。输入输出格式定义明确。可以模仿现有成功技能(如
react-components)的写法。 - 脚本可执行性:确保
scripts/下的文件具有可执行权限(在 Unix 系统上chmod +x script-name),并且脚本开头有正确的 shebang(如#!/usr/bin/env node)。 - 模拟 AI 调用:尝试手动模拟 AI 的行为,在终端运行你的技能脚本,传入预期的参数,看是否能产生正确输出。
- 查看 AI 日志:一些高级的 AI 助手或 MCP 客户端可能有调试模式,可以查看它们是如何解析
SKILL.md和调用脚本的。这是最直接的排查手段。
- SKILL.md 自查:这是 AI 理解技能的唯一天窗。确保描述极度清晰、无歧义。输入输出格式定义明确。可以模仿现有成功技能(如
表格:技能使用问题速查表
| 问题现象 | 可能原因 | 快速解决步骤 |
|---|---|---|
| AI 找不到技能 | 1. 安装路径不对 2. AI 未刷新技能列表 | 1. 检查 AI 技能目录配置 2. 重启 IDE/AI 插件 3. 尝试非全局安装 ( --global) |
| 技能执行无输出或报错 | 1. 技能脚本错误 2. 依赖缺失 3. 权限问题 | 1. 手动在终端运行技能脚本看错误 2. 检查 scripts/内脚本的依赖是否已全局安装3. 检查文件读写权限 |
| 生成结果质量差 | 1. 输入提示词模糊 2. 项目上下文不足 3. 技能逻辑限制 | 1.务必先用enhance-prompt2. 确保 AI 打开了关键文件(如 DESIGN.md)3. 将技能输出作为初稿,人工优化 |
stitch-loop中断 | 1. MCP 服务器超时 2. AI 上下文长度限制 | 1. 分批次生成页面 2. 简化单次任务复杂度 3. 检查网络连接 |
最后,我想分享一点个人体会。Stitch Agent Skills 代表的是一种范式转变:从让 AI 盲目地执行单条指令,转向为 AI 装备上标准化、可复用、富含领域知识的工具。它要求我们开发者以更工程化的思维去构建与 AI 的协作流程。初期搭建这些技能和规范需要投入时间,但一旦跑通,它能将重复性的、模式化的设计到代码的转换工作变得极其高效和可控。最大的收获不是省下了写代码的时间,而是通过强制性的设计系统文档(DESIGN.md)和标准化的组件转换流程,极大地提升了项目的前端代码质量和团队协作的一致性。这或许才是 AI 时代,开发者提升自身价值的正确姿势之一——不是与 AI 赛跑,而是学会如何更好地指挥和赋能它。