<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Oliver Newth</title>
    <description>The latest articles on DEV Community by Oliver Newth (@olivernewth).</description>
    <link>https://dev.to/olivernewth</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1642398%2F26282c23-bbb2-4835-9edb-4b394abf88d2.jpeg</url>
      <title>DEV Community: Oliver Newth</title>
      <link>https://dev.to/olivernewth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/olivernewth"/>
    <language>en</language>
    <item>
      <title>Elephant-Goldfish Model: from idea to code with AI agents</title>
      <dc:creator>Oliver Newth</dc:creator>
      <pubDate>Tue, 27 Oct 2026 04:06:36 +0000</pubDate>
      <link>https://dev.to/olivernewth/elephant-goldfish-model-from-idea-to-code-with-ai-agents-105h</link>
      <guid>https://dev.to/olivernewth/elephant-goldfish-model-from-idea-to-code-with-ai-agents-105h</guid>
      <description>&lt;p&gt;A long conversation with a coding agent can make a plan feel settled. The agent knows what you meant. A fresh reviewer still has to understand what you actually wrote.&lt;/p&gt;

&lt;p&gt;That’s the idea behind &lt;a href="https://egm.dev" rel="noopener noreferrer"&gt;Elephant-Goldfish Model&lt;/a&gt;, an open-source workflow I’ve been working on with a small group at Google. Thousands of Googlers already use it.&lt;/p&gt;

&lt;p&gt;It covers the work around implementation: exploring an idea, writing a design, challenging the plan, resolving findings, and checking whether the code still follows it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fss09cd2oazdqgl6w515z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fss09cd2oazdqgl6w515z.png" alt="The Elephant keeps project context. Goldfish reviewers start fresh." width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with a feature, not a document
&lt;/h2&gt;

&lt;p&gt;Suppose you want to add CSV exports to an app.&lt;/p&gt;

&lt;p&gt;“Export the current results” sounds straightforward. But which results? The ones visible when you clicked the button, or the ones available when the export job runs? What happens if your permissions change while it’s running? How large can an export get?&lt;/p&gt;

&lt;p&gt;These are example questions, not results from an EGM benchmark. They’re the sort of decisions you want to make explicit before implementation.&lt;/p&gt;

&lt;p&gt;You can begin with a plain-language idea:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/egm:egm-brainstorm

I want to add CSV exports to this app.
Help me work through the behavior and constraints before we implement it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install it
&lt;/h2&gt;

&lt;p&gt;For Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude plugin marketplace add google/elephant-goldfish-model
claude plugin &lt;span class="nb"&gt;install &lt;/span&gt;egm@egm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It also works with Codex and Antigravity. The &lt;a href="https://egm.dev" rel="noopener noreferrer"&gt;setup guides&lt;/a&gt; cover each tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Work through the plan
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Brainstorm.&lt;/strong&gt; Run the prompt above to explore the feature and its constraints. You don’t need an existing spec.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Draft.&lt;/strong&gt; Use &lt;code&gt;/egm:egm-draft&lt;/code&gt; to turn the discussion into a design. Check the behavior and tradeoffs before moving on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review.&lt;/strong&gt; Once you have a document, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/egm:egm-review docs/designs/csv-export.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Elephant agent keeps your project context. The Goldfish reviewers get the design and relevant code without the conversation that produced them. They have to work from what’s on the page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resolve.&lt;/strong&gt; Read the findings and use &lt;code&gt;/egm:egm-resolve&lt;/code&gt; to work through them. A reviewer may flag a real gap, misunderstand a decision, or simply be wrong. You choose what needs changing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check for drift.&lt;/strong&gt; As you implement, &lt;code&gt;/egm:egm-drift-report&lt;/code&gt; checks for differences between the design and code. Sometimes the code needs fixing. Sometimes the design needs updating.&lt;/p&gt;

&lt;h2&gt;
  
  
  When I’d use it
&lt;/h2&gt;

&lt;p&gt;I’d try it on a feature with a few meaningful decisions to make: background jobs, permissions, data changes, or a new service boundary.&lt;/p&gt;

&lt;p&gt;The reviews take extra time and model usage. A small, obvious change may not need the whole process. A detailed report also isn’t proof that a design is correct. You still need to check the findings and test the implementation.&lt;/p&gt;

&lt;p&gt;The plugin is Apache-2.0 licensed. Your usual coding-agent usage costs apply.&lt;/p&gt;

&lt;p&gt;Try it on a feature you’re planning and let me know what the reviewers catch or miss in the comments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/google/elephant-goldfish-model" rel="noopener noreferrer"&gt;Source on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Built at Google, not officially supported by Google.)&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>opensource</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
