Design with an elephant. Review with a goldfish.
Install · Quickstart · Documentation · Website
Thousands of Google engineers use EGM, an open-source plugin, to draft specs with deep-context agents and stress-test them with zero-context subagents before writing code.
Elephant holds your project context and drafts the specification. Goldfish reviewers examine the draft and referenced source material without the earlier conversation, helping expose unstated assumptions and blind spots. You make the architectural trade-offs and approve the specification before implementing.
Use it when a feature needs design decisions before implementation. For a small, clear bug fix, use your normal coding workflow.
Install
Choose your coding agent. Install the complete plugin so its skills can read the reviewer prompts and document standards.
Antigravity
agy plugin install https://github.com/google/elephant-goldfish-model
Claude Code
claude plugin marketplace add google/elephant-goldfish-model
claude plugin install egm@egm
Codex
codex plugin marketplace add google/elephant-goldfish-model
codex plugin add egm@egm
Start a new session after installation. For Claude Cowork and ChatGPT Work, see the setup guide.
Try your first design
Open your project in your coding agent and choose a feature that needs design decisions. This example adds webhook delivery: what should happen when a delivery fails, or the same event arrives twice?
Use the commands below in Antigravity. In Claude Code, use the /egm: prefix, for example /egm:egm-brainstorm. In Codex, select the corresponding EGM skill from the skill picker. Brainstorming and review require a session that can create fresh subagents.
Explore the idea
/egm-brainstorm Add webhook delivery to this project.
Discuss requirements and trade-offs with the agent. Fresh reviewers challenge the proposal, and the agent saves the agreed direction in concepts_brief.md.
Draft the specification
/egm-draft
The agent turns the brief into design_draft.md, pausing after each section for your feedback in chat.
Review the draft
/egm-review design_draft.md
Use the draft path returned by the agent.
Fresh reviewers check the design, its clarity, its fit with the code, and its implementation plan. Choose which findings to address. When you approve the design, ask your coding agent to implement it.
See the workflow guide for the full process, including saving approved specifications under docs/designs/.
How it works
| Role | Context | Responsibility |
|---|---|---|
| Elephant | Your project, requirements, and earlier decisions | Explore the problem and draft the specification. |
| Goldfish | The document and its referenced source material, without the earlier conversation | Find missing assumptions, unclear requirements, and implementation risks. |
| You | The goals and constraints that matter | Resolve trade-offs, approve the design, and decide what to build. |
Goldfish reviews require fresh subagent contexts. If your agent cannot create them, EGM stops the review. A review does not replace tests or human judgment. See supported environments and verification limits.
Choose a skill
You can use each skill when you need it. You do not have to follow the full sequence.
| Skill | Use it to… |
|---|---|
| Test an idea and write a concept brief. | |
| Turn a brief or existing notes into a design document. | |
| Work through review findings and agree on changes. | |
| Create or update documentation for an existing codebase. | |
| Review a design with fresh agents across five stages. | |
| Run a configured group of reviewers for a specific review task. | |
| Compare checked-in documents with the current source code. |
Learn more
- Getting started: the workflow and project layout.
- Setup: installation, agent capabilities, and known limits.
- Architecture: how skills and reviewers fit together.
- Testing: checks, execution records, and verification limits.
- Dave Rensin’s original essay: the ideas behind EGM.
Contribute
Read contributing for PRs, issues for bugs, and discussions for questions.
License
Apache 2.0. This is not an officially supported Google product.