关于 egm-review-loop
egm-review-loop 是用于协调文档迭代式多 Agent 审查的技能,结合独立上下文审查员与保留上下文的修复者,评估问题并应用获批修改。
主要功能
- 01每轮重新扫描目标范围
- 02分派专门审查员
- 03汇总并分类审查结果
- 04应用获批的文档修复
- 05每轮之间等待用户确认
适用场景
- 01审查持续变更的设计文档
- 02按标准反复进行审计
- 03应用选定的审查修改
- 04等待用户决策后暂停审查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ google/ elephant-goldfish-model --skill egm-review-loop安装后在 Claude Code 中输入/egm-review-loop确认已加载。
附带文件test_scenarios.yamlTEST.md
详细介绍
Goldfish Review:Loop(编排驱动程序)
在 Codex 或 ChatGPT Work 中运行时,请先阅读 Codex integration。
在 Claude Code 或 Cowork 中,请先阅读 ${CLAUDE_PLUGIN_ROOT}/docs/claude.md。
概述
此技能充当中央编排引擎,驱动多 Agent 审查循环。它协调两种截然不同的 Agent 记忆模型:
- Goldfish(对抗式审计员):在隔离、全新的上下文窗口中启动的子 Agent,旨在发现未明说的假设,不受历史偏见影响。
- Elephant(持久解析器):承载组织知识的主 Agent 上下文,用于评估发现并应用已批准的修复。
驱动程序负责接收参数、解析审查员和标准的路径、在每次迭代前无条件重新解析目标行范围、根据配置启动并发的专用 Goldfish 审计员,并与 Elephant 上下文协调以解决发现。
委派
Goldfish 在全新上下文中运行,没有对话历史。使用你所用 harness 的子 Agent 工具启动每个子 Agent(Antigravity:invoke_subagent;Claude Code:Agent;Codex:spawn_agent)。每个子 Agent 都在 agents/<file>.md 中定义,其 frontmatter 中的 name(例如 egm-zoom-out)是你的 harness 注册命名子 Agent 时要请求的子 Agent 类型。否则,启动一个通用子 Agent,并告知它先阅读对应的角色文件。原样传递提示词并等待报告。如果你的 harness 无法嵌套启动子 Agent,请使用直接派发,而不是综合器。参见 docs/harnesses.md。
如果你的 harness 没有子 Agent 工具,请停止并告知用户:在同一上下文中进行的审查不属于 Goldfish 审查。
输入
调用方或用户恰好提供以下参数:
TargetFile:目标文档的绝对或相对路径。SemanticTarget:描述性目标字符串(例如 "Target the H4 block with SS-ID 'S1.12'"),或full file。Reviewers:审查员名称列表(简称或路径)。Standards:审查员名称到标准名称的映射(简称或路径)。GoldfishContext:提供给审查员以建立基线的阅读清单(源文件、目录或文档 URL)。
路径与标准解析逻辑
解析 Reviewers 和 Standards 中的名称时:
- 审查员简称:将审查员简称(例如
design_critic、structural、style、implementation_readiness、codebase_details、comprehension、zoom_out)映射到agents/{name}.md。角色文件定义审查员的核心职责、审计维度和输出格式。 - 标准简称:将标准简称(例如
feature-spec-standard、implementation-readiness-standard、zoom-out-standard、heilmeier-standard、re-implementation-standard)映射到resources/document_standards/{name}.md。 - 自定义路径:如果名称包含斜杠(
/),则将其视为绝对路径或工作区相对路径,并直接读取。
执行工作流
步骤 1:输入信息收集与配置体验
评估提供的输入(TargetFile、SemanticTarget、Reviewers、
Standards、GoldfishContext)。
- 识别缺失输入:确定缺少哪些必需参数。
- 交互式引导:
- 如果所有输入都已提供,则继续执行步骤 2。
- 如果缺少部分或全部输入,则通过聊天消息一次询问一个,仅询问缺失的输入。
- 审核者推荐:
- 功能规格说明:推荐
design_critic(映射到resources/document_standards/feature-spec-standard.md)和structural(映射到resources/document_standards/feature-spec-standard.md)。 - 实现计划:推荐
implementation_readiness(映射到resources/document_standards/implementation-readiness-standard.md) 和codebase_details。
- 功能规格说明:推荐
- 确认配置:展示汇总计划(目标、审核者 和映射的标准),并在继续之前请用户确认。
步骤 2:打磨循环(迭代周期)
持续循环执行以下序列:
2.1 无条件解析目标
每次迭代前,都要重新读取 TargetFile,并使用稳定的 SemanticTarget 字符串(例如,定位目标标题)动态确定更新后的绝对起止行号。这样可以确保绝对准确,即使文件在前几轮中已被编辑也不例外。(如果指定了 full file 模式,请确认整个文件的行范围。)
2.2 审核群组执行
- 启动子 Agent 群组:
启动子 Agent 执行审核:
- 分层调度(合成器):启动中间合成器子 Agent(
agents/synthesizer.md/egm-synthesizer)。 合成器并行启动 Goldfish 审核群组,去重审核发现,写入报告文件,并 返回一条摘要消息,以避免根对话上下文受到干扰。 - 直接调度(扁平群组):或者,直接启动
Reviewers中指定的每个 审核者子 Agent。 指示每个子 Agent 先读取其角色定义agents/{name}.md,再根据resources/document_standards/中指定的标准,在解析出的行范围内审核TargetFile,并提供GoldfishContext。 - 每位审核者都会给出审核发现,包括严重程度(🔴 阻断项、🟡 主要问题、🟢 小问题)、行号、差异描述和理由。
- 分层调度(合成器):启动中间合成器子 Agent(
- 汇总审核发现:将所有审核者的审核发现收集到一个扁平的
FindingsList中。
2.3 汇总解决流程交接
- 将
TargetFile、当前有效行范围以及汇总后的FindingsList传递给egm-resolve工作流。 - 在主 Elephant 上下文中执行解决工作流:
- 将审核发现分类为
CONTEST与PROPOSE FIX。 - 使用文件写入工具保存
goldfish_review_report.md。 - 展示交互式决策选项(自动接受、继续、交互式细分)。
- 使用文件编辑工具对
TargetFile应用获批的文本修复。
- 将审核发现分类为
2.4 迭代检查与轮次边界
持续循环,直到审核者报告剩余审核发现为零,或用户明确要求停止。
至关重要的轮次交接要求:某一轮的解决阶段结束后,循环驱动程序必须遵守
egm-resolve 中的轮次交接检查点。驱动程序必须在人工交互轮次期间保持空闲,
仅当用户明确确认要再进行一轮审核时,才返回步骤 2.1。
步骤 3:输出边界与最终检查点
成功完成后(例如,没有剩余问题或手动停止):
- 程序化调用方:如果作为
egm-review的子流程运行,则正常退出,将执行权交还给父工作流。 - 手动调用:在聊天中输出完成摘要:"审查循环已完成,没有剩余问题。你想继续进入下一阶段,还是还有最后的问题?"