关于 stitch::manage-design-system
此技能根据 DESIGN.md 或屏幕分析,在 Stitch 中创建或更新项目级设计体系。它涵盖项目屏幕检索、上传前确认,以及将设计令牌应用到指定屏幕。
主要功能
- 01检索 Stitch 项目与屏幕数据
- 02分析屏幕或设计描述
- 03上传 DESIGN.md 并创建体系
- 04将设计体系应用到屏幕
- 05维护项目元数据
适用场景
- 01根据 DESIGN.md 创建 Stitch 设计体系
- 02从现有屏幕提取设计体系
- 03为指定屏幕应用共享令牌
MCP 相关
使用 Stitch MCP 工具检索项目、屏幕和元数据,上传设计文档、创建设计体系,并将其应用到屏幕。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ google-labs-code/ stitch-skills --skill stitch::manage-design-system安装后在 Claude Code 中输入/stitch::manage-design-system确认已加载。
附带文件examples/metadata.jsonreference/tool-schema.md
详细介绍
设计系统
为项目的设计语言创建一个“事实来源”,确保未来所有屏幕保持一致。
说明
请参阅系统提示词,了解如何处理此技能中提到的所有工具的 MCP 工具前缀 (例如,
get_screen、create_design_system_from_design_md、apply_design_system)。
📥 检索
要分析 Stitch 项目,必须使用 Stitch MCP 工具检索元数据和资源:
- 查找项目:使用
list_projects查找目标projectId。 - 查找屏幕:针对该
projectId使用list_screens查找具有代表性的屏幕(例如,“首页”“主仪表盘”)。 - 获取元数据:对目标屏幕调用
get_screen,获取screenshot.downloadUrl和htmlCode.downloadUrl。 - 下载资源:使用
read_url_content获取 HTML 代码。
🧠 根据描述进行综合
如果需要从现有屏幕中提取设计系统,请使用 stitch-utilities 插件中的 design-md 技能。
如果没有现有屏幕(新项目),或用户直接提供了描述(例如,“深色主题、蓝色和紫色、圆角、Inter 字体”):
- 使用设计映射将用户的模糊描述转换为精确值(参见
stitch-utilities中的design-md技能或generate-design技能)。 - 选择具体的十六进制颜色代码、字体系列和圆角值。
- 生成
DESIGN.md文件(结构参见stitch-utilities中的design-md技能)。 - 继续执行下方的“在 Stitch 中创建或更新设计系统”步骤。
📝 输出结构
DESIGN.md 文件应遵循 stitch-utilities 插件中 design-md 技能定义的结构。
🚀 在 Stitch 中创建或更新设计系统
生成 .stitch/DESIGN.md 后,请确保也在 Stitch 中创建或更新设计系统。
分两步创建设计系统:
警告
检查点 — 需要用户确认。 上传前,必须暂停并征求用户确认。请总结即将创建的设计系统 (显示名称、主要颜色、字体和圆角),并等待用户明确批准 后再继续。用户确认前,不得上传。
- 上传
DESIGN.md:-
选项 A(推荐 — 上传脚本):使用经过修改的
upload-to-stitchPython 脚本,该脚本原生支持.md文件。它会在进程中对 Markdown 文件进行 Base64 编码,并将其发送到/v1/projects/{projectId}/screens:batchCreate端点,从而避开输出令牌限制。python3 stitch-skills/plugins/stitch-design/skills/upload-to-stitch/scripts/upload_to_stitch.py \ --project-id <PROJECT_ID> \ --file-path /path/to/DESIGN.md \ --api-key <API_KEY> \ --generated-by <GENERATED_BY>将
<GENERATED_BY>设为生成DESIGN.md的技能或工具的标识。通过其他技能调用时,使用调用方技能名称 (例如stitch::code-to-design);单独使用时,则使用 Agent/工具名称 (例如Gemini、Claude Code)。如果省略此项,脚本默认使用UserUploadedDesignMd。此操作会返回
sourceScreenID 和screenInstanceID。 -
选项 B(直接使用 MCP 工具):如果
DESIGN.md较小(约 5KB 以下),可以直接调用upload_design_mdMCP 工具,并将经过 Base64 编码的设计 Markdown 内容作为designMdBase64传入。
-
- 创建设计系统:上传后立即调用
create_design_system_from_design_md工具,并传入projectId和selectedScreenInstance(其中包含上传步骤返回的id和sourceScreen)。
上传脚本和 create_design_system_from_design_md 均执行完毕后,
Stitch 会在项目级别保存设计令牌 — 无需在生成提示词中重复提供这些令牌。
🎨 将设计系统应用到屏幕
使用 apply_design_system 将设计系统应用到现有屏幕。
重要
selectedScreenInstances必须仅包含id和sourceScreen—— 不要包含位置或尺寸字段(x、y、width、height),否则 请求会因“invalid argument”而失败。通过get_project获取屏幕实例 ID。
{
"projectId": "...",
"assetId": "...",
"selectedScreenInstances": [
{
"id": "...",
"sourceScreen": "projects/.../screens/..."
}
]
}
如何获取所需的 ID:
- 调用
get_project获取screenInstances— 每个实例都包含id和sourceScreen。 - 调用
list_design_systems获取设计系统的name(格式为:assets/{assetId})— 使用assets/之后的部分作为assetId。 - 筛除所有
type: "DESIGN_SYSTEM_INSTANCE"的实例 — 仅传入 实际屏幕。
📋 更新项目元数据
写入 .stitch/DESIGN.md 后,还要创建或更新 .stitch/metadata.json,
以记录 projectId、title、所有已知屏幕和设计系统摘要。
格式请参阅 examples/metadata.json。
架构参考
完整的 designSystem 对象架构及所有可用选项,请参阅
reference/tool-schema.md。
💡 最佳实践
最佳实践请参阅 design-md 技能(位于 stitch-utilities 插件中),了解如何描述设计元素。