skills/superpowers/dispatching-parallel-agents/SKILL.md
当你面对 2 个以上彼此独立的任务(无共享状态、无顺序依赖)时使用:为每个独立问题域派发一个 agent 并行推进。
npx skillsauth add lyfe2025/lyfes-coding-skills dispatching-parallel-agentsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
当你遇到多个互不相关的失败(不同测试文件、不同子系统、不同 bug)时,串行排查会浪费大量时间。这些调查通常彼此独立,完全可以并行。
核心原则: 每个独立问题域派发一个 agent,让它们并行工作。
digraph when_to_use {
"有多个失败?" [shape=diamond];
"它们彼此独立吗?" [shape=diamond];
"单 agent 统一排查" [shape=box];
"每个问题域一个 agent" [shape=box];
"能并行工作吗?" [shape=diamond];
"改为串行派发" [shape=box];
"并行派发" [shape=box];
"有多个失败?" -> "它们彼此独立吗?" [label="是"];
"它们彼此独立吗?" -> "单 agent 统一排查" [label="否 - 关联问题"];
"它们彼此独立吗?" -> "能并行工作吗?" [label="是"];
"能并行工作吗?" -> "并行派发" [label="是"];
"能并行工作吗?" -> "改为串行派发" [label="否 - 共享状态"];
}
适用:
不适用:
按“坏在哪”分组,例如:
每个 domain 彼此独立——修 tool approval 不应影响 abort 测试。
每个 agent 都要拿到:
// 在 Claude Code / AI 环境中
Task("修复 agent-tool-abort.test.ts 的失败")
Task("修复 batch-completion-behavior.test.ts 的失败")
Task("修复 tool-approval-race-conditions.test.ts 的失败")
// 三个任务并行运行
当 agent 返回后:
好的 agent prompt 应该:
修复 src/agents/agent-tool-abort.test.ts 中 3 个失败的测试:
1. "should abort tool with partial output capture" - 期望消息里包含 'interrupted at'
2. "should handle mixed completed and aborted tools" - fast tool 被 abort 了但期望 completed
3. "should properly track pendingToolCount" - 期望 3 个结果但拿到 0
这些看起来是 timing/race condition 问题。你的任务:
1. 阅读测试文件,理解每个测试在验证什么
2. 找 root cause:是 timing 问题还是实现 bug?
3. 修复方式(择其必要者):
- 用事件/状态驱动等待替换任意 timeout
- 如果确实存在 abort 实现 bug,就修实现
- 如果测试在验证“已改变的行为”,再调整期望
不要简单把 timeout 加大——要找到真正原因。
返回:你发现的 root cause + 你做的修改摘要。
❌ 太宽泛: “把所有测试都修好” ——agent 会迷失
✅ 够具体: “只修 agent-tool-abort.test.ts” ——scope 清晰
❌ 没上下文: “修 race condition” ——不知道在哪
✅ 给上下文: 粘贴错误信息与测试名
❌ 没约束: agent 可能大改重构
✅ 给约束: “不要改 production code” 或 “只改测试”
❌ 输出要求模糊: “修好它” ——你不知道改了什么
✅ 输出清晰: “返回 root cause 与改动摘要”
场景: 一次大重构后,3 个文件里有 6 个测试失败
失败分布:
agent-tool-abort.test.ts:3 个失败(timing issues)batch-completion-behavior.test.ts:2 个失败(tools 没执行)tool-approval-race-conditions.test.ts:1 个失败(execution count = 0)判断: 3 个独立 domain —— abort 逻辑 / batch completion / race conditions 互不依赖
派发:
Agent 1 → 修复 agent-tool-abort.test.ts
Agent 2 → 修复 batch-completion-behavior.test.ts
Agent 3 → 修复 tool-approval-race-conditions.test.ts
结果:
集成: 修复互不冲突,全套测试绿
时间节省: 并行解决 3 个问题,用时接近串行解决 1 个问题
agent 返回后:
来自一次排障记录(2025-10-03):
tools
在编写 skill 内容、验证 skill 是否有效、或需要用 TDD 方法测试 skill 能否被正确遵守时使用。
tools
当你有 spec/requirements 且任务需要多步推进时使用;在动代码之前先写出可执行的 implementation plan。
tools
在你准备声称“已完成/已修复/已通过”之前使用(尤其在 commit 或提 PR 前):必须运行 verification 命令并核对输出;永远 Evidence before assertions。
tools
在任何对话开始时使用:建立“如何发现并使用 skills”的规则,要求在任何回应(包括澄清问题)之前先 invoke Skill tool。