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 Review: Resolve
Codex または ChatGPT Work で実行する場合は、まずCodex integrationをお読みください。
Claude Code または Cowork では、最初に${CLAUDE_PLUGIN_ROOT}/docs/claude.mdをお読みください。
概要
このスキルは、メインの Elephant コンテキストウィンドウ内でエージェントがどのように動作し、並行している Goldfish レビュアーからのフラットな不備レポートを解析するかを指示します。正確な設計判断を守り、テキストの自動修正を適用し、対話型の合意形成チェックポイントを管理します。
前提条件とコンテキスト戦略
- コンテキストに関する推奨事項(Elephant Memory): このスキルは、対象ドキュメントを生成した永続的な会話セッション(Elephant)で実行してください。以前の推論を思い出し、より質の高い修正を作成できます。
入力
呼び出し元またはオーケストレーションドライバーは、次のパラメーターを正確に指定します。
TargetFile: 対象ドキュメントへの絶対パスまたは相対パス。LineRange: 正確な行番号(またはfull file)。FindingsList: Goldfish レビュアーから集約されたフラットな指摘一覧。
実行ワークフロー
ステップ 1:入力の検証とコンテキストの収集
-
ハイブリッド実行 UX: 実行引数が指定されているかどうかを確認します。
- 自動モード: すべてのパラメーターが指定されている場合は、サブプロセスとして無言で実行します。
- 人間による単独実行モード: パラメーターが省略されている場合は、親しみやすいオンボーディングフローを開始します。入力は一度に 1 つずつ求め、各ターンの後にユーザーの応答を待ちます。すべての入力が指定されたら、最終設定を表示し、ユーザーが続行する準備ができていることを確認します。
-
TargetFileをLineRangeの範囲で読み取り、FindingsListを解析します。
ステップ 2:評価と分類
一覧の各指摘について、次のいずれかを判断します。
- 異議を唱える: 批判が不正確であるか、コードベースの誤解に基づいています。現在の記述を擁護するため、コードまたは設計ドキュメントの正確な根拠を示します。
- 修正を提案: 批判が妥当です。問題を解消するための正確なテキスト置換または構造上の書式調整を定義します。
ステップ 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] * **説明と根拠:** 修正を提案する理由、または指摘に異議を申し立てる理由と背景を詳しく説明します * **提案する編集:** 正確な置換テキストまたは削除内容の説明その後、この項目への判断をユーザーに求め(ツールを一切呼び出さず、待機状態になります)、次のように案内します。
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など)に正常に戻ります。