# Elephant Goldfish vs a plain fresh review: website test, briefs and setup

The same website task built twice in Claude Code, once with Google’s EGM plugin and once with a one-sentence fresh-review instruction, plus a homepage test in Codex. Briefs, setup, harness and results are free to download.

[HTML](https://lukejbyrne.com/library/guides/jtgauklu4ga/)
Content language: en
Author: Luke Byrne
Video published: null
Guide published: 2026-11-05

[Watch the video](https://www.youtube.com/watch?v=JtGaUkLU4gA)
Video language: English

- [Download the briefs, setup and results (ZIP)](https://lukejbyrne.com/library/downloads/egm2-website-test.zip)

## The question

Elephant Goldfish (EGM) is a free, open-source plugin from Google’s GitHub organisation that has fresh AI agents review your plan before the main agent builds it. The elephant is the main agent with your project context; the goldfish are reviewers that only see the plan. Google’s repository says it is not an officially supported Google product. If you are new to it, start with [the Elephant Goldfish setup guide](https://lukejbyrne.com/library/guides/vm3_aieah8w/).

This follow-up asks a narrower question: does EGM add anything over simply telling Claude, in one sentence, to have fresh agents review its plan? Fresh-context review is essentially what EGM does; the difference is that EGM brings its own reviewer roles, prompts and standards.

## How the comparison was set up

Two jobs on lukejbyrne.com, both on local branches away from the live site. The main comparison is the sharing job: two desktop Claude Code sessions started from identical website files with the same task and the same model settings (Opus 5.5, Medium effort, Auto permission mode, Fast mode off). One had the EGM plugin and ran its review loop once with a comprehension reviewer and an implementation-readiness reviewer. The other got the task plus one sentence:

“Before implementing, have two separate fresh-context agents review your plan, amend it using their feedback, then build it.”

Both used two actual reviewers for one pass, amended their plans, then built. The checks were written before either build and neither build was repaired using our results. The homepage job is an earlier Codex comparison: EGM against an agent working normally, without any review instruction.

## The sharing brief

Both Claude sessions received this prompt (the plain run had the review sentence added at the end):

“Read EXPERIMENT_BRIEF.md and portfolio-site/PRODUCT.md. You are one isolated coding run. Work only inside this checkout and do not inspect sibling experiment folders, external chats or prior outcomes. Update the existing lukejbyrne.com library so a visitor can share a filtered collection of guides. A visitor should be able to search, choose a topic and video format, use a share-link control, and send a URL that opens the same selected collection for somebody else. This should work with the existing English/French/Spanish language selector and normal browser navigation. Preserve current guide content, resource URLs and attribution parameters, and fit the existing design. Handle empty results and a failed clipboard action sensibly. Keep this a small static/client-side change; no new packages or backend. Do not deploy, contact external services or change the live site. Implement and run appropriate local checks. Build with npm run build:library from portfolio-site; existing checks: node scripts/check-library.cjs and node --test scripts/tests/library-analytics.test.mjs. Finish with a concise change/test summary. Do not commit or publish.”

In practice: search for Tripo, choose a topic and a video format, and send the link; whoever opens it should get the same collection, in the same language, with a manual copy option if the clipboard fails. The homepage brief and both acceptance-check lists are in the download.

## Job 1 result: both passed, one late response differed

Both Claude versions got sharing working and passed all 11 independent checks: opening a link restored the collection, the language switch kept the selection, and Back and Forward worked. The plain sentence really did produce two reviewers and an amended plan, so this was not a comparison against an agent that skipped review.

EGM’s implementation-readiness reviewer flagged a copy request that hasn’t finished yet. We tested that sequence on both finished builds: start copying the Tripo link, change the search to Codex, then make the old copy request fail. The plain-review build showed the manual copy field with the Tripo URL under the Codex results; the EGM build ignored the old response. We delayed and failed the request deliberately to reproduce it; we did not measure how often it happens in a real browser.

## The safeguard the plain review removed

The plain version’s first plan already had a guard against that late response. One of its reviewers suggested cutting it, because changing the filters already cleared the feedback and the timing window was small, and the main agent accepted. Clearing the message doesn’t stop an unfinished request putting it back afterwards. On the EGM side, the revised plan added a check before showing feedback. Both reviewers’ reports and both plans, before and after review, are in the download.

## Job 2: the homepage

The homepage task came from the earlier Codex comparison, so it compares EGM with an agent working normally, not with the one-sentence review. Both agents had to help a new visitor understand the site and find a useful next step, using the existing branding and real content in all three languages.

The normal build leads with “AI tools. Practical guides.” and puts a wide featured guide underneath. The EGM build leads with “Find an AI tool. See how to start.” and puts the explanation beside the featured guide. EGM’s plan had already chosen its headline and layout before the reviewers saw it, so a preference for its design isn’t credited to the reviewers. What they did catch was a contradiction: the plan said to keep the existing page descriptions, but the site reuses the intro text for search and link-preview descriptions. The EGM agent decided to keep the old descriptions; the normal build let them follow the new copy. Either could be reasonable.

Both homepages passed all 10 content and link checks plus the library, translation and analytics checks, and both were rendered at desktop, tablet and phone sizes in English, Spanish and French. Luke prefers B, the EGM version, of the two, but neither beats the current live homepage, which Codex made without any reviewers.

## Rerun the comparison

Download the ZIP for the briefs, the review sentence, the acceptance checks, both runs’ plans and reviewer reports, the jsdom test harness and the results. The harness was written for this site’s library code, so adapt its selectors and paths to your own project.

1. Install EGM in Claude Code: claude plugin marketplace add google/elephant-goldfish-model then claude plugin install egm@egm, and start a new session. In the desktop app, add the google/elephant-goldfish-model marketplace and install Elephant-Goldfish Model under Customize > Plugins.
2. Make two copies of your project on separate local branches, away from the live site, and keep the sessions from seeing each other’s folders.
3. In the EGM session, paste your task and run /egm:egm-review-loop on the plan for one pass, then amend and build.
4. In the plain session, paste the same task with the review sentence at the end and tell it not to use EGM.
5. Write your checks before either build finishes, then run the same checks on both, including a deliberately delayed failure if your feature has asynchronous steps.

## What EGM adds

One sentence was enough to get a fresh review and an amended plan. What EGM adds is reviewer roles and standards, so you are not rolling the dice each time you ask an agent to “review my plan”. In this run, those roles kept a safeguard that the simpler approach removed. Luke’s view after one test each: it’s a little better and worth trying over a plain fresh-review prompt, not proof that it always does better.

## The takeaway

A one-sentence fresh-review prompt gets you real reviewers; EGM’s reviewer roles caught a late-response bug that the plain review talked itself out of. One paired run each, so treat it as a reason to try EGM, not a verdict.

## Workflow resources

- [github.com](https://github.com/google/elephant-goldfish-model)
- [egm.dev](https://egm.dev/)

## Chapters

- [0:00 Plugin vs a one-line review](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=0s)
- [0:16 What Elephant Goldfish does](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=16s)
- [0:50 Two jobs on my website](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=50s)
- [1:27 Same setup: EGM vs one sentence](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=87s)
- [1:59 Job 1: sharing a collection](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=119s)
- [2:27 Both passed 11 checks](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=147s)
- [2:48 The late copy request](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=168s)
- [3:28 The safeguard a reviewer removed](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=208s)
- [4:18 Job 2: the homepage](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=258s)
- [5:53 What the reviewers caught](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=353s)
- [6:48 Tested at three screen sizes](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=408s)
- [7:10 Which homepage I prefer](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=430s)
- [7:34 What EGM adds](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=454s)
- [8:17 Briefs, setup and my verdict](https://www.youtube.com/watch?v=JtGaUkLU4gA&t=497s)

## Sources and limitations

Prepared 4 November 2026 from the recorded EGM #2 narration and the saved 1–2 November test evidence (protocols, plans, reviewer reports, harness and results). One paired run per task: not equal-token, cost-matched or repeated. The delayed clipboard failure was reproduced deterministically in jsdom; real-browser frequency was not measured. The homepage comparison is Codex EGM against a normal agent, not against the one-sentence review. Google’s repository says EGM is not an officially supported Google product.

[Original video](https://www.youtube.com/watch?v=JtGaUkLU4gA)
