executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
create-team按照 agent-almanac 团队模板和注册表规范创建新的团队组合文件。涵盖团队目的 定义、成员选择、协调模式选择、任务分解设计、机器可读配置块、注册表集成 和 README 自动化。适用于定义多智能体工作流、为复杂审查流程组合智能体, 或为反复出现的协作任务创建协调团队。
Independent GitHub snapshot · Automated classification · Original documentation governs
定义协调两个或多个智能体完成需要多视角、多专业或多阶段任务的多智能体团队组合。生成的团队文件与团队注册表集成,可在 Claude Code 中按名称激活。
data-pipeline-review)agents/_registry.yml)hub-and-spoke、sequential、parallel、timeboxed、adaptive阐明需要多个智能体协作的问题。有效的团队目的必须回答:
将目的写成一段话,供人或智能体阅读以决定是否激活此团队。
预期结果: 清晰的段落解释团队的价值主张,识别至少两种不同专业。
失败处理: 若无法识别两种不同专业,任务可能不需要团队。改用具有多种技能的单个智能体。
负责人智能体协调团队。从 agents/_registry.yml 中选择以下特征的智能体:
# List all available agents
grep "^ - id:" agents/_registry.yml
负责人还必须作为成员出现在团队组合中(负责人始终是成员)。
预期结果: 选定一个智能体作为负责人,已确认其存在于智能体注册表中。
失败处理: 若没有现有智能体适合负责人角色,先使用 create-agent 技能(或手动使用 agents/_template.md)创建一个。不要创建负责人不存在智能体定义的团队。
选择 2-5 个成员(包括负责人),职责清晰且不重叠。为每个成员定义:
# Verify each candidate agent exists
grep "id: agent-name-here" agents/_registry.yml
验证无重叠:没有两个成员应有相同的主要职责。若职责重叠,要么合并角色,要么明确边界。
预期结果: 选定 2-5 个成员,每人有唯一角色和明确职责,均已在智能体注册表中确认。
失败处理: 若所需智能体不存在,先创建它。若两个成员之间职责重叠,重写以明确边界或删除其中一个成员。
选择最适合团队工作流的模式。五种模式及其使用场景:
| 模式 | 适用场景 | 示例团队 |
|---|---|---|
| hub-and-spoke | 负责人分配任务、收集结果并综合。最适合审查和审计工作流。 | r-package-review、gxp-compliance-validation、ml-data-science-review |
| sequential | 每个智能体基于前一个智能体的输出构建。最适合管道和分阶段工作流。 | fullstack-web-dev、tending |
| parallel | 所有智能体同时处理独立子任务。最适合子任务无依赖时。 | devops-platform-engineering |
| timeboxed | 工作组织为固定时长的迭代。最适合有积压的持续项目工作。 | scrum-team |
| adaptive | 团队根据任务自组织。最适合未知或高度可变的任务。 | opaque-team |
决策指南:
预期结果: 选定一种协调模式,并有清晰的选择理由。
失败处理: 若不确定,默认使用 hub-and-spoke。它是最常见的模式,适用于大多数审查和分析工作流。
定义典型传入请求如何在团队成员间拆分。按阶段构建:
为每个成员列出其在典型请求中会执行的 3-5 个具体任务。这些任务同时出现在"任务分解"散文章节和 CONFIG 块的 tasks 列表中。
预期结果: 按阶段结构的分解,每个成员有具体任务,与所选协调模式匹配。
失败处理: 若任务太模糊(例如"审查事物"),使其具体化(例如"对照 tidyverse 风格指南审查代码风格,检查测试覆盖率,评估错误消息质量")。
复制模板并填写所有章节:
cp teams/_template.md teams/<team-name>.md
按顺序填写以下章节:
name、description、lead、version("1.0.0")、author、created、updated、tags、coordination、members[](每个包含 id、role、responsibilities)# Team Name(人类可读,标题格式)预期结果: 完整的团队文件,所有章节填写完毕,模板中无剩余占位文本。
失败处理: 与现有团队文件(例如 teams/r-package-review.md)对比以验证结构。搜索模板占位字符串如"your-team-name"或"another-agent"查找未填写的章节。
<!-- CONFIG:START --> 和 <!-- CONFIG:END --> 标记之间的 CONFIG 块为工具提供机器可读的 YAML。按如下结构:
<!-- CONFIG:START -->
```yaml
team:
name: <team-name>
lead: <lead-agent-id>
coordination: <pattern>
members:
- agent: <agent-id>
role: <role-title>
subagent_type: <agent-id> # Claude Code subagent type for spawning
# ... repeat for each member
tasks:
- name: <task-name>
assignee: <agent-id>
description: <one-line description>
# ... repeat for each task
- name: synthesize-report # final task if hub-and-spoke
assignee: <lead-agent-id>
description: <synthesis description>
blocked_by: [<prior-task-names>] # for dependency ordering
```
<!-- CONFIG:END -->
subagent_type 字段映射到 Claude Code 智能体类型。对于 .claude/agents/ 中定义的智能体,使用智能体 id 作为 subagent_type。使用 blocked_by 表达任务依赖(例如综合被所有审查任务阻塞)。
预期结果: CONFIG 块是有效的 YAML,所有智能体与前置元数据成员列表中的一致,任务依赖形成有效的 DAG(无循环)。
失败处理: 验证 YAML 语法。验证任务列表中的每个 assignee 与成员列表中的 agent 匹配。检查 blocked_by 仅引用列表中之前定义的任务名称。
编辑 teams/_registry.yml 添加新团队:
- id: <team-name>
path: <team-name>.md
lead: <lead-agent-id>
members: [<agent-id-1>, <agent-id-2>, ...]
coordination: <pattern>
description: <one-line description matching frontmatter>
在注册表顶部更新 total_teams 数量(目前为 8;添加一个团队后变为 9)。
# Verify the entry was added
grep "id: <team-name>" teams/_registry.yml
预期结果: 新条目出现在注册表中,total_teams 数量递增 1。
失败处理: 若团队名称已存在于注册表,选择不同的名称或更新现有条目。验证 YAML 缩进与现有条目匹配。
从更新后的注册表重新生成 README 文件:
npm run update-readmes
这会更新 teams/README.md 中的动态章节以及任何引用团队数据的带有 <!-- AUTO:START --> / <!-- AUTO:END --> 标记的其他文件。
预期结果: 命令以 0 退出,teams/README.md 现在列出新团队。
失败处理: 运行 npm run check-readmes 查看哪些文件不同步。若脚本失败,验证存储库根目录存在 package.json 且 js-yaml 已安装(npm install)。
测试团队在 Claude Code 中是否可以激活:
User: Use the <team-name> team to <typical task description>
Claude Code 应当:
teams/<team-name>.md 找到团队文件预期结果: Claude Code 识别团队名称,识别正确的负责人和成员,并遵循协调模式。
失败处理: 验证团队文件位于 teams/<team-name>.md(而非子目录中)。检查所有成员智能体是否存在于 .claude/agents/(链接到 agents/)。确认团队已列入 teams/_registry.yml。
所有团队必须执行。 本步骤同时适用于人类作者和遵循此流程的 AI 智能体。不要跳过——遗漏的翻译会累积为过期的待办积压。
在提交新团队后,立即为全部 4 种受支持的语言环境生成翻译文件:
for locale in de zh-CN ja es; do
npm run translate:scaffold -- teams <team-name> "$locale"
done
然后翻译每个文件中生成的散文内容(代码块和 ID 保持英文)。最后重新生成状态文件:
npm run translation:status
预期结果: 在 i18n/{de,zh-CN,ja,es}/teams/<team-name>.md 创建 4 个文件,全部的 source_commit 与当前 HEAD 匹配。npm run validate:translations 针对新团队显示 0 条过期警告。
失败处理: 若脚手架失败,请确认该团队存在于 teams/_registry.yml 中。若状态文件未更新,请显式运行 npm run translation:status——CI 不会自动触发该命令。
teams/<team-name>.mdname、description、lead、version、author、coordination、members[]id、role 和 responsibilities<!-- CONFIG:START --> 和 <!-- CONFIG:END --> 标记之间agents/_registry.ymlteams/_registry.yml,路径、负责人、成员和协调模式正确total_teams 数量已递增npm run update-readmes 无错误完成TeamCreate 自动创建团队。没有它,团队文件只是人类可读的,无法以程序方式激活。create-skill - 遵循相同元模式创建 SKILL.md 文件create-agent - 创建作为团队成员的智能体定义commit-changes - 提交新团队文件和注册表更新