SuperAPI AI 工具集

design-system

设计与创作

查看项目

更新于 10-30 16:20

技能介绍

用途 这是一套多站点共用的设计系统技能:底色、分层、功能色、字体、圆角共用,每个产品只换界面强调色。色值本身存放在设计系统目录的 tokens.json 中(格式见 references/token-format.md),不包含在技能里。本技能负责三项工作:分析站点的主题色、接入新站点或新主题、检查插件是否遵守约定。

定位设计系统 按顺序查找,找到即停:用户给出的路径;当前仓库的 design-system/tokens.json;仓库 AGENTS.md/CLAUDE.md 中写明的品牌仓库路径。如果都找不到,就询问用户,不自行编造色值。找到后先运行一次检查:python3 scripts/check_tokens.py <design-system>/tokens.json

一、分析站点主题色 当用户给出 URL、询问其主题色或配色做法,或想参考它时使用。 先界定分析对象:营销站(首页、定价页)与产品界面(登录后的应用)常常用不同颜色,需确认用户要分析哪一个,并在结论中写明实际分析的地址。 证据分级:①界面实测(产品界面中实际渲染元素的 getComputedStyle)用于下结论;②变量定义(产品自己命名的主题变量)说明定义了这个色,是否在用要看可见性;③素材或第三方旁证(图标、插画、背景视频像素、CLI 配色、通用色板、第三方 DESIGN.md 合集)只用于核对,不单独下结论。 定义了不等于在用:对每个候选强调色,列出它出现在哪些可见元素上以及平时是否可见;只在键盘焦点环、偶发提示圆点等状态出现的颜色,不能算界面强调色;如果界面平时只有黑白灰,就直接说明是黑白的,并单列“定义了但几乎不可见”的颜色。图标渐变取像素平均会得到界面中不存在的颜色;CLI 终端配色与网页界面不是一套;旁证与实测冲突时以实测为准,并写出冲突值。 需要登录的界面:请用户先在浏览器登录,再用宿主的浏览器工具连接已登录页面实测,不替用户登录,不输入账号密码;看不到就标 UNVERIFIED,不用营销页或图标颜色代替。 可用 dembrandt 抽取实际渲染颜色(锁版本):npx -y dembrandt@0.39.2 <url> --shadcn --wcag --save-output;报缺浏览器时再运行 npx -y dembrandt@0.39.2 install-browser。再用 Playwright 或宿主浏览器工具实测按钮、当前项、选中态的颜色与 CSS 变量;深色模式用 colorScheme: "dark" 再读一遍。多种实心按钮中,首屏面积最大且文案为主要行动的是主按钮,其余为次要按钮。外层读到透明色时,向内层或 ::before/::after 查找。遇到人机验证不绕过,只用 dembrandt 结果并写明未实测。页面重定向时写明实际分析地址。 输出一张表和不超过 5 条做法总结,回答:分析的是营销站还是产品界面及实际地址;界面强调色(色值与来源变量名)及其可见元素和面积,界面黑白就直说;中性色偏冷、偏暖或纯灰,分层靠线、亮度还是阴影;主按钮文字白还是深、WCAG 对比度是否达标;选中态形式与背景是否染品牌色。每个色值标注证据级别,推断另标,未看到标 UNVERIFIED。

二、接入新站点或新主题 新站点:从 tokens.json 生成 CSS 变量并放入站点样式;根元素加 data-accent="<主题>",深色模式加 .dark;组件只写语义角色 var(--primary) 等,把写死颜色换成最接近的角色,换不上就记录并询问用户,不新造角色;运行插件检查,再用真实页面看浅色、深色各一遍。 新主题:在 themes 里加 12 阶色阶(浅、深各一套)、solid、solid-foreground,solid 按按钮规则确定,运行 check_tokens.py 全部通过才算完成。 按钮规则:保留主题色相,OKLCH chroma 拉到色域上限再调亮度;solid 通常写成 { "light": …, "dark": … };白字、字重 500;主按钮用胶囊圆角,次按钮用黑白且深浅模式反相;主按钮白字对比度只要求 ≥ 3.0(低于 WCAG AA 4.5,是有意取舍,check_tokens.py 按 3.0 检查)。否掉的做法:原色配近黑字、加深到 4.5 再配白字、原色配同色相深字。产品本身黑白就照实使用黑白按钮。拿不准时做浅深两种模式样本给用户看实物。

三、检查插件是否遵守约定 插件只用语义角色:不写死色值,var() 不带后备色,不引用设计系统中没有的角色;缺变量应显眼地报错。运行 python3 scripts/lint_plugin.py <插件目录> --tokens <design-system>/tokens.json,脚本逐条报 文件:行 — 问题 — 改法,有问题退出 1。故意保留的色值在同一行写 design-system-ignore 并说明原因;logo、插画、截图颜色不算违规,逐条判断后再改。插件注册与加载结构的改动交给 code-plugin-architecture,本技能只管颜色和主题约定。

交付 分析:表格加做法总结,写明分析对象,每个色值标证据级别。接入:改了哪些文件、两个脚本的结果、浅深两种模式的页面验证;没看页面写 UNVERIFIED。检查:问题清单和改法,用户要求时再动手修。