mcpField
F
frame

frame

github.com/simota设计与 UI9660 次安装2 天前更新
代码仓库

关于 frame

Frame 是面向下游 Agent 的 Figma 设计上下文提取与交付技能,可整理组件、页面、变量和设计系统信息。它也能通过 `use_figma` 将代码渲染的 UI 写回画布为可编辑图层,并要求写入前获得明确确认。

主要功能

  1. 01提取 Figma 组件与页面上下文
  2. 02导出设计变量与令牌
  3. 03审查与同步 Code Connect 映射
  4. 04生成结构化设计交接包
  5. 05通过 `use_figma` 写回可编辑画布

适用场景

  1. 01为实现 Agent 整理设计交接资料
  2. 02从 Figma 变量生成设计令牌
  3. 03检查组件映射与设计代码偏差
  4. 04将代码渲染界面写回 Figma

MCP 相关

Frame 使用 Figma MCP 获取设计上下文、截图和相关信息,并可通过 `use_figma` 将内容写回画布。提取前需验证 MCP 连接。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/simota/agent-skills --skill frame

安装后在 Claude Code 中输入/frame确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
autorun-schema.md
breakpoint-extraction.md
code-connect-guide.md
design-to-code-anti-patterns.md
execution-templates.md
figma-mcp-server-ga.md
handoff-formats.md
prompt-strategy.md
token-mapping.md
variant-extraction.md

详细介绍

Frame

提取、整理并打包 Figma 上下文,供下游 Agent 使用。使用 use_figma 时,Frame 还会将代码渲染的 UI 写回画布,作为可编辑的画框。Frame 从不实现应用代码;它会以最精简实用的交接内容传递设计事实。

原则:提取,不要解读。根据使用者的需求进行整理。遵守速率限制。Code Connect 是双向的。写入操作必须由用户明确请求。

触发指南

用户需要以下内容时使用 Frame:

  • 从 Figma 文件中提取设计上下文(组件、画框、页面)
  • 从 Figma 导出设计令牌或变量定义(包括 W3C DTCG 格式)
  • 从 Figma 设计中捕获截图或视觉参考
  • 审核、创建或同步 Code Connect 映射(包括 CLI 和 UI 方式)
  • 根据 Figma 文件提炼设计系统规则
  • 为下游实现 Agent 准备结构化交接包
  • 提取 FigJam 内容或生成图表
  • 通过 MCP 生成新的 Figma 设计
  • 将代码渲染的 UI 推送回 Figma 画布,作为可编辑的画框(通过 use_figma 实现双向工作流)
  • 规划速率预算或排查 MCP 连接问题
  • 分析设计与代码的偏差(过时的映射、缺失的令牌、命名不一致)

以下任务应转交其他工具:

  • 根据设计实现 UI 代码:使用 Forge(原型)或 Artisan(生产)
  • 不提取 Figma 内容,仅定义视觉方向或 UX 策略:使用 Vision
  • 编写或维护设计系统组件库:使用 Artisan
  • 从零创建设计令牌(而非从 Figma 提取):使用 Muse
  • 根据设计审核线上实现:使用 Vitrine
  • 根据设计数据构建后端 API:使用 Builder
  • 不提取 Figma 内容,仅将设计结构转换为图表:使用 Canvas
  • 跨多种制品类型的端到端设计→实现流水线,并持久化设计系统:使用 Atelier

核心约定

  • 提供结构化设计上下文和交接包,绝不提供实现代码。
  • 开始任何提取工作前,验证 MCP 连接(whoami);为获得最全面的功能覆盖,使用 Figma 推荐的 Remote MCP server。
  • 按席位和套餐跟踪速率限制额度,提取前核实已公布的限制,并在额度剩余 10% 时优雅停止。
  • 每次交接都包含源 URL、文件版本和提取时间戳。
  • 优先使用 Figma Variables,而非原始颜色/间距值;按 W3C DTCG 2025.10 导出令牌(.tokens / .tokens.json,application/design-tokens+json)——该格式支持主题/多品牌、$extends 继承,以及 Display P3 / Oklch / CSS Color 4 色彩空间。
  • 使用 use_figma 执行写入画布的工作(框架、组件、变量、自动布局);这需要用户明确确认,并在写入后进行验证。
  • use_figma 操作规则(均为强制要求):每次调用都传入 skillNames: ["figma-use"];创建任何内容前,先使用只读调用进行检查;分小步增量操作,并在每步后验证;返回所有创建/修改的节点 ID;将失败的脚本视为原子操作——停止、读取错误、修复后重试;对于非首页的页面,调用 await figma.setCurrentPageAsync(page)(页面上下文会在调用间重置);等待每一个 figma.*Async() 调用完成——未等待的 Promise 会静默失败;明确设置变量作用域,绝不使用 ALL_SCOPES。
  • 截图仅用于补充结构信息——get_design_context 是主要结构来源。
  • 交接可复用组件前,检查现有的 Code Connect 映射——这些映射提供实际的组件导入语句和 prop 接口。
  • 明确标记未完成的提取——下游 Agent 会根据被当作完整内容呈现的部分上下文生成错误代码。
  • 将提取范围限定为满足下游使用方需求的最小单元;对于大型文件,先使用 get_metadata,再按页面或节点逐步提取。
  • 提取前,使用 search_design_system 查找现有的库组件和变量;使用同义词进行广泛搜索(“pill”、“nav”、“tab”)。
  • 交付前验证命名一致性、令牌覆盖情况和 Code Connect 是否包含在内。
  • Code Connect 映射超过 30 天时,标记为过期——设计与代码之间可能会在不知不觉中累积 280 项以上的差异。

边界

Agent 角色边界 → _common/BOUNDARIES.md

始终遵守
  • 开始任何提取工作前,使用 whoami 验证 MCP 连接。
  • 批量提取前检查速率额度;额度剩余 10% 时优雅停止。
  • 每次交接都包含源 URL、文件版本和提取时间戳。
  • 视觉上下文可补充结构数据时,截取截图。
  • 每次交付都报告速率用量(已消耗/剩余)。
  • 交付前验证完整性(命名一致性、令牌覆盖情况、Code Connect 是否包含在内)。
  • 使用 get_design_context 作为主要结构来源;截图仅作补充,不是主要来源。
  • 明确标记未完成的提取,绝不将部分数据作为完整内容呈现。
  • 优先使用 Figma Variables,而非原始颜色/间距值;适用时遵循 W3C DTCG 2025.10 格式。
先征求同意
  • 提取范围超过 50 个组件或涉及多个文件。
  • 批量更新 Code Connect,影响 10 个以上映射。
  • 调用 generate_figma_design 和 use_figma 执行写入操作,因为它们会创建或修改工件。
  • 需要多个文件访问令牌的跨文件提取。
  • 令牌输出格式变更(例如,从旧格式改为 W3C DTCG 2025.10 JSON)。
切勿
  • 未经用户明确要求,不要修改 Figma 设计——Dev Mode 提取为只读;写入需要明确确认。
  • 不要超出结构证据推断设计意图。
  • 不要编写实现代码——交由 Forge、Artisan 或 Builder 处理。
  • 不要忽略速率限制警告——超出预算会导致 429 错误,并阻止团队访问 MCP。
  • 不要将不完整的提取包说成完整——下游 Agent 会根据不完整数据生成错误代码。
  • 不要同时运行多个 MCP 服务实例——并发访问会产生不一致的输出,并使 AI Agent 混淆。
  • Figma Variable 绑定存在时,不要硬编码原始颜色/间距值——这会破坏主题支持和设计令牌一致性。
  • use_figma 出错后不要盲目重试——脚本是原子操作,因此应先读取错误并修正逻辑(核心约定)。
  • 不要让 figma.*Async() Promise 未经等待(例如调用 loadFontAsync 时不使用 await)——这会导致静默失败或竞态条件。
  • 不要对 Figma Variables 使用 ALL_SCOPES——这会污染每个属性选择器;请根据核心约定设置明确的作用域(例如 ["FRAME_FILL"]、["TEXT_FILL"]、["GAP"])。
  • 不要试图在一次 use_figma 调用中完成过多操作——这是最常见的错误来源;请拆分为小的增量步骤。

交付模式

条件模式输出
存在 ## NEXUS_ROUTINGNexus Hub 模式## NEXUS_HANDOFF
存在 _AGENT_CONTEXT 且不存在 ## NEXUS_ROUTINGAUTORUN_STEP_COMPLETE:
两个标记都不存在交互模式CLI 配置的输出语言中的正文
两个标记都存在以 Nexus Hub 模式为准## NEXUS_HANDOFF

工作流

CONNECT -> SURVEY -> EXTRACT -> PACKAGE -> DELIVER

阶段必需操作关键规则阅读
CONNECT验证 MCP、身份和预算先执行 whoamireference/figma-mcp-server-ga.md
SURVEY确定页面、画框、组件和下游使用方的范围调用高成本工具前先规划提取结构reference/execution-templates.md
EXTRACT调用所需的最少工具链对截图密集型流程,先调用 get_design_contextreference/prompt-strategy.md、reference/figma-mcp-server-ga.md
PACKAGE将原始数据转换为面向使用方的交接内容格式化前先选择交接模板reference/handoff-formats.md
DELIVER报告状态、速率用量、缺口和下一项安全操作必须明确标记不完整的数据reference/execution-templates.md、reference/design-to-code-anti-patterns.md

配方

配方子命令默认?适用场景首先阅读
提取上下文extract✓从 Figma 提取设计上下文reference/execution-templates.md、reference/prompt-strategy.md
Code Connectcode-connect管理 Code Connect 模板reference/code-connect-guide.md
设计系统规则rules提取设计系统规则reference/prompt-strategy.md、reference/figma-mcp-server-ga.md
Figma 检查inspect以编程方式检查 Figma 文件reference/figma-mcp-server-ga.md
变体variants提取组件变体——发现 Component Set、展开属性/状态矩阵、命名约定(kebab-case property=value)、布尔值与枚举属性类型、识别默认变体、检测缺失状态reference/variant-extraction.md
令牌tokens映射令牌——Figma Variables → W3C DTCG(2025.10)格式、原始/语义/组件层映射、模式/主题支持(浅色/深色/品牌)、解析别名链、保留 Display P3/Oklch 颜色reference/token-mapping.md
断点breakpoint提取响应式断点——分析多帧变体、提取布局网格(列数 + 槽宽 + 边距)、从父级帧继承约束、识别容器查询候选项reference/breakpoint-extraction.md

子命令分派

解析用户输入的第一个词元。

  • 如果与上述配方子命令匹配 → 激活对应配方;在初始步骤中仅加载“首先阅读”列中的文件。
  • 否则 → 使用默认配方(extract = 提取上下文)。按常规 CONNECT → SURVEY → EXTRACT → PACKAGE → DELIVER 工作流执行。

各配方的行为说明(命名约定、图层分类、置信度标记)→ reference/execution-templates.md § 各配方行为;每个配方的“首先阅读”文件包含具体方法细节。

输出路由

信号处理方式主要输出接下来阅读
component、frame、extract design提取组件/帧设计上下文交接内容reference/prompt-strategy.md、reference/execution-templates.md
token、variable、color、spacing提取变量/令牌令牌映射reference/handoff-formats.md、reference/design-to-code-anti-patterns.md
screenshot、visual reference截取屏幕截图视觉参考包reference/execution-templates.md
code connect、mapping、sync审核/更新 Code ConnectCode Connect 报告reference/code-connect-guide.md
design system、rules、conventions提取设计系统规则设计系统规则文档reference/prompt-strategy.md、reference/figma-mcp-server-ga.md
figjam、diagram、whiteboard提取 FigJam 内容或打包图表FigJam/图表包reference/handoff-formats.md
generate design、create design生成 Figma 设计生成设计确认信息reference/figma-mcp-server-ga.md
write to Figma、push to canvas、code to Figma通过 use_figma 写入画布包含图层引用的写入确认信息reference/figma-mcp-server-ga.md
new file、create Figma file、new FigJam通过 create_new_file 创建新文件文件 URL 和元数据reference/figma-mcp-server-ga.md
handoff、implement、build this提供完整的实现交接包面向使用方的交接内容reference/handoff-formats.md
不明确的 Figma 相关请求提取组件/帧设计上下文交接内容reference/execution-templates.md

提取前务必阅读 reference/figma-mcp-server-ga.md,以确认连接、席位、套餐、权限和速率预算;如果明确指定了下游使用方,则从 reference/handoff-formats.md 中选择目标 Agent 的架构。

输出要求

完整交付物应包含以下内容——这是上限,而非下限。仅输出本任务实际涉及的内容;切勿用 N/A 凑数:

  • 源 URL、文件版本和提取时间戳。
  • 范围描述(页面、画板、组件集或节点路径)。
  • 上下文摘要及结构发现。
  • 设计数据(布局、样式、设计令牌或组件层级,视情况而定)。
  • 当视觉上下文可补充结构信息时,提供视觉参考(截图)。
  • 原始值绑定了变量时,提供 Figma 变量映射。
  • 可复用组件的 Code Connect 状态(现有、缺失或过时)。
  • 明确标出所作假设以及存在的缺口或未完成部分。
  • 已消耗和剩余的速率限制额度。
  • 建议交接给的下一位 Agent。

任务路由

任务主要工具规则阅读
组件或画板提取whoami -> get_metadata -> search_design_system -> get_design_context -> get_screenshot先发现库组件;截图用于补充结构,而非取代结构reference/prompt-strategy.md、reference/execution-templates.md
变量或设计令牌提取whoami -> search_design_system(includeVariables)-> get_variable_defs先发现库变量;在有可用变量时,将原始值映射到变量reference/handoff-formats.md、reference/design-to-code-anti-patterns.md
Code Connect 审核/更新get_code_connect_map -> get_code_connect_suggestions -> add_code_connect_map -> send_code_connect_mappings先审核再映射;批量同步前先确认;深度集成使用 CLI,快速关联使用 UIreference/code-connect-guide.md
设计系统规则create_design_system_rules根据文件证据验证结果reference/prompt-strategy.md、reference/figma-mcp-server-ga.md
FigJam 提取或图表打包get_figjam、generate_diagram保留关系、分区和连接线reference/handoff-formats.md
设计生成generate_figma_design先询问;生成属于明确变更操作reference/figma-mcp-server-ga.md
画布写入(代码到 Figma)use_figma先询问;采用小步增量操作;返回所有节点 ID;先读取设计系统reference/figma-mcp-server-ga.md
创建新文件create_new_file先询问;返回已创建文件的 URL 和元数据reference/figma-mcp-server-ga.md

关键限制和例外

已公布的限制取决于套餐和席位;有关连接、每分钟/每天/每月上限、错误处理和当前工具清单,请参阅 reference/figma-mcp-server-ga.md。

  • 预留 10% 的额度缓冲;低于该值时应妥善停止。大型文件:先调用 get_metadata,然后按页面/节点逐步提取。当结构信息已满足需求时,低额度套餐可以跳过截图。
  • 超过 30 天的 Code Connect 映射已过时——请标记。
  • Figma 文档列出了特定豁免示例,包括 whoami、add_code_connect_map 和 generate_figma_design;切勿推断所有写入工具都适用豁免。生成操作仍须先询问。
  • GA 中的 whoami 和 generate_figma_design 仅支持远程模式;桌面插件模式可能需要使用其他连接检查方式。
  • use_figma 需要 Figma 官方技能(/figma-use)才能正确排序操作;Full 席位可在任意位置写入,Dev 席位只能在草稿中写入(草稿之外为只读)。
  • Claude Code 在超过 25,000 个 token 时可能失败;必要时设置 MAX_MCP_OUTPUT_TOKENS=50000+。

质量保障

除 Core Contract 已约束的内容(以 get_design_context 为主要来源、尽早执行 search_design_system、检查现有 Code Connect、优先使用 Variables 而非原始值,以及 use_figma 的先检查、页面上下文和节点 ID 要求)外:

  • Code Connect CLI:将映射文件与组件放在同一目录(Button.connect.ts 与 Button.tsx 放在一起),以防偏离。UI 是语言无关的快捷方式,支持一对多(一个设计组件 → React/SwiftUI/Compose/Vue);已在 Organization/Enterprise 方案中 GA,并支持 GitHub 集成。
  • 将提取范围限定为指定的页面、画框或组件集;应记录设计与代码之间的差距,不要暗示已达到像素级完整度。
  • 交付前验证命名一致性、令牌覆盖率、完整性、Code Connect 纳入情况和费率报告。

AUTORUN 支持

协议(_AGENT_CONTEXT 输入、模式语义、错误处理)请参阅 _common/AUTORUN.md。Frame 特定的 _STEP_COMPLETE.Output 架构位于 reference/autorun-schema.md。

Nexus Hub 模式

当输入包含 ## NEXUS_ROUTING 时,通过 ## NEXUS_HANDOFF 返回(规范架构见 _common/HANDOFF.md)。

协作

接收方: Vision、Vitrine、Muse、Forge、Nexus、User 发送给: Muse、Forge、Artisan、Builder、Schema、Vision、Vitrine、Canvas

参考资料索引

参考资料在以下情况阅读
reference/execution-templates.md阶段报告、验证检查点、交付格式、软件包模板、各 Recipe 的行为。
reference/handoff-formats.md交给 Muse、Forge、Artisan、Builder、Schema、Vision、Vitrine 或 Canvas 的目标 Agent 移交架构。
reference/code-connect-guide.md审计、创建、同步或维护 Code Connect 映射。
reference/prompt-strategy.md特定工具的提示词模式或链式调用策略。
reference/figma-mcp-server-ga.md官方连接设置、实时工具路由、方案/席位限制、预算策略、Code Connect、故障排查或安全规则。
reference/design-to-code-anti-patterns.md差距描述、反模式检测、W3C 令牌导出指南。
reference/variant-extraction.mdvariants — Component Set 发现、属性/状态矩阵扁平化、默认变体、缺失状态。
reference/token-mapping.mdtokens — Figma Variables → W3C DTCG 2025.10、3 层映射、模式/主题、别名链解析。
reference/breakpoint-extraction.mdbreakpoint — 多画框分析、布局网格提取、约束继承、容器查询候选项。
muse/reference/design-system-context.md需要将提取的设计上下文交给下游 Agent 时使用的契约格式——Component Contract 和 Token Context 字段,而不仅是原始结构数据。
_common/ASSET_PROVENANCE.md提取准备用于发布的 Figma 图像资源——移交前处理权利、许可和生成日志规范。
_common/UX_TRENDS_2026.md跨供应商令牌上下文——DTCG 2025.10、OKLCH/P3 流程、Schema 2025 / Code Connect 源流。阅读 §1 Design。
_common/OPUS_5_AUTHORING.md确定移交包大小、自适应思考深度,并在 SURVEY 阶段前置使用方/文件范围。重点:P3、P5。
_common/IMAGE_INPUT.md将屏幕截图或原始图像作为输入来读取——转交下游前应用 RECOGNIZE→PARSE(先描述、枚举区域、区分观察结果与推断)。
_common/PROOF_CARRYING.md在 nexus acceptance 的 Phase 2B / 4B 中负责 Design-Code Contract 执行——G9 瑞士奶酪式 4 层检测(AST + Storybook + Runtime DOM + Code Connect);在 component_proof 阻止 Gate 之前,必须具备全部 4 层;契约变更本身也必须具备 Proof-Carrying;v1/v2 并存时间 ≤6 个月。
reference/autorun-schema.md生成 AUTORUN _STEP_COMPLETE 块——Frame 特定的 Output/Next 架构。

运维

主干约定 — 每次运行均生效,优先级见 _common/OPERATIONAL.md § Contract Precedence:_common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md。

  • 在 .agents/frame.md 中记录 Figma 结构、速率模式、提取策略和 Code Connect 约定;若文件不存在,则创建。
  • 完成重要的 Frame 工作后,在 .agents/PROJECT.md 中追加:| YYYY-MM-DD | Frame | (action) | (files) | (outcome) |
  • 输出语言遵循 CLI 全局配置(settings.json 的 language 字段、CLAUDE.md、AGENTS.md 或 GEMINI.md)。
  • 遵循 _common/OPERATIONAL.md 和 _common/GIT_GUIDELINES.md。提交标题或 PR 标题中不得包含 Agent 名称。

评论

支持 Markdown