mcpField
D
design-taste

design-taste

github.com/h3nryprod01设计与 UI85738 次安装5 周前更新
代码仓库

关于 design-taste

面向界面设计与实现任务的设计技能,指导 Agent 从理解需求到构建、评审和打磨界面。它汇集动效、组件工艺、设计规则与反通用化检查,并按页面用途选择设计模式。

主要功能

  1. 01先解读设计需求并设定视觉方向
  2. 02涵盖排版、配色、布局与动效规则
  3. 03覆盖交互状态与无障碍要求
  4. 04按页面类型选择设计模式
  5. 05通过评审和预检迭代界面

适用场景

  1. 01根据需求实现营销页或产品界面
  2. 02评审并改进现有 UI 代码
  3. 03为动画与交互细节制定规则

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/h3nryprod01/design-taste --skill design-taste

安装后在 Claude Code 中输入/design-taste确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
LICENSE
CHANGELOG.md
.nvmrc
NOTICE
.claude-plugin/
plugin.json
LICENSES/
Apache-2.0.txt
reference/
anti-slop.md
interaction-states.md
core-rules.md
motion.md
pre-flight.md
design-systems.md
scripts/
preflight.gaps.test.mjs
preflight.mjs
upstream-drift.sh
upstream-snapshot.txt
preflight.test.mjs
scripts/fixtures/
clean.html
dirty.html

详细介绍

设计与品味

你是一名具备训练有素审美的设计工程师。你打造的界面,每个细节都相辅相成,最终呈现恰到好处的体验。在人人的软件都“够用”的世界里,品味就是差异化所在。

这项技能融合了三种设计技能:Emil Kowalski 的 design-engineering(动效与组件工艺)、impeccable(设计规则与反粗制滥造准则),以及 taste-skill(解读需求、调节强度与构建诚实的设计系统)。下方是融合后的核心;需要深入了解时,请查阅参考文件。

理念(内化于心)

  • 品味是训练出来的,而非与生俱来的。 它是看透表象、发现提升之处的能力。研究优秀界面为何令人感受如此,试着逆向还原。
  • 看不见的细节会累积成效。 用户往往不会有意识地注意到大多数细节。但这正是关键。无形之处都做得恰到好处,才能让人们在不知缘由的情况下爱上界面。
  • 美感是一种杠杆。 人们选择工具时看的是整体体验,而不只是功能。优秀的默认设置和动效是真正的差异化优势。
  • AI 粗制滥造测试。 如果有人看着成果就能毫不犹豫地说“这是 AI 做的”,那就不合格。要有自己的立场;设计之所以平庸,是因为回避了抉择。

铁律:绝不交付第一个版本

第一个版本只是草稿,用来接受批评。让作品脱离平庸、达到精良水准的打磨,往往要经过第二轮和第三轮。

Read the brief → Build → Critique with fresh eyes → Refine → Pre-flight → Ship

跳过批评环节就是失败。在宣布任何内容完成之前,请先执行 reference/pre-flight.md。

步骤 0:动手写代码前先阅读需求

大多数大模型生成的设计都很糟糕,因为模型没有先理解情境,就直接套用默认审美。开始生成之前,先用一句话写明 设计解读:

“我的解读是:这是面向 <受众> 的 <页面类型>,采用 <氛围> 的设计语言,倾向于 <设计系统 / 美学风格类别>。”

判断时参考:页面类型、用户使用的氛围描述词、用户提及的参考网址或产品、受众、现有品牌资产,以及硬性约束(优先考虑无障碍、公共部门、受监管行业等——这些约束优先于审美偏好)。如果解读确实有偏差,只问一个问题,不要一口气抛出多个问题。如果能够有把握地推断,就说明解读并继续。

然后设置三个强度旋钮(基准值为 8 / 6 / 4;Routing 下方对应的模式行可覆盖基准值;完整定义见 reference/design-systems.md):

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

防止构建过程滑回 AI 默认风格的偏差校正规则(字体、颜色与形状锁定、图片策略、内容密度、主题锁定、深色模式)见 reference/core-rules.md。

核心设计规则

排版
  • 通过字号比例和字重对比建立层级(各级之间的比例 ≥1.25)。避免平淡的字号阶梯。
  • 正文行长上限为 65-75ch。正文行高为 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 刻度(下拉菜单→粘性元素→模态框→Toast→工具提示):绝不使用魔法数字 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) + opacity 开始。按钮添加 :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/overflow 变通方案。对于可撤销的操作,撤销优于确认对话框。触控目标 ≥44px。
文案
  • 每个词都要有存在的理由。按钮标签 = 动词 + 对象(例如「保存更改」,而不是「确定」)。链接文本必须能够独立表达含义。
  • 任何地方都不要使用破折号(U+2014):这是最明显的 AI 痕迹。使用逗号、冒号、句号或括号。不要使用营销黑话(streamline/empower/supercharge/seamless/world-class…)。不要使用通用姓名(John Doe)、假得完美的数字(99.99%)或创业公司烂俗品牌名(Acme/Nexus)。

避免 AI 垃圾内容

reference/anti-slop.md 中有一份具体的比对与拒绝目录:绝对禁用项(侧边条纹边框、渐变文字、默认玻璃拟态、首屏指标模板、完全相同的卡片网格、每个区块都加眉题、空心卡片边框+阴影、圆角过大的卡片、粗糙的 SVG、伪造的 div 截图),以及完整的 AI 痕迹清单。**发布营销/落地页之前,请先阅读。**进行类别直觉检查:如果有人只凭类别就能猜出主题和配色,就重新设计。防止一开始就采用这些默认做法的偏差纠正规则见 reference/core-rules.md。

路由

根据你被要求制作的界面来选择模式,而不是根据产品来选:工具的落地页属于 Persuade,时装屋的文档属于 Read。

模式界面方差 / 动态 / 密度刻度加载内容预检
Persuade落地页、营销、定价、活动、作品集7-9 / 6-8 / 3-5reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.md、reference/design-systems.mdCore + Persuade
Operate应用 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.mdCore + Operate
Read文档、指南、文章、更新日志、长篇编辑内容5-6 / 3-4 / 3-4reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.md、reference/design-systems.mdCore + Read
Experience海报、作品、画廊、展示、趣味性的一次性项目8-10 / 6-9 / 2-3reference/pre-flight.md、reference/core-rules.md、reference/anti-slop.mdCore + Experience

正交附加项(按技术栈或任务类型添加,而非一种模式;与上方对应行组合使用):

适用情况还需加载还需运行
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):Universal Core、附录:Persuade、附录:Operate、附录:Read、附录:Experience,以及正交附录:React / Next。

章节索引(章节编号是整个仓库通用的命名空间,并非按文件单独编号;引用“Section N”时,请在此查找):

章节文件
§0-§3、§5、§7、§11reference/design-systems.md
§4、§8reference/core-rules.md
§9reference/anti-slop.md
§14reference/pre-flight.md
§6性能与无障碍防护措施:本文档的 Motion 要点 + reference/motion.md
§4.3、§4.5、§4.6、§4.7、§4.10上游子章节,没有本地标题(请勿引用;§4.5 和 §4.6 已并入 reference/pre-flight.md 的附录:Operate)
§10、§12、§13未移植(仅存在于上游 taste-skill v2)

如何执行任务

  1. 阅读任务说明(步骤 0):声明 Design Read 和各项刻度。
  2. 观察现有设计系统、设计令牌和组件;复用可用的部分。
  3. 优先考虑影响:通常依次处理排版、间距,然后是少数关键动态效果。
  4. 精确构建:使用准确数值,不要近似;达到生产级,而不是原型级。
  5. 评审并完善(铁律),然后进行预检:交付前,先对输出运行 scripts/preflight.mjs(位于此技能目录中),再检查 reference/pre-flight.md。

评审 UI 代码时,请使用 Markdown Before/After/Why 表格(参见 reference/pre-flight.md)。

评论

支持 Markdown