关于 sync-figma-token
用于比较代码设计令牌与 Figma 变量并协调差异的工作流技能。它要求先验证差异、经明确批准后再写入,并谨慎处理删除与冲突。
主要功能
- 01比较代码令牌与 Figma 变量
- 02验证值、别名、模式和范围
- 03按类别标记令牌差异
- 04写入前要求明确批准
- 05保存试运行和最终报告
适用场景
- 01检查代码与 Figma 的令牌一致性
- 02在修改 Figma 前审阅令牌差异
- 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。 - 提出普通的确认问题(例如:“应用这些更改?(是/否)”)。
- 仅在收到明确肯定的批准后继续。
- 如果回复不明确或是否定的,不要执行写入。
标准源格式(必需)
优先使用真实的令牌源,并按以下顺序选择:
- Design Tokens JSON(
tokens.json、tokens/*.json、DTCG 风格) - Style Dictionary 输入 JSON
- 仅当 JSON 源不可用时,才使用平台主题源(Compose/Kotlin/TS)
如果源格式不是标准格式,必须在试运行输出中明确说明所做的假设。
写入前必需的策略
direction:code_to_figma(默认)、figma_to_code、bidirectionaldeletePolicy:默认为archive_only(不是删除)conflictPolicy:prefer_code、prefer_figma、manual_reviewnamingPolicy:令牌键规范化策略modePolicy:代码模式与 Figma 模式的映射
默认情况下绝不删除。删除必须得到用户的明确指示。
规范化规则
将两侧都规范化为以下规范行:
key(规范令牌名称)type(COLOR、FLOAT、STRING、BOOLEAN)modeValues(light/dark 等)aliasTargetscopescodeSyntax
名称规范化示例:
color.bg.primary<->color/bg/primary- 仅当
namingPolicy明确映射时,Neutral10<->Neutral/10
值验证(必需)
试运行必须验证值,而不仅是是否存在或类型是否匹配。
- COLOR:比较 RGBA,容差为
epsilon = 0.0001 - FLOAT:严格比较数值,除非已配置容差
- STRING/BOOLEAN:严格相等
- 别名:比较规范别名目标
漂移类别
每个漂移项都必须包含以下其中一项:
missing_in_figmamissing_in_codevalue_mismatchalias_mismatchtype_mismatchmode_mismatchscope_mismatchcode_syntax_mismatchbroken_alias
试运行输出格式
始终返回:
- 摘要标题:
{
"create": 0,
"update": 0,
"aliasFix": 0,
"scopeFix": 0,
"syntaxFix": 0,
"archive": 0,
"delete": 0
}
- 详细漂移列表,包含令牌键和更改前/后的值。
然后询问:
试运行已完成。应用这些更改?(是/否)
报告持久化(必需)
每次运行都必须持久化报告 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,并将漂移作为信息提示输出。
应用顺序
按以下顺序应用差异:
- 确保集合/模式存在
- 创建缺失的基础令牌
- 创建/更新语义别名
- 应用值更新
- 应用作用域和代码语法
- 根据
deletePolicy归档过期令牌
绝不要并行调用写入类 use_figma。
成功条件
应用后,重新执行一次差异检查。 成功 = 未解决的漂移为零,或仅剩已明确批准的例外。
评论
支持 Markdown