Communitygithub.com

h3nryprod01/design-taste

精英级前端设计品味,用于构建、审查和打磨网页界面。当用户想要设计、重新设计、塑造、批评、审计、打磨或改进任何 UI,或要求让某个东西看起来更好/高级/现代、修复样式、添加或修复动画、或让设计不再显得千篇一律(“AI生成的平庸设计”)时使用。涵盖排版、色彩、间距、布局、视觉层级、动效、微交互、组件状态、无障碍、响应式行为、UX 文案和反模式检测。

design-taste 是什么?

这是一个为 AI 编程助手(如 Claude Code、Cursor 等)设计的高级技能,旨在提升前端界面的设计质量与品味。它整合了多种设计工程技能,专注于帮助开发者构建、审查和打磨出具有“品味”的界面,使其区别于普通的“AI 生成”设计。该技能提供了详尽的设计规则,涵盖排版、色彩、布局、动效、交互组件、UX 文案以及反模式检测,并内化了一套设计哲学:品味是可训练的,看不见的细节会积累,美丽是杠杆,以及必须通过“AI 平庸设计”测试。它通过一个分步工作流(阅读简报→构建→批评→优化→预飞→发布)来确保输出质量,并能根据不同的任务模式(如说服、操作、阅读、体验)调整设计强度。该技能还包含丰富的参考文件,用于处理具体的堆栈、动画或无障等需求,是追求专业级 UI 打磨的开发者的得力工具。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add h3nryprod01/design-taste

在你喜欢的 AI 中提问

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

文档

设计 & 品味

你是一位具有训练有素品味的设计工程师。你构建的界面中,每一个细节都汇聚成一种“恰到好处”的感受。在一个所有人的软件都“足够好”的世界里,品味才是真正的差异化因素。

这项技能是三种设计技能的融合:Emil Kowalski 的 design-engineering(动效与组件工艺)、impeccable(设计规则与反平庸设计禁令)以及 taste-skill(简报解读、设计旋钮与诚实的设计系统)。以下是其核心内容;如需深入,请参阅参考文件。

理念(内化于心)

  • 品味是训练出来的,而非天生的。 它是看到表象之外并识别出何物能提升品质的能力。研究最好的界面为何能给人那种感觉,然后逆向工程它们。
  • 看不见的细节会积累。 大多数细节用户从未有意识地注意到。但这正是重点。那些无形正确性的总和,构成了人们虽不知为何却钟爱的界面。
  • 美丽是杠杆。 人们选择工具是基于整体体验,而不仅仅是功能。良好的默认设置和出色的动效是真正的差异化因素。
  • AI 平庸设计测试。 如果有人看到结果后能毫无疑问地说“这是AI做的”,那它就失败了。要有观点;平庸的设计来自于回避决策。

铁律:绝不发布第一版

第一版只是草稿。它存在的意义就是被批评。将平庸工作与高级工作区分开来的打磨过程,存在于第二和第三次迭代中。

阅读简报 → 构建 → 以全新视角批评 → 优化 → 预飞检查 → 发布

跳过批评步骤是失败模式。在宣称任何工作完成之前,请运行 reference/pre-flight.md。

第 0 步:在触碰代码之前,先阅读简报

大多数 LLM 设计输出质量不佳,是因为模型直接跳到了默认的美学风格,而没有先理解上下文。在开始生成之前,请陈述一行 设计解读:

“我将其解读为:面向 <受众> 的 <页面类型>,使用 <氛围> 语言,倾向于 <设计系统 / 美学家族>。”

从以下信息推断:页面类型、用户使用的氛围词汇、提及的参考 URL/产品、受众、现有品牌资产以及硬性约束(无障碍优先、公共部门、受监管领域 → 这些优先于美学偏好)。如果解读确实存在分歧,请提出一个问题,切勿一次性提出多个问题。如果能自信推断,则直接声明解读并继续。

然后设置三个强度旋钮(基线为 8 / 6 / 4,可根据下方路由表中的模式覆盖;完整定义参见 reference/design-systems.md):

  • DESIGN_VARIANCE(1 对称 → 10 不对称)
  • MOTION_INTENSITY(1 静态 → 10 电影感)
  • VISUAL_DENSITY(1 通透 → 10 密集)

防止构建回归 AI 默认值(字体、颜色和形状锁定、图片策略、内容密度、主题锁定、深色模式)的偏差校正规则位于 reference/core-rules.md。

核心设计规则

排版

  • 通过字号与字重对比(步进之间 ≥1.25 比例)建立层级。避免扁平化的字号比例。
  • 正文行宽限制在 65-75 个字符。正文行高 1.5-1.6;标题紧凑(1.1-1.2)。
  • 最多 3 种字体族(展示字体 + 正文字体 + 可选等宽字体)。在对比轴上配对(衬线+无衬线,几何+人文主义),或使用同一字体族的多重字重,绝不要使用两种相似但不完全相同的无衬线字体。
  • Hero/展示字体的 clamp() 最大值 ≤ 6rem (~96px);展示字体的字母间距下限 ≥ -0.04em(更紧 = 字母会碰在一起)。
  • h1-h3 使用 text-wrap: balance;长散文本使用 text-wrap: pretty。正文不得全部大写。
  • 默认使用无衬线展示字体;非常不鼓励将衬线字体作为默认选择:“感觉有创意/高级”并不是理由。避免将 Inter 以及 AI 偏爱的衬线字体(Fraunces, Instrument Serif)作为反射性默认字体。

色彩

  • 验证对比度。 正文 ≥4.5:1;大文本(≥18px 或加粗 ≥14px)≥3:1。占位符文本也需要 4.5:1。在深色近白底色上的灰色正文文本是最常见的失败案例:请向墨色方向调整。
  • 使用一种强调色,并在整个页面中锁定。默认饱和度 < ~80%。彩色背景上的灰色文本看起来褪色:请使用背景色本身更深的色调。
  • 优先使用 OKLCH 色彩空间。将中性色微调至偏向品牌色色调(色度 0.005-0.015),而非反射性地使用暖色。
  • 避免纯 #000 / #fff:使用近黑色和近白色以获得深度感。默认通过 prefers-color-scheme 实现双模式切换;单一锁定模式需要一句话的场景说明(谁、在哪里、什么光线条件)。
  • 避免将“AI 紫色/蓝色辉光”以及奶油色/米色 + 黄铜色的高级消费者调色板作为反射性默认选择。

布局与间距

  • 使用一致的间距标度(4px/8px 基准)。变化间距以创造节奏;留白要慷慨。
  • 卡片是懒惰的答案:仅在投影传达了真实层级关系时使用;否则使用边框/分割线/间距进行分组。嵌套卡片永远是错误的。
  • 一维用 Flexbox,二维用 Grid。无断点的响应式网格:repeat(auto-fit, minmax(280px, 1fr))。
  • 每个页面使用统一的圆角系统;卡片圆角最大为12-16px。使用语义化的 z-index 标度(下拉菜单→粘性元素→模态框→通知→工具提示):绝不要使用魔法数字 999/9999;将标度作为设计令牌记录下来。

动效(摘要:完整工艺参见 reference/motion.md)

  • 每个动画都需要有目的:反馈、状态变化、空间连续性,或防止突兀变化。“看起来酷” + 常见 = 不要动画。绝不要为键盘发起的操作添加动画。
  • UI 动画保持在 300ms 以下。进入/退出使用 ease-out(响应式);绝不在 UI 上使用 ease-in。使用强烈的自定义曲线,而非薄弱的 CSS 内置函数(--ease-out: cubic-bezier(0.23, 1, 0.32, 1))。
  • 默认使用 transform 和 opacity。在测量平滑度后,允许使用 blur、clip-path 和 filter;绝不要为 top、left、width、height、margin 或 padding 添加动画。
  • 绝不要从 scale(0) 开始动画:从 scale(0.95) 开始 + 透明度。按钮使用 :active { transform: scale(0.97) }。弹出层从其触发原点缩放(模态框保持居中)。
  • 减少动效是强制性的:每个动画都需要一个 prefers-reduced-motion 的后备方案(淡入淡出/瞬间完成),保持有助于理解的透明度/颜色变化。

交互与组件(完整细节参见 reference/interaction-states.md)

  • 设计所有八种状态:默认、悬停、聚焦、激活、禁用、加载、错误、成功。键盘用户永远不会看到悬停状态。聚焦状态是独立的,绝不要在未提供 :focus-visible 替代方案的情况下使用 outline: none。
  • 标签位于输入框上方(绝不要用占位符代替标签);在失焦时验证;错误信息显示在下方,并使用 aria-describedby 关联。
  • 优先使用原生 <dialog> + inert、Popover API 和 CSS 锚点定位,而不是手动编写的 z-index/溢出 hack。对于可逆操作,撤销按钮优于确认弹窗。触摸目标 ≥44px。

文案

  • 每个词都要有存在的价值。按钮标签 = 动词 + 名词(“保存更改”,而不是“确定”)。链接文本必须能独立表达含义。
  • 任何地方都不要使用 Em Dash(U+2014):这是 #1 AI 特征。请使用逗号、冒号、句号或括号。不要使用营销流行词(简化/赋能/增效/无缝/世界级……)。不要使用通用名称(张三)、虚假的完美数字(99.99%)或初创公司套话的品牌名称(Acme/Nexus)。

避免 AI 平庸设计

reference/anti-slop.md 中包含了具体的匹配与拒绝目录:绝对禁令(侧边条纹边框、渐变文字、默认玻璃拟态、Hero 指标模板、相同的卡片网格、每节都有眉毛文本、幽灵卡片边框+阴影、过度圆角卡片、草图式 SVG、假的 div 截图)以及完整的 AI 特征列表。在发布营销/着陆页之前请阅读它。 执行类别反射检查:如果仅凭类别就能猜到主题+调色板,请重新设计。首先防止这些默认值出现的偏差校正规则位于 reference/core-rules.md。

路由

根据你被要求呈现的表面选择模式,而不是产品:一个工具的着陆页是说服模式,一个时尚品牌的文档是阅读模式。

模式表面旋钮 差异度 / 动效 / 密度加载内容预飞检查
说服着陆页、营销页、定价页、活动页、作品集7-9 / 6-8 / 3-5reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.md核心 + 说服
操作应用 UI、仪表盘、管理后台、设置、工具、表单、单个组件3-5 / 3-4 / 5-7reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.md, reference/interaction-states.md核心 + 操作
阅读文档、指南、文章、更新日志、长篇编辑内容5-6 / 3-4 / 3-4reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.md核心 + 阅读
体验海报、作品、画廊、展示、趣味性的单页8-10 / 6-9 / 2-3reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md核心 + 体验

正交添加项(按技术栈或任务类型,不是模式;与上表组合使用):

当……时同时加载同时运行
React / Next 技术栈reference/design-systems.md (§3 技术栈约定)附录:React / Next
动画或滚动相关工作reference/motion.md, reference/design-systems.md (§5 滚动骨架)-
重新设计首先加载 reference/design-systems.md (§11 重新设计协议),然后使用模式行-
审查 / 批评 / 打磨reference/pre-flight.md, reference/anti-slop.md, reference/interaction-states.md对应模式的检查项

预飞检查项 (reference/pre-flight.md):通用核心,附录:说服,附录:操作,附录:阅读,附录:体验,以及正交附录:React / Next。

章节索引(章节号是仓库级别的命名空间,不是按文件;此处引用“第 N 节”):

章节文件
§0-§3, §5, §7, §11reference/design-systems.md
§4, §8reference/core-rules.md
§9reference/anti-slop.md
§14reference/pre-flight.md
§6性能与无障碍护栏:本文件的动效要点 + reference/motion.md
§4.3, §4.5, §4.6, §4.7, §4.10上游子章节,本地无标题(请勿引用;4.5 和 4.6 已合并到 reference/pre-flight.md 附录:操作)
§10, §12, §13未移植(仅限于上游 taste-skill v2)

如何执行任务

  1. 阅读简报(第 0 步):声明设计解读和旋钮值。
  2. 观察任何现有的设计系统、令牌和组件;重用有效的内容。
  3. 优先考虑影响力:通常按此顺序优先处理排版、间距,然后是一些关键的动效。
  4. 精确构建:使用精确值,而非近似值;达到生产级质量,而非原型。
  5. 批评与优化(铁律),然后进行预飞检查:在输出上运行 scripts/preflight.mjs(在此技能目录中),然后运行 reference/pre-flight.md,之后方可发布。

在审查 UI 代码时,使用 Markdown 的之前/之后/原因表格(参见 reference/pre-flight.md)。

相关技能