Claude Ads
Open-source paid-media operations skill for coding agents: evidence-backed audits, plans, and draft account changes across twelve ad platforms
Claude Ads is an MIT-licensed skill pack that turns Claude Code — or Codex, Gemini, Cursor and other Agent Skills hosts — into a paid-media operator across twelve advertising platforms. It reads authorized account exports or API reads and returns evidence-backed audits, media plans, creative briefs, monitoring passes, and versioned JSON reports. Every adapter is read-only by default: applying a change requires an enabled capability, an explicit before-and-after diff, owner approval inside account ceilings, and a rollback. It is an operations layer for someone who already runs ads, not a way to stop thinking about them.
What Claude Ads is
The repository describes itself as Claude-first, portable paid-media operations for agencies, consultants, and in-house performance teams. Concretely, it is a set of skills and worker agents that a coding assistant loads: one skill and audit worker per platform, plus cross-platform planning, creative, monitoring, and reporting passes. The README lists twelve first-class surfaces — Google Ads, Meta Ads, YouTube Ads, LinkedIn Ads, TikTok Ads, Microsoft Advertising, Reddit Ads, Snapchat Ads and X Ads on the search-video-social side, with Apple Ads, Amazon Ads and Pinterest Ads covering commerce and retail media. Claude Code is the canonical runtime; the same skill files are documented as consumable by Codex, Gemini, Cursor, Windsurf and Goose where those hosts support Agent Skills.
The internals are more disciplined than the category usually is. One conductor owns scope, policy, and the final artifact; workers analyse bounded slices and return schema-valid findings; the canonical output is versioned JSON, and the Markdown, HTML and PDF versions are renderings of that same validated bundle. When a required worker fails, the run is marked partial — the README is explicit that a partial run is never silently presented as a complete audit. The public repository is MIT, sits at 7,804 stars as of 2026-08-04, and was last released as v2.0.1 in July 2026. It is Python, and it wants CPython 3.11 or 3.12, with Playwright needed for browser capture and WeasyPrint for PDF rendering.
What the commands are actually for
The command surface reads as a full media-buying lifecycle, which is useful for understanding where an agent can help and where it structurally cannot. Grouped by the job they do:
- Setup and audit `/ads setup` builds the client, account, KPI, privacy and guardrail profile; `/ads audit` runs a scoped or complete evidence-backed pass. This is the half that genuinely benefits from an agent — the tedious, checklist-shaped work almost nobody does often enough.
- Plan and create `/ads plan` produces channel, budget, competitor and measurement plans; `/ads create` produces copy, image, video and product-photo briefs. Drafts, in other words. Judgement about what to actually run stays with you.
- Launch and optimize, both draft-first `/ads launch --draft` and `/ads optimize --draft` produce a mutation plan without touching the account. The flag is the design: nothing reaches a live account by default.
- Monitor, experiment, report Pacing, delivery, tracking, fatigue and policy checks; controlled test design and read-out; and a validated JSON run bundle. The monitoring loop is where a small advertiser usually loses money, because nobody is watching daily.
The part worth copying even if you never install it
Two design decisions in this repository are worth stealing for any system that spends money on your behalf. The first is that every adapter is read-only until a specific operation is deliberately enabled, and applying a change then requires all of: a tested capability for that exact operation, explicit account and object IDs, a human-readable before-and-after diff with blast radius, owner approval inside defined ceilings, an idempotency key with audit destination and rollback, and a verification that remote state still matches the precondition. Missing ceilings mean no write at all, and permanent deletion is simply not supported.
The second is how it handles not knowing things. Controls resolve to pass, fail, unknown, or not-applicable, and unknowns reduce evidence coverage without moving the health score — so a thin audit reports as thin rather than as good news. Coverage at or above 80% is graded, 60 to 79% is provisional, and below 60% is declared insufficient evidence. That is a rare property in AI tooling, where the usual failure is a confident summary built on whatever data happened to load. If you are evaluating any agent that touches spend, ask what it does when a data source is missing; the answer separates the serious projects from the demos.
The honest limits are worth stating too. It is an operations layer, not a media buyer: you still supply the accounts, the budget, and the decision. Twelve-platform machinery is more than a founder spending a few hundred a month needs, and the Python plus Playwright plus WeasyPrint dependency chain is a real setup cost. And an audit of a badly-targeted account tells you precisely how well you are buying the wrong traffic — return on ad spend improves from fixing the offer at least as often as from fixing the campaign.
A first-party note on running your own ads
We run Google Ads for AgentCeres — the AI Growth Officer at agentceres.com — and arrived independently at the same posture this repository ships with, which is part of why it is worth covering. Our ads tooling is read-only by default: scripts pull reports and a daily snapshot, and any account change is a deliberate, per-case decision rather than something automation performs. Every change gets a same-day ledger entry naming what changed, why, how to verify it, and how to roll it back. That ledger has been more useful than any dashboard, because the question you actually need answered a fortnight later is which change caused the number to move.
The other thing our own account taught us is where the leverage sits, and it is not where audit tools point. The single change that mattered most was pausing a high-volume head term that was buying visitors outside our ideal customer profile — not a bid adjustment, not a creative refresh. No amount of optimizing improves a campaign aimed at the wrong people; targeting is upstream of everything a scoring engine can measure. If you are earlier than that decision, should an early-stage startup run paid ads is the more useful question, and our Paid Ads Manager drafts campaigns and keeps spend behind an approval step. For the organic half of the same stack, marketingskills is the closest neighbour to this project.
FAQ
- Is Claude Ads free?
- The public repository is MIT-licensed and needs no membership, so you can install and use it at no software cost. The README also points at a community mirror where members of a paid group get early access, which is worth knowing about but does not gate the public release. Your real costs are the model tokens the audits consume and the platform API access itself.
- Will it change my ad account?
- Not unless you go well out of your way. Adapters are read-only by default, and a write requires an enabled capability for that exact operation, explicit object IDs, a before-and-after diff, owner approval within defined spend ceilings, and a rollback plan — with no ceiling configured, no write happens at all. Both `launch` and `optimize` are documented as draft-first, so the normal output is a mutation plan you review.
- Do I need to be technical to use it?
- More than the marketing-tool framing suggests. Installation is a git clone plus an install script or a Claude Code plugin command, and the full feature set expects a Python 3.11 or 3.12 environment, a Playwright browser payload for capture, and system libraries for PDF rendering. If you are comfortable in a terminal it is an afternoon; if you are not, the audit output is still readable but getting there is a real obstacle.
- Is this a replacement for an agency?
- It replaces the audit-and-report part of what an agency does, which is genuinely the most systematic and most neglected part. It does not replace the judgement calls — which market to target, what the offer should be, when to stop spending — and it cannot decide that the campaign is fine and the landing page is the problem. A useful way to think about it is that it makes a good operator faster and gives a founder without one a checklist that is hard to skip.
You built it. Now grow it.
AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.