agricidaniel/ads-audit
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.
npx skills add https://github.com/AgriciDaniel/claude-ads --skill ads-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.
ads operating contract and thinking framework.requested platforms, scopes, available data, and privacy classification.
account snapshot. Preserve source lineage and mark missing fields.
rather than silently skipping them.
entries, benchmarks, and applicable policy material.
failure; record all other failures and recovery hints.
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.
Use a dedicated worker for every selected platform:
audit-googleaudit-metaaudit-youtubeaudit-linkedinaudit-tiktokaudit-microsoftaudit-appleaudit-amazonaudit-redditaudit-pinterestaudit-snapchataudit-xAdd cross-platform workers only when their inputs exist:
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.
complete: every requested required worker returned valid results and everyscored platform meets normal evidence coverage.
provisional: all required workers returned, but one or more platforms have60-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.
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.
Separate these layers in the final bundle:
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.
The run directory contains:
manifest.jsonaccount-snapshot.jsonaudit.jsonaction-plan.jsonreport.mdreport.html and report.pdfThe 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.
Take agricidaniel/ads-audit from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.