google-ads
Skill11 starsChanged 5 months agoMITView on GitHub
Router / orchestrator for the claude-google-ads suite. Use when the user wants to do anything with Google Ads but hasn't named a specific step — "help me with Google Ads", "launch Google Ads for my store", "run google ads", or just /google-ads. Reads account-context.yaml, runs setup if missing, figures out where the account is in the lifecycle, and dispatches to the right sub-skill (setup, measurement, audit, plan, builder-*, pusher, tracker, optimizer, assets, experiments). It orchestrates; it does not do the work.
- Reads credentials
29 other projects use a version of this.
Adopted by
Most recently taken up by
- oivanfelipe/claude-skillstheir own version, first seen Nov 8, 2026
- webrenew/skillstheir own version, first seen Nov 1, 2026
- jp-solumhealth/jpstacktheir own version, first seen Nov 1, 2026
- brainbytes-dev/everything-claude-marketingtheir own version, first seen Nov 1, 2026
- astDeniss/business-skillstheir own version, first seen Nov 1, 2026
- Bobagi/claude-skillstheir own version, first seen Oct 29, 2026
Used with
Projects with it also use gohighlevel, tiktok-ads and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
windsor-aiSkillgohighlevel
Analyze GoHighLevel CRM data through Windsor.ai. Use when the user asks about their GoHighLevel account — contacts, opportunities and pipeline stages, deal value, appointments, campaigns, lead sources, or conversion rates. It can also create or update a contact and create an invoice, always after the user confirms the exact change. It does not send emails or SMS, book or change appointments, or modify pipeline or campaign settings. Do not use for other CRMs (HubSpot, Salesforce), outbound messaging, or ad-platform performance data.
Also in 3 projects that use this
hyperfx-aiSkilltiktok-ads
Plan and create TikTok advertising campaigns end-to-end via the Hyper MCP, with strict parameter validation for objective-specific requirements. Use when the user wants to launch TikTok ads, set up TikTok traffic or reach campaigns, configure conversions or app-promotion campaigns, upload TikTok video creatives, or analyze TikTok ad performance. Also triggers on tiktok marketing, tiktok campaign, tiktok ppc, or tiktok ads manager.
Also in 5 projects that use this
brainbytes-devSkilllinkedin-ads
LinkedIn advertising strategy for B2B lead generation, brand awareness, and recruitment. Use when running LinkedIn ad campaigns.
Also in 5 projects that use this
isiahw1Skillgoogle-search-console
Query and analyze Google Search Console data for SEO insights. Use when users want to analyze search performance, find content optimization opportunities, check URL index status, manage sitemaps, or make data-driven content decisions. Supports multiple properties and covers keyword discovery, CTR analysis, position tracking, and technical SEO checks.
Also in 3 projects that use this
AnthropicSkillonboarding
Generate an onboarding checklist and first-week plan for a new hire. Use when someone has a start date coming up, building the pre-start task list (accounts, equipment, buddy), scheduling Day 1 and Week 1, or setting 30/60/90-day goals for a new team member.
Also in 3 projects that use this
Other versions29 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 29
- superdesigndev/treg★ 7.7ksame name
- nowork-studio/toprank★ 4.1ksame name
- nowork-studio/notfair-plugin★ 4.1ksame name
- OpenClaudia/openclaudia-skills★ 731same name
- pedronauck/skills★ 649same name
- ivangfalco/ads-skills★ 267same name
- HybridAIOne/hybridclaw★ 159same name
- hyperfx-ai/marketing-skills★ 112same name
- AceDataCloud/Skills★ 17same name
- pbc-os/smb-starter-kit★ 10same name
19 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- google-ads-assetsSkill
- google-ads-auditSkill
- google-ads-builder-branded-searchSkill
- google-ads-builder-demand-genSkill
- google-ads-builder-pmaxSkill
- google-ads-builder-searchSkill
- google-ads-experimentsSkill
- google-ads-measurementSkill
- google-ads-optimizerSkill
- google-ads-planSkill
- google-ads-pusherSkill
- google-ads-routineSkill
- google-ads-setupSkill
- google-ads-trackerSkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 4 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 26 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Look for account-context.yaml in the working directory (or a --context <path> the user gives).
- Very specific: line 18
Missing →: run claude-google-ads:setup first.
- Very specific: line 22
Read the context connections block (or detect live).
- Very specific: line 33
If Google Ads is missing → stop and run setup.
- Distinctive: line 38
Run the context validator to read readiness, and scan the working dir for prior artifacts:
- Distinctive: line 54
If the user named a task, map it and dispatch:
- Distinctive: line 67
If ambiguous, ask ONE clarifying question, then route.
- Very specific: line 77
pusher: always: create PAUSED, human approval, spend cap. - Distinctive: line 80
When the user just says /google-ads (no task), produce a short status: readiness, what artifacts exist, and the single recommended next …
- Very specific: line 96
One working folder per business; nothing scattered: All context + outputs live under a single <workdir> with dated subfolders, and secrets …
“Common” is measured: kept by at least 6 in 10 of the 26 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Google Ads — Router
The single entry point. Find out where the user is in the campaign lifecycle and hand off to the right sub-skill. Enforce the order so nothing runs on a broken foundation.
STEP 0 — Locate context
Look for account-context.yaml in the working directory (or a --context <path> the user gives).
- Missing → run
claude-google-ads:setupfirst. Nothing else runs without context. - Present → continue.
STEP 0b — Connection precheck (REQUIRED — don't run skills on a half-connected account)
Read the context connections block (or detect live). Before routing, confirm the prerequisites are set up;
the suite's value depends on real data, and it must never run on a gap silently (see the no-fabricate gate):
| Connection | Tier | If missing |
| Google Ads (read-only GAQL MCP) | MANDATORY | STOP. Nothing runs. Send the user to setup to connect a Google Ads MCP. |
| Store (Shopify/Woo/BigCommerce) | required for full value | Guide to connect (MCP or an Admin token in a .env). Without it: no real AOV / true-ROAS — those outputs render UNVERIFIED — connect store. |
| Merchant Center (ecom) | required for feed health | Guide to connect. Without it: product performance only, feed health (OOS/disapproval, D14-B) = UNVERIFIED. |
| GA4 | recommended | Guide to connect. Without it: no Ads-vs-GA4 value cross-check. |
| GSC | optional | Note only. |
If Google Ads is missing → stop and run setup. If a value-tier source (store/Merchant/GA4) is missing →
surface a one-line "connect these for full value" banner with the how-to, then proceed at reduced scope —
every output that needed the missing source is flagged UNVERIFIED, never fabricated. Don't quietly skip.
STEP 1 — Assess lifecycle stage
Run the context validator to read readiness, and scan the working dir for prior artifacts:
python ${CLAUDE_PLUGIN_ROOT}/skills/setup/scripts/validate_context.py ./account-context.yamlMap state → the next sensible step:
| Readiness | Artifacts present | Likely next step |
| not setup-complete | — | setup (finish context) |
| setup-complete, no audit | — | audit and/or measurement |
| measurement = FAIL | measurement report | back to tracking fixes (block plan/build) |
| measurement OK, no plan | audit + measurement | plan |
| plan exists, no spec | GOOGLE-ADS-PLAN.md | builder-* for the chosen types |
| spec exists, not pushed | campaign-spec.json | pusher |
| campaign live | — | tracker (new) / optimizer (mature) |
STEP 2 — Route by intent
If the user named a task, map it and dispatch:
- "audit / score / what's wrong / wasted spend" →
audit - "tracking / conversions / GA4 import / double count" →
measurement - "plan / budget / what campaigns / media plan / forecast" →
plan - "build pmax / performance max" →
builder-pmax - "build search" →
builder-search - "branded / brand campaign / conquesting" →
builder-branded-search - "demand gen / youtube / discovery" →
builder-demand-gen - "push / export / upload / go live" →
pusher - "how's it doing / pacing / learning phase / anomaly" →
tracker - "optimize / improve ROAS / negatives / raise tROAS / weekly review" →
optimizer - "experiment / A/B / split test" →
experiments - "ad copy / headlines / assets / creative" →
assetsIf ambiguous, ask ONE clarifying question, then route.
STEP 3 — Full launch (when the user wants the whole thing)
For "set up Google Ads for my business", run the pipeline in order, pausing for input where needed:
setup → measurement [GATE] → audit → plan → builder-* → pusher [approval] → tracker → optimizerHard gates (never skip):
- No plan/build before
measurementpasses (FAIL blocks; WARN carries a risk note). build-readywantsbrand_terms(for branded search + PMax exclusion).pusheralways: create PAUSED, human approval, spend cap.
STEP 4 — "Where am I?" summary
When the user just says /google-ads (no task), produce a short status: readiness, what artifacts exist, and the single recommended next action — then offer to run it. Don't dump everything; point to the next step.
Model dispatch (run cheap, decide expensive)
Spend compute by cognitive load, not by habit — see ${CLAUDE_PLUGIN_ROOT}/references/model-tier-dispatch.md.
The router itself is Judge (J) work (lifecycle reasoning, routing, gates). But the heavy collection
each sub-skill needs is Scout/Routine — so as orchestrator, push it down:
- Scout (S,
haiku) — thevalidate_context.pyrun in STEP 1, a single status pull, one URL check. - Routine (R,
sonnet) — assembling the active-campaign set, full data-bundle pulls for audit/optimizer/tracker. - Judge (J, main session) — picking the next lifecycle step, all gates, the "where am I" call.
Delegate S/R via
Agent(subagent_type: "general-purpose", model: …)so the sub-agent keeps MCP + Bash; tell it to return raw, not conclude. Each sub-skill carries its own per-STEP tier table.
Notes
- The router orchestrates; each sub-skill reads the same
account-context.yamland writes to the working directory. Business data never lives in the plugin — it stays in your localaccount-context.yaml. - One working folder per business; nothing scattered. All context + outputs live under a single
<workdir>with dated subfolders, and secrets are recorded as POINTERS (not copied) — see${CLAUDE_PLUGIN_ROOT}/references/workspace-layout.md. If there's no working folder yet,setupcreates it. - Sub-skills are invoked by their namespaced names (
claude-google-ads:setup,claude-google-ads:audit, …).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

