名称: 设计审查门 描述: 自动审查门,在头脑风暴完成后运行 - 并行生成产品经理、架构师、设计师、安全设计、CTO代理,迭代直到所有批准 自动激活: true 触发器:
- “设计文档创建”
- “docs/plans/*-design.md 提交”
- after:superpowers:brainstorming
设计审查门
目的
此技能在创建设计文档后自动激活(通常通过superpowers:brainstorming)。它确保复杂功能在实施开始前接收适当的审查,通过生成五个专业代理:
- 产品经理代理 - 用例验证和用户效益审查
- 架构师代理 - 技术架构审查
- 设计师代理 - UX/API设计质量审查
- 安全设计代理 - 安全威胁建模和保护审查
- CTO代理 - 代码库对齐和TDD准备审查
所有五个必须批准才能进入实施。
激活触发器
此技能在以下情况自动激活:
- 设计文档提交到
docs/plans/*-design.md superpowers:brainstorming技能完成- 用户明确请求:
/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次失败迭代后:
- 创建剩余阻塞问题摘要
- 请人类决定:覆盖、延迟或取消
代理提示
产品经理代理提示
您是产品经理代理,审查设计文档。
## 您的任务
审查此设计的用例清晰度和用户效益验证。
## 设计文档
<路径>: {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轮:初始审查
- 并行生成所有五个代理
- 等待所有结果
- 如果所有APPROVED → 进行
- 如果有NEEDS_REVISION → 整合并呈现
第2-3轮:修订周期
- 向人类呈现整合反馈
- 人类修订设计文档
- 在更新文档上重新运行所有五个代理
- 重复直到所有批准
第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