Files
jiu/.claude/skills/design-review/SKILL.md
T
wangjia d6397083c0 feat(agents): 新增 UI 设计师 Agent + Figma MCP + 设计存档 Skills
UI 设计师 Agent (.claude/agents/ui-designer.md):
- 自动判断设计复杂度
- 简单变更:直接输出文字规范,flutter-coder 立即实现
- 复杂设计:输出 Figma 设计需求文档并暂停,等用户确认设计稿
- 包含完整视觉规范(颜色、字体、间距、状态标签)

Figma MCP 配置 (.mcp.json):
- 接入 Figma 官方 MCP Server (https://mcp.figma.com/mcp)
- 支持读取设计文件、组件、Token

Skills (.claude/skills/):
- /archive-design:将确认上线的设计存档到 docs/design/archive/
  含 Figma 链接、设计决策、组件清单、版本历史
- /design-review:对比 Figma 设计稿与 Flutter 实现,输出还原度报告
  标注颜色/间距/布局差异,分必须修复和建议调整两级

更新 CLAUDE.md:
- 工作流中加入 ui-designer(架构后、编码前)
- 上线前运行 /design-review,上线后运行 /archive-design

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 09:20:58 +08:00

128 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: design-review
description: 对比 Figma 设计稿与 Flutter 实现代码,输出还原度差异报告。在 flutter-coder 实现完成后、上线前调用,确保实现与设计一致。
allowed-tools: Read, Write, Glob, Grep
user-invocable: true
argument-hint: <figma-url> <功能名称>
---
# 设计还原度检查工作流
你正在执行 `/design-review` 命令,对比 Figma 设计稿与 Flutter 实现的差异。
## 参数解析
```
$ARGUMENTS 格式:<figma-url> <功能名称>
示例:https://figma.com/file/xxx 入库单
```
## 执行步骤
### Step 1:读取 Figma 设计规范
使用 Figma MCP 读取:
- 各页面的组件结构和层级
- 颜色值(精确到 hex
- 字体大小、字重
- 间距数值(padding、margin、gap
- 组件状态(hover、disabled、selected 等)
如果 Figma MCP 不可用,读取 `docs/design/{功能名称}-design-brief.md` 中的设计规范作为对照基准。
### Step 2:读取 Flutter 实现代码
查找并读取相关实现文件:
```
client/lib/screens/ → 找到功能名称相关的 screen 文件
client/lib/widgets/ → 找到使用的组件文件
client/lib/models/ → 数据模型
```
重点检查:
- 颜色是否使用了正确的 hex 值或 Theme 变量
- 字体大小、字重是否与设计一致
- 间距(padding/margin)数值是否匹配
- 组件状态样式是否完整实现
- 布局结构是否与设计稿一致
### Step 3:生成差异报告
写入 `docs/review/{功能名称}-design-review.md`
```markdown
# {功能名称} — 设计还原度报告
**检查时间**{当前日期}
**Figma 设计稿**{FIGMA_URL}
**检查范围**{列出检查的 Flutter 文件}
---
## 总体评分
还原度:**X / 10**
(10分=完全一致,8分=细节有出入,6分=布局基本对但样式差异明显)
---
## 必须修复(影响视觉一致性)
### [DR-001] 颜色不一致
**页面**:入库单列表 — 状态标签
**设计稿**:已审核状态背景色 `#E8F5E9`,文字 `#2E7D32`
**实现**:背景色 `Colors.green.shade100`(实际值 `#DCEDC8`,偏浅)
**文件**`client/lib/widgets/status_badge.dart:34`
**修复**:改为 `Color(0xFFE8F5E9)`
### [DR-002] 间距不一致
**页面**:新建入库单弹窗
**设计稿**:表单字段间距 16px
**实现**`SizedBox(height: 12)` — 差了 4px
**文件**`client/lib/screens/stock_in/stock_in_form.dart:67`
**修复**:改为 `SizedBox(height: 16)`
---
## 建议调整(不影响主要功能,但影响精细度)
### [DR-003] 字体字重
**页面**:表格标题行
**设计稿**`FontWeight.w600`
**实现**`FontWeight.bold`(实际是 w700,略粗)
**建议**:统一改为 `FontWeight.w600`
---
## 通过检查项
- ✅ 整体布局结构与设计稿一致
- ✅ 主色 #1565C0 使用正确
- ✅ 顶栏高度 56px 正确
- ✅ 侧边栏宽度 200px 正确
- ✅ 状态流转交互与设计一致
---
## 修复建议
优先处理 DR-001、DR-002(颜色和间距是最直观的差异)。
修复后可再次运行 `/design-review` 验证。
```
### Step 4:完成提示
输出:
```
✅ 设计还原度检查完成
📋 报告路径:docs/review/{功能名称}-design-review.md
🔍 发现问题:必须修复 X 项,建议调整 Y 项
后续步骤:
1. 将报告发给 flutter-coder 修复(必须修复项)
2. 修复后再次运行 /design-review 验证
3. 全部通过后运行 /archive-design 存档设计稿
```