design-tokens 是一个面向 AI 消费的设计令牌生成技能,核心思路是“单一色相驱动整套系统”。它基于 OKLCH 色彩空间进行推导:由于 OKLCH 在不同色相间保持感知亮度一致,派生出的深浅色仍保持可读性,暗色模式只需翻转亮度,而不必重新选色。
用途与能力:从一个源色相 --brand-hue 出发,生成 primary、primary-hover、secondary、muted、border、background、foreground 等令牌,并提供语义化的亮色与暗色两套值。推导规则包括:primary 使用 oklch(0.55 0.18 H),primary-hover 使用 oklch(0.48 0.18 H),secondary 为同色相低彩度 oklch(0.55 0.07 H),muted 为 oklch(0.55 0.02 H),border 为 oklch(0.90 0.01 H);亮色模式 background/foreground 为 oklch(0.99 0.005 H) / oklch(0.20 0.02 H),暗色模式则进行亮度翻转。整体保持克制的彩度,遵循单一主色相加锐利点缀的风格,不使用多色相彩虹配色。
使用方式:技能会检测项目使用 Tailwind v4 还是 v3。若为 v4(CSS 中使用 @import "tailwindcss" / @theme,且无 tailwind.config.js 颜色配置),输出 @theme 块;若为 v3(存在 tailwind.config.{js,ts}),则输出 CSS 变量并在 theme.extend.colors 中引用。资料给出了 --brand-hue: 265 的完整示例,以及 v3 / 无 Tailwind 场景下的 :root 与 .dark CSS 变量回退写法。用户只需修改 --brand-hue 这一个值,即可为整个产品重新换肤。
持久化:生成令牌系统后,技能会将其写入宿主项目的 .claude/design/design-system.md(若目录不存在则创建),填写 Brand(--brand-hue 与命名十六进制值)、Type、Spacing 等章节,并标记 Source: generated,以便跨会话保留、后续组件遵循,而无需每次重新推导;若文件已存在则合并而非覆盖。
适用场景:为前端项目快速建立统一、可换肤、支持亮暗模式的颜色令牌体系,尤其适合使用 Tailwind 的项目。
限制与边界:该技能只负责“生成”令牌,令牌的实际使用由 theme-consistency 规则强制执行,因此不应在规则或令牌使用说明中重复 OKLCH 逻辑。文件写入位置、合并策略等遵循 design-system-persistence 规则中的文件契约。资料未提供价格、平台支持范围等其它信息。