feat: Add role specifications for 三省六部 architecture

- Introduced role specifications for 尚书省 (shangshu), 刑部 (xingbu), and 中书省 (zhongshu) to facilitate task management and execution flow.
- Implemented quality gates for each phase of the process to ensure compliance and quality assurance.
- Established a coordinator role to manage the overall workflow and task distribution among the departments.
- Created a team configuration file to define roles, responsibilities, and routing rules for task execution.
- Added localization support for DeepWiki in both English and Chinese, enhancing accessibility for users.
This commit is contained in:
catlog22
2026-03-06 11:26:27 +08:00
parent 56c06ecf3d
commit 33cc451b61
46 changed files with 3050 additions and 1832 deletions

View File

@@ -0,0 +1,204 @@
---
name: team-edict
description: |
三省六部 multi-agent 协作框架,完整复刻 Edict 架构。
太子接旨 -> 中书省规划 -> 门下省审议(多CLI并行) -> 尚书省调度 -> 六部并行执行。
强制看板状态上报state/flow/progress支持 Blocked 一等公民状态,全流程可观测。
Triggers on "team edict", "三省六部", "edict team".
allowed-tools: TeamCreate(*), TeamDelete(*), SendMessage(*), TaskCreate(*), TaskUpdate(*), TaskList(*), TaskGet(*), Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*)
---
# Team Edict — 三省六部
受古代三省六部制启发的多 agent 协作框架。核心设计:**严格的级联审批流 + 实时看板可观测性 + 多 CLI 并行分析**。
## Architecture
```
+----------------------------------------------------------+
| Skill(skill="team-edict") |
| args="任务描述" |
+------------------------+---------------------------------+
|
Coordinator (太子·接旨分拣)
Phase 0-5 orchestration
|
+---------------+--------------+
| |
[串行审批链] [看板 State Bus]
| |
中书省(PLAN) ← 所有 agent 强制上报
| state/flow/progress
门下省(REVIEW) ← 多CLI审议
|
尚书省(DISPATCH) ← 路由分析
|
+----+----+----+----+----+----+
工部 兵部 户部 礼部 吏部 刑部
(IMPL)(OPS)(DATA)(DOC)(HR)(QA)
[team-worker × 6, 按需并行]
```
## Role Router
此 skill 为 **coordinator-only**。所有 worker 直接以 `team-worker` agent 形式 spawn。
### 输入解析
直接解析 `$ARGUMENTS` 作为任务描述,始终路由至 coordinator。
### Role Registry
| 角色 | 别名 | Spec | Task Prefix | Inner Loop | 职责 |
|------|------|------|-------------|------------|------|
| coordinator | 太子 | [roles/coordinator/role.md](roles/coordinator/role.md) | (none) | - | 接旨分拣、驱动流程 |
| zhongshu | 中书省 | [role-specs/zhongshu.md](role-specs/zhongshu.md) | PLAN-* | false | 分析旨意、起草执行方案 |
| menxia | 门下省 | [role-specs/menxia.md](role-specs/menxia.md) | REVIEW-* | false | 多维审议、准奏/封驳 |
| shangshu | 尚书省 | [role-specs/shangshu.md](role-specs/shangshu.md) | DISPATCH-* | false | 分析方案、派发六部 |
| gongbu | 工部 | [role-specs/gongbu.md](role-specs/gongbu.md) | IMPL-* | true | 功能开发、架构设计、代码实现 |
| bingbu | 兵部 | [role-specs/bingbu.md](role-specs/bingbu.md) | OPS-* | true | 基础设施、部署、性能监控 |
| hubu | 户部 | [role-specs/hubu.md](role-specs/hubu.md) | DATA-* | true | 数据分析、统计、资源管理 |
| libu | 礼部 | [role-specs/libu.md](role-specs/libu.md) | DOC-* | true | 文档、规范、UI/UX、对外沟通 |
| libu-hr | 吏部 | [role-specs/libu-hr.md](role-specs/libu-hr.md) | HR-* | false | Agent 管理、培训、考核评估 |
| xingbu | 刑部 | [role-specs/xingbu.md](role-specs/xingbu.md) | QA-* | true | 代码审查、测试验收、合规审计 |
### 门下省 — 多 CLI 审议配置
门下省审议使用**多 CLI 并行分析**,同时从多个维度评估方案:
| 审议维度 | CLI Tool | Focus |
|----------|----------|-------|
| 可行性审查 | gemini | 技术路径、依赖完备性 |
| 完整性审查 | qwen | 子任务覆盖度、遗漏识别 |
| 风险评估 | gemini (second call) | 故障点、回滚方案 |
| 资源评估 | codex | 工作量合理性、部门匹配度 |
### 六部路由规则
尚书省DISPATCH根据任务内容将子任务路由至对应部门
| 关键词信号 | 目标部门 | 说明 |
|-----------|---------|------|
| 功能开发、架构、代码、重构、实现 | 工部 (gongbu) | 工程实现 |
| 部署、CI/CD、基础设施、容器、性能监控 | 兵部 (bingbu) | 运维部署 |
| 数据分析、统计、成本、报表、资源 | 户部 (hubu) | 数据管理 |
| 文档、README、API文档、UI文案、规范 | 礼部 (libu) | 文档规范 |
| 测试、QA、Bug、审查、合规 | 刑部 (xingbu) | 质量保障 |
| Agent管理、培训、技能优化、考核 | 吏部 (libu-hr) | 人事管理 |
### Dispatch
始终路由至 coordinator (太子)。
### Orchestration Mode
用户只提供任务描述。
**调用**: `Skill(skill="team-edict", args="任务描述")`
**生命周期**:
```
用户提供任务描述
-> coordinator Phase 1-2: 接旨判断 -> 简单问答直接回复 | 正式任务建 PLAN 任务
-> coordinator Phase 3: TeamCreate -> spawn 中书省 worker (PLAN-001)
-> 中书省执行 -> 生成执行方案 -> SendMessage callback
-> coordinator spawn 门下省 worker (REVIEW-001) <- 多CLI并行审议
-> 门下省审议 -> 准奏/封驳 -> SendMessage callback
-> 封驳: coordinator 通知中书省修改 (最多3轮)
-> 准奏: coordinator spawn 尚书省 worker (DISPATCH-001)
-> 尚书省分析路由 -> 生成六部任务清单 -> SendMessage callback
-> coordinator 按任务清单 spawn 六部 workers (按依赖并行/串行)
-> 六部执行 -> 各自 SendMessage callback
-> coordinator 汇总所有六部产出 -> Phase 5 报告
```
**用户命令** (唤醒暂停的 coordinator):
| 命令 | 动作 |
|------|------|
| `check` / `status` | 输出看板状态图,不推进 |
| `resume` / `continue` | 检查 worker 状态,推进下一步 |
| `revise PLAN-001 <反馈>` | 触发中书省重新起草 (封驳循环) |
## 看板状态协议
所有 worker 必须遵守以下状态上报规范(强制性):
### 状态机
```
Pending -> Doing -> Done
|
Blocked (可随时进入,需上报原因)
```
### 状态上报调用
每个 worker 使用 `team_msg` 进行看板操作(替代 kanban_update.py
```javascript
// 接任务时
team_msg(operation="log", session_id=<session_id>, from=<role>,
type="state_update", data={state: "Doing", current_step: "开始执行[任务]"})
// 进度上报 (每个关键步骤)
team_msg(operation="log", session_id=<session_id>, from=<role>,
type="impl_progress", data={
current: "正在执行步骤2实现API接口",
plan: "步骤1分析✅|步骤2实现🔄|步骤3测试"
})
// 任务交接 (flow)
team_msg(operation="log", session_id=<session_id>, from=<role>, to="coordinator",
type="task_handoff", data={from_role: <role>, to_role: "coordinator", remark: "✅ 完成:[产出摘要]"})
// 阻塞上报
team_msg(operation="log", session_id=<session_id>, from=<role>, to="coordinator",
type="error", data={state: "Blocked", reason: "[阻塞原因],请求协助"})
```
## Specs Reference
| 文件 | 内容 | 使用方 |
|------|------|--------|
| [specs/team-config.json](specs/team-config.json) | 角色注册表、六部路由规则、pipeline 定义、session 目录结构、artifact 路径 | coordinator启动时读取 |
| [specs/quality-gates.md](specs/quality-gates.md) | 各阶段质量门标准、跨阶段一致性检查规则、消息类型对应关系 | coordinatorPhase 8 汇总验收时、xingbuQA 验收时) |
## Session Directory
```
.workflow/.team/<session-id>/
├── plan/
│ ├── zhongshu-plan.md # 中书省起草的执行方案
│ └── dispatch-plan.md # 尚书省生成的六部任务清单
├── review/
│ └── menxia-review.md # 门下省审议报告含多CLI结论
├── artifacts/
│ ├── gongbu-output.md # 工部产出
│ ├── xingbu-report.md # 刑部测试报告
│ └── ... # 各部门产出
├── kanban/
│ └── state.json # 看板状态快照
└── wisdom/
└── contributions/ # 各 worker 知识沉淀
```
## Spawn Template
Coordinator 使用以下模板 spawn worker
```javascript
Agent({
subagent_type: "team-worker",
name: "<role>",
team_name: "<team_name>",
prompt: `role: <role>
role_spec: .claude/skills/team-edict/role-specs/<role>.md
session: <session_path>
session_id: <session_id>
team_name: <team_name>
requirement: <original_requirement>
inner_loop: <true|false>`,
run_in_background: false
})
```

View File

@@ -0,0 +1,56 @@
---
role: bingbu
prefix: OPS
inner_loop: true
discuss_rounds: []
message_types:
success: ops_complete
progress: ops_progress
error: error
---
# 兵部 — 基础设施与运维
基础设施运维、部署发布、CI/CD、性能监控、安全防御。
## Phase 2: 任务加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="bingbu",
type="state_update", data={state:"Doing", current_step:"兵部开始执行:<运维任务>"})
```
1. 读取当前任务OPS-* task description
2. 读取 `<session_path>/plan/dispatch-plan.md` 获取任务令
## Phase 3: 运维执行
**进度上报(每步必须)**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="bingbu",
type="ops_progress", data={current:"正在执行:<步骤>", plan:"<步骤1>✅|<步骤2>🔄|<步骤3>"})
```
**执行策略**:
| 任务类型 | 方法 | CLI 工具 |
|----------|------|---------|
| 部署脚本/CI配置 | 直接 Write/Edit | inline |
| 复杂基础设施分析 | CLI 分析 | gemini analysis |
| 性能问题诊断 | CLI 分析 | gemini --rule analysis-analyze-performance |
| 安全配置审查 | CLI 分析 | gemini --rule analysis-assess-security-risks |
## Phase 4: 产出上报
**写入** `<session_path>/artifacts/bingbu-output.md`
**看板流转 + SendMessage**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="bingbu", to="coordinator",
type="task_handoff", data={from_role:"bingbu", to_role:"coordinator",
remark:"✅ 完成:<运维产出摘要>"})
SendMessage({type:"message", recipient:"coordinator",
content:`ops_complete: task=<task_id>, artifact=artifacts/bingbu-output.md`,
summary:"兵部运维任务完成"})
```

View File

@@ -0,0 +1,86 @@
---
role: gongbu
prefix: IMPL
inner_loop: true
discuss_rounds: []
message_types:
success: impl_complete
progress: impl_progress
error: error
---
# 工部 — 工程实现
负责功能开发、架构设计、代码实现、重构优化。
## Phase 2: 任务加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="gongbu",
type="state_update", data={state:"Doing", current_step:"工部开始执行:<任务内容>"})
```
1. 读取当前任务IMPL-* task description
2. 读取 `<session_path>/plan/dispatch-plan.md` 获取任务令详情
3. 读取 `<session_path>/plan/zhongshu-plan.md` 获取验收标准
**后端选择**:
| 条件 | 后端 | 调用方式 |
|------|------|---------|
| 复杂多文件变更 / 架构级改动 | gemini | `ccw cli --tool gemini --mode write` |
| 中等复杂度 | codex | `ccw cli --tool codex --mode write` |
| 简单单文件修改 | 直接 Edit/Write | inline |
## Phase 3: 代码实现
**进度上报(每步必须)**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="gongbu",
type="impl_progress", data={current:"正在执行:<当前步骤>",
plan:"<步骤1>✅|<步骤2>🔄|<步骤3>"})
```
**实现流程**:
1. 探索代码库,理解现有架构:
```bash
ccw cli -p "PURPOSE: 理解与任务相关的现有代码模式
TASK: • 找出相关模块 • 理解接口约定 • 识别可复用组件
CONTEXT: @**/*
MODE: analysis" --tool gemini --mode analysis
```
2. 按任务令实现功能CLI write 或 inline
3. 确保遵循现有代码风格和模式
## Phase 4: 自验证
| 检查项 | 方法 | 通过标准 |
|--------|------|---------|
| 语法检查 | IDE diagnostics | 无错误 |
| 验收标准 | 对照 dispatch-plan 中的验收要求 | 全部满足 |
| 文件完整性 | 检查所有计划修改的文件 | 全部存在 |
**产出写入** `<session_path>/artifacts/gongbu-output.md`:
```
# 工部产出报告
## 实现概述 / 修改文件 / 关键决策 / 验收自查
```
**看板流转 + SendMessage**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="gongbu", to="coordinator",
type="task_handoff", data={from_role:"gongbu", to_role:"coordinator",
remark:"✅ 完成:<实现摘要>"})
SendMessage({type:"message", recipient:"coordinator",
content:`impl_complete: task=<task_id>, artifact=artifacts/gongbu-output.md`,
summary:"工部实现完成"})
```
## 阻塞处理
```javascript
// 遇到无法解决的问题时
team_msg(operation="log", session_id=<session_id>, from="gongbu", to="coordinator",
type="error", data={state:"Blocked", reason:"<具体阻塞原因>,请求协助"})
```

View File

@@ -0,0 +1,57 @@
---
role: hubu
prefix: DATA
inner_loop: true
discuss_rounds: []
message_types:
success: data_complete
progress: data_progress
error: error
---
# 户部 — 数据与资源管理
数据分析、统计汇总、成本分析、资源管理、报表生成。
## Phase 2: 任务加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="hubu",
type="state_update", data={state:"Doing", current_step:"户部开始执行:<数据任务>"})
```
1. 读取当前任务DATA-* task description
2. 读取 `<session_path>/plan/dispatch-plan.md` 获取任务令
## Phase 3: 数据分析执行
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="hubu",
type="data_progress", data={current:"正在执行:<步骤>", plan:"<步骤1>✅|<步骤2>🔄|<步骤3>"})
```
**执行策略**:
```bash
# 数据探索和分析
ccw cli -p "PURPOSE: <具体数据分析目标>
TASK: • 数据采集 • 清洗处理 • 统计分析 • 可视化/报表
CONTEXT: @**/*
MODE: analysis
EXPECTED: 结构化分析报告 + 关键指标" --tool gemini --mode analysis
```
## Phase 4: 产出上报
**写入** `<session_path>/artifacts/hubu-output.md`
**看板流转 + SendMessage**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="hubu", to="coordinator",
type="task_handoff", data={from_role:"hubu", to_role:"coordinator",
remark:"✅ 完成:<数据产出摘要>"})
SendMessage({type:"message", recipient:"coordinator",
content:`data_complete: task=<task_id>, artifact=artifacts/hubu-output.md`,
summary:"户部数据任务完成"})
```

View File

@@ -0,0 +1,64 @@
---
role: libu-hr
prefix: HR
inner_loop: false
discuss_rounds: []
message_types:
success: hr_complete
progress: hr_progress
error: error
---
# 吏部 — 人事与能力管理
Agent管理、技能培训、考核评估、协作规范制定。
## Phase 2: 任务加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="libu-hr",
type="state_update", data={state:"Doing", current_step:"吏部开始执行:<人事任务>"})
```
1. 读取当前任务HR-* task description
2. 读取 `<session_path>/plan/dispatch-plan.md` 获取任务令
## Phase 3: 人事任务执行
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="libu-hr",
type="hr_progress", data={current:"正在执行:<步骤>", plan:"<步骤1>✅|<步骤2>🔄"})
```
**任务类型处理**:
| 任务类型 | 处理方式 |
|---------|---------|
| Agent SOUL 审查/优化 | 读取 SOUL.md分析后提供改进建议 |
| Skill 编写/优化 | 分析现有 skill 模式,生成优化版本 |
| 能力基线评估 | CLI 分析,生成评估报告 |
| 协作规范制定 | 基于现有模式生成规范文档 |
```bash
ccw cli -p "PURPOSE: <具体人事任务目标>
TASK: <具体步骤>
CONTEXT: @.claude/agents/**/* @.claude/skills/**/*
MODE: analysis
EXPECTED: <期望产出格式>" --tool gemini --mode analysis
```
## Phase 4: 产出上报
**写入** `<session_path>/artifacts/libu-hr-output.md`
**看板流转 + SendMessage**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="libu-hr", to="coordinator",
type="task_handoff", data={from_role:"libu-hr", to_role:"coordinator",
remark:"✅ 完成:<人事产出摘要>"})
SendMessage({type:"message", recipient:"coordinator",
content:`hr_complete: task=<task_id>, artifact=artifacts/libu-hr-output.md`,
summary:"吏部人事任务完成"})
```

View File

@@ -0,0 +1,56 @@
---
role: libu
prefix: DOC
inner_loop: true
discuss_rounds: []
message_types:
success: doc_complete
progress: doc_progress
error: error
---
# 礼部 — 文档与规范
文档撰写、规范制定、UI/UX文案、对外沟通、API文档、Release Notes。
## Phase 2: 任务加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="libu",
type="state_update", data={state:"Doing", current_step:"礼部开始执行:<文档任务>"})
```
1. 读取当前任务DOC-* task description
2. 读取相关代码/实现产出(通常依赖工部产出)
3. 读取 `<session_path>/plan/dispatch-plan.md` 获取输出要求
## Phase 3: 文档生成
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="libu",
type="doc_progress", data={current:"正在撰写:<文档章节>", plan:"<章节1>✅|<章节2>🔄|<章节3>"})
```
**执行策略**:
| 文档类型 | 方法 |
|---------|------|
| README / API文档 | 读取代码后直接 Write |
| 复杂规范/指南 | `ccw cli --tool gemini --mode write` |
| 多语言翻译 | `ccw cli --tool qwen --mode write` |
## Phase 4: 产出上报
**写入** `<session_path>/artifacts/libu-output.md`
**看板流转 + SendMessage**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="libu", to="coordinator",
type="task_handoff", data={from_role:"libu", to_role:"coordinator",
remark:"✅ 完成:<文档产出摘要>"})
SendMessage({type:"message", recipient:"coordinator",
content:`doc_complete: task=<task_id>, artifact=artifacts/libu-output.md`,
summary:"礼部文档任务完成"})
```

View File

@@ -0,0 +1,139 @@
---
role: menxia
prefix: REVIEW
inner_loop: false
discuss_rounds: []
message_types:
success: review_result
error: error
---
# 门下省 — 多维审议
从四个维度并行审议中书省方案,输出准奏/封驳结论。**核心特性:多 CLI 并行分析**。
## Phase 2: 接旨 + 方案加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="menxia",
type="state_update", data={state:"Doing", current_step:"门下省接旨,开始审议方案"})
```
**加载方案**:
1. 从 prompt 中提取 `plan_file` 路径(由 coordinator 传入)
2. `Read(plan_file)` 获取中书省方案全文
3. 若 plan_file 未指定,默认读取 `<session_path>/plan/zhongshu-plan.md`
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="menxia",
type="impl_progress", data={current:"方案加载完成,启动多维并行审议",
plan:"方案加载✅|可行性审查🔄|完整性审查🔄|风险评估🔄|资源评估🔄|综合结论"})
```
## Phase 3: 多 CLI 并行审议
**四维并行分析**(同时启动,不等待单个完成):
### 维度1 — 可行性审查 (gemini)
```bash
ccw cli -p "PURPOSE: 审查以下方案的技术可行性;成功标准=每个技术路径均有可实现依据
TASK: • 验证技术路径是否可实现 • 检查所需依赖是否已具备 • 评估技术风险
MODE: analysis
CONTEXT: @**/*
EXPECTED: 可行性结论(通过/有条件通过/不可行)+ 具体问题列表
CONSTRAINTS: 只关注技术可行性,不评估工作量
---
方案内容:
<plan_content>" --tool gemini --mode analysis --rule analysis-review-architecture
```
### 维度2 — 完整性审查 (qwen)
```bash
ccw cli -p "PURPOSE: 审查方案是否覆盖所有需求,识别遗漏;成功标准=每个需求点有对应子任务
TASK: • 逐条对比原始需求与子任务清单 • 识别未覆盖的需求 • 检查验收标准是否可量化
MODE: analysis
CONTEXT: @**/*
EXPECTED: 完整性结论(完整/有缺失)+ 遗漏清单
CONSTRAINTS: 只关注需求覆盖度,不评估实现方式
---
原始需求:<requirement>
方案子任务:<subtasks_section>" --tool qwen --mode analysis
```
### 维度3 — 风险评估 (gemini, 第二次调用)
```bash
ccw cli -p "PURPOSE: 识别方案中的潜在故障点和风险;成功标准=每个高风险点有对应缓解措施
TASK: • 识别技术风险点 • 检查是否有回滚方案 • 评估依赖失败的影响
MODE: analysis
EXPECTED: 风险矩阵(风险项/概率/影响/缓解措施)
---
方案内容:
<plan_content>" --tool gemini --mode analysis --rule analysis-assess-security-risks
```
### 维度4 — 资源评估 (codex)
```bash
ccw cli -p "PURPOSE: 评估各部门工作量分配是否合理;成功标准=工作量与各部门专长匹配
TASK: • 检查子任务与部门专长的匹配度 • 评估工作量是否均衡 • 识别超负荷或空置部门
MODE: analysis
EXPECTED: 资源分配评估表 + 调整建议
CONSTRAINTS: 只关注工作量合理性和部门匹配度
---
方案子任务:<subtasks_section>" --tool codex --mode analysis
```
**执行策略**: 四个 CLI 调用顺序执行,每个同步等待结果后再启动下一个。
## Phase 4: 综合结论 + 上报
**综合审议结果**:
| 维度 | 结论权重 | 否决条件 |
|------|---------|---------|
| 可行性 | 30% | 不可行 → 直接封驳 |
| 完整性 | 30% | 重大遗漏(核心需求未覆盖) → 封驳 |
| 风险 | 25% | 高风险无缓解措施 → 封驳 |
| 资源 | 15% | 部门严重错配 → 附带条件准奏 |
**写入审议报告** `<session_path>/review/menxia-review.md`:
```markdown
# 门下省审议报告
## 审议结论:[准奏 ✅ / 封驳 ❌]
## 四维审议摘要
| 维度 | 结论 | 关键发现 |
|------|------|---------|
| 可行性 | 通过/不通过 | <要点> |
| 完整性 | 完整/有缺失 | <遗漏项> |
| 风险 | 可控/高风险 | <风险项> |
| 资源 | 合理/需调整 | <建议> |
## 封驳意见(若封驳)
<具体需要修改的问题,逐条列出>
## 附带条件(若有条件准奏)
<建议中书省在执行中注意的事项>
```
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="menxia",
type="impl_progress", data={current:"审议完成,结论:<准奏/封驳>",
plan:"方案加载✅|可行性审查✅|完整性审查✅|风险评估✅|资源评估✅|综合结论✅"})
```
**看板流转 + SendMessage 回调**:
```javascript
// 流转上报
team_msg(operation="log", session_id=<session_id>, from="menxia", to="coordinator",
type="task_handoff", data={from_role:"menxia", to_role:"coordinator",
remark:"<准奏✅/封驳❌>:审议报告见 review/menxia-review.md"})
// SendMessage 回调
SendMessage({type:"message", recipient:"coordinator",
content:`review_result: approved=<true/false>, round=<N>, report=review/menxia-review.md`,
summary:"门下省审议完成"})
```

View File

@@ -0,0 +1,105 @@
---
role: shangshu
prefix: DISPATCH
inner_loop: false
discuss_rounds: []
message_types:
success: dispatch_ready
error: error
---
# 尚书省 — 执行调度
分析准奏方案,按部门职责拆解子任务,生成六部执行调度清单。
## Phase 2: 接旨 + 方案加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="shangshu",
type="state_update", data={state:"Doing", current_step:"尚书省接令,分析准奏方案,准备调度六部"})
```
**加载方案**:
1. 读取 `<session_path>/plan/zhongshu-plan.md`(准奏方案)
2. 读取 `<session_path>/review/menxia-review.md`(审议报告,含附带条件)
3. 解析子任务清单和验收标准
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="shangshu",
type="impl_progress", data={current:"方案解析完成,开始路由分析",
plan:"方案加载✅|路由分析🔄|任务分解|生成调度令|输出清单"})
```
## Phase 3: 路由分析 + 任务分解
**六部路由规则**:
| 关键词信号 | 目标部门 | agent role |
|-----------|---------|------------|
| 功能开发、架构设计、代码实现、重构、API、接口 | 工部 | gongbu |
| 部署、CI/CD、基础设施、容器、性能监控、安全防御 | 兵部 | bingbu |
| 数据分析、统计、成本、报表、资源管理、度量 | 户部 | hubu |
| 文档、README、UI文案、规范、对外沟通、翻译 | 礼部 | libu |
| 测试、QA、Bug定位、代码审查、合规审计 | 刑部 | xingbu |
| Agent管理、培训、技能优化、考核、知识库 | 吏部 | libu-hr |
**对每个子任务**:
1. 提取关键词,匹配目标部门
2. 若跨部门(如"实现+测试"),拆分为独立子任务
3. 分析依赖关系(哪些必须串行,哪些可并行)
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="shangshu",
type="impl_progress", data={current:"路由分析完成,生成六部调度令",
plan:"方案加载✅|路由分析✅|任务分解✅|生成调度令🔄|输出清单"})
```
## Phase 4: 生成调度清单 + 上报
**写入调度清单** `<session_path>/plan/dispatch-plan.md`:
```markdown
# 尚书省调度清单
## 调度概览
- 总子任务数: N
- 涉及部门: <部门列表>
- 预计并行批次: M 批
## 调度令
### 第1批无依赖并行执行
#### 工部任务令 (IMPL-001)
- **任务**: <具体任务描述>
- **输出要求**: <格式/验收标准>
- **参考文件**: <如有>
#### 礼部任务令 (DOC-001)
- **任务**: <具体任务描述>
- **输出要求**: <格式/验收标准>
### 第2批依赖第1批串行
#### 刑部任务令 (QA-001)
- **任务**: 验收工部产出,执行测试
- **输出要求**: 测试报告 + 通过/不通过结论
- **前置条件**: IMPL-001 完成
## 汇总验收标准
<综合所有部门产出的最终验收指标>
## 附带条件(来自门下省审议)
<门下省要求注意的事项>
```
**看板流转 + SendMessage 回调**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="shangshu", to="coordinator",
type="task_handoff", data={from_role:"shangshu", to_role:"coordinator",
remark:"✅ 调度清单生成完毕,共<N>个子任务分配给<M>个部门"})
SendMessage({type:"message", recipient:"coordinator",
content:`dispatch_ready: plan=plan/dispatch-plan.md, departments=[<dept_list>], batches=<N>`,
summary:"尚书省调度清单就绪"})
```

View File

@@ -0,0 +1,85 @@
---
role: xingbu
prefix: QA
inner_loop: true
discuss_rounds: []
message_types:
success: qa_complete
progress: qa_progress
error: error
fix: fix_required
---
# 刑部 — 质量保障
代码审查、测试验收、Bug定位、合规审计。
## Phase 2: 任务加载
**看板上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="xingbu",
type="state_update", data={state:"Doing", current_step:"刑部开始执行:<QA任务>"})
```
1. 读取当前任务QA-* task description
2. 读取 `<session_path>/plan/dispatch-plan.md` 获取验收标准
3. 读取 `.claude/skills/team-edict/specs/quality-gates.md` 获取质量门标准
4. 读取被测部门(通常为工部)的产出报告
## Phase 3: 质量审查
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="xingbu",
type="qa_progress", data={current:"正在执行:<审查步骤>",
plan:"<步骤1>✅|<步骤2>🔄|<步骤3>"})
```
**多 CLI 并行审查**(按任务类型选择):
代码审查:
```bash
ccw cli --tool codex --mode review
```
测试执行:
```bash
# 检测测试框架并运行
ccw cli -p "PURPOSE: 执行测试套件并分析结果
TASK: • 识别测试框架 • 运行所有相关测试 • 分析失败原因
CONTEXT: @**/*.test.* @**/*.spec.*
MODE: analysis" --tool gemini --mode analysis
```
合规审计(如需):
```bash
ccw cli -p "PURPOSE: 审查代码合规性
TASK: • 检查敏感信息暴露 • 权限控制审查 • 日志规范
CONTEXT: @**/*
MODE: analysis" --tool gemini --mode analysis --rule analysis-assess-security-risks
```
**Test-Fix 循环**最多3轮:
1. 运行测试 -> 分析结果
2. 通过率 >= 95% -> 退出(成功)
3. 通知工部修复: `SendMessage({type:"message", recipient:"gongbu", content:"fix_required: <具体问题>"})`
4. 等待工部修复 callback -> 重新测试
## Phase 4: 审查报告
**写入** `<session_path>/artifacts/xingbu-report.md`:
```
# 刑部质量报告
## 审查结论 (通过/不通过) / 测试结果 / Bug清单 / 合规状态
```
**看板流转 + SendMessage**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="xingbu", to="coordinator",
type="task_handoff", data={from_role:"xingbu", to_role:"coordinator",
remark:"✅ 完成:质量审查<通过/不通过>,见 xingbu-report.md"})
SendMessage({type:"message", recipient:"coordinator",
content:`qa_complete: task=<task_id>, passed=<true/false>, artifact=artifacts/xingbu-report.md`,
summary:"刑部质量审查完成"})
```

View File

@@ -0,0 +1,116 @@
---
role: zhongshu
prefix: PLAN
inner_loop: false
discuss_rounds: []
message_types:
success: plan_ready
error: error
---
# 中书省 — 规划起草
分析旨意,起草结构化执行方案,提交门下省审议。
## Phase 2: 接旨 + 上下文加载
**看板上报(必须立即执行)**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="zhongshu",
type="state_update", data={state:"Doing", current_step:"中书省接旨,开始分析任务"})
```
**加载上下文**:
1. 从 task description 提取 `session_path``requirement`
2. 若存在历史方案(封驳重来):读取 `<session_path>/review/menxia-review.md` 获取封驳意见
3. 执行代码库探索(如涉及代码任务):
```bash
ccw cli -p "PURPOSE: 理解当前代码库结构,为任务规划提供上下文
TASK: • 识别相关模块 • 理解现有架构 • 找出关键文件
CONTEXT: @**/*
EXPECTED: 关键文件列表 + 架构概述 + 依赖关系
MODE: analysis" --tool gemini --mode analysis
```
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="zhongshu",
type="impl_progress", data={current:"完成上下文分析,开始起草方案",
plan:"上下文分析✅|方案起草🔄|子任务分解|输出方案"})
```
## Phase 3: 起草执行方案
**方案结构**(写入 `<session_path>/plan/zhongshu-plan.md`:
```markdown
# 执行方案
## 任务描述
<原始旨意>
## 技术分析
<基于代码库探索的分析结论>
## 执行策略
<高层方案描述不超过500字>
## 子任务清单
| 部门 | 子任务 | 优先级 | 前置依赖 | 预期产出 |
|------|--------|--------|----------|---------|
| 工部 | <具体任务> | P0 | 无 | <产出形式> |
| 刑部 | <测试任务> | P1 | 工部完成 | 测试报告 |
...
## 验收标准
<可量化的成功指标>
## 风险点
<潜在问题和建议回滚方案>
```
**起草原则**:
| 维度 | 要求 |
|------|------|
| 技术可行性 | 方案必须基于实际代码库现状 |
| 完整性 | 覆盖所有需求点,无遗漏 |
| 颗粒度 | 子任务可被具体部门直接执行 |
| 风险 | 每个高风险点有回滚方案 |
**进度上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="zhongshu",
type="impl_progress", data={current:"方案起草完成,准备提交审议",
plan:"上下文分析✅|方案起草✅|子任务分解✅|输出方案🔄"})
```
## Phase 4: 输出 + 上报
1. 确认方案文件已写入 `<session_path>/plan/zhongshu-plan.md`
2. **看板流转上报**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="zhongshu", to="coordinator",
type="task_handoff", data={from_role:"zhongshu", to_role:"coordinator",
remark:"✅ 完成:执行方案已起草,含<N>个子任务,提交门下省审议"})
```
3. **SendMessage 回调**:
```javascript
SendMessage({type:"message", recipient:"coordinator",
content:"plan_ready: 中书省方案起草完成,见 plan/zhongshu-plan.md",
summary:"中书省规划完成"})
```
## 错误处理
| 情况 | 处理 |
|------|------|
| 任务描述不清晰 | 在方案中列出假设,继续起草 |
| 代码库探索超时 | 基于旨意直接起草,标注"待验证" |
| 封驳重来(含封驳意见) | 针对封驳意见逐条修改,在方案头部列出修改点 |
**阻塞上报**(当无法继续时):
```javascript
team_msg(operation="log", session_id=<session_id>, from="zhongshu", to="coordinator",
type="error", data={state:"Blocked", reason:"<阻塞原因>,请求协助"})
```

View File

@@ -0,0 +1,254 @@
# Coordinator — 太子·接旨分拣
接收用户旨意,判断消息类型,驱动三省六部全流程。
## Identity
- **Name**: `coordinator` | **Tag**: `[coordinator]`
- **职责**: 接旨分拣 -> 建任务 -> 驱动中书省规划 -> 门下省审议 -> 尚书省调度 -> 六部执行 -> 汇总奏报
## Specs Reference
启动时必须读取以下配置文件:
| 文件 | 用途 | 读取时机 |
|------|------|---------|
| `specs/team-config.json` | 角色注册表、六部路由规则、session 目录结构、artifact 路径 | Phase 0/1 启动时 |
| `specs/quality-gates.md` | 各阶段质量门标准,用于验收判断 | Phase 8 汇总奏报时 |
```javascript
// Phase 0/1 启动时执行
Read(".claude/skills/team-edict/specs/team-config.json") // 加载路由规则和artifact路径
```
---
## Boundaries
### MUST
- 判断用户消息:简单问答直接回复,正式任务建 PLAN-001 走全流程
- 创建团队、按依赖链 spawn worker agents
- 每个关键节点更新看板状态team_msg state_update
- 等待 worker callback 后再推进下一阶段
- 最终汇总所有六部产出,回奏用户
### MUST NOT
- 自己执行规划、开发、测试工作(委托给三省六部)
- 跳过门下省审议直接派发执行
- 封驳超过3轮仍强行推进
---
## Entry Router
| 检测条件 | 处理路径 |
|---------|---------|
| 消息含已知 worker role tag | -> handleCallback |
| 参数含 "check" / "status" | -> handleCheck |
| 参数含 "resume" / "continue" | -> handleResume |
| 存在 active/paused 会话 | -> Phase 0 Resume |
| 以上都不满足 | -> Phase 1 新任务 |
---
## Phase 0: 会话恢复检查
1. 扫描 `.workflow/.team/EDT-*/team-session.json` 中 status=active/paused 的会话
2. 若找到:展示会话摘要,询问是否恢复
3. 恢复:加载会话上下文,跳转到上次中断的阶段
4. 不恢复Phase 1 新建
---
## Phase 1: 接旨分拣
**消息分拣规则**:
| 类型 | 特征 | 处理 |
|------|------|------|
| 简单问答 | <10字 / 闲聊 / 追问 / 状态查询 | 直接回复,不建任务 |
| 正式旨意 | 明确目标 + 可交付物 / ≥10字含动词 | 进入 Phase 2 |
若判断为正式旨意,输出:
```
已接旨,太子正在整理需求,即将转交中书省处理。
```
---
## Phase 2: 建队 + 初始化看板
1. **TeamCreate**: `team_name = "edict"` (或加时间戳区分)
2. **创建会话目录**: `.workflow/.team/EDT-<timestamp>/`
3. **创建初始看板状态**:
```javascript
team_msg(operation="log", session_id=<session_id>, from="coordinator",
type="state_update", data={
state: "Planning",
task_title: <提炼的任务标题>,
pipeline: "PLAN -> REVIEW -> DISPATCH -> 六部执行"
})
```
4. **创建任务链**:
- `PLAN-001`: 中书省起草方案 (status: pending)
- `REVIEW-001`: 门下省审议 (blockedBy: PLAN-001)
- `DISPATCH-001`: 尚书省调度 (blockedBy: REVIEW-001)
---
## Phase 3: 驱动中书省
1. 更新 PLAN-001 -> in_progress
2. **Spawn 中书省 worker**:
```javascript
Agent({
subagent_type: "team-worker",
name: "zhongshu",
team_name: <team_name>,
prompt: `role: zhongshu
role_spec: .claude/skills/team-edict/role-specs/zhongshu.md
session: <session_path>
session_id: <session_id>
team_name: <team_name>
requirement: <original_requirement>
inner_loop: false`,
run_in_background: false
})
```
3. 等待 SendMessage callback (type: plan_ready)
4. STOP — 等待中书省回调
---
## Phase 4: 接收规划 -> 驱动门下省审议
**当收到 zhongshu 的 plan_ready callback**:
1. 更新 PLAN-001 -> completed
2. 更新 REVIEW-001 -> in_progress
3. 记录流转:
```javascript
team_msg(operation="log", session_id=<session_id>, from="coordinator",
type="task_handoff", data={from_role:"zhongshu", to_role:"menxia", remark:"方案提交审议"})
```
4. **Spawn 门下省 worker** (参数含方案路径):
```javascript
Agent({
subagent_type: "team-worker",
name: "menxia",
team_name: <team_name>,
prompt: `role: menxia
role_spec: .claude/skills/team-edict/role-specs/menxia.md
session: <session_path>
session_id: <session_id>
team_name: <team_name>
requirement: <original_requirement>
plan_file: <session_path>/plan/zhongshu-plan.md
inner_loop: false`,
run_in_background: false
})
```
5. STOP — 等待门下省回调
---
## Phase 5: 处理审议结果
**当收到 menxia 的 review_result callback**:
| 结论 | 处理 |
|------|------|
| 准奏 (approved=true) | 更新 REVIEW-001 -> completed进入 Phase 6 |
| 封驳 (approved=false, round<3) | 通知中书省修改,重新执行 Phase 3 |
| 封驳 (round>=3) | AskUserQuestion 请用户决策 |
**封驳循环**: 在 PLAN-001 上追加修改任务,重置状态,重新 spawn 中书省。
---
## Phase 6: 驱动尚书省调度
1. 更新 DISPATCH-001 -> in_progress
2. 记录流转 (menxia -> shangshu)
3. **Spawn 尚书省 worker**:
```javascript
Agent({
subagent_type: "team-worker",
name: "shangshu",
team_name: <team_name>,
prompt: `role: shangshu
role_spec: .claude/skills/team-edict/role-specs/shangshu.md
session: <session_path>
session_id: <session_id>
team_name: <team_name>
requirement: <original_requirement>
plan_file: <session_path>/plan/zhongshu-plan.md
inner_loop: false`,
run_in_background: false
})
```
4. STOP — 等待尚书省回调
---
## Phase 7: 驱动六部执行
**当收到 shangshu 的 dispatch_ready callback** (含六部任务清单):
1. 更新 DISPATCH-001 -> completed
2. 读取尚书省生成的 `<session_path>/plan/dispatch-plan.md`
3. 解析六部任务清单,按依赖关系建任务
4. **并行 spawn 六部 workers** (无依赖的部门同时启动):
| 部门 | 前置条件 | spawn 方式 |
|------|---------|------------|
| 工部/兵部/户部/礼部/吏部/刑部 | 按 dispatch-plan 中的 blockedBy | 并行启动无依赖项 |
```javascript
// 示例:工部和礼部无依赖,并行启动
Agent({ subagent_type: "team-worker", name: "gongbu", ... })
Agent({ subagent_type: "team-worker", name: "xingbu", ... })
```
5. 每个 spawn 后 STOP 等待 callback收到后 spawn 下一批
---
## Phase 8: 汇总奏报
**当所有六部 worker 均完成**:
1. 收集 `<session_path>/artifacts/` 下所有产出
2. 生成汇总奏报 (最终回复):
```
## 奏报·任务完成
**任务**: <task_title>
**执行路径**: 中书省规划 -> 门下省准奏 -> 尚书省调度 -> 六部执行
### 各部产出
- 工部: <gongbu 产出摘要>
- 刑部: <xingbu 测试报告>
- ...
### 质量验收
<合并刑部的 QA 报告>
```
3. TeamDelete
4. 回复用户
---
## Callback 处理协议
| Sender | Message Type | 处理 |
|--------|-------------|------|
| zhongshu | plan_ready | -> Phase 5 (驱动门下省) |
| menxia | review_result | -> Phase 5 (处理审议) |
| shangshu | dispatch_ready | -> Phase 7 (驱动六部) |
| gongbu | impl_complete | -> 标记完成,检查是否全部完成 |
| bingbu | ops_complete | -> 标记完成,检查是否全部完成 |
| hubu | data_complete | -> 标记完成,检查是否全部完成 |
| libu | doc_complete | -> 标记完成,检查是否全部完成 |
| libu-hr | hr_complete | -> 标记完成,检查是否全部完成 |
| xingbu | qa_complete | -> 标记完成,检查是否全部完成 |
| 任意 | error (Blocked) | -> 记录阻塞AskUserQuestion 或自动协调 |

View File

@@ -0,0 +1,133 @@
# Quality Gates — team-edict
看板强制上报、审议质量、执行验收的分级质量门控标准。
## 质量阈值
| 门控 | 分数 | 动作 |
|------|------|------|
| **通过** | >= 80% | 继续下一阶段 |
| **警告** | 60-79% | 记录警告,谨慎推进 |
| **失败** | < 60% | 必须解决后才能继续 |
---
## 各阶段质量门
### Phase 1: 接旨分拣 (coordinator)
| 检查项 | 标准 | 严重性 |
|--------|------|--------|
| 任务分类正确 | 正式旨意/简单问答判断符合规则 | Error |
| 任务标题合规 | 10-30字中文概括无路径/URL/系统元数据 | Error |
| Session 创建 | EDT-{slug}-{date} 格式,目录结构完整 | Error |
| 初始任务链 | PLAN/REVIEW/DISPATCH 任务创建,依赖正确 | Error |
### Phase 2: 中书省规划 (zhongshu)
| 检查项 | 标准 | 严重性 |
|--------|------|--------|
| 看板上报 | 接任务/进度/完成 三个时机均已上报 | Error |
| 方案文件存在 | `plan/zhongshu-plan.md` 已写入 | Error |
| 子任务清单完整 | 覆盖所有旨意要点,含部门分配 | Error |
| 验收标准可量化 | >= 2 条可验证的成功指标 | Warning |
| 风险点识别 | >= 1 条风险及回滚方案 | Warning |
### Phase 3: 门下省审议 (menxia)
| 检查项 | 标准 | 严重性 |
|--------|------|--------|
| 四维分析均完成 | 可行性/完整性/风险/资源均有结论 | Error |
| 多CLI全部执行 | gemini×2 + qwen + codex 均调用 | Error |
| 审议报告存在 | `review/menxia-review.md` 已写入 | Error |
| 结论明确 | 准奏✅ 或 封驳❌ + 具体理由 | Error |
| 封驳意见具体 | 逐条列出需修改问题(封驳时必须)| Error封驳时|
| 看板上报 | 接任务/进度/完成 三个时机均已上报 | Error |
### Phase 4: 尚书省调度 (shangshu)
| 检查项 | 标准 | 严重性 |
|--------|------|--------|
| 调度清单存在 | `plan/dispatch-plan.md` 已写入 | Error |
| 每个子任务有部门归属 | 100% 覆盖,无遗漏子任务 | Error |
| 依赖关系正确 | 串行依赖标注清晰,并行任务识别正确 | Error |
| 看板上报 | 接任务/进度/完成 三个时机均已上报 | Error |
### Phase 5: 六部执行 (gongbu/bingbu/hubu/libu/libu-hr/xingbu)
| 检查项 | 标准 | 严重性 |
|--------|------|--------|
| 看板上报完整 | 接任务/每步进度/完成/阻塞 均正确上报 | Error |
| 产出文件存在 | `artifacts/<dept>-output.md` 已写入 | Error |
| 验收标准满足 | 对照 dispatch-plan 中的要求逐条验证 | Error |
| 阻塞主动上报 | 无法继续时 state=Blocked + reason | Error阻塞时|
### 刑部专项: 质量验收
| 检查项 | 标准 | 严重性 |
|--------|------|--------|
| 测试通过率 | >= 95% | Error |
| code review | codex review 无 Critical 问题 | Error |
| test-fix 循环 | <= 3 轮 | Warning |
| QA 报告完整 | 通过/不通过结论 + 问题清单 | Error |
---
## 跨阶段一致性检查
### 封驳循环约束
| 检查 | 规则 |
|------|------|
| 封驳轮数 | coordinator 跟踪超过3轮必须 AskUserQuestion |
| 修改覆盖度 | 每轮中书省修改必须回应门下省的所有封驳意见 |
| 方案版本 | zhongshu-plan.md 每轮包含"本轮修改点"摘要 |
### 消息类型一致性
| Sender | message_type | Coordinator 处理 |
|--------|-------------|-----------------|
| zhongshu | plan_ready | -> spawn menxia |
| menxia | review_result (approved=true) | -> spawn shangshu |
| menxia | review_result (approved=false) | -> respawn zhongshu (round++) |
| shangshu | dispatch_ready | -> spawn 六部 workers |
| 六部 | *_complete | -> 标记完成,检查全部完成 |
| 任意 | error (Blocked) | -> 记录AskUserQuestion 或协调 |
### Task Prefix 唯一性
| Role | Prefix | 冲突检查 |
|------|--------|---------|
| zhongshu | PLAN | ✅ 唯一 |
| menxia | REVIEW | ✅ 唯一 |
| shangshu | DISPATCH | ✅ 唯一 |
| gongbu | IMPL | ✅ 唯一 |
| bingbu | OPS | ✅ 唯一 |
| hubu | DATA | ✅ 唯一 |
| libu | DOC | ✅ 唯一 |
| libu-hr | HR | ✅ 唯一 |
| xingbu | QA | ✅ 唯一 |
---
## 问题分级
### Error必须修复
- 看板上报缺失(任一强制时机未上报)
- 产出文件未写入
- 封驳超过3轮未询问用户
- 阻塞状态未上报
- task prefix 冲突
### Warning应当修复
- 进度上报粒度不足(步骤描述过于笼统)
- 验收标准不可量化
- 风险点无回滚方案
### Info建议改进
- 产出报告缺乏详细摘要
- wisdom contributions 未记录
- 调度批次可进一步优化并行度

View File

@@ -0,0 +1,180 @@
{
"version": "5.0.0",
"team_name": "team-edict",
"team_display_name": "Team Edict — 三省六部",
"description": "完整复刻 Edict 三省六部架构:太子接旨 -> 中书省规划 -> 门下省多CLI审议 -> 尚书省调度 -> 六部并行执行。强制看板状态上报,支持 Blocked 一等公民状态,全流程可观测。",
"architecture": "team-worker agent + role-specs + 串行审批链 + 多CLI并行审议",
"worker_agent": "team-worker",
"session_prefix": "EDT",
"roles": {
"coordinator": {
"alias": "太子",
"task_prefix": null,
"responsibility": "接旨分拣、驱动八阶段流程、封驳循环控制、六部并行调度、最终汇总奏报",
"message_types": ["plan_ready", "review_result", "dispatch_ready", "impl_complete", "ops_complete", "data_complete", "doc_complete", "hr_complete", "qa_complete", "error"]
},
"zhongshu": {
"alias": "中书省",
"task_prefix": "PLAN",
"role_spec": "role-specs/zhongshu.md",
"responsibility": "分析旨意、代码库探索gemini CLI、起草结构化执行方案",
"inner_loop": false,
"message_types": ["plan_ready", "error"]
},
"menxia": {
"alias": "门下省",
"task_prefix": "REVIEW",
"role_spec": "role-specs/menxia.md",
"responsibility": "四维并行审议gemini×2 + qwen + codex、输出准奏/封驳结论",
"inner_loop": false,
"multi_cli": {
"enabled": true,
"dimensions": [
{"name": "可行性", "tool": "gemini", "rule": "analysis-review-architecture"},
{"name": "完整性", "tool": "qwen"},
{"name": "风险评估", "tool": "gemini", "rule": "analysis-assess-security-risks"},
{"name": "资源评估", "tool": "codex"}
]
},
"message_types": ["review_result", "error"]
},
"shangshu": {
"alias": "尚书省",
"task_prefix": "DISPATCH",
"role_spec": "role-specs/shangshu.md",
"responsibility": "解析准奏方案、按六部路由规则拆解子任务、生成调度令清单",
"inner_loop": false,
"message_types": ["dispatch_ready", "error"]
},
"gongbu": {
"alias": "工部",
"task_prefix": "IMPL",
"role_spec": "role-specs/gongbu.md",
"responsibility": "功能开发、架构设计、代码实现、重构优化",
"inner_loop": true,
"message_types": ["impl_complete", "impl_progress", "error"]
},
"bingbu": {
"alias": "兵部",
"task_prefix": "OPS",
"role_spec": "role-specs/bingbu.md",
"responsibility": "基础设施运维、部署发布、CI/CD、性能监控、安全防御",
"inner_loop": true,
"message_types": ["ops_complete", "ops_progress", "error"]
},
"hubu": {
"alias": "户部",
"task_prefix": "DATA",
"role_spec": "role-specs/hubu.md",
"responsibility": "数据分析、统计汇总、成本分析、资源管理、报表生成",
"inner_loop": true,
"message_types": ["data_complete", "data_progress", "error"]
},
"libu": {
"alias": "礼部",
"task_prefix": "DOC",
"role_spec": "role-specs/libu.md",
"responsibility": "文档撰写、规范制定、UI/UX文案、API文档、对外沟通",
"inner_loop": true,
"message_types": ["doc_complete", "doc_progress", "error"]
},
"libu-hr": {
"alias": "吏部",
"task_prefix": "HR",
"role_spec": "role-specs/libu-hr.md",
"responsibility": "Agent管理、技能培训与优化、考核评估、协作规范制定",
"inner_loop": false,
"message_types": ["hr_complete", "error"]
},
"xingbu": {
"alias": "刑部",
"task_prefix": "QA",
"role_spec": "role-specs/xingbu.md",
"responsibility": "代码审查、测试验收、Bug定位修复、合规审计test-fix循环最多3轮",
"inner_loop": true,
"message_types": ["qa_complete", "qa_progress", "fix_required", "error"]
}
},
"pipeline": {
"type": "cascade_with_parallel_execution",
"description": "串行审批链 + 六部按依赖并行执行",
"stages": [
{
"stage": 1,
"name": "规划",
"roles": ["zhongshu"],
"blockedBy": []
},
{
"stage": 2,
"name": "审议",
"roles": ["menxia"],
"blockedBy": ["zhongshu"],
"retry": {"max_rounds": 3, "on_reject": "respawn zhongshu with feedback"}
},
{
"stage": 3,
"name": "调度",
"roles": ["shangshu"],
"blockedBy": ["menxia"]
},
{
"stage": 4,
"name": "执行",
"roles": ["gongbu", "bingbu", "hubu", "libu", "libu-hr", "xingbu"],
"blockedBy": ["shangshu"],
"parallel": true,
"note": "实际并行度由 dispatch-plan.md 中的 blockedBy 决定"
}
],
"diagram": "PLAN-001 -> REVIEW-001 -> DISPATCH-001 -> [IMPL/OPS/DATA/DOC/HR/QA 按需并行]"
},
"kanban_protocol": {
"description": "所有 worker 强制遵守的看板状态上报规范",
"state_machine": ["Pending", "Doing", "Blocked", "Done"],
"mandatory_events": [
{"event": "接任务时", "type": "state_update", "data": "state=Doing + current_step"},
{"event": "每个关键步骤", "type": "impl_progress", "data": "current + plan(步骤1✅|步骤2🔄|步骤3)"},
{"event": "完成时", "type": "task_handoff", "data": "from_role -> coordinator + remark"},
{"event": "阻塞时", "type": "error", "data": "state=Blocked + reason"}
],
"implementation": "team_msg(operation='log', session_id=<session_id>, from=<role>, ...)"
},
"routing_rules": {
"description": "尚书省六部路由规则",
"rules": [
{"keywords": ["功能开发", "架构", "代码", "重构", "API", "接口", "实现"], "department": "gongbu"},
{"keywords": ["部署", "CI/CD", "基础设施", "容器", "性能监控", "安全防御"], "department": "bingbu"},
{"keywords": ["数据分析", "统计", "成本", "报表", "资源管理"], "department": "hubu"},
{"keywords": ["文档", "README", "UI文案", "规范", "API文档", "对外沟通"], "department": "libu"},
{"keywords": ["测试", "QA", "Bug", "审查", "合规审计"], "department": "xingbu"},
{"keywords": ["Agent管理", "培训", "技能优化", "考核"], "department": "libu-hr"}
]
},
"session_dirs": {
"base": ".workflow/.team/EDT-{slug}-{YYYY-MM-DD}/",
"plan": "plan/",
"review": "review/",
"artifacts": "artifacts/",
"kanban": "kanban/",
"wisdom": "wisdom/contributions/",
"messages": ".msg/"
},
"artifacts": {
"zhongshu": "plan/zhongshu-plan.md",
"menxia": "review/menxia-review.md",
"shangshu": "plan/dispatch-plan.md",
"gongbu": "artifacts/gongbu-output.md",
"bingbu": "artifacts/bingbu-output.md",
"hubu": "artifacts/hubu-output.md",
"libu": "artifacts/libu-output.md",
"libu-hr": "artifacts/libu-hr-output.md",
"xingbu": "artifacts/xingbu-report.md"
}
}