In this article, let’s explore Rubber Duck — a brand-new experimental feature in GitHub Copilot CLI that acts as an independent AI reviewer, giving your plan a second opinion before you write a single line of code.
The Problem with AI Coding Agents:
- When you ask an AI coding agent to build something, it drafts a plan and executes it — confidently. The problem? Confident mistakes made early compound into bigger problems later.
- Self-reflection helps, but a model reviewing its own work is still bounded by its own training biases — the same blind spots, the same assumptions.
- This is where Rubber Duck comes in.
What is Rubber Duck?
- Rubber Duck is a focused review agent inside GitHub Copilot CLI, powered by a model from a different AI family than your primary Copilot session.
- When you use a Claude model as your Copilot orchestrator, Rubber Duck is powered by GPT-5.4 — a completely different model family — so it catches what Claude might miss, and vice versa.
- Think of it as having a second, independent engineer glance at your plan before you commit to it. They don’t share your assumptions. They ask the uncomfortable questions. That’s exactly what Rubber Duck does.
Getting Started:
- Ensure you have GitHub Copilot installed.
- This example uses the VS Code integrated terminal with GitHub Copilot CLI.
- Open your project in VS Code and launch the integrated terminal with GitHub Copilot CLI
- Rubber Duck is available today in experimental mode in GitHub Copilot CLI.
- So run the
/experimentalslash command in the Copilot CLI prompt.
/experimental

- You will see a list of experimental Feature Flags now available. Look for
RUBBER_DUCK_AGENTin the list.

- Make sure Claude is your active model. Per the official GitHub blog, Rubber Duck is enabled for all Claude family models — Opus, Sonnet, and Haiku — used as orchestrators, and also requires access to GPT-5.4 (which acts as the Rubber Duck reviewer).
Let’s See It in Action — Expense Tracker App:
Type Your Requirement in plan Mode:
- Switch to
planmode by pressing Shift+Tab at the prompt. You will see the mode indicator change toplanat the bottom left of the terminal. - With
planmode active and Claude as your model, type your requirement directly in the terminal prompt.
> Build a React Expense Tracker app where users can: - Log an expense with a name, amount, category (Food, Travel, Bills, Other), and date - View a monthly summary grouped by category - Set a monthly budget and get a warning when they exceed it

- Before drafting the plan, Copilot won’t just dive in — it first asks a few clarifying questions to make sure the plan fits your intent.

- Once you have answered the clarifying questions, Copilot produces a structured, dependency-ordered plan tailored to your choices — with the stack, components, hooks, and build sequence all laid out.
- At this point, the plan looks complete. But there is one more step before you commit to it.

Trigger Rubber Duck — Critique this plan:
- Instead of accepting the Plan, I prompted :
Critique this plan

- Rubber Duck immediately kicked in reviewing the full plan generated in previous step.

- Once Rubber Duck completed the review, Copilot absorbed the findings and produced an Updated Plan (post-critique) — clearly listing every key improvement made as a direct result of the review.

What Just Happened? 🤯
You wrote zero lines of code — yet Rubber Duck caught 7 real, meaningful improvements that the original plan missed:
- A floating-point bug hiding in every money calculation
- A timezone bug silently corrupting monthly filters
- A state architecture flaw that would cause unnecessary re-renders
- localStorage writes that could silently fail with no error handling
- Duplicated derived-data computations across components
- A jarring browser
confirm()replaced with a friendlier undo toast - A missing accessibility attribute on a key UI element
These are the kinds of issues that normally surface during code review, QA, or — worse — after release. Rubber Duck surfaced them at the cheapest possible moment: the planning stage.
Wrapping Up
Rubber Duck is a simple idea with a big impact — instead of one AI reviewing its own work, a second AI from a completely different model family takes a fresh, independent look.
🙂



Leave a comment