Google has open-sourced the Elephant-Goldfish Model (EGM) plugin, a design and review layer for AI-powered coding agents. The principle involves writing a specification before any code, then submitting it to new sub-agents, with no conversation history, tasked with finding its flaws. According to Google, thousands of its engineers are already using this tool.
- Google has open-sourced Elephant-Goldfish Model, a plugin that writes specifications before code.
- A long session drafts the specification, and memory-less sub-agents search it for flaws.
- The review runs in five stages, and findings are rated Blocker, Major, or Nit.
- The plugin is not an official Google product, and no accuracy benchmarks have been published.
EGM is an Apache 2.0 licensed plugin, composed of skills, reviewer profiles, and document standards. It is not a new language model. The method is inspired by an essay by Dave Rensin on elephants and goldfish. The Google Open Source blog presents it as a response to ‘slop’, meaning low-quality AI-generated output, as well as session context collapse. The README specifies that it is not an officially supported Google product.
An Elephant and Goldfish
In this scheme, the Elephant refers to a long session that retains project context and previous decisions. It drafts the specification, without writing code. Each Goldfish is a memory-less sub-agent, which only reads the draft and the files it references. The user arbitrates trade-offs and validates the design.
The main loop includes three commands. /egm-brainstorm clarifies the idea then launches a swarm of six Goldfish, from six angles: YAGNI, token cost (units of text processed by the model), UX, migration, observability, and technical debt. The result is a concepts_brief.md file. /egm-draft transforms this document into a design, section by section, in the docs/designs/ folder. /egm-review launches the review by the Goldfish. A fourth command, /egm-drift-report, then compares the code to the specification, and the documentation recommends running it weekly.
Five Review Stages
The review is conducted in five successive stages. The first, Initial Zoom Out, examines the entire document at a high level. The second, Comprehension Test, asks a Goldfish to rephrase the design: an incorrect rephrasing signals an ambiguous document. The third, Critic Review, assigns design, structure, and style reviewers to search for gaps and edge cases. The fourth, Intermediate Zoom Out, rechecks the architecture after corrections. The fifth, Implementation Readiness, checks file paths, data structures, and signatures.
Each stage allows a maximum of one new audit. Findings are classified as Blocker, Major, or Nit. If the environment lacks a sub-agent tool, EGM stops, as a review in the same context is not considered a Goldfish review.
The initial launch was only for Antigravity, but the list has since expanded. The environment guide covers Antigravity CLI and App, Claude Code, Claude Cowork, Codex, ChatGPT, omp, and Muse. Antigravity CLI, Claude Code, and Codex pass automated end-to-end tests. Claude Code requires version 2.1.271 or later, and its reviewers only have access to Read, Grep, and Glob tools. CLAUDE.md files are excluded from their context.
The test folder provides some runtime data. Antigravity CLI 1.4.5 ran 16 native reviewers, in the order of the stages. Codex 0.163.0 ran 15, and its two real-world condition tests completed in 573.13 s. Codex CLI with ZIP version v0.1.0 passed all tests in 482.30 s. No accuracy benchmarks have been published: the available elements are adoption and these tests.
Compared to other approaches, EGM is distinguished by having the specification reviewed by context-less agents. GitHub Spec Kit, under MIT license, and Kiro Specs, a feature of a commercial environment, rely more on human review between phases. Superpowers, under MIT license, mainly isolates sub-agents at the implementation stage.
Limitations remain. A report (issue #237) indicates that the AGENTS.md file leaks into Codex reviewers. In another environment, a Claude Cowork run stopped after steps 5 to 7 due to a usage limit. The documentation also mentions high token consumption, and reviewer isolation is not verified on some environments.
