[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RVTAH71ECV8YSMS3DX4WAT":3,"skill-same:01M6RVTAH71ECV8YSMS3DX4WAT":54},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":22,"linkOnly":23,"markdownContent":24,"markdownBody":25,"frontMatter":26,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":37,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":39,"install":40,"resources":53},"01M6RVTAH71ECV8YSMS3DX4WAT","dispatching-parallel-agents",null,"当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用","rzx007\u002FVykor","rzx007","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22313722?v=4","01M6RVGB3GJ05PGEFHQ34TV6T0","Danovan","01M6RVGB7F20SDKPMEN9RS3N0N",3,"MIT","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdispatching-parallel-agents\u002FSKILL.md",[],[19,20,21],"dispatching parallel agents","parallel agents","parallel","2026-11-10 10:12:30",false,"---\nname: dispatching-parallel-agents\ndescription: 当面对 2 个以上可以独立进行、无共享状态或顺序依赖的任务时使用\nversion: \"1.0.0\"\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [agents, parallel]\n---\n\n# 并行分派智能体\n\n## 概述\n\n你将任务委派给具有隔离上下文的专用智能体。通过精心设计它们的指令和上下文，确保它们专注并成功完成任务。它们不应继承你的会话上下文或历史记录——你要精确构造它们所需的一切。这样也能为你自己保留用于协调工作的上下文。\n\n当你遇到多个不相关的失败（不同的测试文件、不同的子系统、不同的 bug），逐一排查会浪费时间。每个排查都是独立的，可以并行进行。\n\n**核心原则：** 每个独立问题域分派一个智能体，让它们并发工作。\n\n## 何时使用\n\n```dot\ndigraph when_to_use {\n    \"存在多个失败?\" [shape=diamond];\n    \"它们是否独立?\" [shape=diamond];\n    \"单个智能体排查所有问题\" [shape=box];\n    \"每个问题域一个智能体\" [shape=box];\n    \"能否并行工作?\" [shape=diamond];\n    \"顺序执行智能体\" [shape=box];\n    \"并行分派\" [shape=box];\n\n    \"存在多个失败?\" -> \"它们是否独立?\" [label=\"是\"];\n    \"它们是否独立?\" -> \"单个智能体排查所有问题\" [label=\"否 - 有关联\"];\n    \"它们是否独立?\" -> \"能否并行工作?\" [label=\"是\"];\n    \"能否并行工作?\" -> \"并行分派\" [label=\"是\"];\n    \"能否并行工作?\" -> \"顺序执行智能体\" [label=\"否 - 有共享状态\"];\n}\n```\n\n**适用场景：**\n- 3 个以上测试文件因不同根因失败\n- 多个子系统独立出现故障\n- 每个问题无需其他问题的上下文即可理解\n- 排查之间无共享状态\n\n**不适用场景：**\n- 失败是相关的（修复一个可能修复其他的）\n- 需要理解完整的系统状态\n- 智能体之间会互相干扰\n\n## 模式\n\n### 1. 识别独立的问题域\n\n按故障分组：\n- 文件 A 测试：工具审批流程\n- 文件 B 测试：批量完成行为\n- 文件 C 测试：中止功能\n\n每个问题域是独立的——修复工具审批不会影响中止测试。\n\n### 2. 创建聚焦的智能体任务\n\n每个智能体获得：\n- **明确范围：** 一个测试文件或子系统\n- **清晰目标：** 让这些测试通过\n- **约束条件：** 不修改其他代码\n- **预期输出：** 你发现和修复内容的总结\n\n### 3. 并行分派\n\n```typescript\n\u002F\u002F 在 Claude Code \u002F AI 环境中\nTask(\"修复 agent-tool-abort.test.ts 的失败\")\nTask(\"修复 batch-completion-behavior.test.ts 的失败\")\nTask(\"修复 tool-approval-race-conditions.test.ts 的失败\")\n\u002F\u002F 三个任务并发运行\n```\n\n### 4. 审查与集成\n\n当智能体返回时：\n- 阅读每个总结\n- 验证修复之间没有冲突\n- 运行完整测试套件\n- 集成所有更改\n\n## 智能体提示词结构\n\n好的智能体提示词应该是：\n1. **聚焦的** - 一个清晰的问题域\n2. **自包含的** - 包含理解问题所需的所有上下文\n3. **明确输出要求** - 智能体应该返回什么？\n\n```markdown\n修复 src\u002Fagents\u002Fagent-tool-abort.test.ts 中 3 个失败的测试：\n\n1. \"should abort tool with partial output capture\" - 期望消息中包含 'interrupted at'\n2. \"should handle mixed completed and aborted tools\" - 快速工具被中止而非完成\n3. \"should properly track pendingToolCount\" - 期望 3 个结果但得到 0 个\n\n这些是时序\u002F竞态条件问题。你的任务：\n\n1. 阅读测试文件，理解每个测试验证的内容\n2. 找到根因——是时序问题还是实际 bug？\n3. 修复方式：\n   - 用基于事件的等待替换任意超时\n   - 如果发现中止实现中的 bug 则修复\n   - 如果测试的是已变更的行为则调整测试期望\n\n不要只是增加超时时间——找到真正的问题。\n\n返回：你发现了什么以及修复了什么的总结。\n```\n\n## 常见错误\n\n**错误做法：太宽泛：** \"修复所有测试\" - 智能体会迷失方向\n**正确做法：具体明确：** \"修复 agent-tool-abort.test.ts\" - 聚焦的范围\n\n**错误做法：无上下文：** \"修复竞态条件\" - 智能体不知道在哪里\n**正确做法：提供上下文：** 粘贴错误信息和测试名称\n\n**错误做法：无约束：** 智能体可能会重构所有代码\n**正确做法：设置约束：** \"不要修改生产代码\" 或 \"只修复测试\"\n\n**错误做法：模糊的输出要求：** \"修好它\" - 你不知道改了什么\n**正确做法：明确要求：** \"返回根因和修改内容的总结\"\n\n## 不适用的场景\n\n**关联性失败：** 修复一个可能修复其他的——先一起排查\n**需要完整上下文：** 理解问题需要看到整个系统\n**探索性调试：** 你还不知道什么坏了\n**共享状态：** 智能体会互相干扰（编辑同一文件、使用同一资源）\n\n## 实际案例\n\n**场景：** 大规模重构后，3 个文件中出现 6 个测试失败\n\n**失败情况：**\n- agent-tool-abort.test.ts：3 个失败（时序问题）\n- batch-completion-behavior.test.ts：2 个失败（工具未执行）\n- tool-approval-race-conditions.test.ts：1 个失败（执行计数 = 0）\n\n**决策：** 独立的问题域——中止逻辑、批量完成、竞态条件各自独立\n\n**分派：**\n```\n智能体 1 → 修复 agent-tool-abort.test.ts\n智能体 2 → 修复 batch-completion-behavior.test.ts\n智能体 3 → 修复 tool-approval-race-conditions.test.ts\n```\n\n**结果：**\n- 智能体 1：用基于事件的等待替换了超时\n- 智能体 2：修复了事件结构 bug（threadId 位置不对）\n- 智能体 3：添加了等待异步工具执行完成的逻辑\n\n**集成：** 所有修复互相独立，无冲突，完整测试套件全部通过\n\n## 验证\n\n智能体返回后：\n1. **审查每个总结** - 理解改了什么\n2. **检查冲突** - 智能体是否编辑了同一段代码？\n3. **运行完整套件** - 验证所有修复协同工作\n4. **抽查** - 智能体可能犯系统性错误\n\n","# 并行分派智能体\n\n## 概述\n\n你将任务委派给具有隔离上下文的专用智能体。通过精心设计它们的指令和上下文，确保它们专注并成功完成任务。它们不应继承你的会话上下文或历史记录——你要精确构造它们所需的一切。这样也能为你自己保留用于协调工作的上下文。\n\n当你遇到多个不相关的失败（不同的测试文件、不同的子系统、不同的 bug），逐一排查会浪费时间。每个排查都是独立的，可以并行进行。\n\n**核心原则：** 每个独立问题域分派一个智能体，让它们并发工作。\n\n## 何时使用\n\n```dot\ndigraph when_to_use {\n    \"存在多个失败?\" [shape=diamond];\n    \"它们是否独立?\" [shape=diamond];\n    \"单个智能体排查所有问题\" [shape=box];\n    \"每个问题域一个智能体\" [shape=box];\n    \"能否并行工作?\" [shape=diamond];\n    \"顺序执行智能体\" [shape=box];\n    \"并行分派\" [shape=box];\n\n    \"存在多个失败?\" -> \"它们是否独立?\" [label=\"是\"];\n    \"它们是否独立?\" -> \"单个智能体排查所有问题\" [label=\"否 - 有关联\"];\n    \"它们是否独立?\" -> \"能否并行工作?\" [label=\"是\"];\n    \"能否并行工作?\" -> \"并行分派\" [label=\"是\"];\n    \"能否并行工作?\" -> \"顺序执行智能体\" [label=\"否 - 有共享状态\"];\n}\n```\n\n**适用场景：**\n- 3 个以上测试文件因不同根因失败\n- 多个子系统独立出现故障\n- 每个问题无需其他问题的上下文即可理解\n- 排查之间无共享状态\n\n**不适用场景：**\n- 失败是相关的（修复一个可能修复其他的）\n- 需要理解完整的系统状态\n- 智能体之间会互相干扰\n\n## 模式\n\n### 1. 识别独立的问题域\n\n按故障分组：\n- 文件 A 测试：工具审批流程\n- 文件 B 测试：批量完成行为\n- 文件 C 测试：中止功能\n\n每个问题域是独立的——修复工具审批不会影响中止测试。\n\n### 2. 创建聚焦的智能体任务\n\n每个智能体获得：\n- **明确范围：** 一个测试文件或子系统\n- **清晰目标：** 让这些测试通过\n- **约束条件：** 不修改其他代码\n- **预期输出：** 你发现和修复内容的总结\n\n### 3. 并行分派\n\n```typescript\n\u002F\u002F 在 Claude Code \u002F AI 环境中\nTask(\"修复 agent-tool-abort.test.ts 的失败\")\nTask(\"修复 batch-completion-behavior.test.ts 的失败\")\nTask(\"修复 tool-approval-race-conditions.test.ts 的失败\")\n\u002F\u002F 三个任务并发运行\n```\n\n### 4. 审查与集成\n\n当智能体返回时：\n- 阅读每个总结\n- 验证修复之间没有冲突\n- 运行完整测试套件\n- 集成所有更改\n\n## 智能体提示词结构\n\n好的智能体提示词应该是：\n1. **聚焦的** - 一个清晰的问题域\n2. **自包含的** - 包含理解问题所需的所有上下文\n3. **明确输出要求** - 智能体应该返回什么？\n\n```markdown\n修复 src\u002Fagents\u002Fagent-tool-abort.test.ts 中 3 个失败的测试：\n\n1. \"should abort tool with partial output capture\" - 期望消息中包含 'interrupted at'\n2. \"should handle mixed completed and aborted tools\" - 快速工具被中止而非完成\n3. \"should properly track pendingToolCount\" - 期望 3 个结果但得到 0 个\n\n这些是时序\u002F竞态条件问题。你的任务：\n\n1. 阅读测试文件，理解每个测试验证的内容\n2. 找到根因——是时序问题还是实际 bug？\n3. 修复方式：\n   - 用基于事件的等待替换任意超时\n   - 如果发现中止实现中的 bug 则修复\n   - 如果测试的是已变更的行为则调整测试期望\n\n不要只是增加超时时间——找到真正的问题。\n\n返回：你发现了什么以及修复了什么的总结。\n```\n\n## 常见错误\n\n**错误做法：太宽泛：** \"修复所有测试\" - 智能体会迷失方向\n**正确做法：具体明确：** \"修复 agent-tool-abort.test.ts\" - 聚焦的范围\n\n**错误做法：无上下文：** \"修复竞态条件\" - 智能体不知道在哪里\n**正确做法：提供上下文：** 粘贴错误信息和测试名称\n\n**错误做法：无约束：** 智能体可能会重构所有代码\n**正确做法：设置约束：** \"不要修改生产代码\" 或 \"只修复测试\"\n\n**错误做法：模糊的输出要求：** \"修好它\" - 你不知道改了什么\n**正确做法：明确要求：** \"返回根因和修改内容的总结\"\n\n## 不适用的场景\n\n**关联性失败：** 修复一个可能修复其他的——先一起排查\n**需要完整上下文：** 理解问题需要看到整个系统\n**探索性调试：** 你还不知道什么坏了\n**共享状态：** 智能体会互相干扰（编辑同一文件、使用同一资源）\n\n## 实际案例\n\n**场景：** 大规模重构后，3 个文件中出现 6 个测试失败\n\n**失败情况：**\n- agent-tool-abort.test.ts：3 个失败（时序问题）\n- batch-completion-behavior.test.ts：2 个失败（工具未执行）\n- tool-approval-race-conditions.test.ts：1 个失败（执行计数 = 0）\n\n**决策：** 独立的问题域——中止逻辑、批量完成、竞态条件各自独立\n\n**分派：**\n```\n智能体 1 → 修复 agent-tool-abort.test.ts\n智能体 2 → 修复 batch-completion-behavior.test.ts\n智能体 3 → 修复 tool-approval-race-conditions.test.ts\n```\n\n**结果：**\n- 智能体 1：用基于事件的等待替换了超时\n- 智能体 2：修复了事件结构 bug（threadId 位置不对）\n- 智能体 3：添加了等待异步工具执行完成的逻辑\n\n**集成：** 所有修复互相独立，无冲突，完整测试套件全部通过\n\n## 验证\n\n智能体返回后：\n1. **审查每个总结** - 理解改了什么\n2. **检查冲突** - 智能体是否编辑了同一段代码？\n3. **运行完整套件** - 验证所有修复协同工作\n4. **抽查** - 智能体可能犯系统性错误\n\n",{"name":5,"license":15,"version":27,"metadata":28,"description":7},"1.0.0",{"hermes":29},{"tags":30},[31,21],"agents","main","11fa3057bb1aff51d77b97648803dec2b2ea62d9",".claude\u002Fskills\u002Fdispatching-parallel-agents",2,"https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor","https:\u002F\u002Frzx007.github.io\u002FVykor\u002F","https:\u002F\u002Fgithub.com\u002Frzx007","2026-11-11 16:54:22",{"source":8,"skillName":5,"commands":41,"prompt":51,"zipAvailable":52},[42,45,48],{"tool":43,"command":44},"npx","npx skills add rzx007\u002FVykor --skill dispatching-parallel-agents",{"tool":46,"command":47},"bunx","bunx skills add rzx007\u002FVykor --skill dispatching-parallel-agents",{"tool":49,"command":50},"pnpm","pnpm dlx skills add rzx007\u002FVykor --skill dispatching-parallel-agents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fdispatching-parallel-agents\u002FSKILL.md",true,[],[55,75,87,110,122,135],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":71,"publishedAt":22},"01M6RVYYTPGG9WWWV4QAY0YEY3","writing-skills","当创建新技能、编辑现有技能或在部署前验证技能是否有效时使用","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[61,66],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[72,73,74],"writing skills","writing","documentation",{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":83,"publishedAt":22},"01M6RVYE486HE8NQ2M4G5DNG63","writing-plans","当你有规格说明或需求用于多步骤任务时使用，在动手写代码之前","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[81,82],{"categoryNo":62,"categoryName":63,"taxonomyType":64,"taxonomyTypeDesc":65},{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},[84,85,73,86,74],"plans","writing plans","planning",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":96,"publishedAt":22},"01M6RVY778PEDPWQ0DCM25QW3A","workflow-runner","在 Claude Code \u002F OpenClaw \u002F Cursor 中直接运行 agency-orchestrator YAML 工作流——无需 API key，使用当前会话的 LLM 作为执行引擎。当用户提供 .yaml 工作流文件或要求多角色协作完成任务时触发。","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fworkflow-runner\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":64,"taxonomyTypeDesc":65},"01JBSEEDCAT000000000000023","Skill与智能体开发",[97,98,99,100,101,102,103,104,105,106,107,108,109],"workflow runner","runner","workflow","协作","文件","agency","orchestrator","cursor","api","execution","yaml","code","openclaw",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":22},"01M6RVY4NR6RRPV174AB706A13","verification-before-completion","在宣称工作完成、已修复或测试通过之前使用，在提交或创建 PR 之前——必须运行验证命令并确认输出后才能声称成功；始终用证据支撑断言","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[117,118,119,120,121],"verification before completion","verification","quality","pr","testing",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":22},"01M6RVY1ZQ6ADVCZGBS371HD88","using-superpowers","在开始任何对话时使用——确立如何查找和使用技能，要求在任何响应（包括澄清性问题）之前调用 Skill 工具","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fusing-superpowers\u002FSKILL.md",[],[129,130,131,132,133,134],"superpowers","using superpowers","对话","Meta","工具","getting-started",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":22},"01M6RVXJFEQ00P7XBQ8FBEKKJ2","using-git-worktrees","当需要开始与当前工作区隔离的功能开发，或在执行实现计划之前使用——通过原生工具或 git worktree 回退机制确保隔离工作区存在","https:\u002F\u002Fgithub.com\u002Frzx007\u002FVykor\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fusing-git-worktrees\u002FSKILL.md",[],[142,143,144,145,146,99,147,148,133],"using git worktrees","git","git worktrees","worktrees","Using git","worktree","git worktree"]