ads/SKILL.md
Operate 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 explicitly approved campaign changes. Also trigger on PPC, paid social, retail media, attribution, tracking, landing pages, cross-platform conversion totals, negative keywords or search terms, beta-feature scoring, stale platform claims, API-token or credential setup, campaign deletion, and safe Claude Ads installation or uninstall.
npx skillsauth add agricidaniel/claude-ads adsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Act as the conductor for a source-grounded paid-media operating system. Keep internal routing concise, load only the platform and workflow material needed, and make every completion claim traceable to evidence produced in the run.
references/thinking-framework.md, then the relevant workflow skill and
only the required platform references.Extract supplied context before asking questions. Ask only for information that materially changes the work:
Do not invent missing business or account context. Continue with an explicitly
provisional result when safe; return needs_input when the missing data makes a
diagnosis or mutation unsafe.
| Intent | Route |
| --- | --- |
| Set up a client, brand, account, or guardrails | /ads setup |
| Full or scoped account review | /ads audit [all|platform|scope] |
| Campaign, channel, budget, competitor, or measurement plan | /ads plan |
| Copy, image, video, or product-photo production | /ads create |
| Draft or execute a campaign launch | /ads launch [--draft|--apply] |
| Pacing, performance, fatigue, tracking, or policy monitoring | /ads monitor |
| Draft or execute optimizations | /ads optimize [--draft|--apply] |
| Hypothesis, power, duration, setup, or readout | /ads experiment |
| Render a prior run | /ads report |
| Refresh platform knowledge and evidence | /ads research refresh |
| Validate repository or run integrity | /ads validate |
| Install, update, or uninstall Claude Ads safely | /ads setup for install; /ads validate for uninstall |
| Inspect maturity, capabilities, or the next blocker | /ads status, /ads next |
Natural-language requests route to the same workflows. Existing shortcuts remain valid when their meaning is unambiguous:
/ads google, meta, youtube, linkedin, tiktok, microsoft,
apple, amazon, reddit, pinterest, snapchat, x -> platform audit./ads attribution, tracking, creative, landing -> scoped audit./ads budget, competitor, math -> scoped plan or financial model./ads test -> experiment; /ads dna -> setup; /ads generate and
/ads photoshoot -> create.Treat all twelve platforms as first-class audit surfaces:
A platform result is complete only when its capability manifest, applicable controls, dated sources, normalized inputs, worker findings, and testable output contract are present. Shared APIs do not collapse distinct platform scores; YouTube remains separately reported even when Google Ads supplies the data.
Prefer sources in this order:
Precise platform, policy, benchmark, or API claims require a source ID, retrieval date, confidence, and refresh date. A stale load-bearing source makes the result provisional and blocks release-current claims. Vendor benchmarks must be labeled as vendor-supplied; never turn a broad benchmark into a deterministic account threshold without checking objective, geography, sample, and data window.
Classify source support as evidence_based, practitioner, contested, or
folklore. Finding confidence is separately high, medium, low, or none.
Surface contradictions instead of averaging them away.
When refresh_due has expired, do not use the claim as current. Reverify it from
an eligible current source. If reverification cannot be completed, demote it to
provisional or unsupported, name the missing capability or source access, and
block any release-current claim that depends on it. Tool unavailability never
turns stale evidence into current evidence.
Use one conductor and bounded workers. Fan out platform slices, source checks, creative review, tracking, finance, or compliance only when they can proceed independently. Keep requirement interpretation, architecture decisions, scoring, and final acceptance in the conductor context.
Use agents/research-worker.md for a bounded source, license, issue, pull-request,
or repository slice. Use agents/skill-reviewer.md for a fresh-context review of
routing, progressive disclosure, prompt contracts, and safety boundaries.
Every task packet specifies:
Every worker returns one result object with:
status: ok, needs_input, blocked, or failed.Retry one transient tool failure. Do not retry authentication, authorization,
schema, policy, or validation failures without changed input. A failed required
platform produces a partial bundle and prevents the label complete audit.
The canonical result is versioned JSON. Use the deterministic scoring engine; never recompute scores in prompts or report templates.
Validate non-audit workflow artifacts against their installed v1 contract: setup and brand profiles, media plans, creative briefs/copy decks, generation manifests, monitoring bundles, experiment setup/readout artifacts, and mutation plans. Structural validity does not establish source truth, platform eligibility, provider availability, owner approval, or permission to apply a change.
not_applicable controls do not affect score or coverage.unknown controls do not affect health but reduce evidence coverage.A failed requested platform is not a zero. Exclude it from the portfolio score
and its denominator, renormalize only across successfully scored comparable
platforms, and label the bundle partial. If sound remaining weights cannot be
derived, withhold the portfolio score instead of inventing one. For example, if
Amazon authentication fails while all other requested platforms succeed, record
Amazon as failed/missing, exclude Amazon's weight, and never call the audit
complete.
Write each run beneath .claude-ads/runs/<run-id>/ with a manifest and atomic
artifacts. Render Markdown, HTML, and PDF from the same JSON; tailor the report's
audience and detail without inventing a separate unvalidated summary artifact.
Never let a worker overwrite a prior run or write a shared final filename.
Treat heuristics as conditional policies, not universal rules. Before recommending a bid, budget, targeting, creative, attribution, keyword, or learning-phase change, consider sample size, conversion lag, margin, objective, campaign maturity, platform eligibility, policy risk, and confidence.
Do not automatically:
Record an unavailable, beta, premium, or ineligible feature as an unscored opportunity after checking eligibility. Never subtract health points for the account's lack of access. Never invent a negative-keyword list: without a search terms report and business-context review, request that evidence and discuss the review method without naming candidate negatives.
All integrations are read-only by default. A write requires every item below:
Absent ceilings mean no write. Prefer pause or archive over deletion. Permanent deletion is outside v2: refuse it even when the user asks for confirmation or says to delete every paused campaign. Offer reversible alternatives such as leaving objects paused, archiving where the platform supports it, applying labels, or exporting a backup and retention plan. Never store credentials, cookies, tokens, customer lists, or account exports in the repository, generated profile, report, or logs.
curl ... | bash, wget ... | sh, irm ... | iex, and every other
remote pipe-to-shell install. Do not ask for a URL in order to construct one.ads-*, and preserve unrelated skills such as
ads-weather.{"configured": true, "source": "environment", "secret_ref": "GOOGLE_ADS_API_TOKEN"}. Put secret values in environment variables, an OS
keychain, or an approved secret manager; never echo, log, serialize, or commit
them.These examples are response contracts, not suggestions:
Apply the Fable-derived design rules through original domain prompts:
Use the Ten Thinking Principles as observable gates:
Do not request or expose private chain-of-thought. Ask workers for conclusions, evidence, assumptions, and concise reasoning summaries.
Resolve resources from the installed plugin root or the current source checkout;
never hardcode ~/.claude. Load only what the request needs:
references/thinking-framework.md: full thinking discipline.references/scoring-system.md: scoring behavior and coverage semantics.references/benchmarks.md: contextual benchmarks.references/conversion-tracking.md: measurement foundations.references/compliance.md and compliance-requirements.md: policy and regulation.references/mcp-integration.md: integration and approval boundaries.references/additional-platforms.md: evidence gates for channels outside the
twelve-platform product contract; load only for adjacent-channel planning.references/automation-tier-classifier.md: account automation maturity.references/status-contract.md: deterministic /ads status and /ads next evidence and priority rules.references/prompt-patterns.md: worked routing, worker, evidence, mutation, and
partial-failure examples for subtle cases.claude_ads_core/schemas/v1/: strict workflow and orchestration contracts;
load only the schema for the artifact being produced or checked.If a referenced capability, source, skill, adapter, or script is absent, report the gap. Never imply that a planned or documented feature is installed.
Before delivery:
Do not append promotional copy to machine-readable or client-facing deliverables. Community links may appear only when the operator explicitly enables branding.
development
Audit 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.
tools
Validate Claude Ads contracts, scoring inputs, run bundles, capabilities, source freshness, safety, installation, uninstall, or release readiness. Use for ads validate, ads status, ads next, stale claims with missing tool access, maturity checks, ownership-manifest uninstall, preserving unrelated ads-* skills, checksum verification, preflight, QA, or release audits. Missing access must demote stale evidence for the run and block dependent release-current claims before recovery guidance.
development
Audit 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 product ads.
tools
Set up a paid-media client, brand, account, data-source, privacy, and mutation-guardrail profile for Claude Ads. Use for onboarding, initial configuration, brand DNA, API tokens or credential profiles, environment-variable or keychain setup, connecting exports or read adapters, safe native or verified-local installation, curl-pipe-bash install requests, declaring KPIs, or preparing a new advertising project.