Wink Pings

Google Lets a Goldfish Review Specs; Don't Rush to Install the 14.4k-Star Project

Google has open-sourced the EGM plugin, letting an elephant agent write specs with context and a goldfish agent pick holes without context, while humans make the final call. The workflow is useful, but instruction inheritance and filesystem sharing are pitfalls—don't treat review as testing.

Google Cloud Tech promoted an open-source plugin on X called Elephant-Goldfish Model, or EGM for short. Its GitHub page shows 14.4k stars and 1.1k forks, Apache 2.0, and the README states that it is not an officially supported Google product. The repository link is at the end.

In one sentence, its design is this: let the agent with a good memory draft the software specs, let the agent with a poor memory review them, and let a human make the architectural trade-offs and approve the specs before any code is written.

Elephant-Goldfish Model

Why these two animals? The Elephant holds the project context, requirements, and earlier decisions, and is responsible for clarifying the problem and writing the specs. The Goldfish gets the document and the source material it cites, but not the previous conversation, and specifically looks for unstated assumptions, vague requirements, and implementation risks. You are responsible for goals, constraints, trade-offs, and approval. The README lays out the roles very plainly: the elephant drafts, the goldfish finds flaws, and the human makes the call.

Specs are not code. For non-developer users, you can think of them as the design notes written before coding: what each screen does, what happens when something fails, and how to handle the same event arriving twice. EGM's built-in workflow leans toward software specs. The example is adding webhook delivery to a project: what to do when delivery fails and what to do about duplicate events. First brainstorm and write a concept brief, then draft it into design_draft.md, then review, and finally resolve the review comments. You approve it before implementation. There are more skills than just these, including bootstrap to backfill documentation for an existing codebase, and a drift report that compares documentation with the current source code.

Installation supports Antigravity, Claude Code, Codex CLI, ChatGPT, and Codex desktop. Antigravity CLI uses agy plugin install https://github.com/google/elephant-goldfish-model. Claude Code takes two commands: claude plugin marketplace add google/elephant-goldfish-model and claude plugin install egm@egm. Codex CLI uses codex plugin marketplace add google/elephant-goldfish-model and codex plugin add egm@egm. After installation, start a new session. In Antigravity and Claude Code, command names need the /egm: prefix; in Codex, choose from the skill picker. ChatGPT and Codex desktop install from the plugin list. See the official website and GitHub repository for details.

The controversy is right here. In the replies, Anthony Russano pointed out that the Goldfish subagent may still share the underlying filesystem and may also inherit the coding tool's instruction files. Repository issue #237 documents this problem: Codex CLI 0.166.0, when fork_turns is none, still provides project- and user-level AGENTS.md to the reviewer; Antigravity has a similar situation with AGENTS.md and GEMINI.md. Claude Code's adapters explicitly use omitClaudeMd: true, and the tests recorded in the project provide narrower evidence that instructions are excluded. The parent conversation not leaking does not mean the review is independent. The reviewer may receive project assumptions that the author wanted it to challenge independently. For a workflow built around independent review, this is the key limitation.

This limitation deserves extra emphasis. Many teams assume that isolating the chat history makes a review independent, but the project's default consensus is still there. The goldfish may be a different fish, but the water is the same tank.

Reactions from readers split several ways. Antony Fuentes said he had long been doing something similar in Cursor, called unbiased reviews: the parent agent runs several rounds of review through subagents, the subagents get unbiased context, and most of the time he gets useful feedback. Asmir put it more briefly: elephants don't forget, goldfish don't remember, and most code reviews are already done by people who weren't in the meeting. karnstack traced it back to IBM's 1976 Fagan inspection: the person reading the design is never the author, because the author's brain silently fills in all the gaps. Jimmy Young thinks the goldfish is the useful half: it cannot inherit the author's assumptions, and where it gets confused, the next reader will get confused too. Others aren't buying it. Axel asked whether this is a good workflow or just another token waste. Bryce Vanderhollen's sarcasm was more direct: they tried it, the zero-context subagent approved everything, and then they promoted it to VP.

These reactions make EGM's boundaries clear. It does not replace testing, nor does it replace human judgment. A Goldfish review requires the ability to create fresh subagent contexts; if the agent cannot do that, EGM stops the review. You have to pick through the review results, and you have to approve the specs. For developers, before installing, check whether your coding agent truly isolates AGENTS.md, GEMINI.md, and the filesystem. For non-developer users, its value lies in turning the author's in-head gap-filling into a mandatory cost in the process: write it clearly first, then have someone who hasn't heard your explanation read it once.

The README traces the idea back to an essay by Dave Rensin. The original post and repository are below. Don't rush to treat it as a silver bullet; run it on a feature you're currently designing and see what the goldfish actually flags. If it only nods, the problem may not be the fish.

Links: original Google Cloud Tech post GitHub repository official website Dave Rensin's essay

发布时间: 2026-11-08 20:28