关于 egm-resolve
用于处理 Goldfish 审阅者对目标文档提出的汇总意见。它判断意见应予反驳还是修正,生成审阅报告,并按用户选择处理文本修改。
主要功能
- 01解析审阅意见
- 02判断意见应反驳或采纳
- 03生成按优先级排列的报告
- 04提供交互式处理选项
- 05应用获批的文本修正
适用场景
- 01梳理文档审阅意见
- 02用代码或设计依据回应批评
- 03准备待审阅的修改建议
- 04批量应用获批修正
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ google/ elephant-goldfish-model --skill egm-resolve安装后在 Claude Code 中输入/egm-resolve确认已加载。
附带文件test_scenarios.yamlTEST.md
详细介绍
Goldfish 审查:解决
在 Codex 或 ChatGPT Work 中运行时,请先阅读 Codex 集成。
在 Claude Code 或 Cowork 中,请先阅读 ${CLAUDE_PLUGIN_ROOT}/docs/claude.md。
概述
此技能指导 Agent 如何在 Elephant 的主要上下文窗口中工作,以解析来自并发 Goldfish 审查者的扁平缺陷报告。它会维护准确的设计决策、应用自动文本修复,并管理交互式协商检查点。
前提条件与上下文策略
- 上下文建议(Elephant Memory):此技能应在生成目标文档的持久对话会话(Elephant)中运行,以便回顾早期推理并制定更高质量的修复方案。
输入
调用方或编排驱动程序会提供以下参数,且仅限这些参数:
TargetFile:目标文档的绝对或相对路径。LineRange:准确的行号(或full file)。FindingsList:Goldfish 审查者汇总的扁平发现列表。
执行工作流
步骤 1:验证输入并收集上下文
-
混合执行体验:检测是否提供了执行参数:
- 自动模式:如果已提供所有参数,则以子进程方式静默执行。
- 独立人工模式:如果省略了参数,则启动友好的引导流程。每次提示用户提供一项输入,并在每轮后等待用户回复。指定所有输入后,显示最终设置并确认用户是否准备继续。
-
读取
TargetFile中LineRange指定的内容,并解析FindingsList。
步骤 2:评估并分类
针对列表中的每条发现,确定:
- 提出异议(CONTEST):批评不准确,或基于对代码库的误解。提供确切的代码或设计文档作为证据,说明为何应保留当前文本。
- 建议修复(PROPOSE FIX):批评有效。明确提出文本替换或结构格式调整方案,以弥补不足。
步骤 3:报告修复方案
编写最终报告,并使用文件写入工具将其保存为工作目录中的 goldfish_review_report.md(如果运行环境有专用产物目录,则保存到该目录)。
使用以下布局:
# Goldfish Annotated Review Report
**Target:** `[TargetFile]` (`[LineRange]`)
## Prioritized Findings & AI Suggestions
{{range findings, ordered by Severity}}
### [Issue 1] [`[ReviewerPersona]`] - Severity: [High | Medium | Low]
* **Affected Scope:** [Lines Start-End]([RelativePath]#L[Start]-L[End]) ([Sub-header])
* **Discrepancy Description:** [copied from FindingsList]
* **Rationale:** [copied from FindingsList]
* ***AI Suggestion:*** [CONTEST | PROPOSE FIX]
* ***Justification:*** [Detailed reason]
* ***Proposed Edit:***
* Location: [Line/Header]
* Change: [Precise replacement string or deletion note]
{{end}}
步骤 4:交互式处理确认
继续之前,向用户发送一条可见的聊天消息:*"我已将审核发现汇总到 goldfish_review_report.md。请在其中查看这些发现,并选择接下来的处理方式:
- 直接在文件中评论:在聊天中或文件里查看
goldfish_review_report.md,并留下评论或编辑,以批准、拒绝或质疑具体条目。 - 自动接受:回复“auto accept”,批量应用所有建议的修复(跳过有争议的条目)。
- 继续下一阶段:回复“continue”或“no changes”,不应用修复并继续。
- 交互式逐项说明:回复“interactive breakdown”,在聊天中逐项查看,并在做出决定前详细了解每项建议的编辑或有争议的发现。
- 自定义指示/其他请求:回复任何自定义指示、问题或额外请求。"*
在本轮载荷中,你必须立即停止主动执行,并且不调用任何工具。你必须停止执行并进入空闲状态,等待人类开发者评论或编辑该产物,或在聊天中回复。
按以下方式解读用户的操作/回复:
-
“Auto accept”/“Accept all suggestions”/用户未提出异议而点击“Proceed”:使用文件编辑工具,在一次批处理中将 AI 建议为
PROPOSE FIX的所有修复直接应用到TargetFile的LineRange。明确跳过归类为CONTEST的条目。然后继续步骤 5。 -
“Continue to next phase”/“No changes”:不应用任何自动修复。然后继续步骤 5。
-
“Interactive breakdown”:对所有发现条目(包括
PROPOSE FIX和CONTEST)依次进行逐项说明:-
对每个条目
i,发送一条可见的聊天消息,以丰富的 Markdown 格式展示完整的发现详情和说明:### 逐项说明 [i]:[Issue Title] [`[ReviewerPersona]`] * **范围:** [Lines Start-End]([RelativePath]#L[Start]-L[End]) ([Sub-header]) * **描述:** [Description] * **AI 建议:** [CONTEST | PROPOSE FIX] * **解释与依据:** [Detailed reason and background explaining why the fix is proposed or why the finding is contested] * **建议的编辑:** [Precise replacement text or deletion note]然后在聊天中询问用户对此条目的决定(不调用任何工具,并进入空闲状态):
- 如果是
PROPOSE FIX:请用户回复 Accept proposed fix、Skip / ignore 或 Discuss。 - 如果是
CONTEST:请用户回复 Skip / agree with contest、Overrule contest (propose fix) 或 Discuss。
- 如果是
-
将用户的决定记录在内部记忆清单中(例如:条目 1:已接受、条目 2:已忽略、条目 3:已推翻异议)。在此逐项处理过程中,不要调用任何文件编辑工具。
-
所有条目均已决定后,汇总已接受的编辑,使用文件编辑工具执行这些编辑,然后继续步骤 5。
-
-
自定义指示/额外编辑:如果用户提供了针对性的指示,则应用这些指示并继续。
步骤 5:处理后同步与退出
- 重新验证行号:如果修改了
TargetFile,请验证文件结构完整且 Markdown 有效。 - 将报告标记为已解决(在顶部添加一行
Status: resolved)。 - 交接:干净地退出并返回调用方(例如
egm-review-loop),并提供已接受的修复数量、有争议的条目数量,以及尚未处理的问题数量。