Google open-sourced the Elephant-Goldfish Model (EGM) this week, and by Sunday evening the repo sat at over 14,600 stars, up more than 6,000 in seven days (I pulled that count from the GitHub API tonight). It is a plugin for AI coding agents that makes the agent write and defend a specification before it writes code. MarkTechPost covered the release today, and the pitch compresses to one line: catch wrong assumptions in a Markdown file, not in a pull request.
It is not a model. It is an Apache 2.0 pack of 7 skills, 9 reviewer personas and document standards, running on your existing agent and your existing quota. The README keeps the expectations honest: this is not an officially supported Google product, and Google says thousands of its engineers use it internally. The method comes from Dave Rensin's essay about elephants and goldfish.
The two roles, and you
EGM splits the work into three parties:
- Elephant: a long session holding your project context and earlier decisions. It explores the problem and drafts the spec. It writes no code.
- Goldfish: stateless subagents. Each one sees only the document and the files it references, never the conversation that produced it. They hunt missing assumptions, unclear requirements and implementation risks.
- You: resolve the trade-offs, approve the design, decide what gets built.
The fresh-context part is the whole trick. A reviewer that watched the design discussion happen will rationalize it, because the reasoning is already in its context. A reviewer that only reads the document has to understand it cold. If the document cannot survive that, the document was the problem all along.
The install is two commands
On Claude Code, which needs version 2.1.271 or later:
claude plugin marketplace add google/elephant-goldfish-model claude plugin install egm@egm Start a new session after installing. Codex CLI takes the same shape with codex plugin marketplace add and codex plugin add egm@egm. Antigravity has agy plugin install, and ChatGPT desktop has a published plugin listing, desktop only.
The workflow then runs through slash commands, and you can use each skill on its own without the full sequence:
/egm-brainstorm Add webhook delivery to this project. /egm-draft /egm-review design_draft.md Brainstorm runs six lenses over the idea (YAGNI, token cost, UX, migration, observability, tech debt) and saves concepts_brief.md. Draft turns the brief into design_draft.md, pausing after each section for your feedback. Review is where the goldfish come in. Approved specs get saved under docs/designs/.
What the 5 review stages actually do
Per the review skill, as summarized in MarkTechPost's breakdown:
- Initial zoom out: read the full document at altitude. Does the design hang together before anyone checks details?
- Comprehension test: a goldfish paraphrases the design back. If the paraphrase comes back wrong, the document is ambiguous and goes back to drafting.
- Critic review: design, structural and style reviewers hunt edge cases, hidden dependencies and logical gaps. The elephant then accepts or contests each finding.
- Intermediate zoom out: recheck the architecture after the fixes, focusing on what changed.
- Implementation readiness: a go or no-go check on whether file paths, data structures and function signatures are present and unambiguous.
Findings get ranked Blocker, Major or Nit, and each stage allows at most one re-audit. The README also states a hard rule I respect: if your agent cannot create fresh subagents, EGM stops the review instead of falling back. A same-context review is exactly what this tool exists to prevent.
What the recorded harness runs show
The repo publishes its test records in TESTING.md, which is more honesty than most agent tooling ships with:
- Antigravity CLI 1.4.5 ran 16 native fresh-context reviewers, stages in order.
- Codex 0.163.0 ran 15 reviewers and finished 2 live tests in 573.13 seconds.
- The Claude Code run needed a focused rerun after an initial stage-order failure.
- A Claude Cowork run completed only stages 5 to 7 before it died on a usage limit.
Read that last bullet twice before installing anything. One review pass is 15 or more subagent runs. On a metered or capped plan, that is the part that bites first.
Three catches I'd check before adopting
Token cost is structural, not incidental. The method works by spawning many small reviewers. If your plan has a session cap, a review can die mid-way through, which the harness record itself demonstrates. Budget for it the way you budget for a slow test suite.
Reviewer isolation is per host, not guaranteed. Issue #237 reports host instruction files like AGENTS.md leaking into Codex CLI and Antigravity reviewers. Claude Code is the tightest documented setup: reviewers get only Read, Grep and Glob, and CLAUDE.md files are excluded from their context. If your goldfish can read your repo instructions, it inherits your assumptions, and the entire mechanism dies quietly. Verify isolation on your exact harness before trusting findings.
There is no accuracy benchmark. The evidence is adoption and end-to-end harness runs, not measured defect reduction. That does not make the tool useless. It makes any claim of percentage-point improvement unsupported. Treat it as a discipline that forces clarity, not a guarantee of quality.
Where this fits if you maintain agent configs
Two parts of EGM matter beyond the review itself. egm-bootstrap creates or updates documentation for an existing codebase, and egm-drift-report compares checked-in documents against the current source. That second one is a pattern worth stealing even if you never run a review: docs and rules files drift from reality the moment nobody diffs them.
It also widens your config surface. Which reviewer personas run, which document standards apply, which files are excluded from reviewer context: those are now versioned decisions in your repo. That is the same argument as the one about generated versus validated AGENTS.md rules. A generator that outputs 1,280 rules nobody reads is inventory, not review. A review pipeline whose reviewer config nobody reads is ritual. Pin it, version it, and read it once.
If you want the cheap version of the cost concern first, watch how your harness bills subagents before a big review; the same mechanics that made background subagents cheaper on usage limits decide whether a 16-reviewer pass fits your afternoon.
Worth trying if
You have a feature with real design decisions (delivery retries, idempotency, migration paths) and a plan with headroom for roughly 15 subagent runs. Skip it for one-file fixes, where the review costs more than the code. The README says it itself: a review does not replace tests or human judgment. What EGM does is treat your spec to the same adversarial process we already demand for code, and it publishes its own test records while doing it, which is rarer than it should be.