skills/composites/competitor-ad-teardown/SKILL.md
Deep-dive analysis of a competitor's ad strategy. Scrapes their Meta + Google ads, reverse-engineers their funnel (ad → landing page → CTA), identifies positioning bets, and produces a strategic teardown. Goes beyond ad-creative-intelligence by analyzing the full conversion path and strategic intent behind each campaign.
npx skillsauth add athina-ai/goose-skills competitor-ad-teardownInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Go deeper than surface-level ad monitoring. Take a single competitor and reverse-engineer their entire paid strategy: what they're running, where they're sending traffic, what they're testing, what's working, and where they're vulnerable.
Core principle: A competitor's ad portfolio is a window into their growth strategy. Long-running ads reveal what converts. New ads reveal what they're testing. Landing pages reveal their positioning bets. This skill reads all the signals.
python3 skills/meta-ad-scraper/scripts/scrape_meta_ads.py \
--domain <competitor_domain> \
--output json
For each ad, capture:
python3 skills/google-ad-scraper/scripts/scrape_google_ads.py \
--domain <competitor_domain> \
--output json
For each ad:
For each unique landing page URL found in ads:
Fetch: [landing_page_url]
Extract:
Group all ads into logical campaigns by:
For each campaign cluster:
| Dimension | Analysis | |-----------|----------| | Strategic intent | What is this campaign trying to achieve? (Awareness / Lead gen / Free trial / Competitive displacement) | | Target persona | Who is this ad speaking to? (Role, pain, stage) | | Positioning bet | What market position are they claiming? | | Hook strategy | Fear / Outcome / Social proof / Contrarian / Product-led | | Conversion path | Ad → LP → CTA → [Demo call / Free trial / Content download] | | Longevity signal | How long has this been running? (Longer = likely working) | | A/B tests detected | Multiple creatives to same LP = active testing |
Based on ad volume and platform distribution, estimate where they're concentrating spend:
| Platform | Ad Count | % of Total | Estimated Focus | |----------|----------|-----------|-----------------| | Meta (Facebook) | [N] | [X%] | [Awareness / Retargeting] | | Meta (Instagram) | [N] | [X%] | [Visual / younger audience] | | Google Search | [N] | [X%] | [Bottom-funnel capture] | | Google Display | [N] | [X%] | [Awareness / retargeting] | | YouTube | [N] | [X%] | [Education / awareness] |
If Web Archive data exists for their landing pages:
Identify weaknesses in their ad strategy:
| Vulnerability Type | Description | |-------------------|-------------| | Message-LP mismatch | Ad promises one thing, LP delivers another | | Single-persona dependency | All ads target the same persona — missing segments | | Platform concentration | Heavy on one platform, absent from others | | No social proof | Ads or LPs lack credibility markers | | Weak CTA | Asking for too much too soon (demo before value) | | Generic positioning | Claims anyone could make — not differentiated | | Stale creative | Same ads running unchanged for months — fatigue risk |
# Competitor Ad Teardown: [Competitor Name] — [DATE]
Domain: [competitor.com]
Channels analyzed: [Meta, Google]
Total ads found: [N] (Meta: [N], Google: [N])
Unique landing pages: [N]
Estimated active campaigns: [N]
---
## Executive Summary
[3-5 sentence summary: What is this competitor doing with paid ads? What's working? Where are they vulnerable?]
---
## Campaign Breakdown
### Campaign 1: [Inferred Campaign Name]
- **Ads in cluster:** [N]
- **Platform(s):** [Meta / Google / Both]
- **Strategic intent:** [Awareness / Lead gen / Competitive displacement / etc.]
- **Target persona:** [Description]
- **Hook strategy:** [Type]
- **Landing page:** [URL]
- Hero: "[Headline text]"
- CTA: "[Button text]"
- Message match: [Score/10]
- **Longevity:** [First seen date → status]
- **A/B tests detected:** [Yes/No — what they're testing]
**Sample ad:**
> **Headline:** [text]
> **Body:** [text]
> **CTA:** [button]
> **Format:** [Image/Video/Carousel]
**Assessment:** [1-2 sentences — is this working? Why/why not?]
### Campaign 2: ...
---
## Funnel Map
[Ad: Hook/Angle] → [LP: /landing-page-url] → [CTA: Book Demo] ↓ [Ad: Different angle] → [LP: /same-or-different] → [CTA: Free Trial]
---
## Budget Allocation Estimate
| Platform | Share | Focus Area |
|----------|-------|-----------|
| [Platform] | [X%] | [Intent] |
---
## What's Working (Long-Running Ads)
| Ad | Platform | Running Since | Why It Likely Works |
|----|----------|--------------|-------------------|
| [Headline excerpt] | [Platform] | [Date] | [Analysis] |
---
## Vulnerability Report
### 1. [Vulnerability]
**Evidence:** [What we observed]
**Your opportunity:** [How to exploit this gap]
### 2. ...
---
## Recommended Counter-Plays
### Counter-Play 1: [Name]
- **Target their weakness:** [Which vulnerability]
- **Your ad angle:** [Hook]
- **Platform:** [Where to run]
- **LP strategy:** [What your landing page should emphasize]
### Counter-Play 2: ...
Save to clients/<client-name>/ads/competitor-teardown-[competitor]-[YYYY-MM-DD].md.
| Component | Cost | |-----------|------| | Meta ad scraper | ~$0.20-0.50 (Apify) | | Google ad scraper | ~$0.20-0.50 (Apify) | | Landing page fetching | Free | | Web Archive lookup (deep mode) | Free | | Analysis | Free (LLM reasoning) | | Total | ~$0.40-1.00 |
APIFY_API_TOKEN env varmeta-ad-scraper, google-ad-scrapercontent-media
Takes an existing screen recording or demo video and adds professional zoom/pan effects synchronized to the narration. Uses transcript-driven zoom targeting and Remotion for rendering. Optionally replaces audio with a soundtrack.
tools
Repurposes long-form video (podcasts, interviews, talks) into short-form vertical clips for Instagram Reels, TikTok, and YouTube Shorts. Handles transcription, moment selection, clip extraction, speaker-tracked reframing (16:9 to 9:16), and animated captions.
development
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
tools
Generates Instagram-ready product reels from any e-commerce product page URL. Scrapes product images, classifies by type, generates AI-animated clips via Higgsfield API, creates text overlays with style presets, and composes a 15-20 second reel with music. Supports model-based and product-only reels.