Communitygithub.com

设计(精简版)

替代内置设计技能,用于构建、打磨(去模板化)或审查UI:落地页、网站、仪表盘、应用界面。遵循相同的制作规则,以门控工作流运行,并附带更快的门控脚本。模拟产品UI请转至design-demo。

设计(精简版) 是什么?

设计(精简版)技能为AI代理提供了一套严格、系统化的UI设计工作流,旨在避免AI生成界面常见的“模板化”和“平均化”问题。它通过一系列门控(Gate)来构建、打磨或审查用户界面,每个门都有明确的通过条件、失败处理机制和重试次数限制。技能区分了“构建”(Build)从零开始创建、“打磨”(Polish)改进现有界面和“审查”(Review)仅提供反馈三种模式,并支持“页面”(如落地页)和“应用界面”(如仪表盘)两类产出。其核心在于强制设计决策有据可查(如方向文件和决策文件),并执行一套详细的制作规则,涵盖层次结构、间距、颜色、版式、图标和文案等方面,以确保输出独特、有目的且无槽点。该技能支持在Claude Code、Cursor、Codex等AI代理工具中使用,通过`gate.js`脚本自动化部分检查,并鼓励使用 `.design/` 目录存储设计决策。

兼容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Techychris/claude-design-skills/tree/main/design-lean

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

设计(精简版) 是做什么的?

界面工作以三种模式进行,作为一系列门控运行。每个门控都有一个通过条件、它留下的证据、重试上限以及失败时的处理方式。模拟产品UI(演示英雄区、bento网格、光标引导)属于design-demo技能,该技能会加载此技能以获取其规则。

为什么存在这个技能。 模型的默认UI是它见过的所有UI的平均值:居中标题,上方有一个标签,一行图标卡片,柔和的渐变,一个圆角和一个灰色阴影。意图存在于散文中,但代码生成从模式中提取,所以写成“温暖而具体”仍然会生成模板。因此,每个选择都追溯到书面的决策并得到检查。如果另一个模型在类似的提示下会产生基本相同的屏幕,那么工作就失败了。去除模板化是工作的一半;一个干净但可以属于任何产品的屏幕是下一个模板。

什么超越了此技能。 (1) 真实的品牌、书面的规范或命名的视觉方向:严格遵循它,即使它要求的是此技能称之为默认的东西;在报告中列出每个冲突,并附上应用该规则的一行更改。紫到蓝的渐变、闪光或辉光即使在标志中也算作模板化,除非用户说它们是品牌。(2) .design/system.md(或遗留的.interface-design/system.md):首先阅读它;这些决定已经做出;标记偏离。(3) 此技能,用于所有未明确的事项。


工作流

G0 路由

按顺序询问;第一个肯定的决定。

  1. 仅限发现,无更改? → 审查
  2. 作为插图的模拟产品UI? → 加载 design-demo
  3. 现有UI,其功能、内容和章节顺序必须保持不变? → 打磨
  4. 其他任何情况,包括可能更改内容或结构的重新设计 → 构建

表面类型:页面(阅读和滚动:落地页、营销、作品集、活动、组织网站;依赖英雄区、文案、图像、章节节奏)或应用界面(在其中工作:仪表盘、管理、设置、表格、收件箱、工具;依赖层次结构、密度、状态、令牌)。展示其应用的产品网站是一个页面;其上的应用片段遵循应用界面规则。

门控注册表

门控通过条件留下的证据上限达到上限时的处理
G1 方向匿名测试通过;人员确认,或跳过规则适用方向块2轮探索采用最强选项,在报告中标记为假设
G2 计划审查每个类似提示会落入相同模式的地方都已修改;已编写 .design/decisions.mddecisions.md1次修订继续;在报告中列出剩余的默认值
G3 组件在1440和390宽度下 gate.js --only <name> 通过,并且组件遵循 decisions.md 或记录例外一行门控日志每个检查2次修复尝试将其记录为带有原因的未解决问题;只有当没有其他内容依赖它时才继续
G4 页面完整 gate.js 运行通过;四项测试和判断检查清单通过门控总计,桌面和手机截图3次渲染轮次报告仍然失败的内容
G5 报告报告模板的每个字段都已填写或标记为无报告——
R1 发现(审查)每个发现都有标准、位置、严重性和具体的修复方案发现列表—放弃无证据的发现

构建运行G1至G5。打磨运行G1,然后G4和G5:其通过检查跨越整个屏幕,因此它在最后一次性门控,而不是按组件进行。审查运行G0和R1。

G1等待的跳过规则: 人员只是说去做;品牌或规范已经确定了方向;现有设计内的单个小组件。

无人值守运行。 当没有人可以回答时(计划运行、人员说他们会回来看、或者问题无人回答),不要在G1等待。采用方向,在报告顶部将其陈述为带有可更改它的一行代码的假设,然后继续。跳过付费图像生成并使用“视觉”中的下一个选项。找不到模板化的打磨运行报告其建议的改进,但不应用它们。稍后重定向应花费一条消息。

在构建中,一次只进行一个组件。 对其进行门控、记录,然后开始下一个。故障立即修复,而不是留到最后:问题会相互叠加。


方向

意图

在任何视觉决策之前回答;保持简洁的概要。

  • 这个人是谁? 实际的人:他们在哪里,五分钟前做了什么,接下来会做什么。
  • 他们必须完成什么? 动词:给这些作业评分,找到出故障的部署。它决定了什么领先,什么跟随,什么隐藏。
  • 它应该感觉像什么? 有意义的词:像笔记本一样温暖,像终端一样冷酷,像交易大厅一样密集。“干净现代”毫无意义。

如果概要没有命名主题,提出一个具体的主题、受众和主要任务并确认;如果上下文允许合理的假设,用一行说明并继续。意图是系统性的:如果感觉是温暖的,那么表面、文本、边框、强调和字体都应该温暖。“这很常见”或“它有效”不是理由。

领域探索

产出所有四项:领域(来自主题世界的5个以上概念和隐喻);色彩世界(来自其物理版本的5种以上颜色);标志性元素(只有这个产品才能拥有的一个元素,在它属于的地方一致使用);要拒绝的默认值(三个明显的选择,每个都附有替代方案)。匿名测试:阅读去除产品名称后的提案;如果没有人能说出它的用途,再次探索(上限:2轮)。

方向块

产品:    [它做什么,为谁做,一句话]
特征:    [2–3个具体词汇,不是干净/现代/时尚/极简/高级]
世界:    [它所属的地方或材料;设定中性色调、强调色、视觉元素]
时刻:    [1–2个获得丰富色彩和细节的地方,从内容中选择]
标志性元素:[这个产品独有的一个细节]
拒绝:    [默认 → 替代] × 3

当渲染可用时,附上一个小样本来展示它(真实的色板,真实字体的字号比例,作为真实组件的标志性元素),然后询问“这个方向感觉对吗?”(G1)。

默认生成的设计聚类点。 每个对于某些概要都是合理的,但无论主题如何都会出现;当概要留下自由轴时,不要在此处花费它:(1) 温暖的奶油色接近 #F4F1EA,带有高对比度的衬线字体和接近 #D97757 的赤陶色强调色;(2) 近乎黑色带一种酸绿色或朱红色强调色;(3) 大报的极细线,零圆角,密集的报纸专栏;(4) SaaS 卡片套件:相同的圆角卡片,一个圆角半径,相同的柔和灰色阴影,渐变水洗;(5) 模板镀层:跟踪的大写眉题,A · B · C 元字符串,WORD — 片段 标签,着色近乎黑色的黑色,等宽数据标签,按钮上的 →,紫色或靛蓝色强调色。

决策文件

方向确定后,一次性编写 .design/decisions.md:调色板令牌及其原因,字体家族和比例及其原因,深度策略及其原因,间距基线和密度及其原因,标志性元素及其出现位置,三个被拒绝的默认值。这取代了对每个组件的重新证明。在G3,判断问题只有一行:此组件是否遵循 decisions.md?如果偏离,在门控日志行中记录例外及其原因。


制作规则

标记为 (门控) 的规则由 gate.js 测量;G4检查清单仅涵盖其余部分。

层次结构和排版

  • 每个视图一个焦点:命名用户来此的目的,并通过大小、对比度、位置或空间使其成为主导。
  • 重量和颜色比大小更重要。一个14px大小包含三个层级:数值600主要,标签500次要,元数据400柔和。
  • 密度是以像素为单位的决策,提前选择并重复使用:工具面板12–16内边距感觉紧凑;24感觉像宣传册。
  • 不均匀呼吸:组内紧凑,组间宽松。
  • 比例说明问题:280px的侧边栏表示导航服务于内容;360表示它们是对等的。
  • 克制:大约60/30/10的中性色、次要色调、强调色。在一个地方大胆使用,然后移除一个配饰。

间距

  • 每个外边距、内边距、间隙和固定高度都是4的倍数(门控);小型控件内2px的微调是可以接受的。
  • 相等的东西相等:每个列表一个行高和间隙,每组卡片一个内边距;对称内边距,除非内容另有要求。
  • 东西对齐:图标在同一列,标签在同一基线,数字右对齐。
  • 页面:桌面端章节间距80–128,明显大于章节内的任何间隙。应用:页面内边距24–32。

颜色

  • 一个向世界色调偏移的中性色阶,用于背景、表面、边框和文本;一个色相贯穿表面,仅改变亮度。在应用中,表面保持接近中性,内容承载颜色。
  • 四种文本角色:主要、次要、柔和、禁用。
  • 一个在界面框架(chrome)中的强调色,很少使用:主要操作、选择、那个重要的数字。在选定的时刻内,颜色可以丰富,只要每种颜色都有意义。真实的品牌颜色成为强调色并离开表面。
  • 正文文本和强调色与文本的对比度4.5:1,大文本3:1(门控)。
  • 语义颜色仅携带含义,色调与调色板一致,深色上略微去饱和。正文使用全黑色。
  • 颜色来自令牌,绝不用组件CSS中的原始值(门控)。
  • 表面上没有色相到色相的渐变、渐变文本、彩色辉光或阴影、径向水洗、斑点或霓虹边框。仅允许在一个中性色内的色调偏移,或用作照片上文本下方的中性色背景幕。

表面、边框和深度

  • 一种深度策略:仅边框(技术性,密集),柔和阴影(平易近人),分层阴影(高级),或表面色调偏移。
  • 抬升是安静的。浅色:使用 0 0 0 1px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.05) 表示静态,0 8px 24px rgba(0,0,0,.06) 表示浮动。深色抬升:0 0 0 1px rgba(255,255,255,.08)。
  • 极细线:主要文本颜色在6–10%不透明度(深色上12%),并有一个小进度:分隔线、标准、强调、焦点环。
  • 侧边栏:与页面相同,或者在深色上深一步,由极细线分隔,绝不用不同的色相。弹出框比其父级高一层。输入框比其周围略深。

版式

  • 字体携带个性。一个家族是正常的,两个是上限且明显不同;仅在大的标题中使用展示字体。真实的品牌字体保留。
  • 步进比例:密集UI约1.2,大多数产品UI约1.25,表达性页面约1.333。每个页面最多五种字号。
  • 字重400和500;600用于数字和罕见的强调;700–900仅当品牌规范要求时。
  • 所有地方都使用句子大小写;没有大写跟踪标签,没有斜体强调,没有通过斜体、粗体或颜色来区分的单个标题词。
  • 16px以下字间距为0,从40px起大约 −0.02em,从56px起大约 −0.03em。正文行高约1.5,衬线体正文略高。行长45–75个字符。
  • 数字:表格数字(门控),通篇统一格式。
  • 标题使用 text-wrap: balance,正文使用 pretty;在根元素上使用 -webkit-font-smoothing: antialiased。

图标

用作图标或装饰的表情符号变为来自同一集合(项目自有,否则使用 lucide)的线稿图标,16或18px,描边1.5,使用其文本角色的颜色,每行相同框宽,距离标签8–10px。删除没有增加任何内容的图标;需要颜色的类别获得状态圆点。

文案

  • 从用户的角度撰写(他们管理通知,而不是webhook配置);描述,不要销售。
  • 标题说明产品为谁做什么,使用页面上的事实。如果竞争对手的名字仍然适用,重写。
  • 按钮说明会发生什么(“保存更改”);一个动作在流程中保持其名称(“发布” → “已发布”)。
  • 错误说明发生了什么以及如何修复,无需道歉。空状态邀请下一步操作。
  • 主动语态,平实动词;没有感叹号、问候语标题、炒作词汇(超级增强、无缝、解锁、魔力、颠覆性)或到处是 AI驱动 。短标签(“搜索”)。更改命名其比较(比上月增加+12%)。标题、标签、按钮或提示上没有尾随句号。
  • 绝不捏造证据:没有客户、引用、评论、标志或统计数据。概要留有空白的示例内容是可以的,并需在报告中确认。

结构意味着什么

轮廓、边框、编号、眉题和分隔线编码信息。01 / 02 / 03 仅用于真实的序列。像 PRO, New ✨ 这样的徽章,除非它们承载含义,否则应移除,然后变为安静文本。计数和元数据是安静文本,不是药丸形状。

布局:页面

  • 英雄区以主题世界中最具代表性的事物开始,采用其最合适的形式。一个大数字配一个小标签和一个渐变,只有当它确实是最好的时候才使用。
  • 第一屏用大字号回答访问者的第一个问题,承载 h1,一个主要操作,最多一个次要操作。
  • 最强英雄区:一幅场景图像边缘到边缘,标题在其平静部分,或者不对称分割,视觉内容至少占一半。只有没有视觉内容的短英雄区才使用居中堆叠。
  • 导航:字标、现有链接、一个按钮;登录作为文本链接。没有浮动药丸或玻璃效果。
  • 每个章节:一个标题,与相邻章节不同的构图,其完整内容。没有死区。页脚是一个精心设计的结尾,不是一个站点地图。
  • 小屏幕:按阅读顺序堆叠并重新组合;11px以下无文本;无水平滚动(门控)。

布局:应用界面

  • 真实比例:外壳填充视口,侧边栏240–280,内容流式并在接近1440–1600处封顶,顶部栏56–64。绝不使用狭窄的居中列。
  • 变化大小:紧凑的统计数据上方有一个宽图表,绝不使用一行相同的卡片。主图表至少占据宽度的三分之二和280–360的高度。
  • 统计卡片:标签、数字、带有比较的变动;没有填充性的迷你图或图标;数字不在其他地方重复。
  • 选择表格的列宽以匹配其数据:数字短,名称中等,操作最少。没有水平滚动(门控)。
  • 每个可操作的项都有自己的可点击区域。

制作清单(G4)

判断检查

  1. 此视图的焦点是什么?它是否明显胜出?
  2. 密度是否一致?紧密的组是否显得紧凑?组间是否宽松?
  3. 比例是否说明问题?还是看起来像自动建议?
  4. 间距、半径和颜色的重复是否建立了节奏,还是像随机漫步?
  5. 每个组件是否遵循 decisions.md?
  6. 是否有任何从设计师UI套件中识别出的默认值未被拒绝?
  7. 文本是否包含事实而不是营销?
  8. 小屏幕是否堆叠良好,内容未被裁剪?

gate.js 测量

  • 所有边距、间隙和内边距(margin, gap, padding)均为4的倍数。
  • 正文文本和强调色与文本的对比度 ≥ 4.5:1;大文本 ≥ 3:1。
  • 所有颜色值引用自CSS自定义属性(token)。
  • 数字使用 font-variant-numeric: tabular-nums。
  • 无水平滚动,无 word-break: break-all(除非是代码)。
  • 无内联样式设置宽度、内边距或颜色。

失败不是扣分;如果通过,你就知道它有效。


打磨

应用方向(G1)到屏幕,然后运行G4和G5。

不改变的内容: 功能、内容、章节顺序、数据、文案意图、实际界面中的URL。颜色、字体、间距、半径、图标、布局比例和层次结构都在范围内。

打磨的第一步: 获取完整的方向(即使屏幕有现有的感觉)。然后只在决策文件中更改的值范围内操作该屏幕。

没有模板化 = 完成。 如果屏幕没有来自默认聚类的痕迹,且G4通过,报告列出它是干净的,并建议下一步考虑的微调。打磨报告仅列出已做出的更改以及为什么:每个更改都应追溯到方向或制作规则。


审查

运行G0和R1。

你正在审查的东西是一个以技能输出的界面。 G0确认这是一个审查。

不提出更改。 这是重点。R1是唯一的工作产品:一个发现列表,每个发现都附有它的确切位置、为什么它是一个问题(哪个规则或方向被违反),以及一个可选的地狱——不,一个具体的修复建议。

审查的范围: 默认值(检查5个默认聚类)、方向与产出一致性、制作规则违规、文案中的推销用语。

输出。 只有R1的发现(每个都有标准、位置、严重性和修复建议)。如果一切干净,报告会说“审查未发现模板化或违规;屏幕遵循其方向。”


报告模板(G5)

# 设计报告: [屏幕名称]

## 干预
[构建 / 打磨 / 审查] 于 [日期]

## 方向
**方向:** [方向块的摘要,或者对于审查,现有方向的摘要]
**假设:** [任何在G1跳过的未回答问题,以及更改它们的一行代码]

## 结果
- G1 方向: [通过 / 跳过 / 假设]
- G2 计划审查: [通过 / 已修订 / 已跳过]
- G3 组件: [通过 / # 个例外,链接到日志]
- G4 页面: [通过 / # 个失败]
- G5 报告: [已完成]

## 更改(仅构建和打磨)
- 已更改:[已更改的内容,每个更改一行,引用其决策]
- 已添加:[已添加的内容,每个一行]
- 已移除:[已移除的内容,每个一行]

## 未解决问题(仅构建和打磨)
- [问题描述 | 根本原因 | 依赖项(如果有)]

## 发现(仅审查)
| 标准 | 位置 | 严重性 | 修复建议 |
| --- | --- | --- | --- |
| [...] | [...] | 高/中/低 | [...] |

## 总结
[对输出的定性评估,包括剩余风险和后续步骤]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能