Skip to content

四、工作流体系 ​

4.1 Intake 触发机制 ​

任何涉及"新增/修改/删除功能"的需求,主对话第一步必须执行 Intake 三问:

1. 目标   — 要做什么?数据来源?涉及哪个项目?
2. 边界   — 不做什么?是否需要鉴权?是否涉及已有接口?
3. 验收   — 做完怎么算完成?

三问回答清晰后,进入智能路由。

Jira Issue 检测(可选):Intake 阶段主会话会检测用户输入中的 Jira Issue Key。如检测到,自动获取 Issue 详情作为上下文。需要项目配置 Jira MCP Server(.mcp.json),未配置则静默跳过,不影响流程。

需求确认门控:Intake 完成后,主对话必须向用户呈现需求摘要 + 路由判断 + 询问确认。只有用户明确回复"开始"/"确认"/"继续"后,才可路由并启动 PM Agent。

4.2 智能路由决策树 ​

工作流路由

需求已明确
    ↓
Q0: 是否轻量改动?(≤3 文件 / bug fix / 配置变更 / 不涉及新 API)
    ├── 是 → Q0 轻量模式(sdd-riper-one-light 协议)
    └── 否 ↓
Q1: 是否涉及数据库 / API / 后端逻辑变更?
    ├── 否 → Q2
    └── 是 → Q3
              ↓
Q3: 是否同时涉及页面 / 交互变更?
    ├── 否 → 工作流 A(纯后端)
    └── 是 → 工作流 C(前后端联动)

Q2: 是否涉及页面 / 组件 / 样式 / 交互变更?
    ├── 否 → 非功能性变更(直接处理)
    └── 是 → 工作流 B(纯前端)

4.3 Skill 加载指引 ​

路由完成后,主会话在派发 Agent 时指定本次加载的 Skill 分组,避免不相关知识占用上下文:

分类包含 Skills说明
corespec-templates、domain-ontology所有 Agent 必需
backendbackend-rules、api-reviewer、sql-checker后端/全栈模式
frontendfrontend-conventions、frontend-ui-design、frontend-create-* 等前端/全栈模式
optionaljira-task-management、confluence-doc-sync检测到 MCP 可用时自动加载

各工作流的加载组合:

工作流PMArchDev/FEQA
A 后端corecore+backendcore+backendcore+backend
B 前端corecore+frontendcore+frontendcore+frontend
C 全栈corecore+backend+frontendcore+对应端core+backend+frontend
轻量——sdd-riper-one-light—

注意:Agent 的 YAML skills 字段是扁平列表,Claude Code 会自动加载全部。此指引帮助主会话在派发指令中明确"本次任务应关注哪些知识",引导 Agent 聚焦。

4.4 四种工作流详解 ​

Q0 轻量模式 ​

适用:单文件改动、小 bug 修复、配置变更、小特性增强。

使用 sdd-riper-one-light 协议,4 层深度自适应:

深度适用场景流程
零 Spec纯机械改动(改名、格式化)直接执行 + summary
快速明确的小改动1-3 句 spec → 批准 → 执行
标准默认模式复述理解 → 轻量 spec → checkpoint → 批准 → 执行 → 回写
深度需求模糊 / 涉及架构显式分析 → 详细 spec → 批准 → 执行 → 回写

工作流 A:纯后端 ​

主对话 Intake → 路由判定
    ↓
@pm-agent(后端模式)
    → 产出:01_requirement.md
    → 用户 Approval
    ↓
@arch-agent(后端模式)
    → 调研现有代码 + MCP 数据库查询 + 知识对齐(如存在 knowledge-index.md,设计对齐已有 cookbook 模式)
    → 产出:02_technical_design.md(Part A: API Contract / Part D: DB Schema / Part E: 测试场景 / Part C: 风险)
    → 用户 Approval
    ↓
@dev-agent
    → 建 feature 分支
    → Research: 知识按需加载(如存在 knowledge-index.md,匹配任务加载 cookbook/pattern)
    → Execute(DB 操作 + 编码 + 自测 + 产出 04 测试计划)
    → 证据写入 evidences/ → 呼叫 QA
    ↓
@qa-agent(后端 Review)
    → 四轴验收 + 04 测试审计 + 构建验证
    → PASS / FAIL
    ↓
@e2e-runner(可选,需用户选择且项目已配置 E2E)
    → 先 Deploy → 再基于 02 Part E 执行 Playwright E2E
    ↓
主会话
    → 后端 API 自动验证(读取 04 Part B,curl 核心接口)
    → 用户确认 → 合并 + 推送

工作流 B:纯前端 ​

主对话 Intake → 路由判定
    ↓
@pm-agent(前端模式)→ 用户 Approval
    ↓
@prototype-agent(需用户指示)
    → 建 prototype 分支 → Vue 原型 → 用户预览 → 迭代至确认
    ↓
@arch-agent(前端模式)
    → 调研现有代码 + 知识对齐(如存在 knowledge-index.md,设计对齐已有 cookbook 模式)
    → 产出:02_technical_design.md(Part B: 前端设计 / Part E: 测试场景 / Part C: 风险)
    → 用户 Approval
    ↓
@fe-agent
    → 建 feature 分支(有原型时先 merge)→ Research: 知识按需加载(如存在 knowledge-index.md)
    → 编码 + lint + 构建验证 + 产出 04 → 呼叫 QA
    ↓
@qa-agent(前端 Review)
    → 四轴验收 + 04 测试审计 + lint 验证
    → PASS / FAIL
    ↓
@e2e-runner(可选,同上)
    ↓
主会话
    → 前端手工验证(用户按 04 Part B 验证清单操作浏览器)
    → 合并 + 推送 → 删除 prototype 分支

工作流 C:前后端联动 ​

主对话 Intake → 路由判定
    ↓
@pm-agent(全栈模式)→ 用户 Approval
    ↓
@prototype-agent(需用户指示,同工作流 B)
    ↓
@arch-agent(全栈模式)
    → 同时调研前后端 + MCP 查 DB + 知识对齐(如存在 knowledge-index.md)
    → 产出:02_technical_design.md(Part A + B + D + E + C)
    → 用户 Approval
    ↓
@dev-agent ⚡ @fe-agent(worktree 隔离并行,主会话必须使用 isolation: worktree 创建隔离环境)
    → Dev worktree: feature/<name>-backend
    → FE worktree: feature/<name>-frontend(有原型时先 merge)
    → 各自产出 04 后通知主对话
    ↓
主会话 → merge backend → merge frontend → 清理 worktrees
    ↓
@qa-agent(全栈 Review)
    → 五轴(比 A/B 多一轴:API 契约一致性)+ 04 测试审计
    → PASS / FAIL
    ↓
@e2e-runner(可选,同上)
    ↓
主会话
    → 后端 API 自动验证 + 前端浏览器验证
    → 用户确认 → 合并 + 推送

Spec 产出物定义 ​

文件产出者定位审批门控
01_requirement.mdPM需求规格(业务语言,含字段级页面结构)用户必须审批
02_technical_design.mdArch技术设计(API + 前端 + DB + 测试场景 + 风险)用户必须审批
03_impl_backend.mdDev后端执行日志(修改文件 + 关键决策 + 问题记录)无需审批,供 QA 参考
03_impl_frontend.mdFE前端执行日志(修改文件 + 关键决策 + 问题记录)无需审批,供 QA 参考
04_test_plan.mdDev/FE测试计划(追溯矩阵 + 全流程用例),QA 审计无需审批

02_interface.md 已废弃,其内容(API Contract、前端数据映射)合入 02_technical_design.md。

4.5 合并前检查清单 ​

合并任何 feature/*、fix/*、refactor/* 分支前,必须通过以下检查:

通用检查(8 项):

  1. Spec 同步:对应 Spec 文档已更新
  2. 最小改动:遵循 YAGNI/KISS
  3. 独立验收:QA 已 PASS
  4. 构建验证:编译/lint 无错
  5. 后端 API 验证:curl 测试(A/C 工作流)
  6. 前端运行验证:浏览器验证(B/C 工作流)
  7. 联调确认:前后端同时运行状态验证(C 工作流)
  8. 冲突检测:无同名文件冲突

后端专项(5 项):异常处理、入参校验、代码清理、SQL 规范、数据库变更脚本

前端专项(3 项):<style scoped> 强制、微前端隔离、交互与数据完整性

全栈专项(1 项):API 契约一致性(设计文档 vs 后端实现 vs 前端调用)

4.6 E2E 测试触发规则(可选) ​

QA PASS 后、运行验证前,主会话必须询问用户是否执行 E2E 测试。

触发条件(全部满足才可触发):

  1. QA 审查结论为 PASS
  2. 用户明确选择执行 E2E
  3. 项目已配置 E2E 测试基础设施(e2e/ 目录存在或有 Playwright 配置)

前置条件:先 Deploy 部署到测试环境,获取 E2E_BASE_URL 和测试账号。

跳过场景:项目无 e2e/ 目录、轻量流程(Q0 路由)。

4.7 运行验证(Verification) ​

QA PASS 后、合并前,主会话必须组织运行验证:

验证类型适用工作流方式证据
后端 APIA / C读取 04 Part B → 启动服务 → curl 验证 → 回写状态evidences/evidence-api-test.md
前端页面B / C用户按 04 Part B 人工验证清单操作浏览器用户反馈
全栈联调C后端自动验证 + 前端人工验证同上

4.8 Deploy 阶段(可选) ​

Deploy 是可选、非阻塞的。主会话只负责触发构建脚本并推送镜像,服务器部署由 Watchtower 异步完成。

触发时机:

场景触发时间说明
E2E 测试QA PASS 后、E2E 前需先部署再测试
生产部署合并后代码已合并到 develop

4.9 Jira 集成(可选) ​

Jira 集成是可选的、非阻塞的——未配置时所有 Jira 操作被静默跳过。

阶段Jira 操作执行者
Intake读取 Issue 详情(描述、AC、状态)主会话
Spec将 Issue Key 写入 01 头部PM Agent
实现Issue → "In Progress";完成时添加评论Dev/FE Agent
审查PASS/FAIL 评论回 JiraQA Agent
收尾Issue → "Done/Closed"主会话

配置要求:项目根目录 .mcp.json 包含 Jira MCP Server 连接信息。详见 templates/mcp-config.json.template。