google-ads

google-ads is a skill for Claude Code, Codex from nowork-studio/notfair-plugin. It costs 64 tokens per session (2,612 once invoked), scanned A, original, MIT.

Operating instructions for managing Google Ads campaigns, including search terms, keywords, bids, budgets, targeting, ads, and conversions.

In plain words
What is it for?
Use them to inspect and optimize Google Ads performance, adjust campaigns and bids, manage keywords and negative keywords, run bulk operations, and handle experiments or offline conversions.
Why use it?
They require account setup, evidence-based analysis, and guarded changes before campaign settings or spending are modified.

Skill for Claude CodeCodex

Part of the notfair plugin — 52 skills, 1 MCP server shipped together

About the project

NotFair Plugin is a collection of open-source SEO, generative-engine-optimization, and marketing workflows that AI agents can follow. It helps agents audit websites, analyze search and advertising data, plan campaigns, and make reviewable marketing changes; the catalogue entries are its skills, instructions, MCP connection, and plugin.

nowork-studio/notfair-plugin · 3,451 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/nowork-studio/notfair-plugin/manage
Any agent
npx skills add nowork-studio/notfair-plugin --skill manage
Clone the repo
git clone --depth 1 https://github.com/nowork-studio/notfair-plugin

Made for: Claude Code, Codex.

Or install notfair, the plugin that ships this one along with the rest of its 52 skills, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for google-ads

README.md
[![agentmods](https://agentmods.dev/badge/skills/nowork-studio/notfair-plugin/manage.svg)](https://agentmods.dev/skills/nowork-studio/notfair-plugin/manage)
Your own site
<a href="https://agentmods.dev/skills/nowork-studio/notfair-plugin/manage"><img src="https://agentmods.dev/badge/skills/nowork-studio/notfair-plugin/manage.svg" alt="Measured on agentmods" height="20"></a>
Per session 64 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,612 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00064 $0.02612
Opus 5 $0.00032 $0.01306
Sonnet 5 $0.00013 $0.00522
Haiku 4.5 $0.00006 $0.00261

Measured 5d ago against content hash 28b6969d414b, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

google-ads scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

google-ads/manage/SKILL.md · 147 lines

How it starts

The opening of the file, as written. The whole thing — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are an expert paid-search practitioner. The MCP server gives you primitives; this skill is the operating contract for using them well.

Setup

Read and follow ../shared/preamble.md — handles MCP detection, account selection, and config. Once cached, this is instant.

Then read ../shared/analysis-principles.md — the universal evidence requirement and guardrails that govern every action below. Treat them as non-negotiable.

How to work

You decide tool sequencing, GAQL shape, and analytical depth — your judgment is the right tool for that. The references in this directory are domain-knowledge calibration, not mandatory checklists. Pull them when an anchor would sharpen a recommendation; skip them when the data already tells the story.

What does have to be true on every turn:

  • Reads go through runScript with ads.gaql / ads.gaqlParallel — fan out, correlate in-script, return summarized JSON. Cast a wide net on the first call.
  • Writes go through dedicated mutation tools — never wrap a write in runScript. Every write returns a changeId for undoChange within 7 days.
  • Schema discovery first when the resource is unfamiliar — getResourceMetadata and listQueryableResources save you from malformed GAQL.
  • The MCP server's playbooks (notfair://playbooks/audit-account, notfair://playbooks/explain-regression) are battle-tested starting queries. Use them when the question matches; extend or replace them when it doesn't.

Tool surface (capabilities, not enumeration)

The MCP server's tools/list is the source of truth — capabilities continue to ship there before they ship into this skill. The categories you have available:

  • Reads / analyticsrunScript (sandboxed JS with ads.gaql, ads.gaqlParallel), plus specialized non-GAQL reads: searchGeoTargets, getKeywordIdeas, getRecommendations, getChanges, reviewChangeImpact, summarizeAccountSetup.
  • SchemagetResourceMetadata, listQueryableResources.
  • Single-entity writes — pause / enable / update / remove / rename across campaigns, ad groups, ads, keywords, bids, budgets, settings, goals, languages, conversion actions, tracking templates.
  • Bulk writesbulkAddKeywords, bulkPauseKeywords, bulkUpdateBids. Always confirm scale (count, dollar exposure) before firing; the server enforces per-call limits but the user still feels the blast radius.
  • Negative keyword listscreateNegativeKeywordList, addKeywordToNegativeList, removeKeywordFromNegativeList, linkNegativeListToCampaign, unlinkNegativeListFromCampaign, removeNegativeKeywordList. Prefer shared lists over per-campaign duplication when a negative applies broadly.
  • Asset managementcreateCalloutAsset / createSitelinkAsset / createStructuredSnippetAsset / createImageAsset, plus addCalloutAsset / addSitelinkAsset / addStructuredSnippetAsset, linkCalloutAsset / linkSitelinkAsset / linkStructuredSnippetAsset / linkImageAsset (and unlink variants), and account-level linkCalloutToAccount / removeCalloutFromAccount.
  • Bidding strategies (portfolio)createBiddingStrategy, updateBiddingStrategy, linkCampaignToBiddingStrategy, removeBiddingStrategy. Read references/bid-strategy-decision-tree.md for the migration considerations.
  • Campaign creation across all typescreateCampaign (Search), createPerformanceMaxCampaign, createShoppingCampaign, createVideoCampaign, createDemandGenCampaign, createDisplayCampaign, createAppCampaign. Each has its own asset-group / feed / placement implications — fetch the matching schema before creating.
  • PMax asset groupsenablePmaxAssetGroup, pausePmaxAssetGroup.
  • Experiments (Drafts & Experiments) — createExperiment, addExperimentArms, scheduleExperiment, listActiveExperiments, listExperimentAsyncErrors, endExperiment, graduateExperiment, promoteExperiment. The right tool for testing bid strategy changes, structural changes, or significant shifts. createAdVariationExperiment is the dedicated path for ad-copy A/B tests at scale.
  • Change observabilitygetChanges (account change history), reviewChangeImpact (post-change impact analysis), listChangeInterventions / getChangeIntervention / evaluateChangeIntervention (server-side intervention surface — flagged risky changes the agent or user should look at), undoChange (within 7 days).
  • GuardrailsgetGuardrails, setGuardrails. Configure account-wide change limits explicitly when the user wants tighter rails than the server defaults.
  • Conversion trackingcreateConversionAction, updateConversionAction, removeConversionAction, uploadClickConversions (offline conversion import — the right tool when CRM-sourced lead-to-sale data needs to feed Smart Bidding).
  • FeedbackfileInternalNotFairToolFeedback when an MCP tool is missing capability, returning bad data, or otherwise gets in the way.

Read the full file on GitHub · 147 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 147 lines · 64 tokens per session scan A 28b6969d414b

Subscribe to this mod's changes

google-ads is a skill published in the GitHub repository nowork-studio/notfair-plugin (3,451 stars, last pushed 6d ago), licensed MIT. It adds 64 tokens to every session and 2,612 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

octowiz-doctowiz

The Octowiz doctor — diagnose, monitor, and fix the full octowiz + AELLI integration. Use whenever octowiz or AELLI isn't behaving correctly, a hook isn't firing, an advisory isn't returning, or you want a real-time activity feed. Also guides first-time setup, configuration from scratch, and upgrading from older…

raelli/octowiz · 138 tokens

octowiz

Octowiz AI coding workflow coordinator. Reads IntegraHub memory doctrine at runtime, detects where you are in the development lifecycle, and routes to the right skill combination from superpowers + mattpocock-skills. Use this skill at the START of any development work — whether you have a fresh idea, an existing plan…

raelli/octowiz · 139 tokens

setup

Setup orchestrator for the Octowiz Bridge. Re-runs the live environment check, builds a gap list, and runs only the phases needed: plugins, memory, repo, verify. Invoked automatically by octowiz:octowiz when hard gaps are detected.

raelli/octowiz · 57 tokens

build-user-persona

Build evidence-backed user personas from research inputs. Creates structured persona documents grounded in evidence, with each attribute clearly labeled as research-validated or inferred. Use this skill when you need personas for an FR, strategy doc, or design brief. Trigger on: "build a persona", "create user…

felipecabargas/gambit · 105 tokens

write-product-strategy

Generate comprehensive product strategy documents aligned with business goals. Use this when defining or updating your product's strategic direction, aligning teams on where to play and how to win, or creating a STRATEGY.md that bridges vision and execution. Triggers include: clarifying product strategy, articulating…

felipecabargas/gambit · 120 tokens

competitive-analysis

Structure a competitive landscape analysis — player profiles, capability comparison matrix, whitespace opportunities, and strategic implications. Use this skill when entering a new market, refreshing strategy, or preparing for a planning cycle. Trigger on: "do a competitive analysis", "who are our competitors"…

felipecabargas/gambit · 100 tokens