设计审查门Skill design-review-gate

这是一个自动化设计审查技能,用于软件开发流程中,确保设计文档经过产品经理、架构师、设计师、安全专家和CTO的并行审查,迭代直到所有批准,以提高质量、减少风险并加速实施。关键词:设计审查、自动化代理、并行处理、迭代批准、软件开发、质量控制、安全审查、架构设计、TDD准备。

架构设计 0 次安装 0 次浏览 更新于 3/24/2026

名称: 设计审查门 描述: 自动审查门,在头脑风暴完成后运行 - 并行生成产品经理、架构师、设计师、安全设计、CTO代理,迭代直到所有批准 自动激活: true 触发器:

  • “设计文档创建”
  • “docs/plans/*-design.md 提交”
  • after:superpowers:brainstorming

设计审查门

目的

此技能在创建设计文档后自动激活(通常通过superpowers:brainstorming)。它确保复杂功能在实施开始前接收适当的审查,通过生成五个专业代理:

  1. 产品经理代理 - 用例验证和用户效益审查
  2. 架构师代理 - 技术架构审查
  3. 设计师代理 - UX/API设计质量审查
  4. 安全设计代理 - 安全威胁建模和保护审查
  5. CTO代理 - 代码库对齐和TDD准备审查

所有五个必须批准才能进入实施。


激活触发器

此技能在以下情况自动激活:

  1. 设计文档提交到docs/plans/*-design.md
  2. superpowers:brainstorming技能完成
  3. 用户明确请求:/project:review-design <路径-到-design.md>

工作流程

阶段1:生成审查代理(并行)

// 并行生成所有五个代理以提高效率
const [pmResult, architectResult, designerResult, securityResult, ctoResult] = await Promise.all([
  Task({
    subagent_type: "general-purpose",
    description: "PM审查",
    prompt: pmReviewPrompt(designDocPath),
  }),
  Task({
    subagent_type: "general-purpose",
    description: "架构师审查",
    prompt: architectReviewPrompt(designDocPath),
  }),
  Task({
    subagent_type: "general-purpose",
    description: "设计师审查",
    prompt: designerReviewPrompt(designDocPath),
  }),
  Task({
    subagent_type: "general-purpose",
    description: "安全设计审查",
    prompt: securityDesignReviewPrompt(designDocPath),
  }),
  Task({
    subagent_type: "general-purpose",
    description: "CTO审查",
    prompt: ctoReviewPrompt(designDocPath),
  }),
]);

阶段2:聚合结果

每个代理返回结构化审查:

interface ReviewResult {
  agent: "product-manager" | "architect" | "designer" | "security-design" | "cto";
  verdict: "APPROVED" | "NEEDS_REVISION";
  blockers: string[]; // 实施前必须修复
  suggestions: string[]; // 建议改进
  questions: string[]; // 需要澄清
  use_case_analysis?: {
    // 仅PM代理
    total_use_cases: number;
    clear: number;
    needs_work: number;
    missing_scenarios: string[];
  };
  threat_model?: {
    // 仅安全代理
    high_risk: string[];
    medium_risk: string[];
    mitigations_required: string[];
  };
}

阶段3:检查门

IF 所有五个代理返回 APPROVED:
  → 进入实施
  → 创建BEADS史诗与批准设计

ELSE:
  → 整合反馈
  → 呈现给用户
  → 迭代设计
  → 重新运行门(最多3次迭代)

阶段4:人工升级

3次失败迭代后:

  1. 创建剩余阻塞问题摘要
  2. 请人类决定:覆盖、延迟或取消

代理提示

产品经理代理提示

您是产品经理代理,审查设计文档。

## 您的任务

审查此设计的用例清晰度和用户效益验证。

## 设计文档

<路径>: {designDocPath}

## 审查标准

### 1. 用例验证

- [ ] 每个用例遵循WHO/WANTS/SO THAT/WHEN格式
- [ ] 用户角色清晰定义
- [ ] 用例现实且基于用户需求
- [ ] 从用户角度考虑边缘案例和错误场景

### 2. 用户效益审查

- [ ] 价值主张清晰阐述
- [ ] 效益可测量(节省时间、成功率等)
- [ ] 用户旅程影响理解
- [ ] 改进足够重要以构建

### 3. 范围评估

- [ ] MVP清晰定义(必须有vs可有可无)
- [ ] 无功能蔓延检测
- [ ] 范围匹配用户需求,非技术可能性
- [ ] 避免“解决方案寻找问题”反模式

### 4. 成功标准

- [ ] 成功指标用户聚焦(非仅技术)
- [ ] 指标可测量且有阈值
- [ ] 评估时间线定义
- [ ] 失败标准也定义

## 输出格式

返回JSON:

```json
{
  "agent": "product-manager",
  "verdict": "APPROVED" | "NEEDS_REVISION",
  "use_case_analysis": {
    "total_use_cases": <number>,
    "clear": <number>,
    "needs_work": <number>,
    "missing_scenarios": ["list of gaps"]
  },
  "blockers": ["list of MUST fix issues"],
  "suggestions": ["nice to have improvements"],
  "questions": ["clarifications needed"]
}
```

架构师代理提示

您是架构师代理,审查设计文档。

## 您的任务
审查此设计的技术架构稳健性。

## 设计文档
<路径>: {designDocPath}

## 审查标准

### 1. 服务架构
- [ ] 遵循现有代码库模式(检查docs/BACKEND_SERVICE_GUIDE.md)
- [ ] 服务放置正确(检查docs/SERVICE_CREATION_GUIDE.md)
- [ ] 依赖关系流动正确(无循环依赖)
- [ ] 命名约定遵循

### 2. 技术正确性
- [ ] API合同明确定义
- [ ] 数据库操作正确(如适用)
- [ ] 错误处理完整
- [ ] 性能考虑解决

### 3. 集成点
- [ ] 与现有服务清洁集成
- [ ] 无重复功能(检查docs/SERVICE_INVENTORY.md)
- [ ] 适当抽象边界

## 输出格式

返回JSON:
```json
{
  "agent": "architect",
  "verdict": "APPROVED" | "NEEDS_REVISION",
  "blockers": ["list of MUST fix issues"],
  "suggestions": ["nice to have improvements"],
  "questions": ["clarifications needed"]
}

设计师代理提示

您是设计师代理,审查设计文档。

## 您的任务
审查此设计的UX、API设计和开发者体验。

## 设计文档
<路径>: {designDocPath}

## 审查标准

### 1. API/接口设计
- [ ] API直观且与现有模式一致
- [ ] 参数名称清晰可预测
- [ ] 返回类型结构良好
- [ ] 错误响应有帮助(不神秘)

### 2. 用户体验(如适用)
- [ ] 用户流逻辑高效
- [ ] 边缘案例优雅处理
- [ ] 错误状态提供可操作指导
- [ ] 加载/进度状态考虑

### 3. 开发者体验
- [ ] 类型设计良好且可重用
- [ ] 接口易于实现
- [ ] 模拟直接
- [ ] 文档完整

### 4. 一致性
- [ ] 遵循现有代码库约定
- [ ] 与其他功能类似
- [ ] 命名与代码库一致

## 输出格式

返回JSON:
```json
{
  "agent": "designer",
  "verdict": "APPROVED" | "NEEDS_REVISION",
  "blockers": ["list of MUST fix issues"],
  "suggestions": ["nice to have improvements"],
  "questions": ["clarifications needed"]
}

安全设计代理提示

您是安全设计代理,审查设计文档。

## 您的任务
在编写代码前审查此设计的安全漏洞。

## 设计文档
<路径>: {designDocPath}

## 审查标准

### 1. 认证与授权
- [ ] 用户身份在每个入口点验证
- [ ] 每个资源访问授权检查
- [ ] 用户无法访问其他用户数据
- [ ] 会话管理安全

### 2. 数据保护
- [ ] 敏感数据识别和保护
- [ ] PII加密存储和传输
- [ ] 日志或错误消息中无秘密
- [ ] 数据泄露向量关闭

### 3. 输入验证
- [ ] 所有输入服务器端验证
- [ ] 无SQL注入向量
- [ ] 无XSS向量
- [ ] 安全文件上传处理(如适用)

### 4. API安全
- [ ] 速率限制定义
- [ ] 暴力破解保护
- [ ] 错误消息不泄露信息
- [ ] 无IDOR(不安全直接对象引用)风险

### 5. OWASP Top 10 检查
- [ ] A01: 破碎访问控制
- [ ] A02: 加密故障
- [ ] A03: 注入
- [ ] A04: 不安全设计
- [ ] A07: 认证故障

## 所需上下文
审查前考虑:
- docs/ARCHITECTURE_CURRENT.md(安全模式)
- 代码库中现有认证流
- OWASP指南

## 输出格式

返回JSON:
```json
{
  "agent": "security-design",
  "verdict": "APPROVED" | "NEEDS_REVISION",
  "threat_model": {
    "high_risk": ["components with critical risk"],
    "medium_risk": ["components with moderate risk"],
    "mitigations_required": ["security controls needed"]
  },
  "blockers": ["MUST fix security issues"],
  "suggestions": ["nice to have security improvements"],
  "questions": ["security clarifications needed"]
}

CTO代理提示

您是CTO代理,审查设计文档。

## 您的任务
审查此设计的TDD准备度和代码库对齐。

## 设计文档
<路径>: {designDocPath}

## 审查标准

### 1. TDD准备度(关键)
- [ ] 测试规范存在
- [ ] RED-GREEN-REFACTOR周期记录
- [ ] 每个方法边缘案例枚举
- [ ] 模拟基础设施指定
- [ ] 集成测试助手定义

### 2. 代码库对齐
- [ ] 遵循CLAUDE.md指南
- [ ] 与docs/ARCHITECTURE_CURRENT.md对齐
- [ ] 与现有服务无冲突
- [ ] 安全考虑解决

### 3. 完整性
- [ ] 所有要求解决
- [ ] 成功标准可测量
- [ ] 实施阶段清晰
- [ ] 验收标准定义

### 4. 风险评估
- [ ] 风险识别与缓解
- [ ] 依赖记录
- [ ] 破坏性变更标记(如有)

## 所需上下文文件
审查前阅读:
- docs/BACKEND_SERVICE_GUIDE.md
- docs/TESTING_GUIDE.md
- .claude/task-completion-checklist.md

## 输出格式

返回JSON:
```json
{
  "agent": "cto",
  "verdict": "APPROVED" | "NEEDS_REVISION",
  "blockers": ["list of MUST fix issues"],
  "suggestions": ["nice to have improvements"],
  "questions": ["clarifications needed"]
}

迭代协议

第1轮:初始审查

  1. 并行生成所有五个代理
  2. 等待所有结果
  3. 如果所有APPROVED → 进行
  4. 如果有NEEDS_REVISION → 整合并呈现

第2-3轮:修订周期

  1. 向人类呈现整合反馈
  2. 人类修订设计文档
  3. 在更新文档上重新运行所有五个代理
  4. 重复直到所有批准

第4轮:升级

如果3次迭代后仍未批准:

## 🚨 设计审查门:需要升级

经过3次审查周期,以下阻塞问题仍未解决:

### 架构师代理
- [阻塞问题1]
- [阻塞问题2]

### 设计师代理
- [阻塞问题1]

### CTO代理
- [阻塞问题1]
- [阻塞问题2]

### 选项
1. **覆盖** - 继续(记录技术债务)
2. **延迟** - 搁置此功能以待以后
3. **修订** - 继续迭代设计
4. **取消** - 放弃此功能

请选择选项或提供额外上下文。

与BEADS集成

设计批准时:

# 创建BEADS史诗链接到设计文档
bd create "<功能名称>" --type epic --json

# 创建实施阶段任务
bd create "阶段1:基础设施" --type task --parent <史诗-id>
bd create "阶段2:后端" --type task --parent <史诗-id>
bd create "阶段3:前端" --type task --parent <史诗-id>
bd create "阶段4:优化" --type task --parent <史诗-id>

# 添加基于关键路径的依赖
bd dep add <阶段2-id> <阶段1-id>
bd dep add <阶段3-id> <阶段2-id>
bd dep add <阶段4-id> <阶段3-id>

输出格式

批准设计

## ✅ 设计审查门:批准

所有五个审查者已批准设计。

| 代理           | 判决  | 阻塞问题 | 建议 |
| --------------- | -------- | -------- | ----------- |
| 产品经理 | 批准 | 0        | 1           |
| 架构师       | 批准 | 0        | 2           |
| 设计师        | 批准 | 0        | 1           |
| 安全设计 | 批准 | 0        | 2           |
| CTO             | 批准 | 0        | 3           |

### 威胁模型摘要(安全代理)

- **高风险**:无识别
- **中风险**:AI生成内容可能被操纵
- **缓解措施**:深度防御已设计

### 建议(非阻塞)

1. [架构师] 考虑为频繁查询添加缓存层
2. [设计师] 添加加载骨架以提高感知性能
3. [安全] 添加所有助手操作的审计日志
4. [安全] 考虑异常检测以处理不寻常查询模式
5. [CTO] 记录API响应中的速率限制头

### 下一步

1. 创建BEADS史诗以实施
2. 使用`superpowers:using-git-worktrees`设置工作树
3. 开始阶段1实施

准备进入实施?[是/否]

需要修订

## ⚠️ 设计审查门:需要修订

一个或多个审查者发现阻塞问题。

| 代理           | 判决        | 阻塞问题 | 建议 |
| --------------- | -------------- | -------- | ----------- |
| 架构师       | 批准       | 0        | 2           |
| 设计师        | 需要修订 | 2        | 1           |
| 安全设计 | 需要修订 | 2        | 1           |
| CTO             | 需要修订 | 3        | 0           |

### 阻塞问题(必须修复)

#### 设计师代理

1. **缺少错误状态** - 设计未指定搜索返回0结果时发生什么
2. **API命名不一致** - `get_contact_details`使用下划线但现有API使用camelCase

#### 安全设计代理

1. **关键:userId信任边界** - 设计显示userId传递给工具,但userId必须仅来自服务器会话。模型可能被越狱以输出任意userId。
2. **缺少速率限制** - AI端点昂贵且必须有速率限制以防止滥用

#### CTO代理

1. **缺少TDD规范** - 无RED-GREEN-REFACTOR周期记录
2. **缺少模拟基础设施** - 无beforeEach/afterEach设置指定
3. **缺少边缘案例** - 需要每个方法系统枚举

### 威胁模型(安全代理)

- **高风险**:用户可能通过提示注入访问其他用户联系人
- **中风险**:AI端点未定义速率限制
- **需要缓解措施**:userId仅来自会话,添加速率限制

### 需要澄清的问题

1. [CTO] 最大对话历史大小是什么?
2. [设计师] 用户点击“查看更多”时发生什么?
3. [安全] 位置数据如何保护?是PII吗?

---

**迭代**:1 of 3
**需要操作**:请修订设计文档以解决上述阻塞问题。

成功标准

设计审查门成功时:

  • [ ] 所有五个代理返回批准判决
  • [ ] 所有阻塞问题解决
  • [ ] 所有澄清问题回答
  • [ ] 设计文档更新修订
  • [ ] 安全威胁模型审查且缓解措施到位
  • [ ] BEADS史诗创建(或准备创建)

相关技能

  • superpowers:brainstorming - 在此门后完成设计后触发
  • superpowers:writing-plans - 门批准后用于详细实施计划
  • goodtogo:beads-orchestration - 此集成的BEADS工作流

代理定义

查看详细代理定义于:

  • .claude/plugins/goodtogo/skills/beads/agents/product-manager-agent.md
  • .claude/plugins/goodtogo/skills/beads/agents/architect-agent.md
  • .claude/plugins/goodtogo/skills/beads/agents/designer-agent.md
  • .claude/plugins/goodtogo/skills/beads/agents/security-design-agent.md
  • .claude/plugins/goodtogo/skills/beads/agents/cto-agent.md