Communitygithub.com

design-pass

在页面或组件上应用已确认的视觉方向,优先复用现有组件,然后通过 headless Chrome 审核以及前后像素对比验证每种宽度和暗色模式,并对照 Refactoring UI、Nielsen 和 WCAG 2.2 进行审查。

design-pass 是什么?

design-pass 是一个用于应用视觉方向并保证 UI 一致性的 AI 助手技能。它首先要求开发者在不对代码进行任何修改的情况下建立基线:拍摄目标页面在 375、768 和 1440 像素宽度以及暗色模式下的屏幕截图。接着,AI 分析代码,寻找可复用的组件和模式,避免创建重复组件,并仅按需求应用更改(不添加未要求的 UI 元素)。然后,AI 使用 headless Chrome 和像素差异工具执行第二次审核,以确保更改不会破坏其他页面区域。最后,对照基于 Refactoring UI、Nielsen 和 WCAG 2.2 的检查清单验证输出。此技能适用于 Claude Code 或类似终端 AI Agent,支持通过本地开发服务器运行节点脚本。它适合在任何视觉方向明确但需要精确、可测量执行的任务中使用,例如在引用设计稿之后或设计方向已确定时。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/iamk3nnyt/claude-skills/tree/HEAD/skills/design-pass

在你喜欢的 AI 中提问

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

文档

design-pass 是做什么的?

目标:$ARGUMENTS 工具包:${CLAUDE_SKILL_DIR}/../ui-audit/scripts/ · 检查清单:${CLAUDE_SKILL_DIR}/reference/review-checklist.md

1. 基线(在触碰代码之前)

确保开发服务器正在运行(如有必要,在后台启动;切勿运行生产构建),然后执行:

node ${CLAUDE_SKILL_DIR}/../ui-audit/scripts/audit.mjs http://localhost:<port> --pages <path> --widths 375,768,1440 --dark --out /tmp/design-pass/before

2. 修补前的审核

  • 找出目标渲染的每个组件,以及渲染相同模式的所有其他位置(通过 grep 类字符串和组件名称)。
  • 在编写新组件之前,先复用现有的基本元素(按钮、卡片、模态框、章节标题)。如果相同的标记出现 2 次以上,则将其提取出来,然后一次性重新样式。
  • 仅按需构建。除非被要求,否则不添加新的章节、徽标、切换开关或动画。
  • 仅使用项目令牌。如果某个值不在缩放范围内,则使用最近的步骤,或提出一个新的令牌(参见 design-ref)。

3. 应用

按照检查清单逐步进行:层次结构、每个视图一个主要操作、间距缩放、字体缩放、空/加载/错误状态,以及移动端输入框≥ 16 像素。

4. 验证

node ${CLAUDE_SKILL_DIR}/../ui-audit/scripts/audit.mjs http://localhost:<port> --pages <path> --widths 375,768,1440 --dark --out /tmp/design-pass/after
node ${CLAUDE_SKILL_DIR}/../ui-audit/scripts/diff.mjs /tmp/design-pass/before /tmp/design-pass/after
  • 阅读每个宽度在亮色和暗色模式下的“after”截图。检查差异 PNG 文件中目标范围以外的非预期更改。
  • 灰度检查:使用 --inject "document.documentElement.style.filter='grayscale(1)'" 重新运行一个宽度。
  • 然后完整运行一次 ui-audit 宽度集,并进行类型检查 + lint(无需构建)。
  • 如果项目保持 Figma 文件与代码同步,则在同一任务中更新相应的帧。

退出条件

  • 没有横向滚动,与之前相比没有新的对比度或 axe 发现。
  • 差异显示更改仅限于预期区域。
  • 没有重复现有组件的新组件,并且没有未要求的 UI。
  • 已检查暗色模式,或确认项目中没有暗色模式。
  • 类型检查和 lint 通过。
  • 向用户提供简短摘要,以及 1–2 个值得查看的截图路径。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能