返回技能列表

evolve-team

pjt222
更新于 2 days ago
6 次查看
17
2
17
在 GitHub 上查看
其他general

关于

This skill evolves existing AI agent teams by refining their structure or creating specialized variants. It handles tasks like updating team members, changing coordination patterns, splitting/merging teams, and synchronizing configuration files. Use it when teams become outdated, coordination patterns need adjustment, or you need to create specialized versions of existing teams.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/evolve-team

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

演进现有团队

改进、重构或创建最初用 create-team 编写的团队的专业化变体。此流程涵盖团队生命周期的维护方面:对照模板和协调模式评估不足、对组成和工作流应用有针对性的改进、更新版本,以及保持注册表和交叉引用同步。

适用场景

  • 智能体被添加、删除或演进后,团队成员名单已过时
  • 用户反馈揭示工作流瓶颈、不清晰的交接或缺失的视角
  • 协调模式不再适合团队的实际工作流(例如 hub-and-spoke 应改为 parallel)
  • 需要在原版旁边创建专业化变体(例如 r-package-reviewr-package-review-security-focused
  • 团队成员职责重叠,需要更明确的边界
  • CONFIG 块与散文描述或成员列表不同步
  • 团队需要拆分为两个较小团队,或两个团队需要合并

输入

  • 必需:要演进的现有团队文件路径(例如 teams/r-package-review.md
  • 必需:演进触发原因(反馈、新智能体、协调不匹配、范围重叠、性能问题、智能体演进)
  • 可选:目标版本更新幅度(patch、minor、major)
  • 可选:是否创建专业化变体而非就地完善(默认:就地完善)

步骤

第 1 步:评估当前团队

读取现有团队文件,并对照团队模板(teams/_template.md)评估每个章节:

章节检查内容常见问题
前置元数据所有必需字段(namedescriptionleadversionauthorcoordinationmembers[]缺少 tagsversion 过期,coordination 错误
Purpose清晰的多智能体理由(至少两种不同专业)单个智能体即可处理
Team Composition表格与前置元数据成员匹配,无重叠职责过期表格,重复的关注领域
Coordination Pattern与实际工作流匹配,有 ASCII 图工作流的错误模式
Task Decomposition按阶段分解,每个成员有具体任务任务模糊,缺少阶段
CONFIG Block标记间的有效 YAML,与前置元数据和散文匹配不同步,缺少 blocked_by,无效 YAML
Usage Scenarios2-3 个真实的激活提示占位文本
Limitations3-5 个诚实的约束条件缺失或过于笼统
See Also指向成员智能体、相关团队、指南的有效链接过期链接
# 读取团队文件
cat teams/<team-name>.md

# 验证所有成员智能体仍然存在
grep "id:" teams/<team-name>.md | while read line; do
  agent=$(echo "$line" | grep -oP '(?<=id: )[\w-]+')
  grep "id: $agent" agents/_registry.yml || echo "MISSING: $agent"
done

# 检查团队是否被任何指南引用
grep -r "<team-name>" guides/*.md

预期结果: 列出具体的不足、弱点或改进机会,按章节组织。

失败处理: 若团队文件不存在或没有前置元数据,此技能不适用——改用 create-team 从头编写。

第 2 步:收集演进需求

识别并分类触发演进的原因:

触发原因示例典型范围
用户反馈"审查耗时太长,智能体重复劳动"优化职责或更改模式
新智能体可用创建了 api-security-analyst 智能体添加成员
智能体演进code-reviewer 获得了新技能更新成员职责
智能体删除deprecated-agent 已退役删除成员,重新分配任务
协调不匹配顺序团队有独立子任务改为 parallel
范围扩展团队需要覆盖部署,而非仅审查添加成员或创建变体
团队太大6+ 成员导致协调开销拆分为两个团队
团队太小单个成员承担大部分工作与另一个团队合并或添加成员

在编辑前记录所需的具体更改:

- 前置元数据:添加新成员 `api-security-analyst`,角色为"API Security Reviewer"
- Team Composition:在组合表中添加行
- Task Decomposition:在执行阶段添加 API 安全审查任务
- CONFIG block:添加成员和任务条目
- See Also:添加新智能体文件链接

预期结果: 具体的更改列表,每项映射到团队文件的特定章节。

失败处理: 若更改不明确,在继续之前向用户请求澄清。模糊的演进目标只会产生模糊的改进。

第 3 步:选择演进范围

使用此决策矩阵确定就地完善还是创建变体:

标准完善(就地)专业化变体(新团队)
团队 ID不变新 ID:<team>-<specialty>
文件路径同一 .md 文件teams/ 中的新文件
版本更新patch 或 minor从 1.0.0 开始
协调可能改变可能与原版不同
注册表更新现有条目添加新条目
原始团队直接修改保持不变,获得 See Also 交叉引用

完善:当调整成员、优化职责、修复 CONFIG 块或更改协调模式时选择。团队保持其身份。

变体:当演进版本会服务于实质上不同的用例、需要不同的协调模式或针对不同受众时选择。原版保持不变用于其现有用例。

其他范围决策:

情况行动
团队有 6+ 成员且速度慢拆分为两个聚焦团队
两个 2 人团队涵盖相邻领域合并为一个 3-4 人团队
团队协调模式错误完善——就地更改模式
团队需要完全不同的负责人若负责人存在则完善;若不存在则先创建智能体

预期结果: 明确的决定——完善、变体、拆分或合并——及其理由。

失败处理: 若不确定,默认选择完善。拆分或合并团队影响范围更大,应与用户确认。

第 4 步:对团队文件应用更改

对于完善

直接编辑现有团队文件。保持所有引用团队组成章节间的一致性:

  1. 前置元数据 members[]:添加、删除或更新成员条目(每个包含 idroleresponsibilities
  2. Team Composition 表格:必须与前置元数据成员完全匹配
  3. Coordination Pattern:若模式改变,更新散文和 ASCII 图
  4. Task Decomposition:修改阶段和每个成员的任务以反映新组成
  5. CONFIG block:更新 memberstasks 列表以匹配(见第 5 步)
  6. Usage Scenarios:若团队激活触发器改变,修改
  7. Limitations:更新以反映新约束或删除已解决的约束
  8. See Also:更新智能体链接,添加对新相关团队或指南的引用

遵循以下编辑规则:

  • 保留所有现有章节——添加内容,不删除章节
  • 添加成员时,在以下所有位置添加:前置元数据、组成表格、任务分解和 CONFIG 块
  • 删除成员时,从以上所有位置删除,并重新分配其任务
  • 验证每个成员智能体存在:grep "id: agent-name" agents/_registry.yml
  • 在成员列表中保留负责人——负责人始终是成员

对于变体

# 以原版为基础复制
cp teams/<team-name>.md teams/<team-name>-<specialty>.md

# 编辑变体:
# - 将 `name` 改为 `<team-name>-<specialty>`
# - 更新 `description` 反映专业化范围
# - 若需要调整 `coordination` 模式
# - 将 `version` 重置为 "1.0.0"
# - 为专业化用例修改成员、任务和 CONFIG 块
# - 在 See Also 中引用原版作为通用替代

预期结果: 团队文件(完善版或新变体)通过第 1 步的评估检查清单,所有章节内部一致。

失败处理: 若编辑破坏内部一致性(例如 CONFIG 块列出的成员不在前置元数据中),对比前置元数据 members[] 与 Team Composition 表格、Task Decomposition 和 CONFIG 块以找出不匹配。

第 4.5 步:同步已翻译的变体

当存在翻译时必须执行。 本步骤同时适用于人类作者和遵循此流程的 AI 智能体。不要跳过——过期的 source_commit 值会导致 npm run validate:translations 在所有语言环境中报告错误的过期警告。

检查此已演进团队是否存在翻译,并将其更新以反映新的源状态:

# 检查是否存在翻译
ls i18n/*/teams/<team-name>.md 2>/dev/null

若存在翻译

  1. 获取当前源提交哈希:
SOURCE_COMMIT=$(git rev-parse HEAD)
  1. 更新每个已翻译文件前置元数据中的 source_commit
for locale_file in i18n/*/teams/<team-name>.md; do
  sed -i "s/^source_commit: .*/source_commit: $SOURCE_COMMIT/" "$locale_file"
done
  1. 在提交消息中标记受影响的语言环境,以标记文件需要重新翻译:
evolve-team(<team-name>): <更改说明>

Translations flagged for re-sync: de, zh-CN, ja, es
Changed sections: <列出发生变化的章节>
  1. 重新生成翻译状态文件:
npm run translation:status

若不存在翻译

无需操作。继续第 5 步。

针对变体

推迟新变体的翻译,直到变体稳定(1-2 个版本)。翻译 v1.0 的变体在到达 v1.2 时可能已大幅变化,属于浪费精力。在变体至少经过一次完善之后再添加翻译。

预期结果: 所有已翻译文件的 source_commit 更新到当前提交。提交消息注明哪些语言环境需要重新翻译,以及哪些章节发生了变化。npm run translation:status 以 0 退出。

失败处理:sed 无法匹配前置元数据字段,已翻译文件可能采用了非标准格式。手动打开并确认其 YAML 前置元数据中包含 source_commit。若字段缺失,该文件未被正确生成——使用 npm run translate:scaffold -- teams 重新生成。

第 5 步:更新 CONFIG 块

<!-- CONFIG:START --><!-- CONFIG:END --> 之间的 CONFIG 块必须与散文章节保持同步。任何成员或任务更改后:

  1. 验证 CONFIG members 中的每个 agent 与前置元数据中的成员匹配
  2. 验证 CONFIG tasks 中的每个 assignee 与成员智能体 id 匹配
  3. 若任务顺序改变,更新 blocked_by 依赖
  4. 确保综合/最终任务引用所有前置任务
team:
  name: <team-name>
  lead: <lead-agent>
  coordination: <pattern>
  members:
    - agent: <agent-id>
      role: <role-title>
      subagent_type: <agent-id>
  tasks:
    - name: <task-name>
      assignee: <agent-id>
      description: <one-line>
    - name: synthesize-results
      assignee: <lead-agent>
      description: Collect and synthesize all member outputs
      blocked_by: [<prior-task-names>]

预期结果: CONFIG YAML 有效,所有智能体和任务与文件其余部分一致,blocked_by 形成有效的 DAG。

失败处理: 单独解析 CONFIG 块 YAML 以找出语法错误。交叉检查每个 assigneemembers 列表。

第 6 步:更新版本和元数据

按语义版本控制更新前置元数据中的 version 字段:

更改类型版本更新示例
措辞修正、See Also 更新Patch:1.0.0 → 1.0.1修正了过期的智能体链接
添加新成员、修改任务Minor:1.0.0 → 1.1.0添加了 security-analyst 成员
协调模式改变、团队重构Major:1.0.0 → 2.0.0从 hub-and-spoke 改为 parallel

同时更新:

  • updated 日期为当前日期
  • tags(若团队的领域覆盖改变)
  • description(若团队目的有实质性不同)
  • coordination(若模式改变)

预期结果: 前置元数据 versionupdated 反映更改的幅度和日期。新变体从 "1.0.0" 开始。

失败处理: 若忘记更新版本,下次演进时将无法区分当前状态与之前状态。提交前务必更新版本。

第 7 步:更新注册表和交叉引用

对于完善

更新 teams/_registry.yml 中的现有条目以匹配修订的前置元数据:

# 找到团队的注册表条目
grep -A 10 "id: <team-name>" teams/_registry.yml

更新 descriptionleadmemberscoordination 字段以匹配团队文件。无需更改数量。

对于变体

teams/_registry.yml 中添加新团队:

- id: <team-name>-<specialty>
  path: <team-name>-<specialty>.md
  lead: <lead-agent>
  members: [agent-1, agent-2, agent-3]
  coordination: <pattern>
  description: One-line description of the specialized variant

然后:

  1. 在注册表顶部递增 total_teams
  2. 在原始团队的 See Also 中添加指向变体的交叉引用
  3. 在变体的 See Also 中添加指向原版的交叉引用

运行 README 自动化:

npm run update-readmes

预期结果: 注册表条目与团队文件前置元数据匹配。npm run update-readmes 以 0 退出。对于变体,total_teams 等于实际团队条目数量。

失败处理: 若注册表数量有误,使用 grep -c "^ - id:" teams/_registry.yml 统计条目数量并更正。若 README 自动化失败,验证 package.json 存在且 js-yaml 已安装。

第 8 步:验证演进后的团队

运行完整验证检查清单:

  • 团队文件存在于预期路径
  • YAML 前置元数据解析无误
  • version 已更新(完善)或设为 "1.0.0"(变体)
  • updated 日期反映今天
  • 所有必需章节存在:Purpose、Team Composition、Coordination Pattern、Task Decomposition、Configuration、Usage Scenarios、Limitations、See Also
  • 前置元数据 members[] 与 Team Composition 表格匹配
  • CONFIG 块成员与前置元数据成员匹配
  • CONFIG 块任务有有效的 assignees 和 blocked_by 引用
  • 所有成员智能体 ID 存在于 agents/_registry.yml
  • 负责人智能体出现在成员列表中
  • 没有两个成员共有相同的主要职责
  • 注册表条目存在且与前置元数据匹配
  • 对于变体:total_teams 数量与磁盘上的实际数量匹配
  • 交叉引用是双向的(原版 ↔ 变体)
  • git diff 显示无意外的原始内容删除
# 验证前置元数据
head -25 teams/<team-name>.md

# 验证所有成员智能体存在
for agent in agent-a agent-b agent-c; do
  grep "id: $agent" agents/_registry.yml
done

# 统计磁盘上的团队数与注册表的对比
ls teams/*.md | grep -v template | wc -l
grep total_teams teams/_registry.yml

# 审查所有更改
git diff

预期结果: 所有检查清单项通过。演进后的团队已准备好提交。

失败处理: 逐项处理每个失败项。演进后最常见的问题是 CONFIG 块偏移(成员或任务与散文不匹配)和忘记更新 updated 日期。

验证清单

  • 团队文件存在且有有效的 YAML 前置元数据
  • version 字段反映所做的更改
  • updated 日期为当前日期
  • 所有章节存在且内部一致
  • 前置元数据 members[]、Team Composition 表格和 CONFIG 块同步
  • 所有成员智能体 ID 存在于 agents/_registry.yml
  • 负责人智能体在成员列表中
  • CONFIG 块 YAML 有效且可解析
  • 注册表条目与团队文件匹配
  • 对于变体:teams/_registry.yml 中有正确路径的新条目
  • 对于变体:total_teams 数量已更新
  • 交叉引用有效(See Also 中无失效链接)
  • git diff 确认无意外的内容删除

常见问题

  • CONFIG 块偏移:CONFIG 块、前置元数据和散文章节必须就成员和任务达成一致。更新其中一个而不更新其他是最常见的团队演进错误。每次更改后,交叉检查这三者。
  • 忘记更新版本:没有版本更新,就无法追踪更改的内容和时间。提交前始终更新 versionupdated
  • 孤立的成员引用:删除成员时,Task Decomposition 和 CONFIG 块中的任务必须重新分配或删除。保留孤立的 assignees 导致激活失败。
  • 演进后协调模式错误:向顺序团队添加可并行的成员,或使 hub-and-spoke 团队中的智能体需要彼此的输出。任何结构性更改后,重新评估 create-team 第 4 步中的模式决策。
  • 添加成员后团队太大:超过 5 个成员的团队协调困难。若演进使团队超过 5 人,考虑拆分为两个聚焦团队。
  • 创建变体后 See Also 过期:创建变体时,原版和变体都需要相互引用。单向引用使关联图不完整。

相关技能

  • create-team — 创建新团队的基础;evolve-team 假设最初遵循了此流程
  • evolve-skill — 演进 SKILL.md 文件的并行流程
  • evolve-agent — 演进智能体定义的并行流程
  • commit-changes — 用描述性消息提交演进后的团队

GitHub 仓库

pjt222/agent-almanac
路径: i18n/zh-CN/skills/evolve-team
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

llamaguard

其他

LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。

查看技能

cost-optimization

其他

这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。

查看技能

quantizing-models-bitsandbytes

其他

这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。

查看技能

dispatching-parallel-agents

其他

该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。

查看技能