Skill · #117 trending skills repo · ↗ +191 stars this week

Claude Ads

AgriciDaniel/claude-ads

Claude-first paid-media operations skill for Claude Code across 12 ad platforms (Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, X): source-grounded audits, deterministic findings and evidence coverage, versioned JSON reports, and capability-gated account changes.

Stars
11k
This week
+191
Forks
1.6k
Open issues
5
Skills inside
34
Star trend · last 17 days+525 ★
Oct 21, 2026: 10,288 starsOct 22, 2026: 10,328 starsOct 23, 2026: 10,363 starsOct 24, 2026: 10,380 starsOct 25, 2026: 10,410 starsOct 26, 2026: 10,452 starsOct 27, 2026: 10,490 starsOct 28, 2026: 10,532 starsOct 29, 2026: 10,577 starsOct 30, 2026: 10,607 starsOct 31, 2026: 10,622 starsNov 1, 2026: 10,650 starsNov 2, 2026: 10,681 starsNov 3, 2026: 10,712 starsNov 4, 2026: 10,746 starsNov 5, 2026: 10,768 starsNov 6, 2026: 10,786 starsNov 7, 2026: 10,813 stars

Get started

Install the skills

npx skills add AgriciDaniel/claude-ads

Installs into Claude Code, Codex, Cursor, OpenCode and the other agents it finds on your machine.

Inside this repo

34 skills

adsOperate professional paid advertising across Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Use for account intake, source-grounded audits, strategy, budget and measurement planning, creative production, experiments, reporting, monitoring, and adsads-amazonAudit Amazon Ads profiles, regions, Sponsored Products, Sponsored Brands, Sponsored Display, DSP, portfolios, targeting, search terms, retail readiness, creative, budgets, ACOS, TACOS, reporting, and policy. Use for Amazon Ads, sponsored ads, Amazon PPC, ACOS, TACOS, ASIN advertising, Amazon DSP, orskills/ads-amazonads-appleAudit Apple Ads measurement, AdServices and AdAttributionKit, campaign and keyword structure, Search Match, App Store placements, custom product pages, bidding, budgets, MMP reconciliation, and policy. Use for Apple Ads, Apple Search Ads, App Store ads, Search Match, custom product pages, AdServicesskills/ads-appleads-attributionAudit cross-platform attribution, conversion definitions, reporting windows, GA4, AdServices and AdAttributionKit, MMPs, browser and server events, offline conversions, and platform reconciliation. Use for attribution audit, attribution models, conversion windows, requests to add or total Meta and Gskills/ads-attributionads-auditRun a source-grounded paid-advertising audit for one or more of Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Use for full ad checks, account health reviews, paid-media diagnostics, partial audits after authentication or worker failure, missinskills/ads-auditads-budgetPlan and review paid-media budgets, bidding, pacing, marginal return, targets, constraints, and allocation across supported platforms. Use for ad budget allocation, media budget, bidding strategy, scaling, spend pacing, ROAS target, or investment tradeoffs. Use ads-math for calculations and forecastskills/ads-budgetads-competitorResearch competitor paid-ad presence, messaging, creative, formats, landing pages, keyword and auction signals, transparent ad libraries, and strategic gaps across supported platforms. Use for competitor ads, ad libraries, ad spy, competitive PPC analysis, competitor creative, Google Ads Transparencskills/ads-competitorads-createCreate source-grounded paid-ad campaign concepts, messaging, copy, creative briefs, and production plans from a validated brand profile, campaign objective, platform requirements, and optional audit evidence. Triggers on: campaign brief, campaign concepts, create a campaign, ad concepts, ad copy, adskills/ads-createads-creativeAudit paid-ad copy, images, video, hooks, concepts, format coverage, platform-native fit, message match, creative fatigue, accessibility, and policy across supported platforms. Use for creative audit, ad creative, creative fatigue, creative diversity, ad copy review, video review, image review, or pskills/ads-creativeads-dnaExtract a public-safe brand and offer profile for paid advertising from an authorized website and operator input. Triggers on: brand DNA, brand profile, brand identity, brand style, brand colors, brand voice, visual identity, style guide, website brand analysis.skills/ads-dnaads-generateGenerate paid-ad image assets from a validated creative brief and brand profile using an explicitly configured image provider. Triggers on: generate ads, generate ad images, create ad creatives, create ad images, make ad images, generate visuals, make campaign visuals, generate images from campaign skills/ads-generateads-googleAudit Google Ads measurement, Search, Shopping, Performance Max, Demand Gen, YouTube-linked inventory, keywords and search terms, negative-keyword generation or review, creative assets, bidding, budgets, settings, and policy. Use for Google Ads, AdWords, Search campaigns, search terms reports, broadskills/ads-googleads-landingAudit paid-ad landing pages for message match, mobile experience, performance, accessibility, trust, forms, consent, tracking, security, and conversion friction. Use for landing-page audit, post-click experience, LP audit, conversion-rate optimization, form optimization, ad-to-page message match, reskills/ads-landingads-launchDraft or explicitly apply a paid-ad campaign launch through Claude Ads capability-gated adapters. Use for campaign creation, launch plans, publishing ads, activating campaigns, uploading creative, or requests to push a campaign live.skills/ads-launchads-linkedinAudit LinkedIn Ads measurement, Insight Tag and conversions, professional audiences, lead generation, ABM, creative, bidding, budgets, pacing, automation, and policy. Use for LinkedIn Ads, Campaign Manager, Insight Tag, Lead Gen Forms, Thought Leader Ads, ABM campaigns, or B2B paid media.skills/ads-linkedinads-mathCalculate and model paid-media CPA, CPL, CPC, CPM, ROAS, MER, break-even targets, contribution margin, LTV:CAC, impression-share opportunity, budgets, forecasts, and experiment economics. Use for PPC math, ad calculator, break-even analysis, ROAS calculator, CPA calculator, budget forecast, LTV CAC,skills/ads-mathads-metaAudit Meta Ads measurement, Pixel and Events Manager, attribution, Facebook and Instagram creative, audiences, placements, automation, budgets, account structure, and policy. Use for Meta Ads, Facebook Ads, Instagram Ads, Advantage+, Pixel, Events Manager, or Meta account structure. Read-only; use askills/ads-metaads-microsoftAudit Microsoft Advertising measurement, UET, search and audience campaigns, Google imports, syndication, keywords, creative, bidding, budgets, Copilot inventory, and policy. Use for Microsoft Ads, Bing Ads, UET, Microsoft Audience Network, or Google Ads import. Read-only; use ads-optimize to changeskills/ads-microsoftads-monitorMonitor paid-ad account pacing, delivery, performance, creative fatigue, tracking, policy, and data quality across supported platforms. Use for daily or weekly checks, anomaly review, budget pacing, post-launch verification, or campaign monitoring.skills/ads-monitorads-optimizeDiagnose and draft or explicitly apply paid-ad optimizations using evidence, financial constraints, experiments, and capability-gated adapters. Use for campaign optimization, budget reallocation, bid changes, pausing or archiving ads, requests to delete campaigns, search-term or negative-keyword actskills/ads-optimizeads-photoshootGenerate rights-cleared paid-ad product photography variants from an authorized source image and validated brand profile. Triggers on: product photo, product photography, virtual photoshoot, photoshoot, enhance product image, studio shot, lifestyle shot, lifestyle product image, floating product imaskills/ads-photoshootads-pinterestAudit Pinterest Ads measurement, Pinterest Tag and Conversions API, catalog and shopping readiness, visual creative, audiences, Performance+ intent, budgets, brand safety, and reporting. Use for Pinterest Ads, promoted Pins, shopping ads, catalog sales, Pinterest Tag, Pinterest Conversions API, or Pskills/ads-pinterestads-planCreate a professional paid-advertising strategy covering objectives, economics, platform selection, campaign architecture, audiences, budget, creative, measurement, experiments, governance, rollout, and reporting. Use for ad plan, media plan, PPC strategy, paid-social strategy, campaign architectureskills/ads-planads-redditAudit Reddit Ads measurement, campaign structure, community and interest targeting, creative-native fit, catalog advertising, budgets, brand safety, and reporting. Use for Reddit Ads, conversation ads, community targeting, Reddit Pixel, Reddit Conversions API, or Reddit dynamic product ads.skills/ads-redditads-reportRender Markdown, HTML, or PDF paid-advertising reports from a validated Claude Ads JSON run bundle. Use for ads report, client report, audit PDF, executive audience reporting, or exporting prior audit and plan results.skills/ads-reportads-researchRefresh Claude Ads platform, API, policy, regulation, benchmark, issue, pull-request, fork, and repository evidence. Use for ads research refresh, expired refresh_due dates, stale API or platform claims, reverify-or-demote decisions, release-current claim validation, ecosystem review, current platfoskills/ads-researchads-server-side-trackingAudit server-side paid-media measurement including server-side tag management, platform conversion APIs, event taxonomy, browser/server deduplication, consent, hashing, data quality, observability, and privacy. Use for server-side tracking, sGTM, server-side tagging, Meta CAPI, TikTok Events API, evskills/ads-server-side-trackingads-setupSet up a paid-media client, account, data-source, privacy, and mutation-guardrail profile for Claude Ads. Use for onboarding, initial configuration, API tokens or credential profiles, environment-variable or keychain setup, connecting exports or read adapters, safe native or verified-local installatskills/ads-setupads-snapchatAudit Snapchat Ads measurement, Snap Pixel and Conversions API, mobile and app campaigns, creative, AR and catalog formats, audiences, budgets, brand safety, and reporting. Use for Snapchat Ads, Snap Ads, Snap Pixel, Snapchat Conversions API, AR Lens ads, app-install campaigns, or Snapchat dynamic pskills/ads-snapchatads-testDesign and evaluate paid-ad experiments with hypotheses, randomization units, sample-size and duration assumptions, guardrails, platform experiment tools, analysis, and decision rules. Use for A/B test, split test, experiment design, hypothesis, statistical significance, sample size, test duration, skills/ads-testads-tiktokAudit TikTok Ads measurement, Pixel, mobile-first creative, audiences, Smart+, Shop and commerce campaigns, bidding, budgets, pacing, attribution, and policy. Use for TikTok Ads, TikTok Pixel, Smart+, TikTok Shop Ads, GMV Max, or Spark Ads. Read-only; use ads-server-side-tracking for server-side eveskills/ads-tiktokads-validateValidate Claude Ads contracts, scoring inputs, run bundles, capabilities, source freshness, safety, installation, uninstall, or release readiness. Use for ads validate, ads status, ads next, maturity checks, ownership-manifest uninstall, preserving unrelated ads-* skills, checksum verification, prefskills/ads-validateads-xAudit X Ads measurement, X Pixel and Conversions API, campaign objectives, keyword and conversation targeting, creative, budgets, brand safety, app measurement, and reporting. Use for X Ads, Twitter Ads, promoted posts, X Pixel, X Conversions API, conversation targeting, or paid campaigns on X.skills/ads-xads-youtubeAudit YouTube Ads campaign setup, video inventory, Shorts, in-stream, CTV, creative, audiences, brand safety, bidding, and measurement. Use for YouTube Ads, video ads, pre-roll, bumper ads, skippable in-stream, Shorts ads, VAC migration, or CTV. Read-only; use ads-google for Google-managed campaign skills/ads-youtube

Documentation

README

View on GitHub ↗

Claude Ads: every ad account, one command line

Claude Ads

Claude Ads is a free, open source skill for Claude Code. Give it your ad account data and it tells you what is working, what is broken, and what to fix first, across twelve ad platforms.

It is made for agencies, consultants, and in-house marketing teams. It reads your data and reports back. It does not change your accounts on its own.

[!NOTE] You can get Claude Ads from two places: the public release at AgriciDaniel/claude-ads (MIT licensed, no membership needed), and the community mirror at AI-Marketing-Hub/claude-ads, where AI Marketing Hub Pro members get early access and direct collaboration.

Quickstart

  1. Install (see Installation): /plugin marketplace add agricidaniel/claude-ads, then /plugin install claude-ads@ai-marketing-hub-claude-ads.
  2. Run /ads setup and answer a few questions: your business model, goal, main conversion, monthly spend, active platforms, and who approves changes. Never paste API keys or tokens.
  3. Bring evidence: an account export (CSV or JSON), screenshots, or a pasted summary with its date range, currency, and timezone.
  4. Run /ads audit google (or /ads audit all). You get a report that states what passed, what failed, and what is missing.
  5. Run /ads report to see a past run again, and /ads next to see the most important blocker.

Three steps: tell it about your business, give it your data, then read the audit

What you can do

You want to Run You get
Find out what is wrong /ads audit A report of passed, failed, and unchecked items, each with its evidence
Decide where to spend /ads plan Channel, budget, measurement, and competitor plans
Make ads /ads create Copy, image, video, and product-photo briefs and assets
Keep watch /ads monitor Checks on pacing, delivery, tracking, ad fatigue, and policy
Improve results /ads optimize --draft Suggested changes, written as drafts
Test an idea /ads experiment A test design, or a readout of a finished test

Platforms

Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat and X

Each platform has its own focused skill, audit worker, control reference, and capability declaration. The capability manifest is the authoritative record of what can be read or changed live.

Commands

Standalone installs use /ads. Claude Code plugins are namespaced and use /claude-ads:ads. Both load the same ads/SKILL.md contract.

Command What it does
/ads setup Save your client, account, goal, privacy, and guardrail profile
/ads audit [all|platform|scope] Run a full or scoped audit backed by evidence
/ads plan Build channel, campaign, budget, competitor, and measurement plans
/ads create Produce copy, image, video, or product-photo assets
/ads launch --draft Draft a campaign change plan without touching the account
/ads monitor Review pacing, delivery, tracking, fatigue, policy, and performance
/ads optimize --draft Draft evidence-backed improvements
/ads experiment Design or read out a controlled test
/ads report Render a saved run as Markdown, HTML, or PDF
/ads research refresh Refresh platform, policy, API, and benchmark evidence
/ads validate Check contracts, runs, capabilities, or release readiness
/ads status, /ads next Show where things stand and the most important blocker

Platform shortcuts such as /ads google, /ads meta, /ads amazon, and /ads reddit go straight to that platform's audit.

Built to be trusted

Read only by default, evidence for every finding, honest about gaps, and your data stays yours

Every check ends in one of four results: pass, fail, unknown, or not_applicable. Unknown is a real answer. It means the data was missing, and it is never guessed.

Claude Ads Cockpit (optional)

Cockpit is a separate, optional companion (version 0.1.0, plugin ID ads-cockpit). /ads-cockpit opens a local workbench where you can look through a finished audit: its status, evidence, missing inputs, comparisons with an earlier run, and report receipts. A built-in demo with synthetic data lets you try it without any account.

Task counts stay separate from health scores, and every scoring profile in the scoring manifest stays disabled. See the Cockpit guide and its compatibility and acceptance limits.

Installation

Claude Code is the canonical runtime. Codex, Gemini, Cursor, Windsurf, Goose, and compatible Agent Skills hosts can consume the same skill files where their runtime supports them.

Prefer the host's native plugin flow or a tagged release archive with a verified SHA-256 checksum. Never pipe a remote installer directly to a shell.

For Claude Code, the native plugin flow is:

/plugin marketplace add agricidaniel/claude-ads
/plugin install claude-ads@ai-marketing-hub-claude-ads

If you added this marketplace before v2.0.0, Claude Code still holds it under the stale local alias agricidaniel-claude-ads. Remove that alias, then re-add and install:

/plugin marketplace remove agricidaniel-claude-ads
/plugin marketplace add agricidaniel/claude-ads
/plugin install claude-ads@ai-marketing-hub-claude-ads

Managed dependencies require CPython 3.11 or 3.12. Linux x86_64 requires glibc 2.28 or later; musl is unsupported. macOS 11 x86_64/arm64 and Windows amd64 remain declared wheel targets and require native CI qualification. CI checks the Linux minimum in an AlmaLinux 8 glibc 2.28 container with both supported interpreters. This checks Python wheels and the managed CLI lifecycle; browser payloads and PDF system libraries require separate host verification.

Or install from a local clone of the public repository:

git clone https://github.com/AgriciDaniel/claude-ads.git
cd claude-ads
bash install.sh --source=local

Select another standalone host explicitly:

bash install.sh --target=codex --source=local
bash install.sh --target=gemini --source=local --no-deps

[!WARNING] EXPERIMENTAL: Only Claude Code is verified. The Codex, Gemini, Cursor, Windsurf, and Goose targets install the same skill artifacts under each host's expected directory, but that host's runtime conventions may differ. Confirm the result in your host, and pin the install locations with --skill-dir and --agent-dir if the auto-detected paths are wrong. The installer creates the managed Python environment only for the claude and codex targets.

--source=git (the default when the installer is run outside a checkout) clones the default branch HEAD, which is unpinned and is not a verified release. Prefer --source=local from a checkout you have reviewed, or a release archive.

To pin a git install, add the opt-in --ref option (PowerShell: -Ref) with a tag, branch, or commit. It is valid only with --source=git. The installer validates the value strictly, checks it out detached, prints the resolved full commit SHA, and fails before installing anything if the ref does not resolve:

bash install.sh --source=git --ref=v2.1.0

A git ref is not a checksum-verified release, and nothing here is signed. A release zip checked with the SHA256SUMS recipe below remains the verified path.

PowerShell uses the same managed ownership model:

git clone https://github.com/AgriciDaniel/claude-ads.git
Set-Location claude-ads
.\install.ps1 -Source local

Verify a release archive before using it. Each GitHub release publishes the zip, release-manifest.json, sbom.cdx.json, and a SHA256SUMS file. Releases are checksummed, not signed, so a checksum confirms the files match what the release published and is not an independent proof of origin. Download all four files into one empty directory, then run:

sha256sum -c SHA256SUMS      # macOS: shasum -a 256 -c SHA256SUMS

Every line must report OK before you unzip and run bash install.sh --source=local from the extracted folder.

Managed dependencies support CPython 3.11 and 3.12 on the declared Linux, macOS, and Windows wheel matrix. Unsupported interpreters fail before the destination changes. Use --no-deps or -NoDeps for a skill-only install.

Browser capture requires an operator-installed Playwright browser payload. PDF rendering requires the host's WeasyPrint and Pango system libraries. These are documented in the external runtime dependency manifest.

Uninstall only manifest-owned files:

bash uninstall.sh --target=claude

The PowerShell equivalent is uninstall.ps1.

The Bash and PowerShell skill installers do not enable or load Cockpit. Its optional plugin has its own marketplace entry and curated archive, and requires an explicitly bound trusted core and Python executable. Installing the main skill alone preserves the existing experience.

Project status

[!IMPORTANT] Status: development candidate. Claude Ads is not release-ready until every gate in control-plane/RELEASE_REQUIREMENTS.md passes in a fresh verification context.

  • All twelve account-health scoring profiles are disabled, so no health score is produced. Audits report findings, unknowns, and evidence coverage instead.
  • The Cockpit companion is optional and not yet natively accepted; see its compatibility and acceptance limits.
  • Account changes stay drafts unless the full mutation gate passes.

For engineers and contributors

How it is built, how scoring works, safety gates, and how to run the tests

Architecture

One conductor owns scope, policy, aggregation, and final artifacts. Workers analyze bounded slices and return schema-valid findings. Required-worker failure makes the run partial. It is never silently presented as a complete audit.

Agent definitions omit model pins. The host or invocation selects the model; Claude Code inherits the main conversation's model when no higher-priority selection applies. See the official subagent model documentation.

The canonical result is versioned JSON. Markdown, HTML, and PDF are renderings of the same validated run bundle.

Scoring and evidence

Controls use pass, fail, unknown, or not_applicable.

  • Health, evidence coverage, regulatory exposure, and opportunities stay separate.
  • Unknown controls reduce evidence coverage without changing known health.
  • Coverage of 80% or more is graded, 60 to 79% is provisional, and below 60% is insufficient evidence.
  • Optional, beta, premium, unavailable, and ineligible features stay unscored.
  • A disabled or unapproved platform profile produces no health score.
  • A failed platform is excluded from portfolio scoring and makes the run partial.

See the scoring reference and production implementation in claude_ads_core/scoring.py.

Account safety

All adapters are read-only by default. Applying a change requires:

  1. A tested and enabled capability for the exact operation.
  2. Explicit account and object IDs.
  3. A human-readable before and after diff with blast radius.
  4. Owner approval within account-defined ceilings.
  5. An idempotency key, audit destination, rollback, and verification window.
  6. Verification that remote state still matches the mutation precondition.

Missing ceilings mean no write. Permanent deletion is not supported in v2. Credentials belong in environment variables, an OS keychain, or an approved secret manager. They never belong in the repository, profiles, reports, or logs.

Evidence and release controls

The public-safe control-plane/ records product boundaries, dated sources, claims, capabilities, safety rules, privacy rules, ecosystem decisions, and release requirements.

  • No source means no current platform claim.
  • No implementation, fixture, and test means no capability claim.
  • No approval and rollback means no account mutation.
  • No independent verification means no release.

See the release requirements and publishing policy.

The MIT public distribution and private development/community repository have separate publication boundaries. Local verification does not authorize a new release, a visibility change, or publication of private review evidence.

Runtime commands locate policy beside the source checkout or in the curated standalone installation. Use --policy-root ROOT for another explicit policy location. status and next retain --root ROOT as a compatibility alias; commands never select policy from an unrelated working directory. Repository audit and release helpers require a source checkout.

Public scoring uses the canonical registry. Legacy control and category-weight inputs are accepted only when they exactly match approved policy. Report status and rendering reject fabricated health or incompatible historical bundles; regenerate those bundles using the current registry. All twelve production health profiles remain disabled, returning null health and zero approved coverage until a severity and weight policy is approved.

Development

Create a virtual environment and run the complete suite:

python3.12 -m venv .venv
.venv/bin/python -m pip install --no-deps -e .
.venv/bin/python -m pip install --require-hashes --only-binary=:all: -r requirements.lock
.venv/bin/python -m pip install --require-hashes --only-binary=:all: -r requirements-dev.lock
.venv/bin/python -m pip install --require-hashes --only-binary=:all: -r .github/requirements-schema-tests.lock
.venv/bin/python -m pip check
.venv/bin/python -m pytest -q

Useful focused checks:

python -m claude_ads_core --version
python -m claude_ads_core validate finding path/to/finding.json
bash -n install.sh uninstall.sh

Reference documents

Repository map

ads/                  main skill, interface metadata, and shared references
skills/               platform and lifecycle skills
agents/               platform, cross-platform, research, and verifier workers
claude_ads_core/      typed contracts, adapters, validation, and scoring
control-plane/        evidence, capability, safety, maturity, and release state
scripts/              browser, creative, reporting, and release helpers
evals/                routing and behavioral evaluation cases
tests/                deterministic, security, installer, and adapter tests

Contributing

Found a problem or have an idea? See CONTRIBUTING.md.

Thank you to everyone who has reported issues and proposed fixes: @aleps001, @bq9kpv2h98-max, @haruntekin89, @reikjarloekl, @osilova, @Nath24591, @sistemasond-ux, @principisimone-sys, @HarKro753, @plcosta, @ulises2k, @kutzki, @SamaEducationalCo, @Bortlesboat, @gabbyran2026-gif, @AbundantASG, @hendrixfreire, @josefresco, @dead-simba, @c6zks4gssn-droid, @kershrita, @popey, @xiaolai, @seojcarlos, @botbikamordehai2-sketch. What each person contributed is listed in CONTRIBUTING.md.

Privacy

Client data, raw private research, captured prompts, credentials, account exports, and agent transcripts never belong in Git history, reports, or release archives. Keep credentials in environment variables, an OS keychain, or an approved secret manager.

License

Original Claude Ads code and documentation are available under the MIT License. Third-party APIs, trademarks, documentation, and cited artifacts remain subject to their own terms. Review the source ledger and third-party notices before importing external work.

Releases

Recent versions

All releases ↗
  1. v2.1.0v2.1.0: Cockpit companion, routing, evidence and installer updates
  2. v2.0.2v2.0.2: report safety, platform fixes, and installer improvements
  3. v2.0.1v2.0.1: public mirror release
  4. v2.0.0v2.0.0: 12-platform paid-media operating skill
  5. v1.8.1v1.8.1 — docs + metadata patch
  6. v1.8.0v1.8.0 — Wave 3: +91 checks, regulatory-compliance agent, agentic-era references