用途:管理 prototypes/ 目录下的模板原型(Design、Chat、Slides、Clips、Analytics),支持打开、编辑、重新发布以及与 Figma 双向同步。每个原型由一个 source.html 构建为单页并发布为 Claude 制品。设计与产品人员通过智能体请求打开原型,无画廊页面。prototypes/README.md 为索引,列出每个模板的文件夹、制品链接、套件与构建信息,应首先阅读。
主要能力:展示已发布应用的原型(Chat、Slides、Clips 网页版和桌面版、Analytics)与代码完全一致,包括菜单图标、状态颜色(代码使用破坏性操作处为红色)、文案逐字保留(含长破折号和 emoji)以及自定义 SVG 图标。Design 原型为重新设计,遵循重设计规则:纯文本菜单、琥珀色警告且红色仅用于破坏性操作、24px 控件、8pt 网格,代码不存在的控件标记为新。令牌在构建时从代码获取,使用代码中的名称(如 --color-border、--design-editor-accent-color),不直接复制值。
使用方式:编辑 <name>/source.html;共享需求放入 prototypes/kit/(菜单、设置、图标通过 kit/add-icons.ts),不在原型间复制。在 <name>/changes.json 顶部添加带日期的过去时条目,原型的 Changes 抽屉中会显示。构建后以无头方式(Playwright)在浅色和深色模式下加载 dist/index.html,要求页面和控制台零错误,并查看变更截图。重新发布到 README 中的链接(Artifact 工具的 url)以保持链接不变,发布仅标记新版本。在当前分支提交并推送。
Figma 同步:Agent-Native 文件 ID 为 oJQ7t9q4e8oHzLZKuki7k1。每个应用在 Figma 中已有页面,<name>/prototype.json 在 figma.page(含 pageId)下记录页面,figma.related 列出相关页面(如 Chat 的智能体聊天界面位于 AgentKit,被所有应用共享),figma.sections 记录该原型映射的区块和帧。若应用无页面需询问,不要自行创建。每次调用 use_figma 前加载 figma-use,调用 get_design_context 前加载 figma-design-to-code。
推送(原型到 Figma):使用文件的设计系统重建界面和状态,保持可编辑且符合系统,不推送截图或 SVG 转换。组件使用 shadcn UI 套件(Nova 变体),通过 search_design_system 查找后按 key 导入;优先复用应用页面上已有组件;图标使用套件图标组件并通过实例属性替换;颜色通过 figma.variables.setBoundVariableForPaint 绑定到文件变量;文本使用 Inter,尺寸、字重和间距来自代码;每个界面一个区块,按 node id 就地更新现有区块,新区块置于下方并检查重叠,未经询问不编辑他人区块或基线;每次调用按名称幂等并返回 node id,先运行 setCurrentPageAsync,失败回滚后重读再试,文本节点需调用 loadFontAsync,只有插槽接受 appendChild;用 get_screenshot 截图验证并记录新 node id 到 prototype.json。
拉取(Figma 到原型):使用 get_screenshot 和 use_figma 读取变更节点(文本、填充及绑定变量、尺寸、自动布局、组件属性),必要时用 get_design_context 获取代码细节。将变更映射到 source.html:文案逐字复制,绑定变量转为对应代码令牌,尺寸对齐 8pt 网格,组件转为原型现有部件。变更模糊或代码尚不支持时询问,并说明哪些控件是新的。添加 Changes 条目(如“Updated … from Figma”),然后构建、验证、重新发布并提交。
适用场景:需要打开或展示原型、修改原型源码并重新发布、将原型设计同步到 Figma 或从 Figma 拉取更新时使用。限制:需遵循上述构建与验证流程;无画廊页面;Figma 操作需加载指定技能;部分信息(如具体构建命令细节、发布工具完整接口、Figma 插件 API 限制)在资料中未完全展开,暂未提供。