关于 design-tokens-sync
用于审计并协调项目中设计令牌的技能,可检查源文件与代码中的差异和硬编码值,并在获批后更新下游定义。
主要功能
- 01查找令牌定义与使用位置
- 02报告过时、硬编码、孤立及未令牌化值
- 03依据获批的规范源进行协调
- 04提供 CI 差异检查脚本
适用场景
- 01审计设计与代码中的令牌一致性
- 02将组件中的硬编码值替换为令牌引用
- 03添加 CI 令牌差异检查
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ onewave-ai/ claude-skills --skill design-tokens-sync安装后在 Claude Code 中输入/design-tokens-sync确认已加载。
详细介绍
设计令牌同步
确保唯一真实来源始终名副其实。每个设计系统都会以相同方式逐渐失控:有人匆忙硬编码一个十六进制值,在 Figma 中重命名了令牌,却没改 Tailwind;某个一次性 CSS 文件里又出现了一份调色板的副本。本技能会找出偏差,与用户确定方向,然后协调一致。
工作流
- 定位真实来源。 找出令牌定义的所有位置:
tokens.json/*.tokens.json(W3C 格式)、Figma 变量导出文件、tailwind.config.*主题、CSS 自定义属性、TS 主题对象、SCSS 变量文件。如果有多个来源都声称自己是权威来源,在进行任何修改之前询问以哪个为准——同步方向由人决定。 - 构建关系图。 对于每个令牌,记录其权威值、所有下游定义和所有使用位置。对于代码中的每个原始值(十六进制、px、rem、ms、cubic-bezier),判断是否存在对应令牌。
- 偏差报告。 输出
token-drift-report.md,分为以下四类:STALE COPIES—— 与权威来源不再一致的下游定义(同时列出两个值)HARDCODED—— 组件中存在原始值,且有匹配令牌(先精确匹配,再为颜色查找感知距离较近的匹配)ORPHANS—— 已定义但从未使用的令牌UNTOKENIZED—— 出现 3 次或以上但没有对应令牌的原始值;这些值正等待被命名为令牌
- 经批准后协调一致。 过时副本:根据权威来源重新生成下游内容。硬编码值:替换为令牌引用——精确匹配自动替换,近似匹配则逐项确认(略有偏差的蓝色可能是有意为之)。尚未令牌化的值:遵循现有命名规范提出名称,并添加到权威来源。孤立令牌:列出以供删除;绝不自动删除。
- 设防。 提议添加一个成本低廉的预警机制:编写脚本(
npm run tokens:check),重新运行偏差检测,并在出现新的过时副本或硬编码近似匹配时使 CI 失败,这样你离开后系统也能保持同步。
规则
- 一次运行中绝不双向同步。以权威来源为准;任何反向流动的修改(例如设计师希望采用代码中的较新值),都必须先显式修改权威来源。
- 近似匹配的替换必须逐项确认,绝不批量处理。
#0B1121与#0b1220之间的差异可能是偏差,也可能是有意决定。 - 保留语义层级:如果系统有
color.blue.500 -> color.accent -> button.bg,就在正确的层级修复引用,而不是把所有内容都扁平化为基础值。 - 重命名必须传播到所有位置,或完全不传播——只重命名一部分的令牌比旧名称更糟。
- 尊重生成文件:如果
theme.css由tokens.json构建,就修改源文件并重新构建;绝不手动编辑输出文件。 - 报告要量化健康状况:令牌覆盖率(组件中已令牌化的值占原始值总数的比例)是每次发布都应提升的指标。
快捷命令
- “审计我的令牌”——执行第 1 至 3 步,仅生成报告
- “从 [source] 同步”——使用指定的权威来源进行完整协调
- “哪些值是硬编码的?”——仅查看
HARDCODED类别 - “添加 CI 预警机制”——单独执行第 5 步
评论
支持 Markdown