Best for
- "What ads are my competitors running?"
- "Tear down [competitor]'s ad strategy"
- "Find new creative angles for our paid campaigns"
github/awesome-copilot/skills/competitor-ad-intelligence/SKILL.md
Use this skill when the user asks to analyze, tear down, or reverse-engineer a competitor's paid ads. Trigger for prompts like "what ads is [competitor] running", "tear down their ad strategy", "competitor ad analysis", "find ad angles we haven't tried", or "reverse-engineer their paid funnel". Do not trigger for organic/SEO competitor research or website positioning analysis.
Decision brief
Scrape competitor ads from Meta and Google, analyze creative patterns, reverse-engineer landing page funnels, and produce a full strategic teardown — hooks, formats, positioning bets, vulnerabilities, and counter-plays.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/github/awesome-copilot --skill "skills/competitor-ad-intelligence"Inspect the Agent Skill "competitor-ad-intelligence" from https://github.com/github/awesome-copilot/blob/9933dcad5be5caeb288cebcd370eeeb2fc2f1685/skills/competitor-ad-intelligence/SKILL.md at commit 9933dcad5be5caeb288cebcd370eeeb2fc2f1685. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Competitor names + domains (e.g., apollo.io, clay.run) 2. Your product/domain — for comparison framing 3. Channels: Meta only, Google only, or both? (default: both) 4. Depth level: - Standard: Ad scrape + creative analysis + landing page analysis - Deep: Standard + historical…
For each competitor domain, scrape ads from Meta Ad Library.
For each competitor domain, scrape ads from Google Ads Transparency Center.
After collecting all ads, perform structured analysis.
For each unique landing page URL found in ads, fetch and analyze:
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 37,126 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Scrape competitor ads from Meta and Google, analyze creative patterns, reverse-engineer landing page funnels, and produce a full strategic teardown — hooks, formats, positioning bets, vulnerabilities, and counter-plays.
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. The best ad creative teams start with evidence from what's already working, then differentiate.
Gather from the user:
apollo.io, clay.run)For each competitor domain, scrape ads from Meta Ad Library.
Use web_search to find competitor ads in the Meta Ad Library (publicly accessible, no API key needed):
web_search: site:facebook.com/ads/library "[competitor_name]"
web_search: "[competitor_name]" Meta Ad Library active ads
web_search: "[competitor_name]" facebook ads examples
You can also visit the Meta Ad Library directly: https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=<competitor_name>
Use fetch_webpage on the Ad Library URL to extract ad details if your agent supports it.
Note: Apify actors for Meta Ad Library scraping exist but are unreliable as of April 2026 due to Meta's anti-scraping measures. Use
web_searchas the primary method.
Collect per ad:
For each competitor domain, scrape ads from Google Ads Transparency Center.
Use web_search to find competitor ads in Google Ads Transparency Center (publicly accessible):
web_search: site:adstransparency.google.com "[competitor_name]"
web_search: "[competitor_name]" Google Ads transparency
web_search: "[competitor_name]" google search ads examples
You can also visit directly: https://adstransparency.google.com/?search_text=<competitor_name>
Use fetch_webpage on the Transparency Center URL to extract ad details if your agent supports it.
Collect per ad:
After collecting all ads, perform structured analysis.
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 | Meta | |
|---|---|---|
| Static image | [N] | N/A |
| Video | [N] | [N] |
| Carousel | [N] | N/A |
| Search text | N/A | [N] |
| Display banner | N/A | [N] |
List all unique CTAs found. Common patterns:
For each unique landing page URL found in ads, fetch and analyze:
fetch_webpage: [landing_page_url]
Or use curl if fetch_webpage is unavailable.
Extract per landing page:
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] |
Identify across all competitors:
Identify weaknesses in each competitor's 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 |
If Web Archive data exists for their landing pages:
# Competitor Ad Intelligence Report — [DATE]
## Coverage
- Competitors analyzed: [list]
- Meta ads collected: [N]
- Google ads collected: [N]
- Unique landing pages analyzed: [N]
- Estimated active campaigns: [N]
---
## Executive Summary
[3-5 sentence summary: What is the competitive ad landscape? What's working? Where are the gaps and vulnerabilities?]
---
## 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]
---
## Campaign Breakdown
### Campaign 1: [Inferred Campaign Name]
- **Competitor:** [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] |
---
## 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]
---
## Vulnerability Report
### 1. [Vulnerability]
**Competitor:** [name]
**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]
- **Proposed headline:** "[headline]"
- **Proposed body:** "[copy]"
- **LP strategy:** [What your landing page should emphasize]
- **Why test this:** [rationale]
### Counter-Play 2: ...
| Component | Cost |
|---|---|
| Ad library research (web_search) | Free |
| Landing page fetching | Free |
| Web Archive lookup (deep mode) | Free |
| Analysis | Free (LLM reasoning) |
| Total | Free |
web_search — query Meta Ad Library and Google Ads Transparency Centerfetch_webpage or curl — fetch and analyze landing pagesAlternatives
MoizIbnYousaf/marketing-cli
Backlink + distribution checklist that expands a site's KD ceiling beyond what on-page work alone can earn. Use when the user mentions 'backlinks', 'off-page SEO', 'directory submissions', 'guest posts', 'outreach targets', 'link building', 'submit to directories', 'get listed in listicles', 'Product Hunt launch backlinks', or asks 'how do I get more domain authority'. Generates a prioritized, researched target list across directories, listicles, and guest-post candidates — does NOT submit anyth
MoizIbnYousaf/marketing-cli
Build an organic-traffic operating system for any site or app: a multi-phase, resumable engine that ships programmatic landing pages (alternatives, comparisons, use-cases, playbooks) on top of real keyword research. Use when the user says 'SEO machine', 'build organic traffic', 'rank on Google', 'we need traffic', 'alternatives pages', 'comparison pages', '/for/ pages', 'programmatic SEO', or 'build an SEO engine'. Distinct from `seo-audit` (one-off diagnostic) and `seo-content` (single-article
MoizIbnYousaf/marketing-cli
Creates high-converting 'X vs Y' and 'X alternatives' SEO pages that capture comparison search traffic. Researches competitors, writes honest comparison content, and adds schema markup (FAQPage, ItemList). Use when someone needs alternatives pages, comparison content, or says 'alternatives page', 'vs page', 'comparison', 'competitor alternatives', 'X vs Y page', or wants to capture competitor brand search traffic with SEO content. Also trigger when someone wants to rank for competitor brand name
MoizIbnYousaf/marketing-cli
Strategic keyword research powered by web search and brand context. Use this skill whenever the user mentions keywords, keyword research, SEO topics, content topics, 'what should I write about', content strategy, blog ideas, search traffic, or content planning. Also trigger when the user wants to plan what content to create, when existing content isn't attracting search traffic, when any skill needs keyword-plan.md but it doesn't exist, or when the user asks about SEO in the context of content c