sync-figma-token 是一个面向设计令牌与 Figma 变量同步的技能,主要用于代码令牌与 Figma 变量之间的对齐(token parity)工作流。
用途 该技能用于处理代码中的设计令牌与 Figma 变量之间的同步,确保两侧在令牌键、类型、模式值、别名、作用域和代码语法等方面保持一致,并报告漂移(drift)。
主要能力
- 支持三种同步方向:code_to_figma(默认)、figma_to_code、bidirectional。
- 提供删除策略,默认 archive_only(归档而非删除),删除需要用户明确指示。
- 提供冲突策略:prefer_code、prefer_figma、manual_review。
- 支持命名策略(token key normalization strategy)和模式策略(code mode 与 Figma mode 映射)。
- 将两侧规范化为标准行,包含 key、type(COLOR、FLOAT、STRING、BOOLEAN)、modeValues、aliasTarget、scopes、codeSyntax。
- 值校验: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。
- dry-run 输出包含摘要(create、update、aliasFix、scopeFix、syntaxFix、archive、delete)和详细漂移列表(含令牌键与前后值)。
- 每次运行持久化报告 JSON 到 /tmp/sync-figma-token-dry-run-{runId}.json 和 /tmp/sync-figma-token-final-{runId}.json;若持久化失败会明确说明。
使用方式
- 强制前置条件:每次调用 use_figma 前必须先加载 figma-use。
- 安全规则:生成 dry-run 输出后必须停止并请求批准,不得在同一轮执行任何写入 use_figma 调用;需以普通确认问题询问(例如“Apply these changes? (yes/no)”),仅在明确肯定后继续;若回复不清晰或否定,则不执行写入。
- 标准源格式优先级:Design Tokens JSON(tokens.json、tokens/*.json、DTCG 风格)、Style Dictionary 输入 JSON、平台主题源(Compose/Kotlin/TS,仅在 JSON 源不可用时)。若源格式非标准,需在 dry-run 输出中明确说明假设。
- 写入前需确定策略:direction、deletePolicy、conflictPolicy、namingPolicy、modePolicy。
- 应用顺序:确保集合/模式、创建缺失的原始令牌、创建/更新语义别名、应用值更新、应用作用域和代码语法、按 deletePolicy 归档过期令牌;不得并行化写入 use_figma 调用。
- 成功条件:应用后运行新的 diff,未解决漂移为零,或仅剩明确批准的例外。
适用场景 适用于需要保持代码设计令牌与 Figma 变量一致性的团队,尤其是使用 Design Tokens JSON 或 Style Dictionary 的工作流,以及需要严格审批和漂移报告的场景。
限制
- 必须加载 figma-use 才能调用 use_figma。
- 写入操作必须经过明确批准,不能自动执行。
- 默认不删除,仅归档;删除需用户明确指示。
- 非标准源格式需声明假设。
- 冲突处理依赖所选策略,manual_review 时会列出冲突并停止。
- 关于收费、价格、平台支持范围等具体信息暂未提供。