Claude Skill MartBrowse skillsWhat is a Skill?
Back to list

Ad Account Auditor

Audits a paid ad account against a 20-item ROAS rubric and returns a SHIP/FIX/BLOCK verdict before you launch or scale spend.

Marketing & SEOAdvanced2,539346AI score 8/10Last updated: Aug 9, 2026

What it does

Answers one question: is this paid account safe to launch or scale right now?

  • Treats platform-reported ROAS as an input, never as truth — reconciles it against your own-data outcomes (deduplicated order/lead IDs from ecommerce, analytics, or CRM).
  • Normalizes currency, attribution window, conversion lag, and portfolio scope before any metric comparison.
  • Scores 20 typed criteria across R (measurement), O (policy/claims), A (ad safety), and S (operations) with source, date, and confidence; missing evidence stays Unknown instead of being guessed.
  • Applies five veto conditions (broken instrumentation, double-counting, unapproved claims, restricted-category violations, placement safety breaches) only when positively verified.
  • Outputs a SHIP / FIX / BLOCK / UNDECIDED verdict plus a prioritized fix list with owners and rerun conditions.

Safety rail: it judges only — no enabling campaigns, bid changes, budget scaling, or audience uploads without separate explicit approval.

Who it's for

  • Performance marketers and growth leads managing meaningful spend on Meta, Google, or TikTok
  • Agencies and freelancers who need a defensible audit report when taking over a client account
  • Ecommerce operators whose dashboard ROAS doesn't match actual revenue
  • Marketing managers who need evidence documentation to get a budget increase approved

(For campaign structure use campaign-architect; for creative production use ad-creative-builder.)

Examples

  1. Pre-scale gate: "Audit this USD account for direct response using 7-day click, 3-day lag, and a $120 CAC ceiling" → returns scored criteria, a FIX verdict, and the top three blockers.
  2. Attribution inflation check: supply platform conversion exports plus deduplicated order-ID exports to verify whether material double-counting triggers the R2 veto.
  3. Inherited account diagnostic: hand over campaign, search-term, placement, and change-history exports to surface wasted spend and unsafe placements, then draft a client-ready audit report.

· · · Install guide · · ·

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the ad/activate/ad-account-auditor folder from the GitHub repo aaron-he-zhu/aaron-marketing-skills into my ~/.claude/skills/ad-account-auditor/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/aaron-he-zhu/aaron-marketing-skills.git ~/.claude/skills/aaron-marketing-skills

This is a third-party skill. Check the source repository before installing.

  1. Open a terminal (Terminal on macOS/Linux, Git Bash or WSL on Windows).
  2. Create the skills directory if needed: mkdir -p ~/.claude/skills
  3. This skill reads shared references/ files and a scorer script from the repo, so clone the whole repository: git clone https://github.com/aaron-he-zhu/aaron-marketing-skills.git ~/.claude/skills/aaron-marketing-skills
  4. Verify the install: ls ~/.claude/skills/aaron-marketing-skills/ad/activate/ad-account-auditor/SKILL.md
  5. Restart Claude Code (or start a new session) and confirm ad-account-auditor appears in your skill list.
  6. Prepare your inputs: campaign / search-term / placement / change-history exports, deduplicated order or lead IDs, and the required context — currency, attribution window, conversion lag, and CAC or margin constraint.
  7. Prompt Claude with "Audit this ad account" plus those files and constraints. If required context is missing it will return NEEDS_INPUT/UNDECIDED, so supply everything up front.
View source on GitHubLicense: Apache-2.0