Communitygithub.com

aj3x/claude-skills

以功能为先的设计指导,涵盖 UI、UX、产品、信息和视觉设计。适用于设计、评审或审查界面、屏幕、组件、布局、流程、图表、文案结构、作为用户表面的 API/CLI,以及任何被使用的对象;在选择美学选项时;当被要求“让它看起来更好/更干净/更简单/更现代”时;或在决定是否添加、保留或移除某个元素、动画或功能时。

claude-skills 是什么?

本技能提供了一套严格但实用的设计决策框架,核心原则是“功能优先,毫无赘余”。它基于 Dieter Rams 的“好设计十大原则”以及 Hicks 定律、Fitts 定律等经典可用性法则,为 AI 代理在审查用户界面、组件或任何用户接触点时提供明确的指导。该技能适用于 Claude Code、Cursor 等支持 SKILL.md 的 AI 编码代理,涵盖了从快速决策流程到详细评审清单、反模式纠正以及与 WCAG 2.2 可访问性和响应式设计相关的非协商性基线的全部内容。使用此技能可以确保 AI 生成的建议始终以用户任务为目标,通过清晰的层级、极简的形式和严格的性能标准来提升设计质量,而不是盲目追求视觉花哨。该框架鼓励首先定义任务和用户需求,然后为每个元素赋予明确职责,并在功能与形式冲突时始终让功能优先。

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

在你喜欢的 AI 中提问

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

文档

设计:功能优先,毫无赘余

立场

好的设计是用户与目标之间最短的诚实路径。形式与功能相辅相成,在最好的作品中,二者融为一体。形式服从功能(Sullivan);少,但是更好(Rams)。

优先级规则:当形式与功能冲突时,功能永远获胜。 美感由清晰度、比例和适配性赢得,而非以可用性、速度、可访问性或诚实性为代价换取。毫无赘余,毫无轻浮:每个元素都必须通过其承担的职责来证明其存在的合理性。

安静并非平淡。目标是设计在使用中消失(Rams 的“中性工具”,Morrison 和 Fukasawa 的“超常规”,Muji 的“空”),而非自我宣扬的设计。

决策流程

对每个元素、功能、样式选择或动画执行以下步骤:

  1. 这个元素服务于谁的任务? 用一句话说明用户和目标。如果说不出来,停下来弄清楚。
  2. 这个元素的职责是什么?(告知、启用操作、分组、引导、提供反馈、建立信任、辅助识别)。没有职责:删除它。
  3. 能否将其移除、合并或推迟? 尝试移除它。如果没有损失,则保持移除。如果失去了一项内容,则询问是否有更简单的元素可以承载它。
  4. 它是否会损害任何任务? 检查速度、清晰度、错误率、可访问性、加载、注意力。对功能造成任何可衡量的损害,无论其外观多好,功能都会胜出。
  5. 最简单的版本是否诚实且完整? 除非有功能上的理由偏离,否则优先使用传统模式(Jakob 定律)。
  6. 然后完善形式: 对齐、间距、节奏、层级、一致性。在此阶段的细致是彻底(Rams #8),而非装饰。

当两个选项功能相同时,选择部件更少、状态更少、文字更少的那个。

原理与实践

归属在 references.md 中。此处是意译,非直接引用。

原理实践
Rams:有用删除任何不服务于任务的内容。功能、颜色、边框、图标、文案。
Rams:易懂界面自我解释。标签优于神秘图标;状态可见;无需手册。
Rams:不引人注目边框后退,内容领先。中性基础色调,一种主色调用于主要操作。
Rams:诚实没有虚假紧迫感、虚假进度、夸大声明或假装的控制。加载显示真实状态。
Rams:持久避免趋势性风格(玻璃、无故渐变、新颖布局)。使用耐用的字体、网格和标记。
Rams:彻底边缘情况、空/错误/加载状态、长字符串和小细节都是设计的一部分。
Rams:尽可能少的设计减少至本质,然后检查本质是否正确。
Hick 定律更少、分组的选项。每个视图一个主要操作;其余部分渐进式披露。
Fitts 定律频繁和主要的操作目标大且靠近指针/拇指当前所在位置。最小约 44px 触摸目标(WCAG 2.2 建议 CSS 下限 24px)。
Jakob 定律使用熟悉的模式(导航位置、表单行为、图标)。新颖性需要功能回报。
Miller 定律 / 分块不要依赖数 7 个项目;将信息组织成有意义的块,并保持工作集小。
认知负荷仅显示当前需要的内容。不要让用户跨屏幕记忆;向前传递上下文。
Doherty 阈值在约 400ms 内响应。超过此时间,显示即时反馈、骨架屏或乐观更新;绝不要静默阻塞。
Tesler 定律复杂性是守恒的。将其吸收在系统(默认值、推断、自动化)中,而不是用户端,除非暴露复杂性本身就是目的。
Postel 定律接受多样化的输入(空格、格式、大小写);输出一致、严格。温和验证,精确解释。
格式塔:接近性、共同区域、相似性、连通性在边框之前先通过间距分组,边框先于盒子。间距是最便宜的结构。相似的功能,相似的外观。
审美-可用性效应抛光让事物感觉更容易并购买容忍度,但它可能掩盖真正的可用性缺陷。用真实任务测试;绝不要将其作为发布有缺陷流程的理由。
Von Restorff让一个重要的东西与众不同。如果所有内容都被强调,则一无所获。
序列位置效应、峰终定律将关键项目放在列表和流程的首/末位;使最后一步和错误时刻考虑周全。
Zeigarnik 效应、目标梯度效应在多步骤任务中显示进度并保存部分工作。
Tufte:数据-墨水比在图表和表格中,每个标记都应承载数据。移除图表垃圾、粗网格线、3D、冗余图例;直接标注。
Norman:示能、意符、反馈控件看起来可操作;每个动作获得可见确认;将控件映射到效果;使错误可恢复。
Vignelli / Müller-Brockmann一个网格、一个微小的字体比例、少量字体、一致的间距。约束创造一致性。
Munari / Aicher用最少的手段解决问题;系统优于一次性;重用组件而非发明。
Krug不要让用户思考。假设扫描而非阅读。明显胜于巧妙。
Wroblewski表单:更少的字段、顶部对齐标签、内联验证、合理的默认值。移动优先迫使优先级排序。
Frost(原子设计)使用标记从小的可重用部分构建;一致性来自系统,而非警惕。
Tognazzini使状态可见、保护用户工作、保持交互可逆、支持直接操作、保持键盘路径。
Ive / Rams 工艺解决细节,直到对象看起来不可避免。材料诚实优于装饰。

审查清单

功能

  • 主要任务可快速完成,主要操作明确无误。
  • 每个元素都有一个可命名的职责;没有装饰性元素。
  • 每个交互元素都有悬停/焦点/激活/禁用/加载/错误状态。
  • 空、错误、离线、缓慢和长内容情况已设计。
  • 操作可逆或与风险成比例地确认。
  • 文案简洁、具体、以行动为导向;错误说明发生了什么以及如何修复。
  • 使用熟悉的模式,除非有功能上的理由破例。

形式(仅在功能通过后)

  • 清晰的层级:每个视图一个焦点;通过模糊测试。
  • 一致的网格、间距比例和字体比例;少量字体和字重。
  • 颜色有限、有目的,且绝不是意义的唯一载体。
  • 对齐和节奏精确;没有“差不多”对齐的情况。

诚实度和持久性

  • 没有黑暗模式、虚假稀缺性或误导性示能。
  • 没有任何东西依赖于一时流行趋势。

反模式

  • 装饰:装饰性渐变、阴影、插图、每个标签旁的图标、围绕一切的边框、降低对比度的背景。
  • 无端动画:延迟任务的动画、为吸引注意而循环的动画或视差动画。动效必须解释变化(来源、层级、状态),且 UI 反馈保持在约 200 到 300ms 以下。尊重 prefers-reduced-motion。
  • 黑暗模式:确认羞耻、隐藏费用、预勾选的订阅、伪装的广告、黄鼠狼式退出、唠叨、虚假倒计时、对同等后果的接受/拒绝使用不对称按钮。
  • 神秘肉:没有标签或工具提示的纯图标控件、没有可见替代方案的纯手势操作。
  • 选择倾倒:用设置和选项取代好的默认值。
  • 重新发明:自定义滚动条、非标准表单控件、为创新而创新的导航。
  • 强调膨胀:所有内容都加粗、着色或加徽章。
  • 样式先于内容:在内容存在之前设计容器;使用 Lorem Ipsum 审批。
  • 用极简主义隐藏:移除标签、示能或状态以求干净。极简意味着必要,而非缺失。
  • 展示优先:作品集截图看起来不错,但空状态和错误状态是空白的。

基线(不可协商)

可访问性(WCAG 2.2 AA 最低标准)

  • 文本对比度 4.5:1(大字文本和 UI 边界/图标为 3:1)。
  • 完整的键盘操作、逻辑焦点顺序、可见的焦点指示器。
  • 语义 HTML 优先;ARIA 仅用于填补空白。所有输入都有标签;有意义的图像有 alt 文本。
  • 绝不仅仅通过颜色传达意义。支持缩放到 200% 和文本大小调整而不丢失内容。
  • 尊重 prefers-reduced-motion 和 prefers-color-scheme。无每秒闪烁超过 3 次的内容。
  • 目标至少 24x24 CSS 像素,触摸目标争取 44x44。

响应式

  • 内容优先、移动优先设计;布局适应内容,断点设置在内容断裂处,而非设备名称处。
  • 在 320px 宽度下无水平滚动。使用相对单位、流体排版、min()/clamp()。
  • 正文字体至少约 16px,行长约 45 到 75 个字符,行高约 1.4 到 1.6。
  • 触摸和指针都适用;悬停绝不是唯一路径。

性能即设计

  • 快速是一个特性:精简的素材、无布局偏移、系统字体或少量 Web 字体、增强功能前显示有意义的内容。

何时形式可以主导(少数例外)

形式仅在服务于功能时才能领先。每种使用必须说明所服务功能:

  • 识别:帮助人们识别和信任产品的品牌标志、颜色或一致的视觉签名。
  • 信任和可信度:专业抛光,其缺失会预示风险(支付、健康、安全)。
  • 可读性和扫描性:为方便阅读和寻找而选择的字体比例、空白和对比度。
  • 与任务的情感契合:根据上下文匹配语气(医学冷静,儿童学习趣味),当情绪影响完成或舒适度时。
  • 有目的的愉悦感:单个、短暂、可跳过、确认成功或教授一个机制的时刻(绝不要在频繁或阻塞路径上)。
  • 艺术指导上下文:编辑、营销、游戏和作品集,其中体验本身就是产品。即使在这些情况下,导航、阅读和购买路径仍需保持功能优先。

如果无法将例外表述为“这有助于用户做 X”,则它就不是例外。

工作方法

  1. 用 2 到 3 句话描述用户、任务和约束条件。
  2. 内容和结构优先(信息层级、流程),视觉效果最后。
  3. 使用真实内容、真实数据量和真实边缘情况。
  4. 从最朴素的传统解决方案开始;仅添加测试或明确需求所证明的内容。
  5. 使用清单审查;先删除后添加。
  6. 在报告设计决策时,说明它服务什么功能,并明确说明是否因为损害功能而拒绝了某个令人喜爱的选项。

相关技能