建立或审计品牌
没有品牌的工厂交付UI,就等于交付模板。该技能为产品赋予明确的视觉与语言识别体系——或者审计并扩展已有品牌——并以交付代理可消费的形式记录下来:BRAND.md以及代币。它负责识别体系(方向、调色板、字体配对、语调)。代币结构属于design-system技能;表面执行属于frontend-design技能。
| 深度 | 参考 |
|---|---|
调色板层级、oklch代币、对比度、字体配对与流体缩放 | references/color-and-typography.md |
| 语调范围、特质、消息层级、一致性检查清单 | references/voice-and-messaging.md |
步骤
-
检测。 调用
search_lore查找品牌、定位、语调和设计ADR。在仓库中查找BRAND.md、DESIGN.md、代币文件(*.tokens.json、tokens.css、theme.ts)、自定义属性的:root块、Logo资源以及营销文案。阅读产品README和工单以了解受众和目的。判断:品牌是否存在? -
品牌存在→在其风格内审计并扩展。 不要用自己的品味替换它。
- 对照所需品质(步骤4)和下面的禁止列表进行评分;指出每个差距对应的文件和值。
- 测量品牌使用的每一对文本/背景组合,在每个主题下,对照WCAG对比度(正文4.5:1,大文本和UI 3:1)——计算比值;
oklch明度不等于对比度。对于作为文本失败的主题色,需要提供更暗的文本安全变体,而不是豁免。 - 在现有方向中填补空白:悬停/激活状态、缺失的表面层级、深色变体、文本安全强调色、缺失的语义角色。
-
无品牌→承诺一个方向 并说明为什么它适合该产品和受众:杂志风格、瑞士/国际风格、新粗野主义、便当盒式、具有真实深度的玻璃拟态、浅色或深色奢华、复古未来主义。“干净极简”不是方向;深色模式是为用户选择的,而不是出于习惯。然后定义:
- 调色板 作为
oklch代币,每种颜色有明确用途:表面(至少两级)、文本(主要、柔和)、强调色,以及语义角色成功/警告/危险/信息——每种都包含一个文本安全变体,当填充色作为文本失败时使用。 - 字体配对——显示+正文字体家族,附带理由(如果产品显示代码或数据,还需要等宽字体),一个
clamp()流体缩放方案,以及加载计划:自托管、子集化、预加载一个关键权重、指标匹配的备用字体。 - 语调——受众、一句话承诺、3–5个语调特质,每个特质附带“我们说/我们不说”示例,以及语调在错误和空状态下的变化。
- 调色板 作为
-
检查所需品质。 品牌必须使交付UI至少展现出
frontend-design技能中列出的十个品质中的四个(层级、间距节奏、深度、排版特征、语义色彩、设计状态、构图、氛围、清晰的动效、系统中的数据可视化)。在BRAND.md中命名这四个以上的品质。 -
编写工件。
BRAND.md:方向与理由、调色板表格(代币、值、用途、对比度结果)、字体配对与缩放、语调、交付的品质、待解决开放问题。当涉及可视化工作时,使用仓库格式的代币文件(DTCG JSON或CSS自定义属性——参见design-system技能),例如::root { --color-surface: oklch(98% 0.01 95); --color-text: oklch(22% 0.02 265); --color-accent: oklch(64% 0.19 28); /* 仅填充色;文本使用 --color-accent-text */ --color-accent-text: oklch(50% 0.19 28); --text-display: clamp(2.5rem, 1rem + 6vw, 6rem); --text-base: clamp(1rem, 0.94rem + 0.3vw, 1.125rem); --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); } -
标记未知策略,不要捏造。 如果定位或受众确实未定,且工单未解决此问题,不要编造一个。作为交付技能,使用
mark_ticket_blocked并附上具体问题;作为知识种子,使用suggest_lore提出品牌建议,同时注明未解决的开放问题。 -
落版。 作为交付技能(你位于工单的工作分支上——用
git branch --show-current验证),提交代码,使用record-evidence技能记录每项验收条件的证据(BRAND.md差异、对比度表格、品质清单),然后停止;运行器提交审查。作为知识种子,使用suggest_lore提出品牌建议;直到人工批准前,它保持为建议。
禁止项(审计必须发现这些)
- 间距一致且无层级感的默认卡片网格。
- 居中的标题+渐变斑点英雄区加上通用的CTA。
- 未修改的库/Tailwind/shadcn默认值被当作完成的设计。
- 每个组件的圆角、间距和阴影相同。
- 一种装饰性强调色配灰色背景加白色文本。
- 默认字体堆叠没有说明理由;超过两个字体家族没有理由。
- 强调色用于正文大小的文本,且对比度未达到4.5:1。
- 出于习惯而非适配性选择的反射式深色模式。
完成标准
BRAND.md陈述了一个方向及其理由;每个调色板对在所有主题下都有可测量的对比度结果且通过要求;字体配对、缩放和加载计划已定义;语调具有特质和示例;列出了四个以上所需品质;未解决的策略问题被列出而不是猜测;代币以仓库格式存在。
规则
- 承诺一个方向并说明原因;绝不能是“干净极简”。
- 使用代币,而非字面量,以便交付代理可复用。
- 在现有品牌风格内进行扩展;绝不以个人偏好覆盖。
- 动效代币用于
transform/opacity;绝不要将布局相关的动画硬编码到系统中。 - 未知策略是明确列出的开放问题,而非编造的答案。