Skip to content
Marketing
Skill

/competitor-ad-intelligence

Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries, analyze creative patterns (hooks, formats, CTAs), reverse-engineer landing page funnels, and produce a strategic teardown with vulnerability analysis and counter-play recommendations. Use when you need

From plugin
goose-skills
1.3k181 skills

Claude Code

$ npx -y skills add gooseworks-ai/goose-skills --skill competitor-ad-intelligence --agent claude-code

SKILL.md

competitor-ad-intelligence.SKILL.md
name: competitor-ad-intelligence
description: >
  Scrape competitor ads from Meta, TikTok, Google, and LinkedIn ad libraries,
  analyze creative patterns (hooks, formats, CTAs), reverse-engineer landing page funnels,
  and produce a strategic teardown with vulnerability analysis and counter-play recommendations.
  Use when you need to understand the competitive ad landscape, find new creative directions,
  or identify weaknesses in a competitor's paid strategy.

Competitor Ad Intelligence

Scrape competitor ads from Meta, TikTok, Google, and LinkedIn, 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 evidence about its growth strategy, not access to its results. Long-running ads suggest sustained use. New ads suggest active testing. Landing pages reveal positioning bets. Use these signals to form differentiated tests without claiming conversion, spend, or causality the libraries do not expose.

When to Use

  • "What ads are my competitors running?"
  • "Tear down [competitor]'s ad strategy"
  • "Find new creative angles for our paid campaigns"
  • "Reverse-engineer [competitor]'s paid funnel"
  • "What hooks are working in [our space]?"
  • "Audit the ad landscape before we launch"
  • "Find weaknesses in [competitor]'s ad strategy"
  • "What format — video, image, carousel — is dominant in our category?"

Phase 0: Intake

Gather from the user:

1. **Competitor names + domains** (e.g., `apollo.io`, `clay.run`) 2. **Your product/domain** — for comparison framing 3. **Channels:** Meta, TikTok, Google, LinkedIn, or all relevant libraries? (default: all channels relevant to the brand and market) 4. **Depth level:**

  • **Standard:** Ad scrape + creative analysis + landing page analysis
  • **Deep:** Standard + historical comparison + funnel reconstruction + counter-plays

5. **Product category** — helps frame analysis 6. **Known competitor landing pages?** — any URLs already spotted in their ads

Phase 1: Scrape Meta Ads

For each competitor domain, scrape ads from Meta Ad Library.

Use `scrapecreators-api` as the primary collection path. Resolve the advertiser first, then fetch its ads and individual ad details:

- provider: scrapecreators
  method: GET
  path: /v1/facebook/adLibrary/search/companies
  query:
    query: "[competitor_name]"
- provider: scrapecreators
  method: GET
  path: /v1/facebook/adLibrary/company/ads
  query:
    companyName: "[competitor_name]"
- provider: scrapecreators
  method: GET
  path: /v1/facebook/adLibrary/ad
  query:
    id: "[ad_id]"

If the structured endpoint cannot resolve an advertiser, verify the name in the public Meta Ad Library and use web search as a documented fallback. Keep the library URL and ad ID with every result.

**Collect per ad:**

  • Ad copy (headline + primary text)
  • Visual type (image / video / carousel)
  • CTA button text
  • Landing page URL
  • Active duration (first seen, still running or stopped)
  • Platforms (Facebook, Instagram, Audience Network)
  • Ad variations (A/B tests — same landing page, different creative)
  • Video transcript when available; use `transcript-intelligence` to extract hooks, claims, proof, objections, and CTA structure

Phase 2: Scrape TikTok Ads

For each competitor or category, use `scrapecreators-api` to resolve the current TikTok Ad Library search and ad-detail operations from the official provider reference.

Collect the advertiser, ad ID, caption or script, format, landing page, first-seen date, market, and available performance or reach indicators. Keep organic TikTok posts separate from paid-library ads.

Use `transcript-intelligence` when the ad includes spoken content. Analyze TikTok-native mechanics such as creator-led openings, product demonstrations, comment-style hooks, native captions, sounds, offer timing, and the first visible payoff.

Phase 3: Scrape Google Ads

For each competitor domain, scrape ads from Google Ads Transparency Center.

Save confirmed Google research in GooseWorks

When the user wants saved research and the connected app exposes `ads_library_scrape`, use the durable import path. First identify the exact public advertiser URL/AR ID and the existing brand competitor ID. Ask the user to confirm that advertiser belongs to the selected competitor and approve the ad, request and provider USD limits. Do not infer that confirmation from a name or the first discovery result.

{
  "tool": "ads_library_scrape",
  "arguments": {
    "brand_id": "<active brand UUID>",
    "library_provider": "google",
    "advertiser_id": "AR01614014350098432001",
    "relationship": "competitor",
    "competitor_id": "<existing competitor UUID in this brand>",
    "name": "<confirmed advertiser label>",
    "confirmed": true,
    "max_ads": 10,
    "max_provider_requests": 11,
    "max_spend_usd": 0.10,
    "refresh": false
  }
}

`max_ads` accepts 1–25; `max_provider_requests` accepts 1–26 and includes the listing; `max_spend_usd` must be positive and at most 5. The USD cap uses the app's configured provider tariff; imports use managed workspace credits. The example limits are examples, not permission to spend. An exact advertiser URL can replace `advertiser_id` using `ad_library_url`.

Poll the returned stable `source_id` using `job_get { "kind": "library_scrape", "brand_id": "<same brand UUID>", "job_id": "<source_id>" }`. Read the saved entries, canonical Google creative citations, added/changed/unchanged/failed counts and actual/null cost receipts from `result`. Report queued/running/partial/empty/failed states honestly. A saved source can be imported again with `source_id`; `refresh:true` incurs detail requests and needs fresh explicit limits/confirmation. Complete saved details are reused otherwise. Research is reference-only: no activation, remix rights, guaranteed downloadable videos or

Read more
@gooseworks-ai
Ships withgoose-skills

Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.

1.3k181 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.3k
Star history of gooseworks-ai/goose-skills on GitHub, a chart by star-history.com

Other skills on goose-skills.

goose-ads

goose-ads

Edit, resize, animate and study image ads with GooseWorks in this chat. New static or image ads go to the make-static-ads skill…

goose-video

goose-video

Make a video ad in this chat from a real reference ad, found or theirs; styles are the fallback. Follow every answer's next_step.

gooseworks

gooseworks

GooseWorks growth coworker and router for markets, competitors, audiences, creators, campaigns, ads, photos, graphics, video,…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about competitor-ad-intelligence.

Which coding agents can use competitor-ad-intelligence?
competitor-ad-intelligence installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.