May 21, 2026 · 7 min read · AI Tools · Marketplaces

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.

2Marketplaces
7Agents
77Skills
2MCP Servers
$350M+Spend Managed

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:

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:

Gemini CLI · first

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.

→ ahmeego.com/gemini

Claude Code · new

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.

→ ahmeego.com/claude

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:

Anthropic marketplace (after approval)
/plugin marketplace add anthropics/claude-plugins-community /plugin install googleadsagent@claude-community
Self-hosted (works right now)
/plugin marketplace add itallstartedwithaidea/claude-googleadsagent /plugin install googleadsagent@claude-googleadsagent

If you live in Gemini CLI:

Gemini extension marketplace
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:

Two MCP servers (both versions, different shapes)

The Claude Code plugin bundles two MCP servers in .mcp.json:

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:

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 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