Buddy was first on Gemini CLI. Now he's on Claude Code too — the only Google Ads agent on either marketplace.
Earlier this year I shipped Buddy as a Gemini CLI extension — the production Google Ads agent from ahmeego.com packaged for Google's terminal. As of today, the same Buddy ships in Anthropic's Claude Code plugin marketplace as well. Two terminals, one agent, the same operating principles. And as of this writing, Buddy is the only Google Ads tooling listed on either platform — practitioner-grade PPC infrastructure that didn't exist on either marketplace until we built it.
The story so far
Buddy started inside Ahmeego as the AI agent layer behind the free analytics auditor at googleadsagent.ai. He's the production system that audits accounts for $350M+ of managed ad spend across the agency portfolio — Groupon, Prudential, GM, Eventbrite, GCU, Saatva, W.F. Young, NortonLifeLock, Chevrolet, Farmers, and dozens of smaller local clients. The web version's fine, but most senior PPC operators live in a terminal. So Buddy got repackaged for the two terminals that matter most:
- Gemini CLI (first home) — shipped as the google-ads-gemini-extension. 7 slash commands. 2 model-invoked skills (the core Buddy persona + a security auditor). BeforeTool + AfterTool hooks. 28 API actions including bulk asset uploads, recommendations, GAQL queries, mutations, asset group management. Localized README in seven languages.
- Claude Code (new today) — submitted as the claude-googleadsagent plugin to Anthropic's community marketplace. Same Buddy + the upgrade: six specialized sub-agents (Simba reporting, Nemo research, Elsa write ops, Aladdin Shopping/PMax, Moana creative, Baymax resize), two MCP servers, 77 production skills, safety hooks, and a background anomaly monitor that polls every 15 minutes for CPA spikes, CTR drops, and zero-conversion spend.
Why this matters
Most "advertising plugins" you'll find in a CLI marketplace are thin wrappers around a single skill — a clever prompt with a marketing page. Buddy is the same production system that runs the tools you already use at ahmeego.com and googleadsagent.ai, now packaged for both Anthropic's and Google's agentic terminals. One install. Live API access. Real safety hooks. Background anomaly detection. Sub-agent orchestration that mirrors how a senior media buyer actually thinks. The same workflow that handles enterprise client spend.
I built this for myself first — to be honest, I built it because I was tired of re-typing the same GAQL queries in every conversation and tired of agents that fabricate metrics when they don't have API access. Buddy doesn't guess. He follows the Context Efficiency Protocol (ask Tier 1/2/3 questions before querying), the Filter-First Architecture (always narrow before fetching), and Dollar-Based Inputs (cost shown in dollars, never micros). The marketplaces are because PPC practitioners deserve enterprise-grade tooling without paying for an enterprise SaaS.
Two terminals, two shapes, one agent
Buddy maintains the same personality and operating rules across both platforms — what changes is the integration shape, because Anthropic's and Google's agent frameworks expose different primitives. Here's how each version is structured, side by side:
google-ads-gemini-extension
Native Gemini extension format (gemini-extension.json). 7 slash commands (/audit, /analyze, /optimize, /status, /login, /logout, /switch). 2 model-invoked skills: the core Buddy persona and a separate security-auditor. BeforeTool/AfterTool hooks (GAQL validation + audit log). 28 API actions through the embedded server.js. Localized README in 7 languages.
claude-googleadsagent
Native Claude Code plugin (.claude-plugin/plugin.json). Opus-powered Buddy as default agent + 6 specialized sub-agents (Simba, Nemo, Elsa, Aladdin, Moana, Baymax). 2 MCP servers: googleadsagent-mcp on PyPI, bundled ad-creative-mcp from npm (455KB ESM inline). 77 production skills across 10 categories. PreToolUse/PostToolUse hooks. Background anomaly monitor polling every 15 min.
Skills, hooks, and commands map across both ecosystems: $ARGUMENTS for Claude vs {{args}}
for Gemini, PreToolUse/PostToolUse vs BeforeTool/AfterTool,
${CLAUDE_PLUGIN_ROOT} vs ${extensionPath}. The system prompts, the safety rules, and
the dollar-denominated output are byte-identical.
One-line install
If you live in Claude Code:
/plugin marketplace add anthropics/claude-plugins-community
/plugin install googleadsagent@claude-community
/plugin marketplace add itallstartedwithaidea/claude-googleadsagent
/plugin install googleadsagent@claude-googleadsagent
If you live in Gemini CLI:
gemini extension install itallstartedwithaidea/google-ads-gemini-extension
Either way you get the same operating principles: Context Efficiency Protocol (Buddy asks Tier 1/2/3 questions before querying), Filter-First Architecture (status + date range + spend threshold always applied), Dollar-Based Inputs (cost always shown in dollars, never micros).
What's in the box
Buddy + 6 sub-agents (Claude Code only)
The Claude Code plugin ships Buddy as a flagship agent plus six Disney-named specialists:
- Simba — reporting + analysis. GAQL composition, multi-dimensional performance reports, anomaly detection.
- Nemo — research + competitive intel. Keyword research, competitor ad transparency, Google Trends.
- Elsa — bulk optimization + write ops. Applies Google's recommendations with safety previews.
- Aladdin — Shopping + Performance Max. Product feed analysis, asset groups, brand exclusions.
- Moana — visual ad creative. RDA, Demand Gen, image/video asset uploads.
- Baymax — resize + format conversion. Cloudinary-powered transformations across 50+ platform specs.
Two MCP servers (both versions, different shapes)
The Claude Code plugin bundles two MCP servers in .mcp.json:
googleadsagent-mcpon PyPI — Python/FastMCP, full Google Ads API v22 surface.@googleadsagent/ad-creative-mcpon npm — Cloudinary-backed creative tools.
The npm package is also bundled directly into the plugin as a 455KB single-file ESM build, so first-time install doesn't even need an internet round-trip to npm. Plugin works offline.
The Gemini CLI extension uses its own native server.js with the same 28 API actions.
77 production skills (Claude Code)
Skills are model-invoked by default — Claude reads each SKILL.md description and picks the right one for
the task. The library covers Google Ads (16 skills), AI agent engineering (10), Claude mythos (10), software dev (8),
security (4), infrastructure (6), productivity (6), web frontend (6), scientific research (8), and media creative (3).
Safety hooks (both versions)
Two hooks ship by default: a PreToolUse GAQL validator that blocks accidental write operations from read-only contexts (the most common failure mode for agentic Google Ads tools), and a PostToolUse audit logger that records every tool call so you have a paper trail.
Background anomaly monitor (Claude Code only)
Every 15 minutes the monitor polls the Google Ads MCP server for CPA spikes >20%, CTR drops >15%, zero-conversion spend, budget-limited campaigns, and disapproved ads. When something fires, the alert lands directly in your Claude Code session — Buddy can react without you asking.
Why ship to both CLIs
Honest answer: because PPC practitioners are already split across both. The two terminals optimize for different things, and most working media buyers eventually touch both:
- Anthropic's Claude Code has the deepest agentic protocol, the cleanest MCP integration, the richest sub-agent dispatch model, and Opus is — bluntly — the best LLM I've used for senior PPC strategy. Buddy's flagship version lives here.
-
Google's Gemini CLI has tight integration with the Google Cloud and Google Ads identity stack,
and a lot of agencies are already running it next to BigQuery and Looker for reporting. If your Google Ads
OAuth lives in
gcloud, the Gemini path is one less identity hop.
I'd rather ship to the terminal you actually use than ask you to switch. The agent under the hood is the same.
What this doesn't mean
Being the only Google Ads tool on either marketplace isn't a moat — it's a vacuum somebody else will eventually fill, and that's fine. What it does mean: today, if you live in Claude Code or Gemini CLI, you don't have a choice between "real Google Ads tooling built by a practitioner" and "five thin GPT wrappers." You have Buddy or you don't. I'm hoping that changes soon — competition is healthy. Until then, here we are.
It also doesn't mean Buddy replaces the Google Ads UI. He's faster for repeated operations, safer for bulk changes (the GAQL validator hook has caught real near-misses in production), and more honest about uncertainty than an unguided chat. But the Google Ads UI is still the source of truth, and Buddy is built to make you better at it, not to hide it.
What's next
v1.1 of the Claude Code plugin will add 14 additional platform MCP servers from the MiniAgent repo — Meta, Microsoft, Amazon, LinkedIn, TikTok, Snap, Pinterest, Reddit, X, Spotify, TradeDesk, Criteo, AdRoll, and one more we'll announce when it's ready. Cross-platform PPC management from a single Buddy conversation.
We're also working on a real-time campaign health dashboard that piggybacks on the existing monitor system, and a
/buddy oauth helper CLI to make the Google Ads OAuth flow a one-command setup.
Install Buddy in 30 seconds
Pick your terminal. Same Buddy on both. Free. Proprietary.
Credits + links
- Buddy source repos — claude-googleadsagent · google-ads-gemini-extension
- MCP servers — googleadsagent-mcp (PyPI) · @googleadsagent/ad-creative-mcp (npm)
- Hosted Buddy — googleadsagent.ai/tools/auditor (no install, runs in your browser)
- Author — @itallstartedwithaidea · LinkedIn · Substack
- Wiki — Full plugin docs
Buddy isn't a wrapper around an API. He's the production agent that runs my own client work, packaged so you can run him on yours. — JW