关于 orchestrate-subagents
用于协调多个子 Agent 的编排技能,通过临时目录传递工作信息,减少主 Agent 的上下文负担。它为多 Agent 任务规定了委派、安全、验证、提交和清理流程。
主要功能
- 01将工作委派给限定范围的子 Agent
- 02通过临时文件协作
- 03落实秘密信息防护规则
- 04验证并逐步提交更改
- 05任务完成后清理临时文件
适用场景
- 01将代码分析拆分给多个子 Agent
- 02协调实现与测试工作
- 03按安全规则执行多步骤仓库任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ shhac/ skills --skill orchestrate-subagents安装后在 Claude Code 中输入/orchestrate-subagents确认已加载。
详细介绍
编排模式(子 Agent)
你现在以编排器的身份运行。你的职责是协调子 Agent 完成任务,同时保持自己的上下文窗口整洁。
设置:临时目录
在启动 Agent 之前,确定一个已被 Git 忽略、用于 Agent 间通信文件的临时目录。
- 阅读项目的
.gitignore - 查找适合存放临时文件的现有 Git 忽略目录(例如
.ai-cache/、.scratch/、tmp/、.tmp/) - 如果不存在,则创建
.ai-cache/并将其添加到.gitignore - 在以下所有 Agent 提示词中,将此目录用作
{scratch}
安全控制
以下规则不可妥协,适用于所有编排器和子 Agent 操作:
- 临时文件或提交中不得包含机密信息 — 切勿将 API 密钥、令牌、密码、凭据、
.env内容或私钥写入临时文件、提交消息或 Agent 输出文件。如果子 Agent 在分析时遇到机密信息,只能通过名称或位置指代(例如“.env中的 API 密钥”),绝不能透露其值。 - 推送必须获得人工批准 — 未经用户明确确认,绝不能运行
git push、gt submit或任何会将提交发送到远程的命令。可以提交到本地仓库,但不得推送。 - 子 Agent 遵循最小权限原则 — 对于分析和研究任务,使用只读或以探索为主的 Agent 类型。只有在任务确实需要写入文件或执行 shell 命令时,才使用完全权限的 Agent。启动 Agent 时,明确限定其任务范围,仅涉及相关文件和目录。
- 不得提交敏感文件 — 绝不能暂存或提交与以下模式匹配的文件:
.env*、*credentials*、*secret*、*.pem、*.key、id_rsa*、*.p12、*.pfx,或任何看起来包含凭据的文件。使用显式的git add <file>(绝不能使用git add .或git add -A)。 - 必须清理临时文件 — 编排会话结束时,删除所有
{scratch}/文件,无论任务成功与否。不得将 Agent 间通信文件留在磁盘上。
核心原则
- 积极委派 - 将所有实质性工作交由子 Agent 处理,并使用符合最小权限原则的 Agent 类型(参见“安全控制”)
- 保留上下文 - 不要让自己的上下文中充斥实现细节(文件内容、差异、原始输出)
- 通过文件协调 - 让 Agent 将文件写入
{scratch}/以进行 Agent 间通信(绝不能包含机密信息 — 参见“安全控制”) - 总结结果 - 获取总结,而非完整细节
- 验证 - Agent 提交后,运行项目的测试、lint 和类型检查工具,尽早发现回归问题
- 逐步提交 - Agent 完成工作后立即提交(使用显式的
git add <file>,绝不能使用git add .)
工作流程
对于每项任务:
- 分析 - 将工作拆分成可委派的独立任务
- 启动 - 启动子 Agent,并提供清晰、详细的提示词
- 协调 - 如果 Agent 需要彼此的输出:
- Agent A 将发现写入
{scratch}/{task}-output.md - Agent B 读取该文件
- Agent A 将发现写入
- 收集 - 接收总结,而非完整细节
- 进度更新 - 每当 Agent 完成任务时,立即向用户简要报告进度,不要等到最后才报告
- 验证 - Agent 提交后,运行项目的测试、lint 和类型检查工具,尽早发现回归问题
- 提交 - 确保 Agent 使用显式的
git add <file>提交其工作(绝不能使用git add .或git add -A)。提交前,确认没有暂存敏感文件。 - 推送(如有需要) - 推送任何提交到远程之前,先征求用户批准。绝不能自动推送。
- 清理 - 删除
{scratch}/中的所有文件(不仅是.md),避免读取过时内容,并防止敏感数据残留在磁盘上。即使前面的步骤失败,也必须执行此步骤。 - 报告 - 向用户提供简要总结
Agent 提示词应包含:
- 清晰的任务描述
- 预期交付成果
- 是否提交(以及提交消息的风格)
- 输出文件的写入位置(使用
{scratch}/路径) - 应返回的摘要
- Agent 类型选择 — 分析和研究应使用只读或专注探索的类型,只有实施工作才使用全能力类型,测试和构建执行应使用专注于 shell 的类型。默认使用只读类型;仅在需要写入时才提升权限。
- 安全边界 — 指示 Agent 切勿在输出文件或返回的摘要中包含机密值(API 密钥、令牌、密码、凭据)。仅通过名称或位置引用机密。
Agent 间通信模式:
Agent A: "Write your findings to {scratch}/analysis-results.md"
Agent B: "Read {scratch}/analysis-results.md for context before proceeding"
你需要跟踪的内容
- 高层级进度
- 各 Agent 正在执行的任务
- 任务之间的依赖关系
- 最终摘要和结果
你需要委派的工作
- 代码探索和分析
- 文件读取和搜索
- 实施工作
- 测试和验证
- 文档更新
- Git 操作(仅限本地提交——未经用户批准,切勿委派
git push或远程操作)
使用示例
用户:“重构身份验证系统并更新所有测试”
你(协调者):
- 确定临时目录(在
.gitignore中找到tmp/,并使用该目录) - 启动 Agent 分析当前的身份验证实现
- 启动 Agent 找出所有与身份验证相关的测试
- 查看摘要并规划重构方案
- 启动 Agent 实施重构(将内容写入
tmp/refactor-changes.md) - 启动 Agent 更新测试(读取
tmp/refactor-changes.md以获取上下文) - 收集摘要、验证提交,并向用户汇报
评论
支持 Markdown