mcpField
S
sync-figma-token

sync-figma-token

github.com/firebenders设计与 UI27683 次安装31 周前更新
代码仓库

关于 sync-figma-token

用于比较代码设计令牌与 Figma 变量并协调差异的工作流技能。它要求先验证差异、经明确批准后再写入,并谨慎处理删除与冲突。

主要功能

  1. 01比较代码令牌与 Figma 变量
  2. 02验证值、别名、模式和范围
  3. 03按类别标记令牌差异
  4. 04写入前要求明确批准
  5. 05保存试运行和最终报告

适用场景

  1. 01检查代码与 Figma 的令牌一致性
  2. 02在修改 Figma 前审阅令牌差异
  3. 03获批后安全归档过期令牌

MCP 相关

该技能使用 `use_figma` 调用,并要求每次调用前加载 `figma-use`。它规定了写入前的试运行与审批流程。

安装

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

$npx skills add https://github.com/firebenders/sync-figma-token-skill --skill sync-figma-token

安装后在 Claude Code 中输入/sync-figma-token确认已加载。

附带文件maintainers.yml

详细介绍

sync-figma-token

将此技能用于令牌对齐工作流(代码令牌与 Figma 变量)。

强制前置条件:每次调用 use_figma 前都必须先加载 figma-use。

不可妥协的安全规则

生成试运行输出后,必须停止并请求批准。

  • 不要在生成试运行输出的同一轮中调用任何写入类 use_figma。
  • 提出普通的确认问题(例如:“应用这些更改?(是/否)”)。
  • 仅在收到明确肯定的批准后继续。
  • 如果回复不明确或是否定的,不要执行写入。

标准源格式(必需)

优先使用真实的令牌源,并按以下顺序选择:

  1. Design Tokens JSON(tokens.json、tokens/*.json、DTCG 风格)
  2. Style Dictionary 输入 JSON
  3. 仅当 JSON 源不可用时,才使用平台主题源(Compose/Kotlin/TS)

如果源格式不是标准格式,必须在试运行输出中明确说明所做的假设。

写入前必需的策略

  • direction:code_to_figma(默认)、figma_to_code、bidirectional
  • deletePolicy:默认为 archive_only(不是删除)
  • conflictPolicy:prefer_code、prefer_figma、manual_review
  • namingPolicy:令牌键规范化策略
  • modePolicy:代码模式与 Figma 模式的映射

默认情况下绝不删除。删除必须得到用户的明确指示。

规范化规则

将两侧都规范化为以下规范行:

  • key(规范令牌名称)
  • type(COLOR、FLOAT、STRING、BOOLEAN)
  • modeValues(light/dark 等)
  • aliasTarget
  • scopes
  • codeSyntax

名称规范化示例:

  • color.bg.primary <-> color/bg/primary
  • 仅当 namingPolicy 明确映射时,Neutral10 <-> Neutral/10

值验证(必需)

试运行必须验证值,而不仅是是否存在或类型是否匹配。

  • COLOR:比较 RGBA,容差为 epsilon = 0.0001
  • FLOAT:严格比较数值,除非已配置容差
  • STRING/BOOLEAN:严格相等
  • 别名:比较规范别名目标

漂移类别

每个漂移项都必须包含以下其中一项:

  • missing_in_figma
  • missing_in_code
  • value_mismatch
  • alias_mismatch
  • type_mismatch
  • mode_mismatch
  • scope_mismatch
  • code_syntax_mismatch
  • broken_alias

试运行输出格式

始终返回:

  1. 摘要标题:
{
  "create": 0,
  "update": 0,
  "aliasFix": 0,
  "scopeFix": 0,
  "syntaxFix": 0,
  "archive": 0,
  "delete": 0
}
  1. 详细漂移列表,包含令牌键和更改前/后的值。

然后询问:

试运行已完成。应用这些更改?(是/否)

报告持久化(必需)

每次运行都必须持久化报告 JSON:

  • /tmp/sync-figma-token-dry-run-{runId}.json
  • /tmp/sync-figma-token-final-{runId}.json

如果文件持久化失败,必须在输出中明确说明。

冲突处理

发现冲突数据(类型/模式/别名存在歧义)时:

  • 如果 conflictPolicy=manual_review,列出冲突并停止。
  • 如果 conflictPolicy=prefer_code,将 Figma 更新为源值/类型。
  • 如果 conflictPolicy=prefer_figma,保留 Figma,并将漂移作为信息提示输出。

应用顺序

按以下顺序应用差异:

  1. 确保集合/模式存在
  2. 创建缺失的基础令牌
  3. 创建/更新语义别名
  4. 应用值更新
  5. 应用作用域和代码语法
  6. 根据 deletePolicy 归档过期令牌

绝不要并行调用写入类 use_figma。

成功条件

应用后,重新执行一次差异检查。 成功 = 未解决的漂移为零,或仅剩已明确批准的例外。

评论

支持 Markdown