用途:Design Harvest 用于为已有代码库补上设计系统文档。它不凭空创建设计,而是从现有代码中提取事实上的设计令牌,生成符合 Google Labs 规范的 DESIGN.md,再对照真实代码审计并做安全的小幅修复。
三种模式 第一,harvest(/mddesign:harvest):在项目根目录生成结构合法的 DESIGN.md。先做预检,若已存在 DESIGN.md 且未传 --overwrite 则拒绝,提示改用 /mddesign:critique 或加 --overwrite;同时确认 npx 可用。随后派发 design-archeologist 子代理,从代码库提取设计令牌并返回草稿,草稿需含 YAML frontmatter 与 8 个有序小节,并有第 9 节 Agent Prompt Guide。把草稿写入项目根目录的 DESIGN.md,写入经过人工介入(HITL)门控。之后运行 npx --yes @google/design.md lint DESIGN.md 校验,退出码为 0 即完成;非 0 则将 lint 错误回传子代理修复,最多循环 3 次,仍失败就向用户展示最终错误并停止。最后把 lint 状态、文件路径、令牌计数与下一步提示追加到 progress.md。
第二,critique(/mddesign:critique):在 DESIGN.md 旁生成 DESIGN.md.critique.md,共五轮审计。结构轮用 npx --yes @google/design.md lint DESIGN.md --json 获取问题与严重级别。漂移轮读取 frontmatter 令牌表,扫描 UI 文件(tsx、jsx、vue、svelte、html、css、scss 及 tailwind.config.*),找出未被使用的孤儿令牌、代码中未声明令牌的泄漏值,以及相近的重复定义(ΔE 小于 5 的颜色、相差 1px 以内的圆角)。无障碍轮计算背景与文字令牌的 WCAG AA 对比度,低于 4.5:1(普通文本)或 3:1(大文本)即标记;检查是否缺少 colors.focus-ring,以及声明了动效令牌却没有 prefers-reduced-motion 回退。完整性轮检查每个组件是否定义 hover、active、focus、disabled、error 变体,是否有深色模式对应色和响应式断点。一致性轮检查间距、圆角、字号比例是否几何递进、有无异常值。每个发现都有稳定的 F 编号、严重级别(P0 至 P3)、类别、描述、证据、修复建议与 /mddesign:fix 命令。
第三,fix(/mddesign:fix <finding-id>):只应用一条发现。先按编号读取 critique 文件,未找到或已应用则拒绝;展示拟议改动,经 HITL 门控批准后对 DESIGN.md(或相关源文件)做单处编辑;每次编辑后重跑 lint,若回归则回滚并报错;最后在 critique 中标记为 applied,并追加 progress.md。
限制与规则:设计令牌与代码事实以 @google/design.md lint 为准,不重复实现其功能;DESIGN.md 只能在 harvest 与 fix 中写入且必须位于项目根目录;不得编辑 task_plan.md,只能追加 progress.md;必须遵守 HITL 门控。外部依赖为 @google/design.md(npm,Apache 2.0),使用时通过 npx 调用,无需全局安装。