关于 ss-tokens
ss-tokens 是 StyleSeed 的设计令牌管理技能,供维护 Tailwind v4 与 CSS 变量的项目使用。它支持生成调色板及同步 JSON 源文件和 CSS 实现。
主要功能
- 01按关键色生成调色板
- 02列出当前设计令牌
- 03添加或更新令牌
- 04同步 JSON 与 CSS
- 05支持明暗模式颜色
适用场景
- 01为项目生成颜色系统
- 02检查现有令牌配置
- 03添加间距或阴影令牌
- 04更新组件使用的令牌
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bitjaru/ styleseed --skill ss-tokens安装后在 Claude Code 中输入/ss-tokens确认已加载。
附带文件scripts/generate-palette.mjsscripts/generator.mjs
详细介绍
在执行此工作流之前,请完成每个会话只需执行一次的更新预检。
设计令牌管理器
注册表优先的制品边界
当 .styleseed/project.json 和 .styleseed/artifacts/index.json 存在时,请先解析请求的制品 ID,然后只读取 .styleseed/bundles/<artifact-id>.md 和 .styleseed/manifests/<artifact-id>.json。对于注册表项目,绝不要回退到全局旧版 bundle。只有在不存在注册表时,旧版项目才可以使用 .styleseed/effective-rules.md。
不要用于以下情况
- 在组件中应用令牌 → 使用
/ss-component或/ss-pattern - 查找现有代码中的令牌违规 → 使用
/ss-lint - 用于非 CSS 令牌系统(Figma、原生 iOS/Android)——仅支持 Tailwind v4 / CSS 变量
操作:$0 | 令牌类型:$1 参数:$ARGUMENTS
令牌文件位置
| 类型 | JSON 源文件 | CSS 实现 |
|---|---|---|
| 颜色 | tokens/colors.json | css/theme.css 中的 :root + @theme inline |
| 字体排版 | tokens/typography.json | css/fonts.css + css/base.css |
| 间距 | tokens/spacing.json | Tailwind 工具类(无需自定义 CSS) |
| 圆角 | tokens/radii.json | css/theme.css 中的 @theme inline |
| 阴影 | tokens/shadows.json | css/theme.css 中的 :root |
说明
generate color — 从一种关键颜色推导系统
不要凭感觉挑选第二种颜色,也不要复制预设。运行共享的 StyleSeed 生成器:
node <installed-ss-tokens>/scripts/generate-palette.mjs \
--key-color "#276B5E" \
--mode light \
--character calm \
--harmony auto \
--temperature neutral \
--out .styleseed/palette.json
此生成器随此技能一同打包,可用于仅安装技能的场景;在生成仓库时,它会从规范的 engine/color 源进行确定性镜像。
支持的控制项包括 light|dark 模式、calm|balanced|vivid|deep 特征、auto|tonal|adjacent|contrast 色彩协调方式,以及 neutral|warm|cool 表面色温。
生成器会保留关键色相,在不裁切通道的情况下将色度映射到 sRGB,构建 11 阶 OKLCH 主色/强调色渐变,依据关键色和保留的状态色相为强调色评分,将基元映射到语义角色,并调整填充亮度,直到文本/操作/焦点配对通过检查。
使用 --format css 输出 CSS 变量,或输出 JSON 以便审查。只有当 valid 为 true 且 contrast 中的每一项都通过时,才能将调色板标记为有效。在 STYLESEED.md 中保存 Key color、Palette character、Palette mode、Palette harmony 和 Surface temperature,然后运行 $ss-resolve;解析器会生成相同的 .styleseed/palette.json 和 palette.css。
list — 显示当前令牌
读取并以格式化表格显示请求的令牌文件。
add — 添加新令牌
- 将令牌添加到 JSON 源文件(
tokens/*.json) - 在
css/theme.css的:root下添加 CSS 自定义属性 - 如果需要 Tailwind 工具类,将其添加到
@theme inline块中 - 如果有深色模式变体,将其添加到
.dark块中
update — 修改现有令牌
- 更新 JSON 源文件中的值
- 更新
theme.css中的 CSS 自定义属性 - 检查所有组件,查看是否有可能需要更新的直接用法
规则
- 始终保持 JSON 和 CSS 同步
- 使用语义名称,而非描述性名称(使用
--success,而非--green-500) - 颜色应同时支持浅色和深色模式
- 新令牌必须同时添加到 JSON 源文件和 CSS 实现中
- 将预设配方视为持续维护的默认项,而非可用颜色的上限。
- 相较于仅依赖互补色/三角配色几何关系,特征和角色分配是更有力的设计控制手段。