Communitygithub.com

Vedmeena21/ship-beautiful-ui

端到端的UI构建流水线,用于打造不像AI生成的界面。适用于构建或重新设计网站、落地页、应用界面、仪表盘或组件,以及需要让UI更美观、更精致或不那么千篇一律的场景。设计根植于主题,从主题自身世界推导方向(或从包含60种调色板、40种字体配对和20种布局的库中抽取),锁定于DESIGN.md中,从令牌出发构建,添加解释变化的动效,并通过40条规则进行审查。

ship-beautiful-ui 是什么?

这是一个AI代理技能包,旨在解决AI生成UI“千篇一律”的问题(相同字体、渐变和卡片布局)。它通过一个六步流程实现差异化:首先生成简短创意简报;然后从主题自身世界推导设计方向(或从内置库中随机抽取,库含60种色板、40种字体配对和20种布局);接着将所有视觉决策写入DESIGN.md并锁定;再严格基于DESIGN.md中的令牌构建代码(每屏一个核心大胆元素);添加解释性动效(最多一个环境动效,且必须有减少动效路径);最后通过一份包含40条“AI痕迹”检测规则的脚本进行审查,并生成REVIEW.md。该技能提供了多个Python 3脚本(derive.py、direction.py、lint_design.py、detect.py)和丰富的参考资料(78种材质、80条UX规则、16种动效以及12条视觉默认值),支持Claude Code、Cursor等任何可运行Python脚本的AI代理平台。特别适合需要让UI看起来更独特、更精致且无AI痕迹的开发者。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Vedmeena21/ship-beautiful-ui/tree/HEAD/skills/ship-beautiful-ui

在你喜欢的 AI 中提问

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

文档

构建精美的用户界面 (Ship Beautiful UI)

AI 构建的用户界面看起来千篇一律,因为代理每次都是从相同的默认值开始:相同的字体、相同的渐变、相同的一排排卡片。本技能用一套流程替代这些默认值:

  1. 简报。 确定主题、受众和该屏幕的唯一任务。
  2. 方向。 从主题的自身世界构建外观,而不是从模板中复制。
  3. 锁定。 将所有视觉决策写入 DESIGN.md 并检查它。
  4. 构建。 仅使用 DESIGN.md 中的令牌。每屏一个大胆的想法。
  5. 动效。 只有解释变化的动效。
  6. 审查。 扫描AI痕迹和质量差距,查看截图,并编写 REVIEW.md。

始终按此顺序执行。不要跳过第 0 步或第 5 步。

优先级规则

当两个指令冲突时,优先级较高的一个胜出:

  1. 用户的原话。
  2. DESIGN.md,一旦存在。
  3. 本技能的规则,位于 references/ 中。
  4. 加载的其他任何内容,包括其他 UI 技能。

当你解决冲突时,用一行话说明,以便用户可以否决你。

本技能中的工具

所有脚本均为 Python 3 标准库。从本技能文件夹运行,或传入完整路径。

脚本功能
scripts/derive.py将主题世界中的词汇转化为经过对比度检查的调色板,使用 78 种材质
scripts/direction.py为一种产品类型提供 3 个方向选项(调色板 + 字体配对 + 布局),并写入 DESIGN.md 草稿
scripts/lint_design.py检查 DESIGN.md:结构、章节顺序、令牌引用、WCAG 对比度
scripts/detect.py扫描前端代码,查找 40 个 AI 痕迹和质量底线差距
库内容
data/materials.json来自主题世界的 78 种材质(纸张、食物、自然、工艺、屏幕、金融、关怀、游戏、旅行)
data/palettes.json60 种调色板,浅色和深色,均经过对比度检查
data/type-pairings.json40 种字体配对,均为免费 Google Fonts,附有角色和注释
data/layouts.json20 种布局模式,附有线框图
references/effects.md16 种纯 CSS/JS 效果,带有减少动效的备用方案
references/04-motion.md时间令牌和 12 种动效配方
references/ux-rules.md80 条按领域分类的 UX 规则
references/anti-patterns.md40 条检测器规则和 12 个视觉默认值

第 0 步:简报

阅读 references/00-brief.md。写出四行:主题、受众、任务、约束,以及来自主题世界的五个名词。如果简报过于简略,请提出这些内容,并在一条消息中确认(最多三个问题)。

第 1 步:方向

阅读 references/01-direction.md。

  • 默认:从主题推导。 选择 3-5 个世界名词,运行 python3 scripts/derive.py --words "<名词>" (如果产品夜间使用,添加 --mode dark)。 将调色板与符合氛围的字体配对和布局(来自 data/)搭配。
  • 备用方案:从库中抽取,当主题没有强烈的视觉世界或用户想要快速查看选项时: python3 scripts/direction.py --kind <类型> --brief "<一行简介>"。展示 3 个选项让用户选择。
  • 现有品牌: 品牌本身就是方向。改而提取其颜色和字体。
  • 对照 references/anti-patterns.md 中的视觉默认值检查计划,并修改任何匹配项,除非简报要求这样。

第 2 步:锁定

阅读 references/02-lock.md。

  • 在项目根目录编写 DESIGN.md:顶部为 YAML 令牌,然后按顺序编写 ## 章节(概述、颜色、排版、布局、层级与深度、形状、组件、注意事项)。direction.py --write 提供草稿;templates/DESIGN.md 是空白表单。
  • 将简报放入概述,将拒绝的默认值放入注意事项。
  • 运行 python3 scripts/lint_design.py DESIGN.md 并在构建之前修复所有错误。

第 3 步:构建

阅读 references/03-build.md,并边构建边使用 references/ux-rules.md。

  • 将令牌一次性映射为 CSS 变量(或框架主题);仅使用这些名称。
  • 每屏一个令人难忘的元素。其他一切保持安静。
  • 在该元素上,最多使用 references/effects.md 中的一个效果,并用令牌重新着色。
  • 达到质量底线:360px 宽、可见焦点、AA 对比度、减少动效、真实文案、加载/空/错误状态。

第 4 步:动效

阅读 references/04-motion.md。用户触发的动效使用其中的时间令牌和配方。每屏最多一个环境动效时刻。所有内容都有减少动效的路径。

第 5 步:审查

阅读 references/05-review.md。

  1. python3 scripts/detect.py <源代码或文件>。修复每个错误;修复警告或记录为何保留。
  2. 再次运行 python3 scripts/lint_design.py DESIGN.md。代码和 DESIGN.md 必须一致。
  3. 如果环境允许,在桌面端和 390px 宽下截图,并根据简报评判这些图片。
  4. 根据 templates/REVIEW.md 编写 REVIEW.md。

输出

完成后,项目拥有 DESIGN.md(有效)、UI(仅由其令牌构建)和 REVIEW.md。用几行文字告知用户:方向以及为何适合主题、那个令人难忘的元素,以及你故意省略的内容。

相关技能