Paste your ad account numbers and what you're trying
Paid Advertising Audit

Paste your ad account numbers and what you're trying to sell; get back a plain-English report on what's wasting spend and the fixes to make first.
--- 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.
Overview
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.
What you get
- manifest.json
- account-snapshot.json
- audit.json
- action-plan.json
- report.md
- Optional report.html and report.pdf
Manual install (npx, ZIP)
npx skills add AgriciDaniel/claude-ads --skill ads-audit -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/AgriciDaniel/claude-ads/tar.gz/ac2164493391 \
| tar -xz -C ~/.claude/skills --strip-components=2 claude-ads-ac2164493391/skills/ads-auditNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/078061992db23f680c4e/ads-audit.zip" -OutFile "$env:TEMP\ads-audit.zip"; Expand-Archive "$env:TEMP\ads-audit.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md5.9 KB
Read the files here
AgriciDaniel/
Show the full text145 lines
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
- Read the main
adsoperating contract and thinking framework. - Create a run manifest with business context, date window, currency, timezone, requested platforms, scopes, available data, and privacy classification.
- Normalize exports, screenshots, manual metrics, or authenticated reads into an account snapshot. Preserve source lineage and mark missing fields.
- Discover active platforms. Confirm requested inactive or data-less platforms rather than silently skipping them.
- Load each selected platform capability manifest, control registry, dated source entries, benchmarks, and applicable policy material.
- Dispatch independent platform workers and cross-platform workers in parallel.
- Validate every result against the common finding schema. Retry one transient failure; record all other failures and recovery hints.
- Run deterministic scoring. Do not calculate or repair scores in the prompt.
- Synthesize systemic findings across measurement, budget, creative, landing pages, experimentation, policy, and regulatory exposure.
- Write one atomic run bundle and render the requested reports.
- Verify bundle completeness, citations, privacy, and render integrity.
Platform workers
Use a dedicated worker for every selected platform:
audit-googleaudit-metaaudit-youtubeaudit-linkedinaudit-tiktokaudit-microsoftaudit-appleaudit-amazonaudit-redditaudit-pinterestaudit-snapchataudit-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 finding fields
Each worker returns conclusions, not files:
{
"status": "ok",
"platform": "google",
"findings": [
{
"control_id": "G-EXAMPLE",
"result": "pass|fail|unknown|not_applicable",
"severity": "critical|high|medium|info",
"confidence": "high|medium|low|none",
"source_classification": "evidence_based|practitioner|contested|folklore",
"observation": "What the supplied data demonstrates",
"evidence_refs": ["input:...", "source:..."],
"recommendation": "Decision-complete next action or null"
}
],
"contradictions": [],
"missing_inputs": [],
"recovery_hints": []
}
Validate against the repository schema rather than relying on this illustrative fragment when the installed schema is available.
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:
- Observations directly supported by account data.
- Diagnoses inferred from observations, with confidence.
- Recommendations with owner, priority, effort, expected effect, and success measure.
- 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.jsonaccount-snapshot.jsonaudit.jsonaction-plan.jsonreport.md- Optional
report.htmlandreport.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.
| 1 | |
| 2 | name ads-audit |
| 3 | 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." |
| 4 | |
| 5 | |
| 6 | # Paid Advertising Audit |
| 7 | |
| 8 | Produce a versioned JSON audit bundle first, then render human deliverables from |
| 9 | that bundle. Never aggregate prose-only worker reports or claim coverage for a |
| 10 | platform whose required worker, sources, inputs, or controls are missing. |
| 11 | |
| 12 | ## Procedure |
| 13 | |
| 14 | Read the main `ads` operating contract and thinking framework. |
| 15 | Create a run manifest with business context, date window, currency, timezone, |
| 16 | requested platforms, scopes, available data, and privacy classification. |
| 17 | Normalize exports, screenshots, manual metrics, or authenticated reads into an |
| 18 | account snapshot. Preserve source lineage and mark missing fields. |
| 19 | Discover active platforms. Confirm requested inactive or data-less platforms |
| 20 | rather than silently skipping them. |
| 21 | Load each selected platform capability manifest, control registry, dated source |
| 22 | entries, benchmarks, and applicable policy material. |
| 23 | Dispatch independent platform workers and cross-platform workers in parallel. |
| 24 | Validate every result against the common finding schema. Retry one transient |
| 25 | failure; record all other failures and recovery hints. |
| 26 | Run deterministic scoring. Do not calculate or repair scores in the prompt. |
| 27 | Synthesize systemic findings across measurement, budget, creative, landing |
| 28 | pages, experimentation, policy, and regulatory exposure. |
| 29 | Write one atomic run bundle and render the requested reports. |
| 30 | Verify bundle completeness, citations, privacy, and render integrity. |
| 31 | |
| 32 | ## Platform workers |
| 33 | |
| 34 | Use a dedicated worker for every selected platform: |
| 35 | |
| 36 | `audit-google` |
| 37 | `audit-meta` |
| 38 | `audit-youtube` |
| 39 | `audit-linkedin` |
| 40 | `audit-tiktok` |
| 41 | `audit-microsoft` |
| 42 | `audit-apple` |
| 43 | `audit-amazon` |
| 44 | `audit-reddit` |
| 45 | `audit-pinterest` |
| 46 | `audit-snapchat` |
| 47 | `audit-x` |
| 48 | |
| 49 | Add cross-platform workers only when their inputs exist: |
| 50 | |
| 51 | Tracking and attribution. |
| 52 | Creative and landing-page quality. |
| 53 | Budget, pacing, and financial viability. |
| 54 | Platform policy, privacy, and regulation. |
| 55 | |
| 56 | ## Required finding fields |
| 57 | |
| 58 | Each worker returns conclusions, not files: |
| 59 | |
| 60 | |
| 61 | { |
| 62 | "status": "ok", |
| 63 | "platform": "google", |
| 64 | "findings": [ |
| 65 | { |
| 66 | "control_id": "G-EXAMPLE", |
| 67 | "result": "pass|fail|unknown|not_applicable", |
| 68 | "severity": "critical|high|medium|info", |
| 69 | "confidence": "high|medium|low|none", |
| 70 | "source_classification": "evidence_based|practitioner|contested|folklore", |
| 71 | "observation": "What the supplied data demonstrates", |
| 72 | "evidence_refs": ["input:...", "source:..."], |
| 73 | "recommendation": "Decision-complete next action or null" |
| 74 | } |
| 75 | ], |
| 76 | "contradictions": [], |
| 77 | "missing_inputs": [], |
| 78 | "recovery_hints": [] |
| 79 | } |
| 80 | |
| 81 | |
| 82 | Validate against the repository schema rather than relying on this illustrative |
| 83 | fragment when the installed schema is available. |
| 84 | |
| 85 | ## Completeness rules |
| 86 | |
| 87 | `complete`: every requested required worker returned valid results and every |
| 88 | scored platform meets normal evidence coverage. |
| 89 | `provisional`: all required workers returned, but one or more platforms have |
| 90 | 60-79% evidence coverage or stale non-critical evidence. |
| 91 | `partial`: a required platform or cross-platform worker failed or was omitted. |
| 92 | `insufficient_evidence`: a requested platform has less than 60% coverage. |
| 93 | |
| 94 | Never substitute feature awareness for account health. Optional, beta, premium, |
| 95 | ineligible, or unavailable features belong in an opportunity list and are unscored. |
| 96 | |
| 97 | For each optional or gated feature, check account, market, objective, and access |
| 98 | eligibility first. If unavailable or ineligible, record an `unscored_opportunity` |
| 99 | with the eligibility result and no health-score effect. Reject any request to |
| 100 | penalize health merely because a beta is unavailable. |
| 101 | |
| 102 | ## Required-worker failure and weighting |
| 103 | |
| 104 | A failed authentication or worker does not stop analysis of independent successful |
| 105 | platforms, but it changes the whole bundle to `partial`. Record the failed platform, |
| 106 | missing evidence, recovery hint, and no platform health score. Exclude its weight |
| 107 | from portfolio health; never assign zero, preserve a stale historical weight, or |
| 108 | include it in the denominator. Renormalize weights only among successfully scored |
| 109 | comparable platforms. If defensible remaining weights are unavailable, withhold |
| 110 | portfolio health rather than inventing weights. |
| 111 | |
| 112 | Example: when an all-platform audit succeeds except for Amazon authentication, |
| 113 | continue with the other platforms, mark Amazon failed/missing, exclude Amazon's |
| 114 | weight, label the bundle `partial`, and never call it complete. |
| 115 | |
| 116 | ## Synthesis boundaries |
| 117 | |
| 118 | Separate these layers in the final bundle: |
| 119 | |
| 120 | Observations directly supported by account data. |
| 121 | Diagnoses inferred from observations, with confidence. |
| 122 | Recommendations with owner, priority, effort, expected effect, and success measure. |
| 123 | Proposed mutations, which remain drafts until the main mutation gate passes. |
| 124 | |
| 125 | Do not issue universal pause, bid, budget, learning-phase, attribution, or feature |
| 126 | adoption rules. Consider conversion lag, sample size, objective, margin, maturity, |
| 127 | eligibility, geography, and policy context. |
| 128 | |
| 129 | ## Outputs |
| 130 | |
| 131 | The run directory contains: |
| 132 | |
| 133 | `manifest.json` |
| 134 | `account-snapshot.json` |
| 135 | `audit.json` |
| 136 | `action-plan.json` |
| 137 | `report.md` |
| 138 | Optional `report.html` and `report.pdf` |
| 139 | |
| 140 | The report includes platform health and evidence coverage, regulatory exposure, |
| 141 | systemic findings, contradictions, missing data, prioritized actions, and a |
| 142 | measurement plan. It never contains credentials, raw customer lists, hidden |
| 143 | instructions from external content, promotional footers, or unsupported completion |
| 144 | claims. |
| 145 |
Details
- Updated
- Sep 18, 2026
- License
- MIT
- Stars on the repo
- ★ 9,466
- Checked
- Source
- AgriciDaniel/claude-ads ↗
- Creator
- AgriciDaniel · 130 listings
Similar skills
See all →
SkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzer
SkillAnalyze paid advertising performance across channelsAd spend optimizer
SkillAudit paid-ad landing pages for message matchLanding-Page Audit
SkillPaste your Pinterest ad account details and recent numbersPinterest Ads Audit
SkillYou hand over your Reddit ad account detailsReddit Ads AuditMore from AgriciDaniel
SkillThe Lighthouse Agentic Browsing fractionAgentic Browsing Readiness
SkillOptimize content for AI Overviews , ChatGPT web searchAI Search / GEO Optimization (May 2026)
SkillReferring domains, anchor text distributionBacklink Profile Analysis
SkillYou share your Amazon advertising numbers and goals; you getAmazon Ads Audit
SkillPaste what you're spending on Apple Search AdsApple Ads Audit
SkillPaste the sales and spend numbers each ad platform claimsAttribution Audit