Skip to content

Design Discipline

pcliangx edited this page Jul 1, 2026 · 1 revision

Design Discipline(设计纪律层)

AGF 设计治理的第三层:审美判断。补 token 层(DESIGN.md)与机械审查层(code-reviewer grep 硬编码)之间的空白——前两层管"视觉值是否合规引用",本层管"设计方向与审美有没有 AI 味"。

权威源:ADR-013 + skill agf-design-discipline。本页是教学层,硬规则以主仓为准(Wiki 与主仓冲突时以主仓为准)。


为什么需要这一层

LLM 生成 UI 时高频落入统计默认的"AI 味"。这些模式不违反 token 纪律、也过得了机械审查(颜色都引自 token、没硬编码),但产出"模板化、一眼 AI":

  • AI 紫蓝渐变(from-indigo-* to-violet-*)、neon glow
  • 三等分等高 feature 卡(grid-cols-3 一模一样)
  • emoji 当 icon(🔥✨🚀)
  • 假数据假品牌名(John Doe / Acme / Nexus)
  • Inter 作默认字体
  • 纯黑 #000 / 纯白 #fff
  • 居中 hero(模板化)
  • div 伪造截图 / dashboard

此前 AGF 没有机制拦这些——往往到 UAT 阶段才发现"视觉不达标"再返工。设计纪律层把审查前置到设计产出环节


三层治理(正交,职责不重叠)

承载
token 层 视觉值是什么(色 / 字 / 间距 / 圆角) DESIGN.md(SSOT)+ coding.md 设计 token 纪律
机械审查层 值是否合规引用(grep 硬编码 / on-* 配对 / token 在册) code-reviewer 设计 token 审查项
设计纪律层(本层) 设计方向与审美判断(AI Tells / 三刻度 / Design Read / motion 红线) skill agf-design-discipline + code-reviewer 审美纪律审查项 + agf-design-precheck.sh

纪律层不重声明 token(指向 DESIGN.md)、不做 grep(指向 code-reviewer),只管判断层。


4 个手法(移植 taste-skill,裁剪适配 AGF)

灵感来自 taste-skill,但 taste-skill 是营销页导向,AGF 是产品 UI(登录 / 列表 / 表单 / 详情)——高 MOTION 编排在产品 UI 里是反模式,故裁剪。

① Brief Inference / Design Read

写设计前先输出一句声明,落 spec.md 顶部:

Reading this as: 产品 UI(后台用户列表)for 内部运营, with a 克制 B2B language, leaning toward shadcn/ui DataTable + 中性灰 + 低 motion, VARIANCE/MOTION/DENSITY = 4/3/中。

② 三刻度(审美方向元数据,不进 token YAML)

刻度 产品 UI 默认
VARIANCE(布局实验度) ≤ 5
MOTION(动效深度) ≤ 4
DENSITY(信息密度)

刻度是"风格参数"不是"视觉值"——不进 DESIGN.md token YAML,落 spec.md 顶部的 Design Read 声明。

③ AI Tells 黑名单(每条 hard ban + override 路径)

紫渐变 / 三等分卡 / emoji icon / 假数据 / Inter 默认 / 纯黑白 / 居中 hero / div 伪造截图……(完整清单 + 每条的 override 条件见 skill §4)。

④ Pre-Flight Check(机械可验 + 人审)

agf-design-precheck.sh 机筛 hex / 100vh / emoji / Inter / 紫渐变 / grid-cols-3(advisory)→ reviewer 人审 AI Tells + motion 红线。


两处不照搬 taste-skill(避免冲突)

  1. icon 库:taste-skill 禁 lucide-react → AGF 被 ADR-000 锁 shadcn/ui(默认配 lucide)→ 只禁 emoji 当 icon,不禁 lucide
  2. 设计系统:taste-skill 引导 Material / Fluent / Carbon 多系统 → AGF 锁 shadcn/ui + Tailwind v4 → 只锚定 shadcn/ui + WCAG

产品 UI motion 红线(裁剪的关键差异)

产品 UI 禁 产品 UI 允许
scroll-hijack / parallax / GSAP pinning / kinetic-type hover / active transition
window.addEventListener('scroll') 入场 reveal(whileInView / IntersectionObserver)
useState 跟踪连续输入值(每帧重渲染) 状态过渡(loading skeleton / toast / modal)
磁吸按钮 / 3D tilt(营销页花活) :active 触觉反馈(-translate-y-[1px]
动画只动 transform / opacity,守 prefers-reduced-motion

营销 / 落地页 feature 若 PL 显式声明,可放开 MOTION 到 5-7(仍守 reduced-motion),但不放开到 scroll-hijack / GSAP。


谁用、什么时候

角色 何时 做什么
uiux-designer 产出 spec.md / index.html 前 给 Design Read 声明 + 自查 9 维(原 8 维工程 + 第 9 维审美)
frontend-dev 据 design 实现 UI 时 守 AI Tells,防重新引入 AI 味
code-reviewer 含前端样式 / 原型改动的 PR agf-design-precheck.sh step 0 + AI Tells 人审 + motion 红线核
product-lead 派工时 声明 feature 页面类型(产品 UI vs 营销页,决定刻度档)

进一步阅读

Clone this wiki locally