diff --git a/.agents/skills/monisuo-dev/SKILL.md b/.agents/skills/monisuo-dev/SKILL.md index c00ac5b..62f75d7 100644 --- a/.agents/skills/monisuo-dev/SKILL.md +++ b/.agents/skills/monisuo-dev/SKILL.md @@ -8,12 +8,18 @@ description: Monisuo 项目结构化开发流程。需求分析 → 架构设计 ## 流程概览 ``` -Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发 → [启动 Agent] → Phase 3-4: 测试+构建 - ↑ │ - └──────────────────────── Bug 修复 ←─────────────────────────────────────────┘ +Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发 + ↑ │ + │ ↓ + │ [Agent A] Phase 3: 精简 + 测试 + 构建 + │ │ + │ ↓ (通过) + │ [Agent B] Phase 4: 功能验证(用例驱动) + │ │ + └──────────────── Bug 修复 ←──────────────────┘ ``` -**Phase 1-1.5-2 在主对话完成,Phase 3-4 启动独立 Agent。** +**Phase 1-1.5-2 在主对话完成,Phase 3 和 Phase 4 分别启动独立 Agent。** --- @@ -93,17 +99,17 @@ Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发 --- -## Phase 3-4: 测试与构建(独立 Agent) +## Phase 3: 精简 + 测试 + 构建(Agent A) -Phase 2 完成后,启动独立 Agent 执行测试和构建。 +Phase 2 完成后,启动独立 Agent 执行代码精简、自动化测试和构建。 -### 启动 Agent +### 启动 Agent A ``` Agent( - description: "测试验证与构建", + description: "精简+测试验证与构建", prompt: | - 你是 Monisuo 项目测试 Agent,独立完成以下任务,不要询问用户。 + 你是 Monisuo 项目质量 Agent,独立完成以下任务,不要询问用户。 ## 1. 读取 Spec - 路径: docs/features/[feature-name].md @@ -114,19 +120,24 @@ Agent( - Flutter: flutter analyze, AppSpacing/AppRadius/AppColorScheme 规范 - Java: @Transactional 资金方法, 统一异常处理, RESTful 设计 - ## 3. 测试 + ## 3. 代码精简(simplify) + - 对变更代码执行 /simplify:审查复用性、质量和效率,修复发现的问题 + - 精简完成后重新运行 git diff 确认变更合理 + + ## 4. 测试 - 后端: mvn test - Flutter: cd flutter_monisuo && flutter test - API: ./tests/api/test-[feature].sh(如存在) - ## 4. 构建 + ## 5. 构建 - 后端: mvn clean package -DskipTests → target/monisuo-*.jar - Flutter: cd flutter_monisuo && flutter build web --release --dart-define=ENV=prod → build/web/ - ## 5. 输出报告 + ## 6. 输出报告 | 项目 | 状态 | 备注 | |------|------|------| | 代码审查 | ✅/❌ | | + | 代码精简 | ✅/❌ | 改动摘要 | | 后端测试 | ✅/❌ | | | Flutter 测试 | ✅/❌ | | | 后端构建 | ✅/❌ | | @@ -136,5 +147,60 @@ Agent( ) ``` -### Bug 修复循环 -Agent 发现 Bug → 主对话修复 → 重新启动 Agent 验证 → 全部通过 +--- + +## Phase 4: 功能验证(Agent B) + +**Agent A 全部通过后**,启动第二个独立 Agent,基于 Spec 中的测试用例验证功能正确性。 + +### 启动 Agent B + +``` +Agent( + description: "功能验证(用例驱动)", + prompt: | + 你是 Monisuo 项目功能验证 Agent。基于 Feature Spec 中的测试用例,验证功能实现是否正确。不要询问用户。 + + ## 1. 读取 Spec + - 路径: docs/features/[feature-name].md + - 提取「测试用例」和「验收标准」 + + ## 2. 读取变更代码 + - git diff 查看本次变更的文件列表 + - 阅读变更的 Controller、Service、Provider、UI 代码 + - 对照 Spec 中的 API 设计,确认实现与契约一致 + + ## 3. 逐条验证测试用例 + 对 Spec 中的每条测试用例: + - **正常流程**:追踪代码路径,确认主流程逻辑正确(参数传递、返回值、状态变更) + - **异常流程**:确认错误处理覆盖(参数校验、权限检查、边界条件) + - **边界条件**:空值、零值、溢出、并发等极端场景是否有防护 + + ### 验证方法 + - **后端 API**:阅读 Controller → Service → Mapper 代码路径,确认请求参数、业务逻辑、数据库操作与 Spec 一致 + - **前端页面**:阅读 UI → Provider/State → Service 代码路径,确认交互流程、状态管理、错误展示正确 + - **数据一致性**:确认资金变动相关的操作有事务注解、余额校验、流水记录 + + ## 4. 输出验证报告 + | 用例编号 | 用例描述 | 验证结果 | 备注 | + |----------|----------|----------|------| + | TC-01 | 正常:xxx | ✅ 通过 / ❌ 失败 | 具体原因 | + | TC-02 | 异常:xxx | ✅ 通过 / ❌ 失败 | 具体原因 | + | ... | ... | ... | ... | + + ### 总结 + - 通过率:X/Y + - 未通过用例:列出失败原因和修复建议 + - 风险点:潜在问题或遗漏 + + 如有未通过用例,返回主对话修复后重新启动验证。 +) +``` + +--- + +## Bug 修复循环 + +- **Agent A 失败**(测试/构建不通过)→ 主对话修复 Bug → 重新启动 Agent A +- **Agent B 失败**(功能验证不通过)→ 主对话修复逻辑 → 重新启动 Agent B +- **全部通过** → 开发完成