Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/logly/mureonpx agentmods add skills/logly/mureo/_mureo-google-adsWrote 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.
[](https://agentmods.dev/skills/logly/mureo/_mureo-google-ads)<a href="https://agentmods.dev/skills/logly/mureo/_mureo-google-ads"><img src="https://agentmods.dev/badge/skills/logly/mureo/_mureo-google-ads.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00026 | $0.10490 |
| Opus 5 | $0.00013 | $0.05245 |
| Sonnet 5 | $0.00005 | $0.02098 |
| Haiku 4.5 | $0.00003 | $0.01049 |
Grade A, and why
_mureo-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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 994 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Google Ads (v23)
PREREQUISITE: Read
../_mureo-shared/SKILL.mdfor auth, global flags, and security rules.
There is no
mureo google-ads …CLI command. Every operation below is an MCP tool (google_ads_*). Call the tool directly — never run or suggest amureo google-ads campaigns-list-style shell command (it does not exist and will error, which is NOT a mureo bug).
No customer_id? (recovery)
Every Google Ads tool needs a customer_id (the target account). It is resolved
from the stored credentials (set by mureo auth setup). When it is missing a
tool returns customer_id is required. Provide it as a parameter or configure it … — auth is fine, only the account is unset (a common state when the
operator finished sign-in but skipped account selection).
When you see that error, recover automatically — do NOT ask the operator to look up the ID in the Google Ads UI, and do NOT fall back to a CSV / "ask the agency":
- Call
google_ads_accounts_list— it needs nocustomer_idand returns every account reachable by the login. - Exactly one account → use its id as
customer_idon the retried call and tell the operator which account you selected. - Several accounts → show the list and ask the operator which one to use.
- Zero accounts → the login can't reach any Google Ads account; tell the
operator to re-run
mureo auth setup(or grant the account access), and thatcustomer_idcan be set there or viaGOOGLE_ADS_CUSTOMER_ID(plusGOOGLE_ADS_LOGIN_CUSTOMER_IDfor an MCC).
To persist the choice so it survives across sessions, point the operator at
mureo auth setup (account picker) or the configure UI's env writer
(GOOGLE_ADS_CUSTOMER_ID); passing customer_id per call works for the
immediate request but is not remembered.
Tool Summary
| # | Tool Name | Category | Type | Description |
|---|---|---|---|---|
| 1 | google_ads_campaigns_list |
Campaign | Read | List campaigns |
| 2 | google_ads_campaigns_get |
Campaign | Read | Get campaign details |
| 3 | google_ads_campaigns_create |
Campaign | Write | Create a campaign (search or display, via channel_type) |
| 4 | google_ads_campaigns_update |
Campaign | Write | Update campaign settings |
| 5 | google_ads_campaigns_update_status |
Campaign | Write | Change campaign status |
| 6 | google_ads_campaigns_diagnose |
Campaign | Read | Diagnose delivery issues |
| 7 | google_ads_ad_groups_list |
Ad Group | Read | List ad groups |
| 8 | google_ads_ad_groups_create |
Ad Group | Write | Create an ad group |
| 9 | google_ads_ad_groups_update |
Ad Group | Write | Update ad group settings |
| 10 | google_ads_ads_list |
Ad | Read | List ads |
| 11 | google_ads_ads_create |
Ad | Write | Create an RSA ad |
| 12 | google_ads_ads_update |
Ad | Write | Update ad content |
| 13 | google_ads_ads_update_status |
Ad | Write | Change ad status |
| 14 | google_ads_ads_policy_details |
Ad | Read | Get ad policy approval details |
| 15 | google_ads_keywords_list |
Keyword | Read | List keywords |
| 16 | google_ads_keywords_add |
Keyword | Write | Add keywords |
| 17 | google_ads_keywords_remove |
Keyword | Write | Remove a keyword |
| 18 | google_ads_keywords_suggest |
Keyword | Read | Suggest keywords via Keyword Planner |
| 19 | google_ads_keywords_diagnose |
Keyword | Read | Diagnose keyword quality scores |
| 20 | google_ads_keywords_pause |
Keyword | Write | Pause a keyword |
| 21 | google_ads_keywords_audit |
Keyword | Read | Audit keyword performance and quality |
| 22 | google_ads_keywords_cross_adgroup_duplicates |
Keyword | Read | Find duplicate keywords across ad groups |
| 23 | google_ads_negative_keywords_list |
Negative KW | Read | List negative keywords |
| 24 | google_ads_negative_keywords_add |
Negative KW | Write | Add negative keywords to a campaign |
| 25 | google_ads_negative_keywords_remove |
Negative KW | Write | Remove a negative keyword |
| 26 | google_ads_negative_keywords_add_to_ad_group |
Negative KW | Write | Add negative keywords to an ad group |
| 27 | google_ads_negative_keywords_suggest |
Negative KW | Read | Suggest negative keywords from search terms |
| 28 | google_ads_budget_get |
Budget | Read | Get campaign budget |
| 29 | google_ads_budget_update |
Budget | Write | Update daily budget |
| 30 | google_ads_budget_create |
Budget | Write | Create a new campaign budget |
| 31 | google_ads_accounts_list |
Account | Read | List accessible Google Ads accounts |
| 32 | google_ads_search_terms_report |
Search Terms | Read | Search terms report |
| 33 | google_ads_search_terms_review |
Search Terms | Read | Review search terms with rule-based scoring |
| 34 | google_ads_search_terms_analyze |
Search Terms | Read | Analyze search terms with intent classification |
| 35 | google_ads_sitelinks_list |
Extension | Read | List sitelink extensions |
| 36 | google_ads_sitelinks_create |
Extension | Write | Create a sitelink extension |
| 37 | google_ads_sitelinks_remove |
Extension | Write | Remove a sitelink extension |
| 38 | google_ads_callouts_list |
Extension | Read | List callout extensions |
| 39 | google_ads_callouts_create |
Extension | Write | Create a callout extension |
| 40 | google_ads_callouts_remove |
Extension | Write | Remove a callout extension |
| 41 | google_ads_conversions_list |
Conversion | Read | List conversion actions |
| 42 | google_ads_conversions_get |
Conversion | Read | Get conversion action details |
| 43 | google_ads_conversions_performance |
Conversion | Read | Get conversion performance metrics |
| 44 | google_ads_conversions_create |
Conversion | Write | Create a conversion action |
| 45 | google_ads_conversions_update |
Conversion | Write | Update a conversion action |
| 46 | google_ads_conversions_remove |
Conversion | Write | Remove a conversion action |
| 47 | google_ads_conversions_tag |
Conversion | Read | Get conversion tracking tag snippet |
| 48 | google_ads_recommendations_list |
Targeting | Read | List optimization recommendations |
| 49 | google_ads_recommendations_apply |
Targeting | Write | Apply an optimization recommendation |
| 50 | google_ads_device_targeting_get |
Targeting | Read | Get device targeting settings |
| 51 | google_ads_device_targeting_set |
Targeting | Write | Set device targeting bid adjustments |
| 52 | google_ads_bid_adjustments_get |
Targeting | Read | Get bid adjustment settings |
| 53 | google_ads_bid_adjustments_update |
Targeting | Write | Update bid adjustments |
| 54 | google_ads_location_targeting_list |
Targeting | Read | List location targeting criteria |
| 55 | google_ads_location_targeting_update |
Targeting | Write | Update location targeting |
| 56 | google_ads_schedule_targeting_list |
Targeting | Read | List ad schedule targeting |
| 57 | google_ads_schedule_targeting_update |
Targeting | Write | Update ad schedule targeting |
| 58 | google_ads_change_history_list |
Targeting | Read | List account change history |
| 59 | google_ads_performance_report |
Analysis | Read | Performance report |
| 60 | google_ads_performance_analyze |
Analysis | Read | Analyze performance trends and anomalies |
| 61 | google_ads_cost_increase_investigate |
Analysis | Read | Investigate sudden cost increases |
| 62 | google_ads_health_check_all |
Analysis | Read | Comprehensive account health check |
| 63 | google_ads_ad_performance_compare |
Analysis | Read | Compare ad performance across variants |
| 64 | google_ads_ad_performance_report |
Analysis | Read | Detailed ad-level performance report |
| 65 | google_ads_network_performance_report |
Analysis | Read | Network-level performance breakdown |
| 66 | google_ads_budget_efficiency |
Analysis | Read | Analyze budget utilization efficiency |
| 67 | google_ads_budget_reallocation |
Analysis | Read | Suggest budget reallocation across campaigns |
| 68 | google_ads_auction_insights_get |
Analysis | Read | Get auction insights (competitor analysis) |
| 69 | google_ads_auction_insights_analyze |
Analysis | Read | Auction insights analysis |
| 70 | google_ads_rsa_assets_analyze |
Analysis | Read | Analyze RSA asset performance |
| 71 | google_ads_rsa_assets_audit |
Analysis | Read | Audit RSA assets for best practices |
| 72 | google_ads_cpc_detect_trend |
Analysis | Read | Detect CPC trend direction |
| 73 | google_ads_device_analyze |
Analysis | Read | Device performance analysis |
| 74 | google_ads_btob_optimizations |
B2B | Read | Get B2B-specific optimization suggestions |
| 75 | google_ads_landing_page_analyze |
Creative | Read | Analyze landing page relevance and quality |
| 76 | google_ads_creative_research |
Creative | Read | Research competitive creative strategies |
| 77 | google_ads_monitoring_delivery_goal |
Monitoring | Read | Monitor campaign delivery against goals |
| 78 | google_ads_monitoring_cpa_goal |
Monitoring | Read | Monitor CPA against target goals |
| 79 | google_ads_monitoring_cv_goal |
Monitoring | Read | Monitor conversion volume against goals |
| 80 | google_ads_monitoring_zero_conversions |
Monitoring | Read | Detect campaigns with zero conversions |
| 81 | google_ads_capture_screenshot |
Capture | Read | Capture a screenshot of a URL |
| 82 | google_ads_assets_upload_image |
Asset | Write | Upload image as Google Ads asset |
| 83 | google_ads_ads_create_display |
Ad | Write | Create an RDA (responsive display ad); image files are uploaded automatically |
| 84 | google_ads_demographic_targeting_list |
Targeting | Read | List demographic criteria (age/gender/parental status/income) |
| 85 | google_ads_audience_targeting_list |
Targeting | Read | List audience criteria (user lists, interests, custom/combined audiences) |
| 86 | google_ads_image_assets_list |
Asset | Read | List image assets with names and dimensions |
| 87 | google_ads_negative_placements_list |
Negative Placement | Read | List excluded websites / apps / app categories (campaign + ad group) |
| 88 | google_ads_negative_placements_add |
Negative Placement | Write | Exclude websites / apps / app categories (batch, one revertible unit) |
| 89 | google_ads_negative_placements_remove |
Negative Placement | Write | Lift exclusions by criterion_id (batch) |
| 90 | google_ads_asset_group_assets_list |
Performance Max | Read | List the headlines / long headlines / descriptions linked to a P-MAX asset group |
| 91 | google_ads_asset_group_assets_replace |
Performance Max | Write | Swap one P-MAX headline / long headline / description for new text |
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.
- 3d ago Changed 56b92bb57b4f
- 7d ago First seen · 994 lines · 26 tokens per session scan A 546a0d275acb
_mureo-google-ads is a skill published in the GitHub repository logly/mureo (43 stars, last pushed 5d ago), licensed Apache-2.0. It adds 26 tokens to every session and 10,490 once invoked, about $0.0001 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.
Other skills, from other repositories
adcp-advertising
Automate advertising campaigns with AI. Create ads, buy media, manage ad budgets, discover ad inventory, run display ads, video ads, CTV campaigns, and optimize ad performance. Perfect for marketing automation, programmatic advertising, media buying, ad management, campaign optimization, creative management, and…
adspirer-ads-agent
Adspirer — AI-powered advertising and performance marketing agent. Manage Google Ads, Meta Ads (Facebook & Instagram), LinkedIn Ads, and TikTok Ads via natural language. 100+ tools for paid media campaign creation, live performance analysis, PPC keyword research with real CPC data, budget optimization, ad creative…
google-ads-manager
Google Ads campaign management - campaign setup, keyword research, bid optimization, and performance reporting.
ads-copywriter
Multi-platform ad copy generation for Google Ads, Meta/Facebook, TikTok, LinkedIn with A/B testing variants.
adcp-advertising
Automate advertising campaigns with AI. Create ads, buy media, manage ad budgets, discover ad inventory, run display ads, video ads, CTV campaigns, and optimize ad performance. Perfect for marketing automation, programmatic advertising, media buying, ad management, campaign optimization, creative management, and…
adspirer-ads-agent
Adspirer — AI-powered advertising and performance marketing agent. Manage Google Ads, Meta Ads (Facebook & Instagram), LinkedIn Ads, and TikTok Ads via natural language. 400+ tools for paid media campaign creation, live performance analysis, PPC keyword research with real CPC data, budget optimization, ad creative…