Skip to content

Commit 6ca815d

Browse files
alpha-86claude
andcommitted
refactor: 重构 start-agent-team 结构,Pattern+枚举式组合优化
- 步骤3重构为 3.1创建方式(含表格) / 3.2初始化流程 / 3.3验证 / 3.4全量启用 - 步骤4重构为 4.1共同必读 / 4.2角色专属 / 4.3状态检查 / 4.4禁止行为 - Pattern+枚举式组合:表格中 Skill 名称(Pattern变量) 与 Skill 源文件(枚举式) 强绑定 - 移除冗余的状态列,简化必读文档清单 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ac9f327 commit 6ca815d

1 file changed

Lines changed: 65 additions & 81 deletions

File tree

skills/start-agent-team/SKILL.md

Lines changed: 65 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88

99
> **强制要求**:以下文档必须在开始任何工作前**全部阅读完毕**,不得遗漏任何一项。未完整阅读不得进入工作状态。
1010
11-
| # | 文档 | 用途 | 状态 |
12-
|---|------|------|------|
13-
| 1 | `prompts/002_develop_pipeline.md` | 核心流程文档,定义完整开发交付流程(Gate 0~5)、角色职责矩阵、Human 专属操作 | ⬜ 未读 |
14-
| 2 | `skills/team-setup/SKILL.md` | 团队启动规范 | ⬜ 未读 |
15-
| 3 | `skills/skill-protocol.md` | 共享技能协议 | ⬜ 未读 |
16-
| 4 | `skills/event-bus.md` | 事件总线规范 | ⬜ 未读 |
17-
| 5 | `prompts/001_team_topology.md` | 团队拓扑、Human vs Agent 角色区分 | ⬜ 未读 |
18-
| 6 | `prompts/010_team_setup_and_bootstrap.md` | 团队启动与自举机制 | ⬜ 未读 |
19-
| 7 | `prompts/018_issue_routing_and_project_portfolio.md` | Issue 路由与项目组合 | ⬜ 未读 |
11+
| # | 文档 | 用途 |
12+
|---|------|------|
13+
| 1 | `prompts/002_develop_pipeline.md` | 核心流程文档,定义完整开发交付流程(Gate 0~5)、角色职责矩阵、Human 专属操作 |
14+
| 2 | `skills/team-setup/SKILL.md` | 团队启动规范 |
15+
| 3 | `skills/skill-protocol.md` | 共享技能协议 |
16+
| 4 | `skills/event-bus.md` | 事件总线规范 |
17+
| 5 | `prompts/001_team_topology.md` | 团队拓扑、Human vs Agent 角色区分 |
18+
| 6 | `prompts/010_team_setup_and_bootstrap.md` | 团队启动与自举机制 |
19+
| 7 | `prompts/018_issue_routing_and_project_portfolio.md` | Issue 路由与项目组合 |
2020

2121
**强制规则**
2222
- 必读文档全部 ✅ 已读前,**不得执行任何 Gate 动作**
@@ -74,9 +74,9 @@
7474
- 建立项目状态板
7575
- 建立 artifact linkage 主记录
7676

77-
### 步骤 3. 加载团队角色(显式 Skill 调用)
77+
### 步骤 3. 加载团队角色
7878

79-
**⚠️ 关键原则:每次 start-agent-team 执行都是全新开始,不依赖历史配置**
79+
> ⚠️ **关键原则**:每次 start-agent-team 执行都是全新开始,不依赖历史配置
8080
8181
以下文件/内容**不能**作为 Agent 存在的证明:
8282
- `.claude/logs/agent-creation.log`
@@ -85,81 +85,86 @@
8585
- `docs/todo/TODO_REGISTRY.md` 中的角色状态列
8686
- 任何 md 文件中的"已创建"、"active" 状态标记
8787

88-
**Agent 创建方式**
88+
#### 3.1 Agent 创建方式
8989

9090
> ⚠️ **必须使用 `Agent()` 工具创建 agent,不能仅用 `Skill()`**
9191
> - `Skill()` 只是加载指令到当前对话,不会创建 agent 进程,也不会让 agent 加入 team
9292
> - 必须使用 `Agent(team_name="{project_id}", ...)` 创建 agent 实例,agent 才会加入 team
9393
> - **禁止使用 `run_in_background: true`**,后台任务不会加入 team
9494
95-
**Agent 创建顺序(Pattern 式 + 枚举式映射表)**
95+
**Pattern 式 + 枚举式 — Agent 创建顺序与 Skill 映射**
9696

97-
**Pattern 式 — Agent 创建模板**(不使用 `run_in_background`):
97+
| # | Agent | Skill 名称(Pattern 变量值) | Skill 源文件(枚举式) |
98+
|---|-------|---------------------------|---------------------|
99+
| 1 | Team Lead | Human 本身,**不创建** ||
100+
| 2 | Product Manager | `product-manager` | `skills/product-manager/SKILL.md` |
101+
| 3 | 架构师 | `architect` | `skills/architect/SKILL.md` |
102+
| 4 | 质量工程师 | `qa-engineer` | `skills/qa-engineer/SKILL.md` |
103+
| 5 | 工程师 | `engineer` | `skills/engineer/SKILL.md` |
104+
| 6 | 平台与发布负责人 | `platform-sre` | `skills/platform-sre/SKILL.md` |
105+
| 7 | PMO | `pmo` | `skills/pmo/SKILL.md` |
106+
107+
**使用方式**
108+
1. 按顺序创建 Agent(Team Lead 除外)
109+
2. 创建时填入 `{skill-name}`(查上表第二列)
110+
3. Agent 初始化时用 `Skill("{skill-name}")` 加载对应 skill(查上表第三列)
111+
112+
#### 3.2 Agent 初始化流程
113+
114+
> **强制要求**:每个 Agent 创建后必须完成初始化,才能继续创建下一个
115+
116+
**Agent 创建模板**
98117

99118
```json
100119
Agent(
101120
subagent_type="general-purpose",
102121
team_name="{project_id}",
103122
name="{role-name}",
104123
prompt="你是 {角色名} Agent。请初始化:
105-
1. 查 Skill 映射表,用 Skill() 加载你的 skill:`Skill(\"{skill-name}\")`
124+
1. 用 Skill() 加载你的 skill:`Skill(\"{skill-name}\")`
106125
2. 读取必读文档:`prompts/001_team_topology.md`(已读)和角色对应必读文档
107126
3. 输出初始化确认(角色、project_id、issue_id、当前阶段、已读取文档、阻塞项、下一动作)
108127
4. 通过 SendMessage 向 team-lead 报告初始化完成"
109128
)
110129
```
111130

112-
**枚举式 — Skill 映射表**(Pattern 中 {skill-name} 的具体值):
113-
114-
| # | Agent | Skill 名称 | Skill 源文件 | 用途 |
115-
|---|-------|-----------|------------|------|
116-
| 1 | Team Lead | Human 本身,**不创建** || 团队负责人 |
117-
| 2 | Product Manager | `product-manager` | `skills/product-manager/SKILL.md` | 产品经理 |
118-
| 3 | 架构师 | `architect` | `skills/architect/SKILL.md` | 技术架构与 Tech Spec |
119-
| 4 | 质量工程师 | `qa-engineer` | `skills/qa-engineer/SKILL.md` | QA Case Design 与验证 |
120-
| 5 | 工程师 | `engineer` | `skills/engineer/SKILL.md` | 代码实现 |
121-
| 6 | 平台与发布负责人 | `platform-sre` | `skills/platform-sre/SKILL.md` | 发布与环境 |
122-
| 7 | PMO | `pmo` | `skills/pmo/SKILL.md` | 流程合规检查 |
123-
124-
> **使用方式**:先看 Pattern 式模板了解通用初始化流程,再查枚举式映射表确定具体的 skill 名称和文件路径。
125-
126131
**⚠️ 关键错误:禁止使用 `run_in_background: true`**
127132

128-
错误示例:
129133
```json
130134
Agent(..., run_in_background: true) // ❌ 错误!后台任务不会加入 team
131135
```
132136

133-
正确做法:Agent 创建后同步等待其完成初始化,再创建下一个。
137+
**初始化确认步骤**
134138

135-
**每个 Agent 创建后必须执行初始化确认**
136-
1. 查 Skill 映射表,用 `Skill("{skill-name}")` 加载对应的 skill
137-
2. 读取必读文档列表中的第一个文档
138-
3. 输出初始化确认(角色、project_id、issue_id、当前阶段、已读取文档、阻塞项、下一动作)
139-
4. 通过 SendMessage 向 team-lead 发送初始化报告
139+
1. **加载 Skill**:用 `Skill("{skill-name}")` 加载对应的 skill(查 3.1 表格)
140+
2. **读取必读文档**:共同必读 + 角色专属必读(见 4.1、4.2)
141+
3. **输出初始化确认**
142+
- 角色、project_id、issue_id、当前阶段
143+
- 已读取文档(逐项列出)
144+
- 阻塞项(如有)
145+
- 下一动作
146+
4. **通过 SendMessage 向 team-lead 报告初始化完成**
147+
148+
#### 3.3 Agent 创建后验证
140149

141-
**Agent 创建后验证**
142150
- 检查 `~/.claude/teams/{project_id}/config.json``members` 数组
143151
- 确认新 agent 已在 members 中列出
144152
- 若 agent 未加入 team,重新使用 `Agent()` 创建并确保 `team_name` 参数正确
145153

154+
#### 3.4 全量启用要求
155+
146156
每个项目必须全量启用所有角色,不得以"临时承担"代替正式 Agent 实例化。
147157

148158
**原因**`team-lead.md` 强制规则明确规定"团队负责人不得越权替其他角色做正式签字"。Team Lead 承担其他角色职责会导致:
149159
1. 角色权责边界模糊,无法进行有效的流程合规审计
150160
2. PMO 无法对"Team Lead 既当裁判又当运动员"进行独立检查
151161
3. 缺失职责无正式 Agent 承担,任务路由失效
152162

153-
**正确做法**
154-
- 启动前必须创建 Engineer、Platform/SRE、PMO 的 Agent 实例
155-
- 角色暂不需要实际工作时,Agent 处于"待命"状态(idle),但不分配给其他角色
156-
- 所有角色都必须完成初始化检查(步骤 4),进入各自的角色循环
157-
158163
### 步骤 3.5. 发现并路由待处理任务
159164

160165
> ****:启动团队前必须先拉取所有待处理任务,确保启动会覆盖完整的上下文。
161166
162-
**步骤 3.5.1. 发现 GitHub Open Issues**
167+
#### 3.5.1 发现 GitHub Open Issues
163168

164169
调用 `scripts/github_issue_sync.py` 同步 open issues:
165170

@@ -171,23 +176,23 @@ python scripts/github_issue_sync.py
171176
- 对于命名格式不符的 issue,脚本会输出警告
172177
- 每次运行自动去重,已处理的 issue 不会重复写入
173178

174-
**步骤 3.5.2. 读取任务队列**
179+
#### 3.5.2 读取任务队列
175180

176181
读取 `.claude/task_queue/` 目录下所有 `.task` 文件:
177182

178183
- 统计当前待处理任务数量
179184
- 按 type 分类(prd/tech/bug/qa 等)
180185
- 按 priority 排序(critical > high > medium > low)
181186

182-
**步骤 3.5.3. 读取 Todo Registry**
187+
#### 3.5.3 读取 Todo Registry
183188

184189
读取 `docs/todo/TODO_REGISTRY.md`
185190

186191
- 获取当前阶段 gate 状态
187192
- 检查是否有 overdue 任务
188193
- 确认启动会前的未完成任务
189194

190-
**步骤 3.5.4. 路由任务到角色**
195+
#### 3.5.4 路由任务到角色
191196

192197
调用 `scripts/task_router.py` 将待处理任务路由到对应角色:
193198

@@ -200,7 +205,7 @@ python scripts/task_router.py --verbose
200205
- 输出路由日志到 `.claude/results/routing.log`
201206
- 每个任务生成 pending comment 文件到 `.claude/results/pending_{issue_id}.md`
202207

203-
**步骤 3.5.5. 汇总启动上下文**
208+
#### 3.5.5 汇总启动上下文
204209

205210
整合以上结果,生成启动前任务摘要:
206211

@@ -213,8 +218,6 @@ python scripts/task_router.py --verbose
213218

214219
## Agent 必读文档速查表
215220

216-
> 各角色专属必读文档详见 **步骤 4.2 角色特定必读文档确认**,本表为快速索引。
217-
218221
| Agent | 角色专属必读文档数量 |
219222
|-------|-------------------|
220223
| Team Lead | 2 项(见 4.2) |
@@ -227,42 +230,25 @@ python scripts/task_router.py --verbose
227230

228231
### 步骤 4. 执行首轮初始化检查
229232

230-
#### 4.1 必读文档阅读确认 ⚠️ 强制
233+
#### 4.1 共同必读文档(所有 Agent 必须阅读)
231234

232-
> **强制要求**:以下文档必须在开始任何工作前**全部阅读完毕**,不得遗漏任何一项。未完整阅读不得进入工作状态。
233-
234-
每个角色 Agent 初始化时,必须逐项完成以下阅读确认,并在向 team-lead 报告时包含阅读状态:
235+
| # | 文档 | 用途 |
236+
|---|------|------|
237+
| 1 | `prompts/002_develop_pipeline.md` | 核心流程文档,Gate 0~5、角色职责矩阵、Human 专属操作 |
238+
| 2 | `skills/team-setup/SKILL.md` | 团队启动规范 |
239+
| 3 | `skills/skill-protocol.md` | 共享技能协议 |
240+
| 4 | `skills/event-bus.md` | 事件总线规范 |
241+
| 5 | `prompts/001_team_topology.md` | 团队拓扑、Human vs Agent 角色区分 |
242+
| 6 | `prompts/010_team_setup_and_bootstrap.md` | 团队启动与自举机制 |
243+
| 7 | `prompts/018_issue_routing_and_project_portfolio.md` | Issue 路由与项目组合 |
235244

236-
**必读文档阅读确认清单**
237-
238-
```
239-
[ ] 1. prompts/002_develop_pipeline.md — 核心流程文档,Gate 0~5、角色职责矩阵、Human 专属操作
240-
[ ] 2. skills/team-setup/SKILL.md — 团队启动规范
241-
[ ] 3. skills/skill-protocol.md — 共享技能协议
242-
[ ] 4. skills/event-bus.md — 事件总线规范
243-
[ ] 5. prompts/001_team_topology.md — 团队拓扑、Human vs Agent 角色区分
244-
[ ] 6. prompts/010_team_setup_and_bootstrap.md — 团队启动与自举机制
245-
[ ] 7. prompts/018_issue_routing_and_project_portfolio.md — Issue 路由与项目组合
246-
```
247-
248-
**强制规则**(适用于每个角色 Agent):
245+
**强制规则**
249246
- ⬜ 未读完全部 7 项必读文档前,**不得执行任何 Gate 动作**
250247
- ⬜ 未读完全部 7 项必读文档前,**不得发布任何正式结论或评审意见**
251248
- ⬜ 未读完全部 7 项必读文档前,**不得代替其他角色做决策**
252249
- ⬜ 未读完全部 7 项必读文档前,**不得开始任何工作**
253250

254-
**执行步骤**
255-
1. 读取上表中全部 7 项必读文档
256-
2.`[ ]` 更新为 `[✅]` 标记已读
257-
3. 向 team-lead 发送初始化报告,包含:
258-
- 已读取文档列表
259-
- 未读取文档列表(如有)
260-
- 阻塞项(如有)
261-
- 下一动作
262-
263-
#### 4.2 角色特定必读文档确认
264-
265-
各角色还需额外阅读角色专属必读文档(见下表):
251+
#### 4.2 角色专属必读文档
266252

267253
| Agent | 角色专属必读文档 |
268254
|-------|----------------|
@@ -297,8 +283,6 @@ python scripts/task_router.py --verbose
297283

298284
### 步骤 4.5. Agent 工作触发条件
299285

300-
每个 Agent 的触发条件:
301-
302286
| Agent | 触发时间 | 执行 Workflow | 关联文档 |
303287
|-------|---------|--------------|----------|
304288
| Team Lead | 每日启动时 | skills/workflows/weekly-review.md | 启动会纪要 |
@@ -343,7 +327,7 @@ python scripts/task_router.py --verbose
343327

344328
## 禁止行为
345329

346-
- **严禁 Team Lead 承担其他 Agent 的职责**:Team Lead 不得以临时承担””暂由 Team Lead 代管等理由,实际履行 Engineer、PMO、Platform/SRE 等角色的决策权、签字权和工作触发权。违反此规则等同于绕开角色分离机制,PMO 应立即标记为 P0 级 governance 问题。
330+
- **严禁 Team Lead 承担其他 Agent 的职责**:Team Lead 不得以"临时承担""暂由 Team Lead 代管"等理由,实际履行 Engineer、PMO、Platform/SRE 等角色的决策权、签字权和工作触发权。违反此规则等同于绕开角色分离机制,PMO 应立即标记为 P0 级 governance 问题。
347331
- 没有主 issue 就启动多角色并发
348332
- 角色未读取必读文档就开始做正式判断
349333
- 启动会 后没有 纪要、负责人、到期时间 和下游 Gate

0 commit comments

Comments
 (0)