claude-ads README

The project's README from github.com/AgriciDaniel/claude-ads. As one markdown file: README.md.

Claude Ads, Claude-first paid-media operations across twelve advertising platforms

Claude Ads

Claude-first, portable paid-media operations for agencies, consultants, and in-house performance teams.

Claude Ads turns authorized exports or account reads into source-grounded audits, plans, creative workflows, experiments, monitoring, and reports. It is read-only by default. Live changes stay disabled until the exact platform and operation pass approval, idempotency, verification, audit, and rollback gates.

[!NOTE] Claude Ads ships from two homes: the public release at AgriciDaniel/claude-ads (MIT, no membership required) and the community mirror at AI-Marketing-Hub/claude-ads, where AI Marketing Hub Pro members get early access and direct collaboration.

Validated inputs flow through bounded workers into schema-valid findings and deterministic reports

What it does

Platforms

Twelve first-class paid-advertising platform surfaces

Segment Platforms
Search, video, and social Google Ads, Meta Ads, YouTube Ads, LinkedIn Ads, TikTok Ads, Microsoft Advertising, Reddit Ads, Snapchat Ads, X Ads
Commerce and retail media Apple Ads, Amazon Ads, Pinterest Ads

Each platform has a focused skill, audit worker, control reference, capability declaration, and testable routing surface. The capability manifest is the authoritative record for live reads and writes.

Commands

Standalone installs use /ads. Claude Code plugins are namespaced and use /claude-ads:ads. Both load the same ads/SKILL.md contract.

Command Outcome
/ads setup Create the client, account, KPI, privacy, and guardrail profile
/ads audit [all|platform|scope] Run a complete or scoped evidence-backed audit
/ads plan Build channel, campaign, budget, competitor, and measurement plans
/ads create Produce copy, image, video, or product-photo assets
/ads launch --draft Draft a campaign mutation plan without changing the account
/ads monitor Review pacing, delivery, tracking, fatigue, policy, and performance
/ads optimize --draft Draft evidence-backed optimization changes
/ads experiment Design or read out a controlled test
/ads report Render a validated JSON run bundle
/ads research refresh Refresh platform, policy, API, benchmark, and ecosystem evidence
/ads validate Validate contracts, runs, capabilities, maturity, or release readiness
/ads status, /ads next Show current status and the highest-priority blocker

Platform shortcuts such as /ads google, /ads meta, /ads amazon, and /ads reddit route to the matching platform audit.

Demo

Claude Ads command discovery inside Claude Code

The GIF shows the original command-discovery experience. The v2 command table above and the platform table are current and authoritative.

Installation

Claude Code is the canonical runtime. Codex, Gemini, Cursor, Windsurf, Goose, and compatible Agent Skills hosts can consume the same skill files where their runtime supports them.

Prefer the host's native plugin flow or a tagged release archive with a verified SHA-256 checksum. Never pipe a remote installer directly to a shell.

For Claude Code, the native plugin flow is:

/plugin marketplace add AgriciDaniel/claude-ads
/plugin install claude-ads@ai-marketing-hub-claude-ads

Or install from a local clone of the public repository:

git clone https://github.com/AgriciDaniel/claude-ads.git
cd claude-ads
bash install.sh --source=local

Select another standalone host explicitly:

bash install.sh --target=codex --source=local
bash install.sh --target=gemini --source=local --no-deps

PowerShell uses the same managed ownership model:

git clone https://github.com/AgriciDaniel/claude-ads.git
Set-Location claude-ads
.\install.ps1 -Source local

Managed dependencies support CPython 3.11 and 3.12 on the declared Linux, macOS, and Windows wheel matrix. Unsupported interpreters fail before the destination changes. Use --no-deps or -NoDeps for a skill-only install.

Browser capture requires an operator-installed Playwright browser payload. PDF rendering requires the host's WeasyPrint and Pango system libraries. These are documented in the external runtime dependency manifest.

Uninstall only manifest-owned files:

bash uninstall.sh --target=claude

The PowerShell equivalent is uninstall.ps1.

Architecture

One conductor dispatches platform and cross-platform workers, then validates and renders a canonical JSON bundle

One conductor owns scope, policy, aggregation, and final artifacts. Workers analyze bounded slices and return schema-valid findings. Required-worker failure makes the run partial. It is never silently presented as a complete audit.

The canonical result is versioned JSON. Markdown, HTML, and PDF are renderings of the same validated run bundle.

Scoring and evidence

Health and evidence coverage remain separate; scoring requires an approved platform profile

Controls use pass, fail, unknown, or not_applicable.

See the scoring reference and production implementation in claude_ads_core/scoring.py.

Account safety

All adapters are read-only by default. Applying a change requires:

  1. A tested and enabled capability for the exact operation.
  2. Explicit account and object IDs.
  3. A human-readable before and after diff with blast radius.
  4. Owner approval within account-defined ceilings.
  5. An idempotency key, audit destination, rollback, and verification window.
  6. Verification that remote state still matches the mutation precondition.

Missing ceilings mean no write. Permanent deletion is not supported in v2. Credentials belong in environment variables, an OS keychain, or an approved secret manager. They never belong in the repository, profiles, reports, or logs.

Evidence and release controls

The public-safe control-plane/ records product boundaries, dated sources, claims, capabilities, safety rules, privacy rules, ecosystem decisions, and release requirements.

See the release requirements and publishing policy.

Development

Create a virtual environment and run the complete suite:

python3.12 -m venv .venv
.venv/bin/python -m pip install --no-deps -e .
.venv/bin/python -m pip install --require-hashes --only-binary=:all: -r requirements.lock
.venv/bin/python -m pip install --require-hashes --only-binary=:all: -r requirements-dev.lock
.venv/bin/python -m pip check
.venv/bin/python -m pytest -q

Useful focused checks:

python -m claude_ads_core --version
python -m claude_ads_core validate finding path/to/finding.json
bash -n install.sh uninstall.sh

Repository map

ads/                  main skill, interface metadata, and shared references
skills/               platform and lifecycle skills
agents/               platform, cross-platform, research, and verifier workers
claude_ads_core/      typed contracts, adapters, validation, and scoring
control-plane/        evidence, capability, safety, maturity, and release state
scripts/              browser, creative, reporting, and release helpers
evals/                routing and behavioral evaluation cases
tests/                deterministic, security, installer, and adapter tests

Privacy

Client data, raw private research, captured prompts, credentials, account exports, and agent transcripts must never enter Git history, reports, or release archives. Keep credentials in environment variables, an OS keychain, or an approved secret manager.

License

Original Claude Ads code and documentation are available under the MIT License. Third-party APIs, trademarks, documentation, and cited artifacts remain subject to their own terms. Review the source ledger and third-party notices before importing external work.

claude-ads (AgriciDaniel/claude-ads)

Searching Database…

这是做什么用的?一个面向付费媒体运营的 Claude Code 技能:它把经授权的广告账户导出数据或读取结果,转化为有出处依据的审计报告、广告系列计划、创意简报、实验方案、监控方案和带版本记录的报告,覆盖 12 个广告平台。
它是一个独立应用,还是运行在 Claude Code 里面的东西?它是一个技能,不是应用:Claude Code 是官方支持的运行环境,在运行环境支持的情况下,Codex、Gemini、Cursor、Windsurf 和 Goose 也可以使用同一套技能文件。独立安装使用 /ads 命令;Claude Code 插件则使用 /claude-ads:ads。
要让一切正常运转,还有哪些依赖需要我自己安装?有,两个:浏览器抓取需要操作者自行安装 Playwright 浏览器组件,PDF 渲染需要宿主机上的 WeasyPrint 和 Pango 系统库。两者都在外部运行时依赖清单中有说明。
它能真正改动我的广告账户,还是只能做分析?默认只读。在实际改动生效之前,每一个具体的平台操作都必须通过能力、审批、幂等性、验证、审计和回滚这几道关卡——缺少上限配置就无法写入,而且 v2 版本不支持永久删除。
它支持哪些广告平台?共十二个:社交类有 Google、Meta、YouTube、LinkedIn、TikTok、Microsoft、Reddit、Snapchat 和 X Ads,电商与零售媒体类还有 Apple、Amazon 和 Pinterest Ads。每个平台都有自己专属的技能、审计工作器和能力清单。
我的凭据和客户数据最终会存在哪里?凭据应放在环境变量、操作系统钥匙串或经认可的秘密管理工具中——绝不能放进仓库、配置文件、报告或日志。客户数据、账户导出内容和代理对话记录也绝不能进入 Git 历史、报告或发布归档。
用它来做客户项目是免费的吗?是的——公开发布的版本采用 MIT 许可证,不需要任何会员资格,所以代理公司和企业内部的商业使用都没问题。第三方的 API、商标和引用的素材仍受其各自的条款约束。
这个仓库和 AI Marketing Hub 镜像有什么区别?这里的公开发布版本采用 MIT 许可证,不需要任何会员资格。AI-Marketing-Hub/claude-ads 社区镜像则是 AI Marketing Hub Pro 会员获取抢先版本和直接参与协作的地方。
“有出处依据”在实践中到底是什么意思?每个结论都需要注明日期的来源:没有来源就不能对当前平台状况下结论;没有实现、测试数据和测试,就不能声称具备某项能力。报告还会标出缺失数据、过时来源、相互矛盾之处和部分失败的情况,而不是掩盖过去。
它能同时处理多个客户账户吗?可以。/ads setup 会创建客户、账户、KPI、隐私和防护规则配置,而且评分是在项目组合层面进行的——某个平台失败后会被排除在项目组合评分之外,并将整次运行标记为部分完成。
为什么 launch 和 optimize 只是草稿命令?/ads launch --draft 和 /ads optimize --draft 会生成人类可读的修改前后对比(diff),并标注影响范围,这样负责人可以在任何改动实际应用之前,在账户设定的上限范围内进行审批。缺少上限配置就无法写入。
Size
5.9 MB
Stars
10.1K
Age
8mo
Commits · 90 Days