Claude Ads Skills That Actually Execute (Google, Meta, LinkedIn)
Every published Claude ads skill we checked live on August 1, 2026 stops at a report. The six skills below finish the job. Each one reads live account data, proposes a specific change, then executes it through the PaidSync MCP behind a dry_run preview and your explicit confirm.
A Claude skill is a SKILL.md file: YAML frontmatter between two --- markers with a name and description, then markdown instructions Claude follows when the skill runs. Save each one in its own folder under ~/.claude/skills and Claude loads it when relevant, or when you type the slash command. The format follows the Agent Skills open standard. All six definitions on this page are complete. Copy, save, run.
Where Every Published Ads Skill Stops
We checked the most-cited public Claude ads skill libraries live on August 1, 2026. They are well built. They also all end at the same place, which is a document.
Ryze AI's 15 Claude skills for Google Ads end in outputs like a ranked diagnosis or, for the negative keyword skill, "an import-ready list formatted for Google Ads Editor." You do the importing.
Checked live August 1, 2026
Their 10-skill download set delivers "ready-to-paste" lists and instructs Claude to "never auto-execute budget changes." Recommendations, then a human applies them.
Checked live August 1, 2026
Their 30-skill library, updated July 19, 2026, says it plainly: every skill "is written to run read-only," and outputs are "recommendations, exclusion lists, and drafts you apply yourself."
Checked live August 1, 2026
That is the correct design for a read-only connection. Google's own open source Google Ads API MCP server, announced October 7, 2025, exposes read tools only, three of them, as of August 1, 2026. When the pipe only reads, every skill built on it must end at a report. The report still leaves you with the worst part of the job: logging into three ad platforms and typing the changes in yourself.
PaidSync's MCP writes. 430+ tools across 13 platforms. 140+ on Google Ads, 69 on Meta, 25 on LinkedIn, all full write. 37 GTM tools covering the full tag, trigger, and variable lifecycle including container publish. 28 GA4 configuration tools. 6 read tools on Search Console. TikTok, Microsoft, Snapchat, Reddit, and Pinterest support manage and optimize actions, with no campaign creation, and this page keeps them inside that line. With a write-capable connection, a skill can be written to finish what it finds.
How the Execution Gate Works
Skills that write need a leash, so every skill below ends with the same three steps and never skips them.
- Preview. The write tool runs with
dry_run: truefirst. PaidSync supports a dry_run parameter on most write tools, returning the planned change without applying it. - Confirm. Claude shows you the exact planned change and waits for an explicit yes. PaidSync's confirm_destructive pattern applies to any action that modifies live campaigns. Silence means no.
- Apply and report. Only after your confirm does the real call run. The skill closes by reporting what changed and the expected effect in dollars.
You can revoke a PaidSync session at any time, which cuts off write access mid-conversation if you ever want the hard stop. This gate is not a nice-to-have. It is why six agencies became paying PaidSync customers in the first four days after launch in May 2026. Nobody hands an AI write access to client budgets without a preview and a confirm in the loop.
The Six Skills
Each skill lists what it reads, what change it proposes, and how the gate works, followed by the full copyable definition. Thresholds like a $25 spend floor are starting defaults, not benchmarks. Tune them per account.
1. Wasted Spend Hunter (Google Ads)
Google Ads · 140+ toolsget_wasted_spend_report and get_search_terms_report, last 30 days, plus existing negatives so it never proposes a duplicate.add_negative_keywords runs with dry_run first, shows the planned change, waits for your confirm, then applies.Save as ~/.claude/skills/wasted-spend-hunter/SKILL.md
---
name: wasted-spend-hunter
description: Find Google Ads search terms that spend with zero conversions,
then block them with negative keywords through the PaidSync MCP after a
dry_run preview and an explicit confirm.
---
# Wasted Spend Hunter (Google Ads)
Audit wasted spend in the connected Google Ads account and end the run
with negatives applied, not a list for later.
## Read
1. Run get_wasted_spend_report for the last 30 days.
2. Run get_search_terms_report sorted by cost, same window.
3. Flag every search term with zero conversions and spend above $25.
Treat $25 as a default. Ask once per account for a different floor.
4. Check existing negative keywords and shared lists first. Never
propose a term that is already blocked.
## Propose
Show one table: search term, triggering keyword, campaign, spend,
clicks, conversions, proposed match type. Exact match for one-off
junk. Phrase match only when three or more flagged terms share a
root. Close with the total 30-day waste in dollars.
## Execute, gated
1. Call add_negative_keywords with dry_run: true. Show the planned
change exactly as returned.
2. Ask "Apply these negatives?" and wait. Silence means no.
3. On confirm, run the same call without dry_run. Report what was
applied and the projected monthly saving.
## Never
- Never block a term that converted in the last 90 days.
- Never apply more than 50 negatives in one confirmed batch.
2. Budget Pacing Checker (cross-platform)
Cross-platform · 13 platforms connectedget_campaign_performance month-to-date on every connected platform, then projects end-of-month spend per campaign.update_campaign_budget, update_fb_campaign, update_linkedin_campaign, update_tiktok_campaign_budget, update_ms_campaign_budget) each run dry_run first, then wait for your confirm per platform batch.Save as ~/.claude/skills/budget-pacing-checker/SKILL.md
---
name: budget-pacing-checker
description: Check month-to-date pacing on every connected ad platform,
then correct off-pace budgets through the PaidSync MCP after a dry_run
preview and an explicit confirm.
---
# Budget Pacing Checker (cross-platform)
## Read
1. Run get_campaign_performance month-to-date for each connected
platform. Note monthly budget, spend so far, days elapsed, days
remaining.
2. Project end-of-month spend at the current daily run rate.
3. Flag campaigns pacing under 85 percent or over 115 percent of
target.
## Propose
One table across platforms: campaign, platform, budget, projected
spend, pace, proposed new daily budget that lands the month on
target. Sort by dollar gap, largest first.
## Execute, gated
Platform write tools:
- Google Ads: update_campaign_budget
- Meta: update_fb_campaign
- LinkedIn: update_linkedin_campaign
- TikTok: update_tiktok_campaign_budget
- Microsoft: update_ms_campaign_budget
For each flagged campaign, run the write with dry_run: true, show
the before and after, then wait for my confirm per platform batch.
Apply only after I confirm.
## Never
- Never change a budget by more than 25 percent in one run. Flag
bigger gaps for a human decision instead.
- Never create campaigns. This skill only adjusts what exists.
3. Negative Keyword Triage (Google Ads)
Google Ads · weekly cadenceget_search_terms_report for the last 7 days plus get_keyword_performance for ad group context.create_negative_keyword_list and add_negative_keywords run dry_run first. Blocks and harvest additions are two separate confirms, never one bundled yes.Save as ~/.claude/skills/negative-keyword-triage/SKILL.md
---
name: negative-keyword-triage
description: Weekly Google Ads search term triage. Sort new terms into
block, watch, and harvest, then apply the block list through the
PaidSync MCP with dry_run and confirm.
---
# Negative Keyword Triage (Google Ads)
Run weekly. Keeps search term hygiene continuous instead of
quarterly.
## Read
1. Run get_search_terms_report for the last 7 days.
2. Run get_keyword_performance for context on the ad groups involved.
## Triage every new term into three buckets
- Block: intent mismatch. Job hunting, DIY, free-seekers, courses,
competitor brands we never bid on, unrelated queries.
- Watch: ambiguous terms with spend under the account's CPA. Keep a
running list, revisit next run.
- Harvest: converting terms not yet added as keywords. Propose them
as exact match additions via add_keywords.
## Execute, gated
1. Shared junk themes (jobs, free, DIY) go to a shared list via
create_negative_keyword_list. One-off terms go via
add_negative_keywords at the ad group level.
2. Every write runs dry_run: true first. Show the diff, wait for my
confirm, then apply.
3. Harvest additions are a separate confirm. Never bundle blocks and
adds into one yes.
## Never
- Never negate brand or near-brand terms without asking.
Connect an account and run the first skill in minutes. Free tier includes 15 tool calls a month, no card.
Get started for free Read the bulk operations docs4. Creative Fatigue Scan (Meta Ads)
get_fb_campaign_performance for two adjacent 14-day windows, comparing frequency, CTR, and CPA per campaign.pause_fb_campaign and update_fb_campaign run dry_run first, show every planned change, and wait for your confirm before applying.Save as ~/.claude/skills/creative-fatigue-scan/SKILL.md
---
name: creative-fatigue-scan
description: Scan Meta campaigns for creative fatigue using frequency
and CTR decline, then pause or rebalance through the PaidSync MCP
after a dry_run preview and an explicit confirm.
---
# Creative Fatigue Scan (Meta Ads)
## Read
1. Run get_fb_campaign_performance for the last 14 days and the
14 days before that.
2. For each campaign compare the two windows: frequency, CTR, CPA.
3. Flag as fatigued when frequency is above 4 and CTR fell 30
percent or more, or CPA rose 40 percent or more on stable spend.
## Propose
A fatigue table: campaign, frequency, CTR change, CPA change,
verdict. Two verdicts only. Pause, for clear decay with spend
behind it. Rebalance, for campaigns worth keeping at lower budget
while new creative ships.
## Execute, gated
- Pause verdicts run pause_fb_campaign with dry_run: true first.
- Rebalance verdicts run update_fb_campaign with the new budget,
dry_run: true first.
- Show every planned change, wait for my confirm, then apply.
- End the run with a plain list of which creative angles to brief
next, based on what decayed slowest.
## Never
- Never pause a campaign still in its learning phase.
- Never touch campaigns spending under $10 a day. Noise, not
signal.
5. LinkedIn Campaign QA
LinkedIn · 25 toolsget_campaign_performance for LinkedIn over 30 days, plus each live campaign's settings from the LinkedIn tool group.update_linkedin_campaign and pause_linkedin_campaign run dry_run first and wait for your confirm before anything applies.Save as ~/.claude/skills/linkedin-campaign-qa/SKILL.md
---
name: linkedin-campaign-qa
description: QA every live LinkedIn Ads campaign against a launch
checklist, then fix failures through the PaidSync MCP after a
dry_run preview and an explicit confirm.
---
# LinkedIn Campaign QA
## Read
1. Run get_campaign_performance for LinkedIn, last 30 days.
2. Pull each live campaign's settings through the LinkedIn tool
group.
## Check every live campaign against this list
- Spend but zero leads or clicks for 14 days or more
- Audience so narrow it cannot exit learning, or so broad the
targeting means nothing
- No end date on a campaign meant as a test
- Daily budget out of line with the campaign group's plan
- Duplicate campaigns competing for the same audience
## Propose
A QA table: campaign, checks failed, evidence, proposed fix. Fixes
are one of three moves. Adjust settings, adjust budget, or pause.
## Execute, gated
- Setting and budget fixes run update_linkedin_campaign,
dry_run: true first.
- Dead campaigns run pause_linkedin_campaign, dry_run: true first.
- Show planned changes, wait for my confirm, apply, report.
## Never
- Never pause the only live campaign in a campaign group without
flagging that the whole group goes dark.
6. Conversion Tracking Repair (GTM + GA4)
GTM 37 tools · GA4 28 toolscreate_gtm_tag, update_gtm_tag, and create_ga4_conversion_event with dry_run and confirm. Then publish_gtm_version requires its own second confirm, because publish is the moment changes go live.This is the one no report-only skill can touch. A document cannot re-publish a GTM container, and broken tracking silently corrupts every optimization decision the other five skills make. Run it first on any new account.
Save as ~/.claude/skills/conversion-tracking-repair/SKILL.md
---
name: conversion-tracking-repair
description: Find broken, missing, or duplicate conversion tracking
across GTM and GA4, then repair tags and events and publish the
container through the PaidSync MCP after explicit confirms.
---
# Conversion Tracking Repair (GTM + GA4)
The highest-stakes skill here. Broken tracking silently corrupts
every optimization decision the other skills make. Run this first
on any new account.
## Read
1. List every tag, trigger, and variable in the active GTM
workspace.
2. List GA4 key events, data streams, and conversion settings.
3. Cross-reference both against the ad platforms' conversion
actions.
## Hunt for these defects
- The same conversion firing from two tags. Doubled numbers.
- Tags with no trigger, or triggers pointing at retired pages.
- A GA4 key event the ad platform imports that no longer receives
data.
- Purchase or lead events missing entirely on new landing pages.
## Propose
A repair plan. Each defect gets its evidence, its blast radius in
plain terms, and the exact fix.
## Execute, gated, two stages
1. Stage fixes in the GTM workspace: create_gtm_tag or
update_gtm_tag for tag repairs, create_ga4_conversion_event for
missing GA4 events. Each write runs dry_run: true first, then
waits for my confirm.
2. Publishing is separate. Run create_gtm_version, then stop. Show
me the version diff. publish_gtm_version runs only on a second
explicit confirm, because publish is the moment changes go live
on the site.
## Never
- Never publish a version containing changes I have not reviewed.
- Never delete tags. Pause by removing triggers. Deletion is a
human decision.
What These Skills Do Not Do
The honest edges, as of August 1, 2026
- No campaign creation on TikTok, Microsoft, Snapchat, Reddit, or Pinterest. PaidSync supports manage and optimize actions there, budgets and statuses, which is why TikTok and Microsoft appear only in the Budget Pacing Checker. No skill on this page builds campaigns on those platforms, because the capability does not exist yet.
- No ChatGPT Ads writes. PaidSync's OpenAI Ads connector covers connecting and reporting today, so it stays out of these six skills.
- Search Console is read-only. 6 tools, all reads. Nothing here writes to GSC because nothing can.
- No unattended runs. Every skill waits for your confirm before any write. If you want ads work that runs without you in the loop, that is a different product decision and this page is not selling it.
- Thresholds are defaults, not benchmarks. The $25 spend floor, the 85 to 115 percent pacing band, the frequency-above-4 flag. Starting points to tune per account, not industry research.
What Running These Costs
A single skill run makes a handful of tool calls. A read or two, a dry_run, an apply. PaidSync's Free tier is $0 with 15 calls a month, enough to connect an account and test a skill end to end. Pro starts at $99 a month for 600 calls, with 1,200 calls at $149 and 4,000 at $199. Team starts at $249 a month, and Done For You is custom. Full details on the pricing page.
A Downloadable Skill Library Is Coming
A packaged version of this library, ready-to-save skill folders instead of copy-paste, is in the works. No date to give yet, and nothing above depends on it. All six definitions on this page are complete today.
Frequently Asked Questions
What is a Claude skill for ads?
A Claude skill is a SKILL.md markdown file with YAML frontmatter (a name and a description between two --- markers) that teaches Claude a repeatable procedure. Save it in a folder under ~/.claude/skills and Claude loads it when relevant, or when you type the slash command. Skills follow the Agent Skills open standard. For ads, a skill defines what data to read, what change to propose, and how to apply it. The six on this page pair with the PaidSync MCP so the last step is an applied change, not a to-do list.
Can these skills change my ad account without asking?
No. Every skill on this page ends with the same three steps: run the write tool with dry_run true, show the planned change, and wait for an explicit confirm. Silence means no. PaidSync's MCP supports a dry_run parameter on most write tools and applies its confirm_destructive pattern to any action that modifies live campaigns. You can also revoke a session at any time.
Which platforms can these skills write to?
Full write on Google Ads (140+ tools), Meta (69 tools), and LinkedIn (25 tools). GTM has the full tag, trigger, and variable lifecycle plus container publish (37 tools). GA4 has configuration writes including create_ga4_conversion_event (28 tools). TikTok, Microsoft, Snapchat, Reddit, and Pinterest support manage and optimize actions such as budget and status updates, with no campaign creation. Search Console is read-only (6 tools). PaidSync totals 430+ tools across 13 platforms.
Do the skills work on TikTok?
Partly, and this page does not pretend otherwise. TikTok through PaidSync supports analysis and optimization actions like budget and status updates, which is why TikTok appears in the Budget Pacing Checker. It does not support campaign creation, so no skill here builds TikTok campaigns. The same manage-and-optimize scope applies to Microsoft, Snapchat, Reddit, and Pinterest.
How are these different from other published Claude ads skills?
The published libraries we checked live on August 1, 2026 all end at analysis. Ryze AI's Google Ads skills end with output like "an import-ready list formatted for Google Ads Editor," their 10-skill set instructs Claude to "never auto-execute budget changes," and their 30-skill library states every skill "is written to run read-only." That is the correct design for read-only connections. The six skills here are written for a write-capable MCP, so each one ends in an applied change behind a dry_run preview and an explicit confirm.
Do I need PaidSync to use these skills?
The read-and-propose steps work with any data you can get in front of Claude. The execute steps name PaidSync MCP tools, because a skill can only apply changes when its connection can write. PaidSync's Free tier is $0 with 15 tool calls a month, enough to connect an account and test a skill run. Pro starts at $99 a month for 600 calls, with 1,200 calls at $149 and 4,000 at $199. Team starts at $249 a month. Details on the pricing page.