Files
monisuo/.agents/skills/monisuo-dev/SKILL.md
sion123 e26031ad17 feat(monisuo-dev): 重构开发流程为五阶段并优化Agent协作机制
- 更新开发流程描述,细化为需求定义→架构设计→模块化开发→精简测试→功能验证→构建六个环节
- 重构Phase 3为精简+测试,移除构建步骤,新增独立的Phase 5构建阶段
- 优化Agent协作流程:Phase 3输出审查报告供Phase 4使用,避免重复读取代码
- 明确各阶段职责分工,增加Spec同步要求确保Agent间信息一致性
- 添加Phase 5构建阶段,专门处理后端和Flutter构建任务
- 完善Bug修复循环,明确各Agent失败时的修复流程
2026-03-29 20:34:52 +08:00

8.5 KiB
Raw Blame History

name, description
name description
monisuo-dev Monisuo 项目结构化开发流程。需求分析 → 架构设计 → 模块化开发 → 精简测试 → 功能验证 → 构建。

Monisuo 开发工作流

流程概览

Phase 1: 需求定义 → Phase 1.5: 架构设计 → Phase 2: 模块化开发(子任务逐步推进)
     ↑                                              │
     │                                              ↓
     │                                    主对话:同步更新 Spec
     │                                              │
     │                                              ↓
     │                                   [Agent A] Phase 3: 精简 + 测试 → 输出审查报告
     │                                              │
     │                                              ↓ (通过)
     │                                   [Agent B] Phase 4: 功能验证(接收审查报告)
     │                                              │
     │                                              ↓ (通过)
     │                                   [Agent C] Phase 5: 构建
     │                                              │
     └──────────────── Bug 修复 ←──────────────────┘

Phase 1/1.5/2 在主对话完成Phase 3/4/5 分别启动独立 Agent。 所有 Agent prompt 中的 [feature-name] 由主对话替换为实际值后再传入。


Phase 1: 需求定义

将用户需求结构化为 Feature Spec输出到 docs/features/[feature-name].md

Feature Spec 结构

# [功能名称]

## 概述
功能名称 / 优先级(P0-P2) / 业务背景(痛点→方案→收益)

## 用户故事
作为 [角色],我希望 [行为],以便 [目的]

## 功能列表
- [ ] 功能点1
- [ ] 功能点2

## 技术方案Phase 1.5 填充)
### API 设计
### 数据模型
### 技术决策

## 测试用例
- [ ] 正常 / 异常 / 边界

## 验收标准

执行步骤

  1. 与用户确认需求,识别关键场景和约束
  2. 创建 docs/features/[feature-name].md,填充概述、用户故事、功能列表、测试用例
  3. 与用户评审确认

Phase 1.5: 架构设计

编码前确定技术方案。必须先探索代码库再设计。

执行步骤

  1. 探索现有代码库

    • Glob/Grep/Read 扫描相关模块,理解现有模式和架构
    • 识别可复用的组件、Service、工具类
    • 确认集成点
  2. 定义 API 契约 — 方法、路径、请求/响应体,写入 Spec 的「API 设计」

  3. 设计数据模型 — 表结构、Entity/DTO/VO 映射,写入 Spec 的「数据模型」

  4. 记录技术决策 — 选型理由、模块职责、关键约束,写入 Spec 的「技术决策」

完成标准

  • 已扫描现有代码,无重复造轮子
  • API 契约完整,前后端可并行开发
  • 数据模型与现有表结构兼容

Phase 2: 模块化开发

依据 Spec 中的 API 契约和数据模型,按子模块逐步推进,自底向上开发:

2a. 数据层 → 2b. 后端 API → 2c. Flutter 前端 → 2d. Admin 前端(如有)
    DDL/Entity   Controller/Service  Model/Provider/UI   Vue Pages

子模块执行方式

  • 每个子模块独立完成,不与其他子模块混在一起
  • 每完成一个子模块,确认无编译错误再进入下一个
  • 后端子模块完成后可先验证 API前端再对接

代码规范

  • Flutter: flutter analyze 无错,用 AppSpacing/AppRadius/AppColorScheme禁止硬编码颜色
  • Java: Lombok 简化,资金变动方法加 @Transactional(rollbackFor = Exception.class)RESTful 设计

Spec 同步

Phase 2 全部完成后、启动 Agent 前,主对话必须更新 Spec

  • 实际实现与设计有差异时,以实现为准更新 Spec
  • 确保 Phase 3/4 的 Agent 读到的是最新状态

Phase 3: 精简 + 测试Agent A

Phase 2 完成且 Spec 已同步后,启动独立 Agent 执行代码精简和自动化测试。

启动 Agent A

Agent(
  description: "精简+测试验证",
  prompt: |
    你是 Monisuo 项目质量 Agent独立完成以下任务不要询问用户。

    ## 1. 读取 Spec
    - 路径: docs/features/[feature-name].md
    - 理解验收标准

    ## 2. 代码审查
    - git diff 查看变更
    - Flutter: flutter analyze, AppSpacing/AppRadius/AppColorScheme 规范
    - Java: @Transactional 资金方法, 统一异常处理, RESTful 设计

    ## 3. 代码精简simplify
    - 对变更代码执行 /simplify审查复用性、质量和效率修复发现的问题
    - 精简完成后重新运行 git diff 确认变更合理

    ## 4. 测试
    - 后端: mvn test
    - Flutter: cd flutter_monisuo && flutter test
    - API: ./tests/api/test-[feature].sh如存在

    ## 5. 输出审查报告(供 Agent B 使用)
    ### 代码审查摘要
    - 变更文件列表及每个文件的核心改动
    - 代码规范检查结果
    - 精简改动摘要(改了什么、为什么改)

    ### 测试结果
    | 项目 | 状态 | 备注 |
    |------|------|------|
    | 代码审查 | ✅/❌ | |
    | 代码精简 | ✅/❌ | 改动摘要 |
    | 后端测试 | ✅/❌ | |
    | Flutter 测试 | ✅/❌ | |

    如有 Bug列出文件、原因、修复建议。返回主对话修复后重新验证。
)

Phase 4: 功能验证Agent B

Agent A 全部通过后,启动独立 Agent。Agent B 接收 Agent A 的审查报告,避免重复读代码。

启动 Agent B

Agent(
  description: "功能验证(用例驱动)",
  prompt: |
    你是 Monisuo 项目功能验证 Agent。基于 Feature Spec 中的测试用例,验证功能实现是否正确。不要询问用户。

    ## 1. 读取 Spec
    - 路径: docs/features/[feature-name].md
    - 提取「测试用例」和「验收标准」

    ## 2. 利用审查报告
    - Agent A 已完成代码审查,变更文件列表和核心改动见报告
    - 仅对报告未覆盖的逻辑路径做补充阅读
    - 对照 Spec 中的 API 设计,确认实现与契约一致

    ## 3. 逐条验证测试用例
    对 Spec 中的每条测试用例:
    - **正常流程**:追踪代码路径,确认主流程逻辑正确(参数传递、返回值、状态变更)
    - **异常流程**:确认错误处理覆盖(参数校验、权限检查、边界条件)
    - **边界条件**:空值、零值、溢出、并发等极端场景是否有防护

    ### 验证方法
    - **后端 API**:阅读 Controller → Service → Mapper 代码路径,确认请求参数、业务逻辑、数据库操作与 Spec 一致
    - **前端页面**:阅读 UI → Provider/State → Service 代码路径,确认交互流程、状态管理、错误展示正确
    - **数据一致性**:确认资金变动相关的操作有事务注解、余额校验、流水记录

    ## 4. 输出验证报告
    | 用例编号 | 用例描述 | 验证结果 | 备注 |
    |----------|----------|----------|------|
    | TC-01 | 正常xxx | ✅ 通过 / ❌ 失败 | 具体原因 |
    | TC-02 | 异常xxx | ✅ 通过 / ❌ 失败 | 具体原因 |
    | ... | ... | ... | ... |

    ### 总结
    - 通过率X/Y
    - 未通过用例:列出失败原因和修复建议
    - 风险点:潜在问题或遗漏

    如有未通过用例,返回主对话修复后重新启动验证。
)

Phase 5: 构建Agent C

Agent A 和 Agent B 全部通过后,启动独立 Agent 执行构建。

启动 Agent C

Agent(
  description: "项目构建",
  prompt: |
    你是 Monisuo 项目构建 Agent独立完成构建任务不要询问用户。

    ## 1. 构建
    - 后端: mvn clean package -DskipTests → target/monisuo-*.jar
    - Flutter: cd flutter_monisuo && flutter build web --release --dart-define=ENV=prod → build/web/

    ## 2. 输出报告
    | 项目 | 状态 | 备注 |
    |------|------|------|
    | 后端构建 | ✅/❌ | 产物路径 |
    | Flutter 构建 | ✅/❌ | 产物路径 |

    如有构建失败,列出:模块、错误信息、修复建议。返回主对话修复后重新构建。
)

Bug 修复循环

  • Agent A 失败(测试不通过)→ 主对话修复 Bug → 重新启动 Agent A
  • Agent B 失败(功能验证不通过)→ 主对话修复逻辑 → 重新启动 Agent B
  • Agent C 失败(构建不通过)→ 主对话修复构建问题 → 重新启动 Agent C
  • 全部通过 → 开发完成