Files
agent/.agent/TEAM_V2_VERIFICATION_PLAN.md
2026-02-16 12:46:37 +08:00

263 lines
9.3 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.
# Team V2 升级验证计划
## 📋 验证目标
验证升级后的灵活 Agent 团队架构是否正常工作,确认:
1. PM 能正确扫描和分类 Skill
2. PM 能按照注入协议将 Skill 摘要下发给子 Agent
3. 子 Agent 能消费 Skill 摘要并遵循约束
4. 子 Agent 能按统一格式汇报结果且不自行终止
5. 技术栈特有规范(如双内边距、搜索区域)没有因迁移而丢失
6. Agent 足够通用,不包含技术栈 hardcode
---
## 🧪 测试用例
### 测试 1: PM 阶段 0 — Skill 扫描与分类
**操作**: 使用 `/team` 启动一个需求,例如:
> "开发一个商品管理列表页,包含搜索、新增、编辑、删除功能"
**验证清单**:
- [ ] PM 是否扫描了 `.opencode/skills/` 目录?
- [ ] PM 是否正确识别了**三类 Skill**
- [ ] 技术栈 Skill: `tech-stack/umijs-procomponents`
- [ ] 业务 Skill: `business/product-management`
- [ ] 通用 Skill: `engineering/code-quality`
- [ ] PM 是否读取了匹配到的 Skill 内容?
- [ ] PM 是否在任务启动输出中列出了匹配的 Skill 清单?
**预期输出**:
```markdown
## 🚀 任务启动
**需求**: 商品管理列表页 **Skill 匹配**: umijs-procomponents + product-management + code-quality **团队组装**: @planning + @frontend + @code-spec + @qa-tester
```
---
### 测试 2: PM → @planning 的 Skill 注入
**操作**: 观察 PM 委派 @planning 时的指令内容
**验证清单**:
- [ ] 委派指令中是否包含 **📦 技术栈要点** 章节?
- [ ] 是否提到 UmiJS 4 + ProComponents
- [ ] 是否提到搜索区域规范(< 4 字段 vs >= 4 字段)?
- [ ] 是否提到零 CSS / Token 样式?
- [ ] 是否提到双内边距禁止?
- [ ] 委派指令中是否包含 **🔧 质量红线** 章节?
- [ ] 是否提到禁止 any
- [ ] 是否提到 500 行限制?
- [ ] 是否提到安全规范XSS、金额精度
- [ ] 委派指令中是否包含 **📋 业务要点** 章节?
- [ ] 是否包含 product-management Skill 中的业务规则?
- [ ] PM 是否直接写入了 Skill 内容(而非让 @planning 自己去读文件)?
---
### 测试 3: @planning 的 Skill 消费与规划
**操作**: 检查 @planning 输出的规划文档
**验证清单**:
- [ ] 规划是否遵循了技术栈 Skill 的约束?
- [ ] 是否规划使用 ProTable 做列表?
- [ ] 是否规划了搜索区域模式(根据字段数量选择方案)?
- [ ] 是否规划了 src/services/ + mock/ + data.d.ts 结构?
- [ ] 规划是否融合了业务 Skill
- [ ] 是否包含商品数据模型?
- [ ] 是否考虑了业务状态和约束?
- [ ] @planning 是否调用了 superpowers 进行产品细化?
- [ ] @planning 是否使用了 Context7 验证技术方案?
- [ ] 输出是否使用了**子 Agent 协议的统一格式**
- [ ] 是否以 `## 📋 规划结果摘要` 开头?
- [ ] 是否包含"下一步行动建议"
- [ ] 是否结尾有"请主 Agent 审阅"
- [ ] @planning 是否自行结束了会话?(**不应该**
---
### 测试 4: PM → @frontend 的 Skill 注入
**操作**: 用户确认规划后,观察 PM 委派 @frontend 时的指令
**验证清单**:
- [ ] 委派指令中是否包含完整的技术栈摘要?
- [ ] ProComponents 组件选型?
- [ ] 禁止双内边距?
- [ ] 零 CSS + Token
- [ ] 服务层目录结构?
- [ ] i18n 规范?
- [ ] 委派指令中是否包含业务摘要?
- [ ] 委派指令中是否包含质量红线?
---
### 测试 5: @frontend 的红线执行
**操作**: 检查 @frontend 的实施过程
**验证清单**:
- [ ] @frontend 是否在编码前调用了 Context7 查询组件 API
- [ ] @frontend 是否遵循了注入的技术栈约束?
- [ ] 使用 ProTable 而非手写表格?
- [ ] 使用 Token 样式而非 CSS 文件?
- [ ] ProComponents 外层没有包裹 Card
- [ ] i18n 使用了 intl.formatMessage + defaultMessage
- [ ] @frontend 是否遵循了质量红线?
- [ ] 无 any 类型?
- [ ] 单文件不超过 500 行?
- [ ] 服务层隔离?
- [ ] 输出是否使用了统一格式 `## 🚀 实施结果摘要`
- [ ] @frontend 是否自行结束了会话?(**不应该**
---
### 测试 6: @code-spec 的动态审计
**操作**: 观察 PM 委派 @code-spec 时的审计过程
**验证清单**:
- [ ] PM 委派指令中是否附带了技术栈审计要点?
- [ ] @code-spec 是否执行了**固定审计项**
- [ ] any 类型检查?
- [ ] 500 行限制?
- [ ] XSS 安全?
- [ ] 服务层隔离?
- [ ] 加载状态?
- [ ] 防重复点击?
- [ ] @code-spec 是否执行了**Skill 驱动审计项**
- [ ] ProComponents 双内边距检查?
- [ ] Token 样式检查?
- [ ] i18n 完整性?
- [ ] 输出是否使用了统一格式 `## ✅ 代码审查结果摘要`
- [ ] 是否有优先级分级P0/P1/P2
- [ ] @code-spec 是否自行结束了会话?(**不应该**
---
### 测试 7: @qa-tester 的动态测试
**操作**: 观察 PM 委派 @qa-tester 时的测试过程
**验证清单**:
- [ ] PM 委派指令中是否附带了技术栈测试要点?
- [ ] @qa-tester 是否执行了**固定测试项**
- [ ] 功能完整性按钮、表单、CRUD
- [ ] 控制台零错误?
- [ ] 加载状态?
- [ ] 防重复提交?
- [ ] @qa-tester 是否执行了**Skill 驱动测试项**
- [ ] i18n 双语验证?
- [ ] 样式合规(如 ProComponents 布局)?
- [ ] 输出是否使用了统一格式 `## 🧪 QA 测试结果摘要`
- [ ] @qa-tester 是否自行结束了会话?(**不应该**
- [ ] @qa-tester 是否尝试修改代码?(**不应该**
---
### 测试 8: PM 闭环与终止控制
**操作**: 观察整个流程的 PM 行为
**验证清单**:
- [ ] PM 是否在 @planning 完成后停下等待用户确认?
- [ ] PM 是否在收到子 Agent 汇报后检查了后续阶段?
- [ ] 如果 @code-spec 发现问题:
- [ ] PM 是否回派给 @frontend 修复(而非自己修)?
- [ ] 修复后是否重新走 @code-spec → @qa-tester 闭环?
- [ ] 如果 @qa-tester 发现问题:
- [ ] PM 是否回派给 @frontend(而非自己修)?
- [ ] 修复后是否从 @code-spec 重新走起?
- [ ] PM 是否在所有阶段通过后才宣布完成?
- [ ] 最终交付是否使用了 `## ✅ 任务完成` 格式?
---
### 测试 9: 通用性验证(负面测试)
**操作**: 检查新 Agent 文件中是否有技术栈 hardcode 残留
**验证方法**(命令行):
```bash
# 在 Agent 文件中搜索不应出现的技术栈关键词
grep -n 'UmiJS\|ProComponents\|ProTable\|QueryFilter\|Ant Design\|antd\|useRequest\|src/services\|data\.d\.ts\|零 CSS\|formatMessage' \
.opencode/agents/frontend.md \
.opencode/agents/code-spec.md \
.opencode/agents/qa-tester.md \
.opencode/agents/planning.md
```
**预期**: 命令应该无输出(无匹配)。如果有匹配,说明还有技术栈 hardcode 残留。
**注意**: `team.md` 中允许出现这些词,因为 PM 需要知道如何识别技术栈。但 4 个子 Agent 中不应有。
---
### 测试 10: Figma 集成验证(可选)
**操作**: 使用带 Figma 链接的需求启动 `/team`,例如:
> "根据这个 Figma 开发订单管理页面 https://figma.com/design/xxx/yyy?node-id=1-2"
**验证清单**:
- [ ] PM 阶段 0 是否调用了 Figma MCP 提取产品信息?
- [ ] PM 是否将 Figma 产品信息和设计规范注入给 @planning
- [ ] @planning 是否在规划中融合了 Figma 信息?
- [ ] @frontend 是否根据 Figma 设计稿进行高保真还原?
- [ ] @qa-tester 是否执行了 Figma 视觉还原对比?
---
## 📊 验证结果记录模板
| 测试编号 | 测试名称 | 结果 | 发现的问题 |
| :------- | :------------------------- | :--: | :--------- |
| 1 | PM Skill 扫描与分类 | ⬜ | |
| 2 | PM → @planning Skill 注入 | ⬜ | |
| 3 | @planning Skill 消费与规划 | ⬜ | |
| 4 | PM → @frontend Skill 注入 | ⬜ | |
| 5 | @frontend 红线执行 | ⬜ | |
| 6 | @code-spec 动态审计 | ⬜ | |
| 7 | @qa-tester 动态测试 | ⬜ | |
| 8 | PM 闭环与终止控制 | ⬜ | |
| 9 | 通用性验证(负面测试) | ⬜ | |
| 10 | Figma 集成(可选) | ⬜ | |
---
## 🚀 建议的验证需求
用以下需求启动一次完整的 `/team` 流程即可覆盖测试 1-8
> **"开发一个商品管理列表页。要求:** > **1. 包含商品名称、价格、状态、创建时间等字段的搜索和列表** > **2. 支持新增、编辑(弹窗表单)、删除操作** > **3. 价格需要支持分到元的转换显示** > **4. 支持中英双语"**
这个需求会触发:
- ✅ 技术栈 Skill 匹配umijs-procomponents
- ✅ 业务 Skill 匹配product-management
- ✅ 通用 Skill 加载code-quality
- ✅ 搜索区域模式判断(≥ 4 字段 → QueryFilter
- ✅ 金额精度安全规则
- ✅ i18n 双语验证
- ✅ 完整的 规划 → 实施 → 审计 → 测试 流程
---
**验证完成标准**: 测试 1-9 全部通过(测试 10 可选)。