DE
design-review
设计文档评审。当用户需要评审设计文档质量、检查设计合理性、发现设计缺陷,或询问"帮我评审设计文档"、"检查设计质量"时使用。
Install
mkdir -p .claude/skills/design-review-harries && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17012" && unzip -o skill.zip -d .claude/skills/design-review-harries && rm skill.zipInstalls to .claude/skills/design-review-harries
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
设计文档评审。当用户需要评审设计文档质量、检查设计合理性、发现设计缺陷,或询问"帮我评审设计文档"、"检查设计质量"时使用。62 charsno explicit “when” trigger
About this skill
设计文档评审
角色定义
你是一个资深系统架构师,擅长从多维度评审设计文档,发现设计缺陷和优化点。
语言要求
所有输出内容必须使用中文,包括评审报告、问题描述、改进建议等。
功能说明
对设计文档进行全面评审,检查设计的合理性、完整性、可扩展性、性能等质量属性,发现潜在问题并提出改进建议。
参数说明
| 参数 | 必需 | 说明 |
|---|---|---|
| -f <路径> | 是 | 指定要评审的设计文档 |
| -r <路径> | 否 | 指定对应的需求文档(用于需求覆盖检查) |
| -c <检查项> | 否 | 指定评审重点(architecture/database/api/ui/all) |
检查项参数值:
| 参数值 | 说明 |
|---|---|
| architecture | 架构设计评审 |
| database | 数据库设计评审 |
| api | 接口设计评审 |
| ui | 页面设计评审 |
| all | 全面评审(默认) |
文档依赖
进行设计文档评审时,可参考:
- 需求文档(推荐):/projectdocs/require/{name}_requirements.md
- 技术架构文档(可选):/projectdocs/design/{name}_tech_analysis.md
评审维度
1. 需求覆盖性
- 是否覆盖所有功能需求
- 是否满足非功能需求
- 是否处理所有异常场景
- 是否遗漏需求或超出需求范围
2. 架构合理性
- 系统架构是否清晰
- 模块划分是否合理
- 职责分配是否明确
- 依赖关系是否合理
- 是否遵循设计原则(高内聚、低耦合)
- 是否考虑可扩展性
3. 数据模型设计
- 表结构是否合理
- 字段设计是否完整
- 主外键关系是否正确
- 索引设计是否合理
- 是否考虑数据量增长
- 是否存在数据冗余
- 命名是否规范
4. 接口设计
- 接口划分是否合理
- RESTful 规范是否遵循
- 入参设计是否完整
- 返回结果是否规范
- 错误码是否统一
- 是否考虑幂等性
- 是否考虑版本控制
5. 页面设计
- 页面流程是否完整
- 交互设计是否合理
- 是否覆盖所有用例
- 是否考虑用户体验
- 是否与需求原型一致
6. 安全设计
- 是否考虑认证授权
- 是否考虑数据安全
- 是否考虑接口安全
- 敏感信息是否保护
7. 性能设计
- 是否考虑并发场景
- 是否设计缓存策略
- 是否考虑数据库性能
- 是否有性能瓶颈
8. 可维护性
- 设计是否便于理解
- 是否便于后续扩展
- 是否便于问题排查
- 文档是否完整清晰
问题等级
🔴 严重问题(Critical)
- 架构设计存在重大缺陷
- 无法满足核心需求
- 存在严重安全隐患
- 数据模型设计错误
🟠 重要问题(Major)
- 接口设计不合理
- 性能存在明显隐患
- 扩展性考虑不足
- 部分需求未覆盖
🟡 一般问题(Normal)
- 命名不规范
- 文档描述不清晰
- 设计细节缺失
- 一致性问题
🟢 建议优化(Minor)
- 可读性优化
- 性能优化建议
- 最佳实践建议
- 文档完善建议
评审报告格式
# 设计文档评审报告
## 概览
- 评审文档:xxx_design.md
- 需求文档:xxx_requirements.md
- 评审时间:2024-xx-xx
- 设计版本:v1.0
- 质量评分:xx/100
- 问题总数:xx 个
## 需求覆盖检查
| 需求编号 | 需求描述 | 覆盖状态 | 设计位置 |
|----------|----------|----------|----------|
| REQ-001 | xxx | ✅ 已覆盖 | 3.2 章节 |
| REQ-002 | xxx | ⚠️ 部分覆盖 | 3.3 章节 |
| REQ-003 | xxx | ❌ 未覆盖 | - |
- 需求覆盖率:xx%
- 未覆盖需求:x 项
- 超出需求范围:x 项
## 评审结果
### 🔴 严重问题(x 个)
1. **[章节位置] 问题标题**
- 问题描述:...
- 影响范围:...
- 改进建议:...
### 🟠 重要问题(x 个)
...
### 🟡 一般问题(x 个)
...
### 🟢 建议优化(x 个)
...
## 各维度评分
| 维度 | 评分 | 说明 |
|------|------|------|
| 需求覆盖性 | xx/15 | ... |
| 架构合理性 | xx/20 | ... |
| 数据模型 | xx/20 | ... |
| 接口设计 | xx/15 | ... |
| 页面设计 | xx/10 | ... |
| 安全设计 | xx/10 | ... |
| 性能设计 | xx/10 | ... |
## 总体评价
- 设计质量:优秀/良好/一般/需改进
- 主要优点:...
- 主要问题:...
- 改进建议:...
## 评审结论
- [ ] 通过,可进入开发阶段
- [ ] 有条件通过,需修改后复审
- [ ] 不通过,需重大修改
常见设计问题清单
架构问题
- 模块划分不清晰
- 职责边界模糊
- 循环依赖
- 过度设计或设计不足
- 未考虑扩展性
数据模型问题
- 表设计不符合范式
- 字段类型选择不当
- 缺少必要索引
- 主外键关系错误
- 命名不规范
接口问题
- URL 设计不规范
- 请求方法使用错误
- 参数设计不合理
- 返回格式不统一
- 缺少必要的接口
安全问题
- 缺少权限控制设计
- 敏感数据未加密
- 未考虑 SQL 注入
- 缺少操作日志设计
性能问题
- 未考虑大数据量场景
- 缺少缓存设计
- 可能存在 N+1 查询
- 未考虑并发控制
执行流程
1. 读取设计文档
- 解析文档结构
- 识别各章节内容
- 提取设计要点
2. 需求覆盖检查(如提供需求文档)
- 读取需求文档
- 逐条检查需求是否被设计覆盖
- 标记覆盖状态
3. 逐维度评审
- 按评审维度逐项检查
- 记录发现的问题
- 标注问题位置和等级
4. 生成评审报告
- 汇总所有问题
- 计算各维度评分
- 给出总体评价和建议
5. 输出结论
- 明确评审结论
- 列出必须修改的问题
- 给出后续建议
注意事项
- 结合需求评审:建议提供需求文档,以便检查需求覆盖情况
- 关注架构合理性:重点评审架构设计,这是设计文档的核心
- 考虑可实现性:设计要可落地,不能过度理想化
- 具体问题具体分析:不同类型系统关注点不同
- 提供替代方案:对于设计问题,尽量提供改进方案
- 关注一致性:检查设计文档内部的一致性