Skill detail

ads

Covers Meta deeply but is a broad multi-platform paid advertising suite.

MatchPossibleReviewed for meta ads
Sourcehainrixz/claude-adsExternal source
Reported installs43Popularity signal only

Inspect before use

Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from review. The external source remains the complete and most current version.

---
name: ads
description: "Free-first paid advertising audit and optimization skill, focused on the 3 platforms where 95% of advertiser spend lives: Meta, Google, TikTok. Guided onboarding (/ads start) saves context once and step-by-step OAuth walkthroughs; continuous coach (/ads next) ranks Quick Wins after each audit. ~158 weighted checks with scoring, parallel agents, industry templates, and AI creative generation."
argument-hint: "start | next | audit | google | meta | tiktok | creative | landing | budget | plan <type> | competitor | dna <url> | create | generate | photoshoot | update <platform|all> | publish"
license: MIT
---

# Ads: Free-first Paid Advertising Audit & Optimization

Focused ad account analysis on the 3 base platforms where most ad spend
lives: **Meta, Google, TikTok**. Orchestrates 19 specialized sub-skills and
7 agents (3 audit + 4 creative). First-run users should type **`/ads start`**
— a guided wizard that captures context, walks them through OAuth setup
step-by-step, and persists everything to `~/.claude-ads/profile.json` so no
future command ever re-asks.

## Quick Reference

| Command | What it does |
|---------|-------------|
| `/ads start` | **First-run wizard** — context capture, per-platform OAuth/MCP walkthroughs with live verification, optional Zernio + Meta Developers signup. Re-run as `/ads start edit/status/reset`. |
| `/ads next` | **Continuous coach** — reads recent audit JSON + history, ranks top 3 Quick Wins by impact × ease, optionally walks you through fixing #1. Detects regressions vs your last audit. |
| `/ads audit` | Full multi-platform audit with parallel subagent delegation (3 agents: Meta, Google, TikTok) |
| `/ads google` | Google Ads deep analysis (Search, PMax, includes YouTube video campaigns) |
| `/ads meta` | Meta Ads deep analysis (FB, IG, Advantage+) — MCP-wired to claude.ai Facebook |
| `/ads tiktok` | TikTok Ads deep analysis (Creative, Shop, Smart+, Symphony, GMV Max) |
| `/ads creative` | Cross-platform creative quality audit |
| `/ads landing` | Landing page quality assessment for ad campaigns |
| `/ads budget` | Budget allocation and bidding strategy review |
| `/ads plan <business-type>` | Strategic ad plan with industry templates |
| `/ads competitor` | Competitor ad intelligence analysis |
| `/ads math` | PPC financial calculator (CPA, ROAS, break-even, budget forecasting) |
| `/ads test` | A/B test design (hypothesis, significance, duration, sample size) |
| `/ads report` | PDF audit report generation for client deliverables |
| `/ads dna <url>` | Extract brand DNA from website, outputs `brand-profile.json` |
| `/ads create` | Generate campaign concepts + copy briefs, outputs `campaign-brief.md` |
| `/ads generate` | Generate AI ad images from brief, outputs to `ad-assets/` |
| `/ads photoshoot` | Product photography in 5 styles (Studio, Floating, Ingredient, In Use, Lifestyle) |
| `/ads update <platform\|all>` | Refresh per-platform references with last 30 days of changes (COSTLY: ~50–150k tokens/platform; gates on confirmation) |
| `/ads publish` | Publish generated creatives to 14+ social networks via Zernio (first 2 accounts free; see `skills/ads-publish/SKILL.md`) |

## First-run behavior

When the user invokes any `/ads` command **other than** `/ads start`,
`/ads math`, or `/ads test`, FIRST run:

```bash
python3 scripts/profile.py get
```

- Exit code `2` (profile missing) → gently surface a one-line tip:
  > *Tip: run `/ads start` first — it saves ~30 sec per future command. Proceed inline instead? (Y/N)*
  Honor `N` (proceed) by falling back to the inline Context Intake below.
- Exit code `0` (profile present) → parse the JSON and use the saved
  `context.industry`, `context.monthly_spend_usd`, `context.primary_goal`,
  `context.active_platforms` directly. Do NOT re-ask. Only re-ask if a field
  is `null`/empty.

## Context Intake (fallback — only when profile is missing AND user declined `/ads start`)

Without context, benchmarks will be generic an
Read the full source on GitHub (opens external page)
Context

Related work