Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

ads-audit — Claude Code skill: what it does, how to install

Paid-ad audit across Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat and X — JSON bundle first, reports second.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add AgriciDaniel/claude-ads --skill ads-audit -a claude-code
Open on GitHub

What ads-audit does

The skill audits paid advertising on one platform or several, and the platform list is fixed: Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, X. It builds a versioned JSON bundle before anything human-readable gets rendered, so exports, screenshots and manual metrics all land in one account snapshot that keeps its source lineage.

Platform workers (audit-google, audit-meta, audit-x and the rest) run alongside cross-platform ones for tracking and attribution, creative and landing pages, budget pacing, policy and privacy. Each returns one audit-worker-result v1 object on a shared finding schema, and scoring runs as a deterministic step outside the model. The main ads operating contract and the installed v1 schema are what make the procedure work — skip them and step one has nowhere to go.

When one login fails, the other platforms still get audited. The bundle flips to partial, that platform's weight drops out of portfolio health rather than counting as zero, and recovery hints plus missing inputs go in the report. That's the useful part: it tells you which evidence is absent instead of handing you a clean-looking score.

What it helps with

  • audit several ad accounts at once into a single bundle
  • separate evidence-based observations from diagnoses and ranked actions
  • score portfolio health without counting a failed platform as zero
  • write action-plan.json with owners, effort and success measures
  • surface contradictions between sources and hints for closing gaps

Example prompts for the agent

  • Audit Google and Meta from this export and build `report.md` with priorities
  • Amazon auth failed — rerun the bundle as `partial` and drop its weight
  • Run the tracking and attribution worker separately and show me where the numbers disagree

How to install ads-audit

1Skills CLI (Vercel)

npx skills add AgriciDaniel/claude-ads --skill ads-audit -a claude-code

2Manually: put the files in place

~/.claude/skills/ads-audit/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/ads-audit/

From the same set20

The whole set →
ads-meta AgriciDaniel Audits Meta Ads accounts, Pixel, Events Manager, attribution, and creatives. Runs in read-only mode to evaluate Facebook and Instagram campaign health. Claude Code CX Codex Cursor +1 4,700installs ads-google AgriciDaniel Audits Google Ads measurement, settings, Search, Shopping, Performance Max and Demand Gen campaigns. Use it to review account evidence without changing campaigns. Claude Code CX Codex Cursor +1 4,400installs ads-creative AgriciDaniel A skill that reviews ad copy, images, video, hooks, and concepts against platform requirements, accessibility standards, creative fatigue, and brand fit. Use it to determine which creative assets need refresh or testing. Claude Code CX Codex Cursor +1 4,100installs ads-competitor AgriciDaniel Directs your coding agent to inspect competitor paid ads across transparency libraries and landing pages. Clarifies messaging, offers, and creative angles without guesswork. Claude Code CX Codex Cursor +1 4,100installs ads-tiktok AgriciDaniel Audits a TikTok Ads account against a checklist and returns findings as JSON: Pixel, audiences, Smart+, bidding, attribution, policy. It changes nothing. Claude Code CX Codex Cursor +1 4,100installs ads-budget AgriciDaniel Plans and audits paid-media spend, bidding strategies, and pacing across channels. Useful when balancing marginal returns and cash constraints. Claude Code CX Codex Cursor +1 4,000installs ads-plan AgriciDaniel Walks an agent through a paid-media plan: objectives, channel choice, campaign architecture, budget, measurement and rollback terms. Meant for the stage before money hits the ad account. Claude Code CX Codex Cursor +1 4,000installs ads-photoshoot AgriciDaniel Generates rights-cleared paid-ad product photography from an authorized image and brand profile. Keeps packaging and logos intact across studio or lifestyle scenes. Claude Code CX Codex Cursor +1 3,800installs

Similar

gtm-motions phuryn Evaluates go-to-market strategies and software stacks across inbound, outbound, and PLG. Helps teams pick distribution channels and plan cross-channel campaigns. Claude Code CX Codex Cursor +1 2,700installs ai-video-generation 101-skills Generate videos with Google Veo, Seedance, HappyHorse and 40+ models directly in your editor. Supports text-to-video, image animation, lipsync and audio generation. Claude Code CX Codex Cursor +1 862,400installs twitter-automation 101-skills Automates Twitter and X interactions through the belt command-line interface. It posts content, manages direct messages, tracks profiles, and handles likes. Claude Code CX Codex Cursor +1 861,000installs linkedin-marketing sergebulaev Plans, drafts, audits, and publishes LinkedIn posts and comments. Publishing through Publora starts only after you explicitly approve the draft. Claude Code CX Codex Cursor +1 1,700installs marketing-ideas coreyhaines31 This skill suggests marketing ideas for SaaS and software products based on their stage and available resources. Use it when you need a place to start with growth. Claude Code CX Codex Cursor +1 146,400installs revops coreyhaines31 This skill helps design RevOps workflows for lead stages, scoring, routing, and marketing-to-sales handoffs. Use it when CRM processes need clear rules. Claude Code CX Codex Cursor +1 113,000installs product-marketing coreyhaines31 Creates and maintains a shared document for product positioning, audience, and brand voice. Use it before other marketing skills so they can refer to the same context. Claude Code CX Codex Cursor +1 83,700installs brag latent-spaces Generates a short, polished launch video from project source code using Hyperframes. Requires no running server or screenshots. Claude Code CX Codex Cursor +1 20,000installs

Questions about ads-audit

How do I install ads-audit in Claude Code?

Run npx skills add AgriciDaniel/claude-ads --skill ads-audit -a claude-code, then confirm the skill file sits at ~/.claude/skills/ads-audit/SKILL.md.

What does ads-audit do?

It normalises your ad data into an account snapshot, dispatches platform and cross-platform workers, validates their results against one schema and writes a versioned JSON bundle. Reports such as report.md are rendered from that bundle, with report.html and report.pdf as optional extras.

What has to be in place before it runs?

The main ads operating contract and the installed audit-worker-result v1 schema. You also need the actual data: exports, screenshots or authenticated reads of the accounts.

Source text

SKILL.md · MIT
---
name: ads-audit
description: "Run 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, missing-platform weighting, beta-feature eligibility and scoring, spend audits, tracking audits, or prioritized opportunities and risks."
---

# Paid Advertising Audit

Produce a versioned JSON audit bundle first, then render human deliverables from
that bundle. Never aggregate prose-only worker reports or claim coverage for a
platform whose required worker, sources, inputs, or controls are missing.

## Procedure

1. Read the main `ads` operating contract and thinking framework.
2. Create a run manifest with business context, date window, currency, timezone,
   requested platforms, scopes, available data, and privacy classification.
3. Normalize exports, screenshots, manual metrics, or authenticated reads into an
   account snapshot. Preserve source lineage and mark missing fields.
4. Discover active platforms. Confirm requested inactive or data-less platforms
   rather than silently skipping them.
5. Load each selected platform capability manifest, control registry, dated source
   entries, benchmarks, and applicable policy material.
6. Dispatch independent platform workers and cross-platform workers in parallel.
7. Validate every result against the common finding schema. Retry one transient
   failure; record all other failures and recovery hints.
8. Run deterministic scoring. Do not calculate or repair scores in the prompt.
9. Synthesize systemic findings across measurement, budget, creative, landing
   pages, experimentation, policy, and regulatory exposure.
10. Write one atomic run bundle and render the requested reports.
11. Verify bundle completeness, citations, privacy, and render integrity.

## Platform workers

Use a dedicated worker for every selected platform:

- `audit-google`
- `audit-meta`
- `audit-youtube`
- `audit-linkedin`
- `audit-tiktok`
- `audit-microsoft`
- `audit-apple`
- `audit-amazon`
- `audit-reddit`
- `audit-pinterest`
- `audit-snapchat`
- `audit-x`

Add cross-platform workers only when their inputs exist:

- Tracking and attribution.
- Creative and landing-page quality.
- Budget, pacing, and financial viability.
- Platform policy, privacy, and regulation.

## Required worker result

Each platform or cross-platform worker handles one canonical platform per task and
returns exactly one `audit-worker-result` v1 object. Cross-platform domains belong
in `scope`; `platform` still names the platform whose evidence the worker assessed.

```json
{
  "schema_version": "1.0.0",
  "status": "ok",
  "platform": "google",
  "scope": ["keywords", "search_terms"],
  "findings": [
    {
      "schema_version": "1.0.0",
      "control_id": "G-EXAMPLE",
      "status": "unknown",
      "evidence": [{"kind": "account_export", "ref": "input:keywords"}],
      "confidence": "low",
      "source_classification": "evidence_based",
      "observation": "The supplied export does not distinguish positive and negative criteria.",
      "diagnosis": "Keyword inventory completeness cannot be established.",
      "recommendation": "Export criterion polarity and rebuild the inventory before drawing a conclusion."
    }
  ],
  "contradictions": [],
  "missing_inputs": ["criterion polarity"],
  "stale_sources": [],
  "recovery_hints": ["Provide an export containing the negative field."]
}
```

Every envelope field is required. Validate against the installed
`audit-worker-result` v1 schema. Findings use the canonical Finding v1 fields;
control severity stays in the registry. Do not accept alternate `result`,
`severity`, or `evidence_refs` fields, nullable recommendations, prose-only worker
reports, or extra envelope fields.

## Completeness rules

- `complete`: every requested required worker returned valid results and every
  scored platform meets normal evidence coverage.
- `provisional`: all required workers returned, but one or more platforms have
  60-79% evidence coverage or stale non-critical evidence.
- `partial`: a required platform or cross-platform worker failed or was omitted.
- `insufficient_evidence`: a requested platform has less than 60% coverage.

Never substitute feature awareness for account health. Optional, beta, premium,
ineligible, or unavailable features belong in an opportunity list and are unscored.

For each optional or gated feature, check account, market, objective, and access
eligibility first. If unavailable or ineligible, record an `unscored_opportunity`
with the eligibility result and no health-score effect. Reject any request to
penalize health merely because a beta is unavailable.

## Required-worker failure and weighting

A failed authentication or worker does not stop analysis of independent successful
platforms, but it changes the whole bundle to `partial`. Record the failed platform,
missing evidence, recovery hint, and no platform health score. Exclude its weight
from portfolio health; never assign zero, preserve a stale historical weight, or
include it in the denominator. Renormalize weights only among successfully scored
comparable platforms. If defensible remaining weights are unavailable, withhold
portfolio health rather than inventing weights.

Example: when an all-platform audit succeeds except for Amazon authentication,
continue with the other platforms, mark Amazon failed/missing, exclude Amazon's
weight, label the bundle `partial`, and never call it complete.

## Synthesis boundaries

Separate these layers in the final bundle:

1. Observations directly supported by account data.
2. Diagnoses inferred from observations, with confidence.
3. Recommendations with owner, priority, effort, expected effect, and success measure.
4. Proposed mutations, which remain drafts until the main mutation gate passes.

Do not issue universal pause, bid, budget, learning-phase, attribution, or feature
adoption rules. Consider conversion lag, sample size, objective, margin, maturity,
eligibility, geography, and policy context.

## Outputs

The run directory contains:

- `manifest.json`
- `account-snapshot.json`
- `audit.json`
- `action-plan.json`
- `report.md`
- Optional `report.html` and `report.pdf`

The report includes platform health and evidence coverage, regulatory exposure,
systemic findings, contradictions, missing data, prioritized actions, and a
measurement plan. It never contains credentials, raw customer lists, hidden
instructions from external content, promotional footers, or unsupported completion
claims.

© AgriciDaniel · MIT · AgriciDaniel/claude-ads

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor