Community生产力与协作github.com

Jamie-BitFlight/delegate

将实质性工作分解为多个阶段,将每个阶段分派给子代理,并对返回的结果进行裁决。适用于任何涉及实施、调查、修复、审查或文件变更的请求,也适用于需要读取源代码或自行运行诊断工具的情况。

delegate 是什么?

这项技能实现了一种高效的代理间工作流管理方式:主协调代理(orchestrator)负责将复杂任务拆解为独立的阶段(如读取、收集、处理、写入、验证等),然后将每个阶段分派给专门的子代理(sub-agent)执行。子代理拥有独立的上下文窗口,能够专注于自己的任务,而主代理则负责裁决返回的结果、决定下一步行动,并在必要时重新分派任务。此技能特别适用于Claude Code等支持多代理协作的平台。使用此技能的关键在于“反递归标记”:如果代理的提示以“Your ROLE_TYPE is sub-agent.”开头,则它不应继续分派,而是遵循子代理合同。该技能支持多种工作模式,包括修复循环、并行处理、模式扩展以及独立的审查阶段,从而确保工作质量和可追溯性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/agent-orchestration/skills/delegate

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

委托

协调器的上下文是贯穿整个会话的唯一窗口。它读取的每个文件和持有的每个命令输出都是判断预算的支出。子代理每个任务会获得一个全新的窗口,因此协调器负责路由、定义完成标准并进行判断;代理则负责读取、运行和写入。

两种角色

每次分派的提示都以 Your ROLE_TYPE is sub-agent. 开头。这一行是一个反递归标记:继承此技能的子代理不得再进行分派。如果你的提示是这样开始的,请在此处停止,并遵循 references/sub-agent-contract.md。否则,你就是委托者,本文件的其余部分对你适用。

何时适用

任何涉及文件变更、原因调查、事实收集、错误修复或工作审查的请求——无论规模大小——以及当你即将自己读取源代码或运行诊断工具而不是将其委托出去时。“只有两行代码”也要委托。唯一的例外是:本次操作中对你刚编辑过的单个文件进行的检查。

在工作进行中也适用:判断子代理的报告(参见裁决),重新分派某个阶段,或泛化用户命名的模式实例(参见模式扩展)。

当答案已经存在于你的上下文中且无需修改文件时,直接内联回答。

分解

将请求拆分为多个阶段。仅保留那些会产生工作的阶段;不要填充无关内容。

阶段产出
读取工作所依赖的材料,定位并读取
收集外部事实:文档、现有技术、当前系统状态
处理分析和所选方案
验证对照实际代码和环境检查所选方案
写入变更内容
校验检查、类型检查、构建结果
测试测试运行,以及覆盖变更的新测试
报告变更内容及证据
审查对结果的独立评判

一些常见形态有专门的处理方式:

  • 错误修复 → references/fix-cycle.md:在更改前重现问题。
  • 跨多个目标的相同编辑 → 一次 处理 分派决定变更;N 次通用分派应用变更;一次 审查 分派进行检查。参见 parallel-work。

分派

  • 每次分派一个阶段。一个阶段可以扩展到 N 个目标(N 次分派,相同阶段);不能与另一个阶段混合。
  • 独立的各次分派在同一轮中一起发送,以便并发运行。仅在一个分派需要消耗另一个分派的结果,或者两个分派要写入同一文件且无法隔离时,才进行串行化。
  • 读取/收集/处理 的结果放入文件,而非你的上下文。将路径传递给下一阶段;不要转发内容。

选择代理

根据任务对代理的要求进行分类,而不是根据其名称:

  • 专家 — 任何描述与阶段领域匹配的代理。获得观察结果、成功标准和上下文。绝不获得实施步骤。
  • 通用 — general-purpose(或类似的工具链)和 Explore。获得规定的实施内容:精确的编辑、精确的文件、精确的验证。Explore 仅用于精确匹配搜索。
  • 审查者 — 对于 审查 阶段,选择一个与编写者不同的代理,优先选择该领域的审查型或审计型代理。

当没有合适的专家时,使用规定的任务分派给通用代理。

两个提示都以相同的两行开头——将它们逐字复制到所选模板的第一行:Your ROLE_TYPE is sub-agent. Follow the sub-agent contract at <absolute path to references/sub-agent-contract.md>.

提示——专家模式

PHASE: <阶段名称之一>
TASK: <一句话>

OBSERVATIONS:
- <您上下文中已有的事实:用户陈述、先前的 STATUS 报告、逐字的错误信息、已知的文件:行号>

DEFINITION OF SUCCESS:
- <可衡量的结果>
- <验收标准>
- <如何验证——一个命令及其预期结果,或将要检查的审查者>

DELIVERY:
- 将任何超过一行的内容写入 .tmp/scratch/reports/<YYYYMMDD>-<slug>.md 并返回路径。

CONTEXT:
- Location: <查找位置>
- Scope: <边界>
- Constraints: <用户强制要求;要遵循的现有模式>
- Commands: <项目的验证/测试质量门,或“发现此项目定义的门”>

ECOSYSTEM CONTEXT:  (如果为空则省略此部分)
- <代理无法读取的会话事实:已认证的 CLI、正在审查的 PR、在同一文件上活跃的另一个代理>

YOUR TASK:
<下面表格中对应阶段的行,逐字复制>

阶段行对应 YOUR TASK:

阶段行
读取定位并读取此工作所依赖的材料。将精确的路径和引用的内容写入交付文件;不要遗漏后续阶段可能需要的细节。不编辑任何内容。
收集收集 CONTEXT 中命名的外部事实。在交付文件中记录每个事实及其来源。不编辑任何内容。
处理分析 OBSERVATIONS 中路径下的材料。选择一种方案;记录该方案及为何排除其他备选方案。不编辑任何内容。
验证将所选方案与 CONTEXT 中的实际代码和环境进行对照检查。记录其成立之处和失败之处。不实施任何内容。
写入按照 DEFINITION OF SUCCESS 进行变更。只触及 CONTEXT Scope 内的文件。
校验运行 CONTEXT Commands 中的命令,或发现此项目的检查/类型检查/构建门,并说明运行了哪些。报告精确输出,包括通过和失败。沉默的失败就是失败。
测试运行 CONTEXT Commands 中的测试调用,或发现它并说明运行了哪个。添加覆盖变更的测试。报告精确输出。
报告说明变更了哪些内容及其证据:文件、命令、输出。不做出证据不支持的声明。
审查根据 DEFINITION OF SUCCESS 评判 OBSERVATIONS 中路的结果。报告差距、矛盾、无根据的声明。不修复任何内容。

填充规则的注意事项:

  • 如果某个部分无法用您上下文中已有的内容填充,则省略该部分,不要凭空发明。空的 OBSERVATIONS 或 ECOSYSTEM CONTEXT 是有效状态;猜测则不是。
  • OBSERVATIONS 是传递的:仅包含您上下文中已有的内容。为了填充它而进行读取、grep 或运行命令属于预收集;代理将使用全新的窗口来完成这些。
  • 将观察结果陈述为事实(“exit code 1”,“错误文本是:…”)。如果您持有假设,请标注:要验证的假设:…。
  • Constraints 是结果和边界,绝不是步骤。在 Commands 中命名项目自身的门是一个约束,而不是一个步骤。
  • 不要提及代理会继承的内容:仓库约定、工具链、“自由探索”、“使用可用技能”。这些存在于项目的代理指令中。仅在代理必须加载某项技能且它不会自动加载时才命名该技能。
  • 路径:以代理从其自身工作目录解析的方式编写;仓库内部使用相对路径,对于通过符号链接访问的任何内容,使用符号链接形式(而不是解析后的目标)。

提示——通用模式

PHASE: <write | validate | test | read>
TASK: <精确指令——要进行的编辑、要查找的模式、要运行的命令>

FILES:
- <精确路径>

DEFINITION OF SUCCESS:
- <验证命令及其预期结果>

DELIVERY:
- 在报告中包含验证输出。

裁决

报告都是声称。对于每份报告:

  • 检查证据是否支持结论。“测试通过”而没有命令输出不是证据;重新分派以获取输出。
  • 判断返回的工作;不要重新推导。重新读取代理读取过的内容会浪费通过分派节省的上下文。
  • 两份报告冲突 → 找到可证伪的声明并分派一项检查。信心不是打破平局的因素。
  • PARTIAL → 重新分派剩余部分,精确说明还需要做什么。
  • BLOCKED 因为缺少输入 → 提供输入并重新分派。尝试后仍然 BLOCKED → 更改方法或升级给用户;不要重新发送相同的提示。

对于相同的差距,最多重新分派同一阶段两次。之后,停止并向用户报告 BLOCKED,并说明差距。

每个更改代码的请求都要由一个与编写者不同的审查者进行独立审查。

模式扩展

用户指向某个坏味道、错误或缺失检查的一个实例,实际上是在命名一个模式。除非他们说“仅此一个”,否则:对整个文件或模块进行模式审计,报告找到的实例,并在修复超出命名文件范围的问题之前与用户确认。

参考

  • references/sub-agent-contract.md — 被分派的代理遵循的指南。
  • references/fix-cycle.md — 错误修复分派的先重现再修复流程。
  • parallel-work — 扇出、扇入、制造者/检查者、竞赛、带有上限的循环;也指向 Claude Code 工具链机制。
  • 如果安装了 orchestrator-discipline:协调器可以读取和运行的内容;由钩子强制执行。
  • 如果安装了 process-siren:将决策点写为可求值的 Mermaid 菱形图。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Jamie-BitFlight/agentskill-kaizen-meta-docs

Agentskill kaizen plugin documentation index. Load when needing to read about cross-platform notes, improvement plans, or DuckDB integration.

Jamie-BitFlight/bash-51-features

Bash 5.1 release features and improvements with practical examples. Use when working with Bash 5.1 features, epoch time variables, redirection enhancements, or when user asks about Bash 5.1 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-52-features

Bash 5.2 release features and improvements with practical examples. Use when working with Bash 5.2 features, variable handling enhancements, readline improvements, or when user asks about Bash 5.2 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-53-features

Bash 5.3 release features and improvements with practical examples. Use when working with Bash 5.3 features, new command substitution, GLOBSORT, loadable builtins, or when user asks about Bash 5.3 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-development

This skill should be used when the user asks to "write a bash script", "create a shell script", "implement bash function", "parse arguments in bash", "handle errors in bash", or mentions bash development, shell scripting, script templates, or modern bash patterns.

Jamie-BitFlight/bash-lint

This skill should be used when the user asks to "lint bash script", "run shellcheck", "format shell script", "use shfmt", "fix shellcheck errors", or mentions shell script linting, formatting, code quality, or pre-commit hooks for bash.

Jamie-BitFlight/bash-logging

This skill should be used when the user asks to "add logging to bash script", "colorize output", "implement log levels", "CI/CD sections", "terminal colors in bash", or mentions logging functions, emoji output, collapsible CI sections, or shlocksmith.

Jamie-BitFlight/bash-portability

This skill should be used when the user asks about "POSIX compatibility", "portable shell scripts", "cross-shell compatibility", "bashisms", "shebang selection", or mentions writing scripts that work on different shells (bash, sh, dash, zsh) or different systems.

Jamie-BitFlight/bash-testing

This skill should be used when the user asks to "test bash script", "write shell tests", "use shunit2", "use shellspec", "create test suite for bash", or mentions unit testing, test frameworks, mocking, or test-driven development for shell scripts.

Jamie-BitFlight/brainstorming-skill

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or when users request help with ideation, marketing, and strategic planning. Explores user intent, requirements, and design before implementation using research-validated prompt patterns.

Jamie-BitFlight/clang-format

Configure clang-format code formatting. Use when: user mentions clang-format or .clang-format, analyzing code style/patterns, creating/modifying formatting config, troubleshooting formatting, brace styles/indentation/spacing/alignment/pointer alignment, or codifying conventions.

Jamie-BitFlight/commitlint

When setting up commit message validation for a project. When project has commitlint.config.js or .commitlintrc files. When configuring CI/CD to enforce commit format. When extracting commit rules for LLM prompt generation. When debugging commit message rejection errors.

Jamie-BitFlight/conventional-commits

When writing a git commit message. When task completes and changes need committing. When project uses semantic-release, commitizen, git-cliff. When choosing between feat/fix/chore/docs types. When indicating breaking changes. When generating changelogs from commit history.

Jamie-BitFlight/dasel-reference

Use when querying, modifying, or converting JSON, YAML, TOML, XML, CSV, HCL, or INI with dasel v3. Complete reference for selectors, functions, conditionals, variables, spread operator, type casting, and format-specific patterns.

Jamie-BitFlight/data-exploration

Use when exploring unknown structured data files with dasel v3 — discover schema, list keys, find nested values, sample arrays, identify data types across JSON, YAML, TOML, XML, CSV, HCL, INI formats

Jamie-BitFlight/data-transformation

Use when modifying, converting, or transforming structured data with dasel v3 — in-place mutations, format conversion, batch operations, array manipulation, object construction, and merge patterns across JSON, YAML, TOML, XML, CSV, HCL, INI

Jamie-BitFlight/enterprise-hibernate-hbm

Dasel v3 query patterns for Hibernate .hbm.xml mapping files — entity-table binding, Java property-to-column extraction, one-to-many set/list/bag relationship tracing, many-to-one foreign key discovery, batch scanning across 60+ HBM files. Use when querying Hibernate ORM class mappings, extracting schema metadata from Java persistence layer, or auditing entity-column relationships in enterprise legacy codebases.

Jamie-BitFlight/enterprise-installanywhere

Dasel v3 query patterns for InstallAnywhere .iap_xml installer definitions — use when querying action sequences, discovering variables, resolving platform conditions, navigating panels, or comparing installer variants. Files are 2.5+ MB, 65,000+ lines — too large for context reads, requires structural dasel queries.

Jamie-BitFlight/enterprise-maven-pom

Dasel v3 selector patterns for Maven POM XML files — use when querying dependency versions, filtering by groupId or scope, extracting module hierarchy from parent POMs, or detecting version conflicts across enterprise multi-module Java projects. Load this skill when working with pom.xml files using dasel.

Jamie-BitFlight/enterprise-spring-xml

Dasel v3 selectors for Spring bean factory XML — use when querying any Spring ApplicationContext XML for bean discovery, dependency wiring, JMS destination mapping, property injection extraction, or cross-bean reference tracing. Load this skill before writing dasel selectors against Spring bean XML files (applicationContext.xml, *_beans.xml, spring-*.xml).

相关技能