Ad Creative Intelligence — find ad angles competitors haven't tried — Claude Skill
A Claude Skill for Claude Code by Gooseworks — run /ad-creative-intelligence in Claude·Updated
Map the competitor ad landscape to find creative whitespace
- Scrapes active competitor ads from Meta and Google ad libraries
- Clusters ads by hook type, format, and CTA pattern
- Identifies dominant angles and overcrowded categories
- Surfaces white space angles nobody is running
- Outputs experiment ideas with proposed ad copy
Who this is for
What it does
Before running paid campaigns, see exactly what hooks competitors are using and which ones nobody owns yet.
Run periodically to spot new patterns competitors are testing and stay ahead of stale creative.
When entering a new category, audit the established players' ad strategies before you write a single line of copy.
How it works
Take competitor domains as input
Scrape Meta ads via meta-ad-scraper for each domain
Scrape Google ads via google-ad-scraper
Cluster ads by hook type, format, and CTA
Output gap analysis with experiment recommendations
Metrics this improves
Works with
Ad Creative Intelligence
Scrape competitor ads from Meta and Google, then analyze creative patterns — hooks, formats, angles, CTAs — to find directions you haven't tried and identify what's resonating in the market.
Core principle: The best ad creative teams don't guess. They start with evidence from what's already working, then differentiate.
When to Use
- "What ads are my competitors running?"
- "Find new creative angles for our paid campaigns"
- "What hooks are working in [our space]?"
- "I want to audit the ad landscape before we launch"
- "What format — video, image, carousel — is dominant in our category?"
Phase 0: Intake
- Competitor names and website domains (e.g.,
apollo.io,clay.run) - Your own domain (to optionally include for self-audit comparison)
- Channels to cover: Meta only, Google only, or both? (default: both)
- Time range: active ads only (default) or historical?
- What's your product category? (helps with analysis framing)
Phase 1: Scrape Meta Ads
Run meta-ad-scraper for each competitor:
python3 skills/meta-ad-scraper/scripts/scrape_meta_ads.py \
--domain <competitor_domain> \
--output json
Collect per ad:
- Ad copy (headline + body text)
- Visual description / media type (image, video, carousel)
- CTA button text
- Landing page URL
- Estimated run time (active duration proxy)
- Platforms (Facebook, Instagram, etc.)
Phase 2: Scrape Google Ads
Run google-ad-scraper for each competitor:
python3 skills/google-ad-scraper/scripts/scrape_google_ads.py \
--domain <competitor_domain> \
--output json
Collect per ad:
- Headline variants (up to 3)
- Description lines
- Ad type (search, display, YouTube)
- Landing page URL
Phase 3: Cluster & Analyze
After collecting all ads, perform structured analysis:
Hook Pattern Clustering
Group all ad headlines/openers by hook type:
| Hook Type | Pattern | Example |
|---|---|---|
| Fear/Loss | Risk of missing out or falling behind | "Your competitors are already using AI SDRs" |
| Outcome | Direct result promise | "10x your pipeline in 30 days" |
| Question | Challenges current assumption | "Still doing outbound manually?" |
| Social proof | Names customers or numbers | "Join 500+ B2B teams using [product]" |
| Contrarian | Challenges conventional wisdom | "Cold email isn't dead. Your copy is." |
| Empathy | Validates their pain | "We know SDR ramp time is brutal" |
| Product-led | Feature as hook | "[Feature] is live — see what's new" |
Count how many ads per competitor use each hook type. This reveals their primary messaging strategy.
Format Distribution
| Format | Meta | |
|---|---|---|
| Static image | [N] | N/A |
| Video | [N] | [N] |
| Carousel | [N] | N/A |
| Search text | N/A | [N] |
| Display banner | N/A | [N] |
CTA Taxonomy
List all unique CTAs found. Common patterns:
- Urgency: "Start free", "Try now", "Get started today"
- Low-friction: "See how it works", "Watch demo", "Learn more"
- Outcome: "Book a demo", "Get your free audit", "Calculate your ROI"
Landing Page Analysis
For top-traffic ads (those running longest), note:
- What angle does the landing page reinforce?
- Is the LP general or campaign-specific?
- What's the primary conversion goal?
Phase 4: Gap Analysis & Recommendations
Identify:
- Angles nobody is running — Hook types absent from competitor ads = white space
- Overcrowded angles — If everyone leads with "save time", avoid it or be more specific
- Format opportunities — If no one is running video in your space, it may stand out
- Underutilized proof — Are competitors avoiding specific proof points you could own?
- CTA patterns to test — What CTAs do the longest-running ads use?
Phase 5: Output Format
# Ad Creative Intelligence Report — [DATE]
## Coverage
- Competitors analyzed: [list]
- Meta ads collected: [N]
- Google ads collected: [N]
---
## Meta Ad Analysis
### Hook Distribution
| Hook Type | [Comp1] | [Comp2] | [Comp3] |
|-----------|---------|---------|---------|
| Fear/Loss | 40% | 10% | 0% |
| Outcome | 30% | 50% | 60% |
...
### Top Performing Ads (Longest Running)
**[Competitor] — [Ad Title/Hook]**
> [Ad copy excerpt]
- Format: [type]
- CTA: [text]
- Running since: [date]
- Why it likely works: [analysis]
---
## Google Ad Analysis
### Headline Patterns
[Top headline structures with examples]
### Most Common CTAs
[ranked list]
---
## Creative Gap Analysis
### Angles Nobody Is Running
1. [Angle] — Why it could work for you: [reasoning]
2. [Angle] — ...
### Overcrowded Angles (Avoid or Differentiate)
- [Angle] — [N] of [N] competitors use this
### Format White Space
- [Format] is not being used by competitors on [platform]
---
## Recommended Creative Experiments
### Experiment 1: [Name]
- Platform: [Meta/Google]
- Format: [type]
- Hook angle: [type]
- Proposed headline: "[headline]"
- Proposed body: "[copy]"
- Why test this: [rationale]
### Experiment 2: ...
Save to clients/<client-name>/intelligence/ad-creative-intel-[YYYY-MM-DD].md.
Cost
| Component | Cost |
|---|---|
| Meta ad scraper (per competitor) | ~$0.20-0.50 (Apify) |
| Google ad scraper (per competitor) | ~$0.20-0.50 (Apify) |
| Total for 3 competitors | ~$1-3 |
Tools Required
- Apify API token —
APIFY_API_TOKENenv var - Upstream skills:
meta-ad-scraper,google-ad-scraper
Trigger Phrases
- "What ads are [competitor] running?"
- "Audit the ad landscape for [product category]"
- "Run ad creative intel for [client]"
- "Find new paid ad angles we haven't tried"