design-review

工程开发 社区 v2.0.0
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

设计思路

design-review 是 gstack 给前端 / UI 工作的「事后视觉审计」:跑完一个迭代后扫一遍设计质量、记一份 design score 与 ai-slop score(设计感 vs 大模型味),然后有节制地让模型自己修一部分发现,每个修复独立 commit,可单独 git revert。重要纪律是「revert on regression」——任何一次修复让东西更差,立刻还原;以及「CSS-first」——能用样式解决就不动结构,更安全更可逆。

工作流要点

  • Clean working tree required:脏树先用 AskUserQuestion 让用户选 commit / stash / abort。
  • One commit per fix:永远不要把多条设计修复打成一个 commit。
  • 只在 Phase 8e.5 写新回归测试,绝不改 CI 配置、绝不改既有测试,仅新建测试文件。
  • Revert on regression:发现修得更糟 → 立即 git revert HEAD
  • Self-regulate:按 design-fix 风险心智模型,拿不准就停下问。
  • CSS-first:CSS 改动比组件结构改动更安全、可回滚。
  • DESIGN.md export:Phase 2 用户接受的话可以从这次 review 抽出 DESIGN.md

Plan 文件追加规则(重要)

要把 ## GSTACK REVIEW REPORT 段落追加到计划文件末尾,不能 in-place 替换:

  1. 删旧 section(如果存在)。
  2. 删完之后 ## GSTACK REVIEW REPORT 必须是文件最后一个 ## 标题;用 Read 校验。
  3. 否则重做一次。

旧版本「mid-file 替换」会导致 review 报告卡在中间,用户看到时(合理地)拒掉计划。

跑完

  • 给一句 PR description 用的 summary:Design review found N issues, fixed M. Design score X → Y, AI slop score X → Y.
  • 仓库有 TODOS.md 时:新发现 → 加 TODO 并标 impact / category;修过的旧 TODO → 注 Fixed by /design-review on {branch}, {date}

适合谁

  • 前端 / 全栈在合并 PR 前想做最后一道视觉过关
  • 用 LLM 大量产出 UI 怕「机器味」过重的产品团队
  • 想把一份设计评分留档作为长期改进基线的人

不适合

  • 后端 / CLI 项目——没界面可看
  • 设计系统还没立——先跑 design-consultationDESIGN.md

配套

design-consultation(建系统)、design-html(落地)、design-shotgun(探多版)、devex-review(开发体验维度)。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
工程开发
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
88 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@garrytan · v2.0.0 · 未声明 license
流狐 Token 估算
较高消耗
流狐接入估算
需手动接入
是否需要外部 API Key
需要 · Vendor-specific
检测到的系统要求
Linux
底层运行要求
Node.js · Bun · Python
检测到的文件与系统行为
  • 只读
  • 允许写入 / 修改
  • Shell 执行
  • 读取环境变量
检测到的网络行为
允许外网请求
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 design-review.preview
# Writing Style (skip entirely if EXPLAINLEVEL: terse appears in the preamble echo OR the user's current message explicitly requests terse / no-explanations output)

- Gloss curated jargon on first use per skill invocation, even if the user pasted the term.
- Frame questions in outcome terms: what pain is avoided, what capability unlocks, what user experience changes.
- Use short sentences, concrete nouns, active voice.
- Close decisions with user impact: what the user sees, waits for, loses, or gains.
- User-turn override wins: if the current message asks for terse / no explanations / just the answer, skip this section.
- Terse mode (EXPLAIN_LEVEL: terse): no glosses, no outcome-framing layer, shorter responses.

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。