← Elephant-Goldfish ModelCONTENT HISTORY

Update to Elephant-Goldfish Model

Snapshot Nov 5, 2026 · 01:21 UTC · version 0.1.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Elephant-Goldfish Model and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Work through review findings and agree on changes.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 193
    },
    {
      "relative_path": "assets/icon.svg",
      "size_in_bytes": 506
    }
  ],
  "name": "egm-resolve",
  "skill_md_contents": "---\nname: egm-resolve\nlicense: Apache-2.0\ndisable-model-invocation: true\ndescription: Work through review findings and agree on changes.\n---\n\n# Goldfish Review: Resolve\n\nWhen running in Codex or ChatGPT Work, first read [Codex integration](../../docs/codex.md).\nIn Claude Code or Cowork, read `${CLAUDE_PLUGIN_ROOT}/docs/claude.md` first.\n\n## Overview\n\nThis skill instructs the agent on how to operate within the primary Elephant\ncontext window to parse flat deficiency reports from concurrent Goldfish\nreviewers. It defends accurate design choices, applies automated textual\nrepairs, and manages interactive negotiation checkpoints.\n\n## Prerequisites & Context Strategy\n\n*   **Context Recommendation (Elephant Memory)**: This skill should be run in\n    the persistent conversation session that generated the target document (the\n    Elephant) to recall earlier reasoning and craft higher-quality fixes.\n\n## Inputs\n\nThe caller or orchestration driver provides exactly these parameters:\n\n*   **`TargetFile`**: Absolute or relative path to target document.\n*   **`LineRange`**: Exact line numbers (or `full file`).\n*   **`FindingsList`**: Aggregated flat list of findings from Goldfish\n    reviewers.\n\n## Execution Workflow\n\n### Step 1: Intake Validation & Gather Context\n\n1.  **Hybrid Execution UX**: Detect if execution arguments are present:\n\n    *   *Automated Mode*: If all parameters are provided, execute silently as a\n        subprocess.\n    *   *Standalone Human Mode*: If parameters are omitted, trigger a friendly\n        onboarding flow. Prompt for one piece of input at a time, waiting for\n        the user's response after each turn. Once all inputs are specified,\n        display the final setup and verify the user is ready to continue.\n\n2.  Read `TargetFile` at `LineRange` by reading it and parse the `FindingsList`.\n\n### Step 2: Evaluate & Categorize\n\nGive each finding exactly one category:\n\n*   **CONTEST**: The critique is inaccurate or relies on a misunderstanding of\n    the codebase. Cite evidence that the reviewer could read: a file and\n    symbol, or a decision recorded in the document.\n*   **ESCALATE**: The critique is inaccurate, but the evidence is outside every\n    file the reviewer could read (for example, a team convention or a verbal\n    decision). State that fact. Do not fix the finding. Give it to the user.\n*   **PROPOSE FIX**: The critique is valid. Define precise textual replacements\n    or structural formatting adjustments to resolve the gap.\n*   **DECLINE**: The finding is a Nit. Record it. Do not fix it. You can use\n    PROPOSE FIX for a Nit if the fix is worth it.\n\nApply these rules:\n\n*   **A contest must be checkable.** \"This was intentional\" is not evidence.\n    If you cannot cite evidence the reviewer could read, use ESCALATE or\n    PROPOSE FIX.\n*   **Do not add context only to satisfy a reviewer.** Add context when a human\n    reader of the document needs it. If only a zero-context subagent needs it,\n    use ESCALATE.\n*   **Do not contest a comprehension gap.** If a fresh reader could not follow\n    the document, the document is missing context.\n*   **Do not change a severity.** If you think a Blocker is a Nit, CONTEST it\n    and state the reason.\n*   You wrote the document under review. A wish to contest is not evidence\n    that the reviewer is wrong.\n\n### Step 3: Report Fixes\n\nConstruct the final report and save it named\n`goldfish_review_report.md` in the working directory (or your harness's artifact directory, if it has one)\nusing your file-writing tool. Use this layout:\n\n```markdown\n# Goldfish Annotated Review Report\n\n**Target:** `[TargetFile]` (`[LineRange]`)\n\n## Prioritized Findings & AI Suggestions\n\n{{range findings, ordered by Severity}}\n### [Issue 1] [`[ReviewerPersona]`] - Severity: [Blocker | Major | Nit]\n*   **Affected Scope:** [Lines Start-End]([RelativePath]#L[Start]-L[End]) ([Sub-header])\n*   **Discrepancy Description:** [copied from FindingsList]\n*   **Rationale:** [copied from FindingsList]\n*   ***AI Suggestion:*** [CONTEST | ESCALATE | PROPOSE FIX | DECLINE]\n*   ***Justification:*** [Detailed reason]\n*   ***Proposed Edit:***\n    *   Location: [Line/Header]\n    *   Change: [Precise replacement string or deletion note]\n{{end}}\n```\n\n### Step 4: Interactive Resolution Gate\n\nIf any finding is `ESCALATE`, list those findings first in the chat message.\nThey need the user's knowledge, not only approval.\n\nBefore proceeding, output a visible chat message to the user: *\"I have compiled\nthe audit findings into `goldfish_review_report.md`. Please review the findings there and choose how you would like to\nproceed:\n\n-   **Comment directly on the file**: Review `goldfish_review_report.md` in\n    chat or the file and leave comments/edits to approve, reject, or contest\n    specific items.\n-   **Auto accept**: Reply \"auto accept\" to batch-apply all proposed fixes\n    (skipping contested items).\n-   **Continue to next phase**: Reply \"continue\" or \"no changes\" to proceed\n    without applying fixes.\n-   **Interactive breakdown**: Reply \"interactive breakdown\" for a guided,\n    item-by-item walkthrough in chat with detailed explanations for each\n    proposed edit or contested finding before making decisions.\n-   **Custom instruction / Wildcard request**: Reply with any custom\n    instruction, question, or out-of-band request.\"*\n\nYou **MUST** immediately yield active execution by calling **zero tools** in\nthis turn payload. You must stop execution and go idle, waiting for the human\ndeveloper to comment on/edit the artifact or reply in the chat.\n\nInterpret the user's action/response as follows:\n\n-   **\"Auto accept\" / \"Accept all suggestions\" / User clicks \"Proceed\" without\n    contesting**: Apply all fixes where the AI suggestion was `PROPOSE FIX`\n    directly to `TargetFile` at `LineRange` in a single batch using\n    your file-editing tool. Any items categorized as `CONTEST`, `ESCALATE`, or\n    `DECLINE` are explicitly bypassed. Then proceed to Step 5.\n-   **\"Continue to next phase\" / \"No changes\"**: Do not apply any automated\n    fixes. Then proceed to Step 5.\n-   **\"Interactive breakdown\"**: Enter a sequential breakdown loop over ALL\n    finding items (all categories except `DECLINE`):\n\n    1.  For each item `i`, output a visible chat message formatting the full\n        finding details and explanation in rich markdown:\n\n        ```markdown\n        ### Breakdown Item [i]: [Issue Title] [`[ReviewerPersona]`]\n        * **Scope:** [Lines Start-End]([RelativePath]#L[Start]-L[End]) ([Sub-header])\n        * **Description:** [Description]\n        * **AI Suggestion:** [CONTEST | ESCALATE | PROPOSE FIX]\n        * **Explanation & Justification:** [Detailed reason and background explaining why the fix is proposed or why the finding is contested]\n        * **Proposed Edit:** [Precise replacement text or deletion note]\n        ```\n\n        Then prompt the user in chat for their decision on this item (calling\n        **zero tools** and going idle):\n\n        *   If `PROPOSE FIX`: Ask the user to reply with **Accept proposed\n            fix**, **Skip / ignore**, or **Discuss**.\n        *   If `CONTEST`: Ask the user to reply with **Skip / agree with\n            contest**, **Overrule contest (propose fix)**, or **Discuss**.\n        *   If `ESCALATE`: Ask the user to reply with **Confirm (no change)**,\n            **Add the fact to the document**, or **Discuss**.\n\n    2.  Record the user's decisions in an internal memory checklist (e.g., *Item\n        1: Accepted*, *Item 2: Ignored*, *Item 3: Overruled*). **Do NOT call any\n        file editing tools during this sequential loop.**\n\n    3.  Once all items have been decided, summarize the accepted edits, execute\n        them using your file-editing tool, and proceed to Step 5.\n\n-   **Custom instruction / Out-of-band edit**: If the user provides targeted\n    instructions, apply them and proceed.\n\n### Step 5: Post-Resolution Synchronization & Exit\n\n1.  **Re-verify Lines**: If changes were made to `TargetFile`, verify that the\n    file remains structurally coherent and valid markdown.\n2.  Mark the report as resolved (add a `Status: resolved` line at the top).\n3.  **Handoff**: Exit cleanly back to the caller (such as `egm-review-loop`)\n    with the count of accepted fixes, contested items, escalated items,\n    declined items, and remaining unaddressed issues.\n"
}

SHA-256 of public snapshot: 351a3f10478cfcc9884284759c55f49fa9f8b7119f124fd8c307ed99f28e7a4d