You ask an AI coding agent for a feature. Twenty minutes later it hands you something that runs, looks tidy and still misses half of what you meant. The gap is rarely the code. It is the plan nobody wrote down. Google has now released a free, open-source plugin built around that gap: the Elephant-Goldfish Model, or EGM.
What is the Elephant-Goldfish Model?
EGM is a way of working with AI agents in which design comes before code and humans approve each stage. Google announced the plugin on its Open Source Blog on 22 October 2026. The authors, among them Dave Rensin, write on behalf of the EGM team and sum up the idea in one line: “Design is the new code.” The plugin was first built for Google’s own engineers and is now published on GitHub under the Apache 2.0 licence, which allows free use and modification.

How do the elephant and the goldfish split the work?
The elephant is a long-running AI session that holds the project’s memory: the architecture, the intent and the small decisions made along the way. According to Google, no code is written in this session. Its job is the design document, a written specification of what will be built and why.
The goldfish are the opposite. They are fresh sessions with zero context. They do not see the earlier conversation; they get the document and check it for gaps, contradictions and unclear points. The logic is simple. Whoever wrote a plan fills its holes from memory without noticing. A reader without that memory trips over them.
The human stays in charge of trade-offs. The README says the user decides and approves the specification before implementation starts. Google calls this a shift from micromanager to executive reviewer.
Which commands does the plugin provide?
The README lists seven skills. Brainstorm tests an idea and produces a short concept brief. Draft turns that brief or loose notes into a design document. Review sends fresh agents through the design in five stages. Resolve works through the findings and records which changes are agreed. Review-loop runs a configured group of reviewers for a specific task. Bootstrap creates or updates documentation for an existing codebase, and drift-report compares the checked-in documents with the current source code, so you can see where the two have drifted apart.
Which coding agents support it, and how is it installed?
The README names Claude Code, Codex CLI, the ChatGPT/Codex desktop app, Antigravity in its CLI, app and VS Code forms, Claude Cowork and ChatGPT Work. In Claude Code, installation takes two commands: one adds the google/elephant-goldfish-model marketplace, the second installs the egm plugin. Codex uses equivalent commands, and Antigravity installs it from the GitHub address. After installing, you start a new session.
Where are the limits?
The project is candid about them. Goldfish reviews need fresh subagent contexts, separate helper sessions that start empty. If your agent cannot create them, EGM stops the review rather than faking one. A review, the README says, does not replace tests or human judgement. The built-in draft and review workflow targets software specifications. And the repository states plainly that this is not an officially supported Google product.
How widely is it used inside Google?
Google’s announcement says thousands of Googlers use the plugin every day to ship production code. That is the only adoption figure. There is no exact headcount, no list of teams and no published measurement of quality or time saved.
Editor’s assessment
Fact first: Google ships a documented workflow, seven commands and clear warnings. Inference second: the strongest part is not the number of reviewers but the forced pause, because a design document makes the expected behaviour explicit before anything is built. That is also where the cost sits. Five review stages are a lot of machinery for renaming a button, and nothing in the sources shows how much EGM improves results on real projects. My reading: try it on a change where a wrong assumption would be expensive, such as payments, permissions or a large refactor, and keep your tests as the final judge. Is that the behaviour we intended? The document should answer that before the code does.


