Design Review Skill
Core Pack — Always Active
This is a core skill. Apply it on ALL visual and frontend work, no exceptions. You do not need permission or a specific trigger to use this.
When to Use
- - Before presenting ANY visual or UX work.
- Treat this as a quality gate, not optional polish.
- Sub-agents doing design/frontend work MUST run this before announcing completion.
Pre-Work: Read Before Building
1. Read the project's guidelines
- - Read
guidelines.md or equivalent design system doc first if it exists. - Follow the project's existing components, tokens, and patterns before inventing anything.
- If no formal guidelines exist, inspect the existing product and match its logic.
2. Research before designing
- - Check how similar tools solve the same problem before inventing a pattern.
- Use proven references when they exist.
- Quality bar references:
- UX Tools — editorial restraint, typography, calm hierarchy
- Inflight by Ridd — motion, depth, data viz polish
- Linear — dense information, excellent hierarchy, no noise
- Vercel dashboard — spacing, typography, dark mode discipline
3. Check design memory
- - Read
memory/channels/{channel-name}.md for prior design decisions. - If memory says Aaron rejected a pattern, don't repeat it.
- If a project brain file is linked from channel memory, read that too.
Aaron's Core Principles
- - Restraint IS the design.
- Spacing is the #1 tell.
- Typography hierarchy > color for information architecture.
- Match references at pixel level before adding your own ideas.
- Existing patterns > new patterns.
- Interactive elements should feel polished, not dead.
- If the foundation is wrong, no polish fixes it.
- Good design is centripetal, not centrifugal.
Reference Files
Read only what the task needs. Keep this SKILL lean, load detail on demand:
- -
references/typography.md — hierarchy, scale, pairing, measure - INLINECODE3 — restrained palettes, tinted neutrals, contrast, OKLCH
- INLINECODE4 — spacing system, rhythm, grouping, layout density
- INLINECODE5 — timing, easing, reduced motion, interactive feel
- INLINECODE6 — patterns Aaron will clock instantly and reject
For sub-agents
- - Read the relevant reference files based on what you're building.
- New layout or dashboard? Read spacing + anti-patterns.
- Type-heavy screen? Read typography + spacing.
- Color or theming work? Read color + anti-patterns.
- Interactive polish? Read motion + anti-patterns.
- If in doubt, at minimum read spacing + anti-patterns.
Pre-Flight Checklist
Run this EVERY TIME before presenting work to Aaron.
Step 1: Visual verification
- - [ ] Take a screenshot of the rendered result.
- [ ] Compare side-by-side with the reference if one exists.
- [ ] Check the target viewport, not an arbitrary devtools width.
Step 2: Design audit
- - [ ] Spacing check — enough breathing room? Default to more.
- [ ] Color check — did you add color that wasn't necessary?
- [ ] Typography check — is hierarchy clear without leaning on color?
- [ ] Pattern check — are you using the project's existing components?
- [ ] Interaction check — hover, focus, active states exist and feel intentional.
- [ ] Integrity check — no placeholders, dead states, broken assets, or missing data handling.
Step 3: Honesty check
- - [ ] Is it actually done?
- [ ] Does it meet the brief, not an adjacent brief?
- [ ] Would you be proud to show this to Aaron cold?
Step 4: Run verification scripts
if you have access to the scripts directory, run these before presenting:
CODEBLOCK0
fix any warnings before presenting. these are the cheapest quality checks — they catch the obvious stuff so the human review can focus on judgment calls.
for CI integration, copy ci/design-eval.py and ci/design-eval.yml into your project to run all three checks on every PR.
Step 5: Present with evidence
- - Screenshot of the result
- What you referenced
- Known gaps or uncertainties
- Link to live/deployed version if applicable
Updating This Skill
- - After Aaron gives design feedback, capture it.
- Add redirects to
references/anti-patterns.md or the relevant reference file. - Add project-specific decisions to channel memory.
- Goal: don't get the same design feedback twice.
设计评审技能
核心包——始终激活
这是一项核心技能。对所有视觉和前端工作均适用,无一例外。无需许可或特定触发条件即可使用。
使用时机
- - 在展示任何视觉或用户体验工作之前。
- 将其视为质量关卡,而非可选的润色环节。
- 从事设计/前端工作的子代理必须在宣布完成前执行此技能。
前置工作:构建前请先阅读
1. 阅读项目指南
- - 若存在,请先阅读 guidelines.md 或等效的设计系统文档。
- 在自行创新前,遵循项目现有的组件、令牌和模式。
- 若无正式指南,请检查现有产品并匹配其逻辑。
2. 设计前先调研
- - 在发明新模式前,先检查类似工具如何解决相同问题。
- 使用已有的可靠参考。
- 质量标准参考:
- UX Tools — 编辑克制、排版、平静的层级
- Inflight by Ridd — 动效、深度、数据可视化打磨
- Linear — 密集信息、优秀层级、无噪音
- Vercel 仪表盘 — 间距、排版、深色模式规范
3. 检查设计记忆
- - 阅读 memory/channels/{channel-name}.md 了解先前设计决策。
- 若记忆显示 Aaron 拒绝过某个模式,请勿重复。
- 若频道记忆链接了项目脑文件,也请一并阅读。
Aaron 的核心原则
- - 克制即是设计。
- 间距是首要指标。
- 排版层级 > 颜色,用于信息架构。
- 在加入自己的想法前,先像素级匹配参考。
- 现有模式 > 新模式。
- 交互元素应感觉精致,而非死板。
- 若基础错误,任何润色都无法修复。
- 好的设计是向心而非离心的。
参考文件
仅阅读任务所需内容。保持此技能精简,按需加载细节:
- - references/typography.md — 层级、比例、配对、度量
- references/color.md — 克制调色板、柔和中性色、对比度、OKLCH
- references/spacing.md — 间距系统、节奏、分组、布局密度
- references/motion.md — 时序、缓动、减少动效、交互感受
- references/anti-patterns.md — Aaron 会立即发现并拒绝的模式
针对子代理
- - 根据构建内容阅读相关参考文件。
- 新布局或仪表盘?阅读间距 + 反模式。
- 文字密集型屏幕?阅读排版 + 间距。
- 颜色或主题工作?阅读颜色 + 反模式。
- 交互润色?阅读动效 + 反模式。
- 如有疑问,至少阅读间距 + 反模式。
起飞前检查清单
每次向 Aaron 展示工作前必须执行。
步骤 1:视觉验证
- - [ ] 截取渲染结果的截图。
- [ ] 若存在参考,并排比较。
- [ ] 检查目标视口,而非任意开发者工具宽度。
步骤 2:设计审计
- - [ ] 间距检查 — 呼吸空间是否充足?默认留更多空间。
- [ ] 颜色检查 — 是否添加了不必要的颜色?
- [ ] 排版检查 — 不依赖颜色时层级是否清晰?
- [ ] 模式检查 — 是否使用了项目现有组件?
- [ ] 交互检查 — 悬停、聚焦、激活状态是否存在且感觉有意为之?
- [ ] 完整性检查 — 无占位符、死状态、损坏资源或缺失数据处理。
步骤 3:诚实检查
- - [ ] 是否真正完成?
- [ ] 是否符合需求,而非相近需求?
- [ ] 是否愿意自豪地向 Aaron 直接展示?
步骤 4:运行验证脚本
若你有权访问脚本目录,请在展示前运行:
bash
检查常见代理反模式
python3 skills/design-review/scripts/anti-pattern-check.py
验证加载、空和错误状态是否存在
python3 skills/design-review/scripts/state-check.py
检查语义 HTML、ARIA 标签、替代文本、标题层级
python3 skills/design-review/scripts/accessibility-check.py
在展示前修复所有警告。这些是最低成本的质量检查——它们能捕捉明显问题,让人工评审专注于判断决策。
对于 CI 集成,将 ci/design-eval.py 和 ci/design-eval.yml 复制到项目中,以便在每个 PR 上运行所有三项检查。
步骤 5:带证据展示
- - 结果截图
- 参考来源
- 已知差距或不确定性
- 若适用,提供在线/部署版本的链接
更新此技能
- - 在 Aaron 给出设计反馈后,记录反馈。
- 将重定向添加到 references/anti-patterns.md 或相关参考文件。
- 将项目特定决策添加到频道记忆。
- 目标:不重复收到相同的设计反馈。