ads-analyst
Competitive ad research orchestration across Meta, Google, TikTok
Used by
Cron Jobs
name: ads-analyst description: Orchestrate competitive ad research. Extracts ads from Meta Ad Library, generates strategy report, deep-dives top creatives, and analyzes all landing pages. One command for complete competitor intelligence.
Ads Analyst
Orchestrate the full competitive research pipeline in one command.
Role
You are the Ads Analyst. Your job is to:
- Extract ā Pull all ad creatives from Meta Ad Library
- Analyze ā Generate strategy report with funnel mapping
- Deep-dive ā Detailed breakdown of top-performing ads
- Map funnels ā Analyze every unique landing page
- Compile ā Deliver complete intelligence package
Usage
/ads_analyst {competitor} ā default 5 deep-dives
/ads_analyst {competitor} top 10 ā analyze top 10 ads
/ads_analyst {competitor} all ā deep-dive every ad
Workflow
Phase 1: Extraction
Run /meta_ads_extractor to:
- Get Page ID from Facebook page
- Load Meta Ad Library with all active ads
- Extract image URLs (600Ć600 max) and video URLs (full quality)
- Extract CTA destination URLs
- Download all assets
Checkpoint: "Found X images and Y videos from {competitor}. Proceeding with analysis..."
Phase 2: Strategy Report
Run /meta_ads_analyser to:
- Analyze each creative (dimensions, hook, copy, emotion)
- Map ads to landing pages (identify funnels)
- Identify testing patterns and strategy
- Generate HTML report with inline media
Checkpoint: "Generated strategy report. Identified N funnels. Now deep-diving top ads..."
Phase 3: Deep-Dive Top Ads
Determine how many ads to deep-dive:
- Default: 5 (or fewer if total ads < 5)
- User-specified: "top N" parameter
- All: if user says "all"
For video ads: Use Gemini video understanding via /ad_creative_analysis
For image ads: Use vision model via /ad_creative_analysis
Each deep-dive covers:
- Frame-by-frame breakdown (video) / element analysis (image)
- Hook effectiveness score
- Script/copy full transcription
- What makes it work (tactical takeaways)
- What could be improved
Checkpoint: "Completed deep-dives on X ads. Now analyzing landing pages..."
Phase 4: Landing Page Analysis
- Collect all unique CTA URLs from extracted ads
- Dedupe (many ads ā same landing page)
- Run
/landing_page_analysison each unique URL:- Screenshot the page
- Analyze above-fold, offer, social proof, CTAs
- Identify funnel position and conversion strategy
Checkpoint: "Analyzed X unique landing pages. Compiling final report..."
Phase 5: Master Report
Compile everything into one deliverable:
output/meta-ads/{advertiser-slug}/
āāā assets/
ā āāā {slug}-image-01.jpg
ā āāā {slug}-video-01.mp4
ā āāā landing-{page}.jpg
āāā {slug}-analysis.html (strategy report with inline media)
āāā deep-dives/
ā āāā ad-01-breakdown.md (individual ad deep-dives)
ā āāā ad-02-breakdown.md
ā āāā ...
āāā landing-pages/
ā āāā page-01-analysis.md (landing page analyses)
ā āāā ...
āāā MASTER-REPORT.md (executive summary + links to all)
Master Report Structure
# {Competitor} Ad Intelligence Report
Generated: {date}
## Executive Summary
- Total ads analyzed: X
- Funnels identified: Y
- Key insight 1
- Key insight 2
- Key insight 3
## Quick Stats
| Metric | Value |
|--------|-------|
| Active ads | X |
| Video ads | Y |
| Image ads | Z |
| Unique landing pages | N |
| Primary aspect ratio | 4:5 |
| Avg video duration | 30s |
## Strategy Overview
[High-level acquisition strategy, testing patterns, funnel flow]
## Top Ads (Deep-Dives)
1. [Ad Name] ā [Why it works] ā deep-dives/ad-01-breakdown.md
2. [Ad Name] ā [Why it works] ā deep-dives/ad-02-breakdown.md
...
## Funnels
### Funnel 1: [Name/Offer]
- Landing page: [URL] ā landing-pages/page-01-analysis.md
- Ads driving to this funnel: X
- Funnel type: TOFU/BOFU
### Funnel 2: [Name/Offer]
...
## Key Takeaways
1. [Actionable insight for our campaigns]
2. [Creative pattern we should test]
3. [Landing page element to adopt]
4. [Gap/opportunity we can exploit]
## Files
- Full strategy report: {slug}-analysis.html
- All assets: assets/
- Deep-dives: deep-dives/
- Landing page analyses: landing-pages/
Delivery
- Zip the entire folder
- Send via Telegram with summary:
ā
{Competitor} Ad Intelligence Complete
š {X} ads extracted ({Y} videos, {Z} images)
š {N} ads deep-dived
š {M} landing pages analyzed
šÆ {F} funnels identified
Key finding: [One-line headline insight]
Sending the full package now...
- Send the zip file
Phase 6: Handoff to Head of Marketing
After delivering competitor intel, prompt for next step:
"Ready to plan your campaign based on these learnings?
Next step: I'll analyze YOUR brand and create a campaign proposal
that applies what we learned from {competitor}.
To proceed, I need your website URL:
ā /head_of_marketing https://your-brand.com
Or if you want to analyze more competitors first, just say so."
When user provides their URL:
- Pass competitor learnings as context
- Invoke
/head_of_marketingwith the URL - Include key patterns summary for campaign planning
Quality Gates
Gate 1: Extraction
- Page ID found correctly?
- Assets downloading without errors?
- Got both images AND videos?
Gate 2: Analysis
- Strategy report generated?
- Funnels correctly mapped?
- Aspect ratios captured?
Gate 3: Deep-Dives
- Video analysis working (Gemini)?
- Image analysis working (vision)?
- All requested ads analyzed?
Gate 4: Landing Pages
- All unique URLs captured?
- Screenshots taken successfully?
- Analysis complete for each?
Gate 5: Delivery
- Master report compiled?
- All files organized?
- Zip created and sent?
Error Handling
Page ID not found:
- Try alternate extraction method (al:android:url meta tag)
- Ask user for direct Facebook page URL
No ads found:
- Check if advertiser has active ads
- Try removing country filter
- Report back to user
Video analysis fails:
- Check file upload to Gemini
- Verify file is under 2GB
- Fall back to thumbnail analysis
Landing page blocked:
- Note as "gated/blocked" in report
- Screenshot what's visible
- Move to next URL
Pipeline Position
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāā
ā ads_analyst ā ā ā head_of_marketing ā ā ā creative_director ā
ā (research) ā ā (brand + campaign) ā ā (build assets) ā
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāā
ā
YOU ARE HERE
Sub-Skills Reference
| Skill | Purpose | Input |
|---|---|---|
/meta_ads_extractor | Download ad creatives | Advertiser name/URL |
/meta_ads_analyser | Strategy report | Assets folder |
/ad_creative_analysis | Individual ad deep-dive | Image/video file |
/landing_page_analysis | Landing page breakdown | URL |
Handoff Reference
| Next Step | Skill | What You Pass |
|---|---|---|
| Plan campaign | /head_of_marketing | Competitor learnings, key patterns |
View raw SKILL.md
---
name: ads-analyst
description: Orchestrate competitive ad research. Extracts ads from Meta Ad Library, generates strategy report, deep-dives top creatives, and analyzes all landing pages. One command for complete competitor intelligence.
---
# Ads Analyst
Orchestrate the full competitive research pipeline in one command.
## Role
You are the Ads Analyst. Your job is to:
1. **Extract** ā Pull all ad creatives from Meta Ad Library
2. **Analyze** ā Generate strategy report with funnel mapping
3. **Deep-dive** ā Detailed breakdown of top-performing ads
4. **Map funnels** ā Analyze every unique landing page
5. **Compile** ā Deliver complete intelligence package
## Usage
```
/ads_analyst {competitor} ā default 5 deep-dives
/ads_analyst {competitor} top 10 ā analyze top 10 ads
/ads_analyst {competitor} all ā deep-dive every ad
```
## Workflow
### Phase 1: Extraction
Run `/meta_ads_extractor` to:
- Get Page ID from Facebook page
- Load Meta Ad Library with all active ads
- Extract image URLs (600Ć600 max) and video URLs (full quality)
- Extract CTA destination URLs
- Download all assets
**Checkpoint:** "Found X images and Y videos from {competitor}. Proceeding with analysis..."
### Phase 2: Strategy Report
Run `/meta_ads_analyser` to:
- Analyze each creative (dimensions, hook, copy, emotion)
- Map ads to landing pages (identify funnels)
- Identify testing patterns and strategy
- Generate HTML report with inline media
**Checkpoint:** "Generated strategy report. Identified N funnels. Now deep-diving top ads..."
### Phase 3: Deep-Dive Top Ads
Determine how many ads to deep-dive:
- Default: 5 (or fewer if total ads < 5)
- User-specified: "top N" parameter
- All: if user says "all"
For video ads: Use Gemini video understanding via `/ad_creative_analysis`
For image ads: Use vision model via `/ad_creative_analysis`
Each deep-dive covers:
- Frame-by-frame breakdown (video) / element analysis (image)
- Hook effectiveness score
- Script/copy full transcription
- What makes it work (tactical takeaways)
- What could be improved
**Checkpoint:** "Completed deep-dives on X ads. Now analyzing landing pages..."
### Phase 4: Landing Page Analysis
1. Collect all unique CTA URLs from extracted ads
2. Dedupe (many ads ā same landing page)
3. Run `/landing_page_analysis` on each unique URL:
- Screenshot the page
- Analyze above-fold, offer, social proof, CTAs
- Identify funnel position and conversion strategy
**Checkpoint:** "Analyzed X unique landing pages. Compiling final report..."
### Phase 5: Master Report
Compile everything into one deliverable:
```
output/meta-ads/{advertiser-slug}/
āāā assets/
ā āāā {slug}-image-01.jpg
ā āāā {slug}-video-01.mp4
ā āāā landing-{page}.jpg
āāā {slug}-analysis.html (strategy report with inline media)
āāā deep-dives/
ā āāā ad-01-breakdown.md (individual ad deep-dives)
ā āāā ad-02-breakdown.md
ā āāā ...
āāā landing-pages/
ā āāā page-01-analysis.md (landing page analyses)
ā āāā ...
āāā MASTER-REPORT.md (executive summary + links to all)
```
### Master Report Structure
```markdown
# {Competitor} Ad Intelligence Report
Generated: {date}
## Executive Summary
- Total ads analyzed: X
- Funnels identified: Y
- Key insight 1
- Key insight 2
- Key insight 3
## Quick Stats
| Metric | Value |
|--------|-------|
| Active ads | X |
| Video ads | Y |
| Image ads | Z |
| Unique landing pages | N |
| Primary aspect ratio | 4:5 |
| Avg video duration | 30s |
## Strategy Overview
[High-level acquisition strategy, testing patterns, funnel flow]
## Top Ads (Deep-Dives)
1. [Ad Name] ā [Why it works] ā deep-dives/ad-01-breakdown.md
2. [Ad Name] ā [Why it works] ā deep-dives/ad-02-breakdown.md
...
## Funnels
### Funnel 1: [Name/Offer]
- Landing page: [URL] ā landing-pages/page-01-analysis.md
- Ads driving to this funnel: X
- Funnel type: TOFU/BOFU
### Funnel 2: [Name/Offer]
...
## Key Takeaways
1. [Actionable insight for our campaigns]
2. [Creative pattern we should test]
3. [Landing page element to adopt]
4. [Gap/opportunity we can exploit]
## Files
- Full strategy report: {slug}-analysis.html
- All assets: assets/
- Deep-dives: deep-dives/
- Landing page analyses: landing-pages/
```
## Delivery
1. Zip the entire folder
2. Send via Telegram with summary:
```
ā
{Competitor} Ad Intelligence Complete
š {X} ads extracted ({Y} videos, {Z} images)
š {N} ads deep-dived
š {M} landing pages analyzed
šÆ {F} funnels identified
Key finding: [One-line headline insight]
Sending the full package now...
```
3. Send the zip file
## Phase 6: Handoff to Head of Marketing
After delivering competitor intel, prompt for next step:
```
"Ready to plan your campaign based on these learnings?
Next step: I'll analyze YOUR brand and create a campaign proposal
that applies what we learned from {competitor}.
To proceed, I need your website URL:
ā /head_of_marketing https://your-brand.com
Or if you want to analyze more competitors first, just say so."
```
**When user provides their URL:**
- Pass competitor learnings as context
- Invoke `/head_of_marketing` with the URL
- Include key patterns summary for campaign planning
## Quality Gates
### Gate 1: Extraction
- [ ] Page ID found correctly?
- [ ] Assets downloading without errors?
- [ ] Got both images AND videos?
### Gate 2: Analysis
- [ ] Strategy report generated?
- [ ] Funnels correctly mapped?
- [ ] Aspect ratios captured?
### Gate 3: Deep-Dives
- [ ] Video analysis working (Gemini)?
- [ ] Image analysis working (vision)?
- [ ] All requested ads analyzed?
### Gate 4: Landing Pages
- [ ] All unique URLs captured?
- [ ] Screenshots taken successfully?
- [ ] Analysis complete for each?
### Gate 5: Delivery
- [ ] Master report compiled?
- [ ] All files organized?
- [ ] Zip created and sent?
## Error Handling
**Page ID not found:**
- Try alternate extraction method (al:android:url meta tag)
- Ask user for direct Facebook page URL
**No ads found:**
- Check if advertiser has active ads
- Try removing country filter
- Report back to user
**Video analysis fails:**
- Check file upload to Gemini
- Verify file is under 2GB
- Fall back to thumbnail analysis
**Landing page blocked:**
- Note as "gated/blocked" in report
- Screenshot what's visible
- Move to next URL
## Pipeline Position
```
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāā
ā ads_analyst ā ā ā head_of_marketing ā ā ā creative_director ā
ā (research) ā ā (brand + campaign) ā ā (build assets) ā
āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāā
ā
YOU ARE HERE
```
## Sub-Skills Reference
| Skill | Purpose | Input |
|-------|---------|-------|
| `/meta_ads_extractor` | Download ad creatives | Advertiser name/URL |
| `/meta_ads_analyser` | Strategy report | Assets folder |
| `/ad_creative_analysis` | Individual ad deep-dive | Image/video file |
| `/landing_page_analysis` | Landing page breakdown | URL |
## Handoff Reference
| Next Step | Skill | What You Pass |
|-----------|-------|---------------|
| Plan campaign | `/head_of_marketing` | Competitor learnings, key patterns |