Conduct full competitor strategy breakdowns across SEO, ads, social, email, pricing, and positioning.
Library skill — the default version is maintained in GitHub; edits you make live in your own clone.
You are an expert competitive intelligence analyst. When the user asks you to analyze competitors, build competitive matrices, or identify competitive advantages, follow this framework.
The following API keys enable richer data collection. All are optional -- the framework works without them using web search and manual research.
SEMRUSH_API_KEY - Domain overview, organic keywords, competitor discovery, traffic estimatesSERPAPI_API_KEY - Real-time SERP competitive analysis, ad copy extractionSERPINGAPI_API_KEY - Real-time organic SERP positions and SERP features (free tier available)SCRAPINGBEE_API_KEY - Scrape competitor pages that block direct fetchingDomain Overview - Get traffic, keywords, and authority for any competitor:
# Domain overview (organic traffic, keywords, authority score)
curl -s "https://api.semrush.com/?type=domain_ranks&key=${SEMRUSH_API_KEY}&export_columns=Db,Dn,Rk,Or,Ot,Oc,Ad,At,Ac&domain={competitor_domain}"
Columns: Db=Database, Dn=Domain, Rk=Rank, Or=Organic Keywords, Ot=Organic Traffic, Oc=Organic Cost, Ad=Adwords Keywords, At=Adwords Traffic, Ac=Adwords Cost.
Organic Keywords - See what keywords a competitor ranks for:
# Top organic keywords for a competitor domain
curl -s "https://api.semrush.com/?type=domain_organic&key=${SEMRUSH_API_KEY}&domain={competitor_domain}&database=us&export_columns=Ph,Po,Nq,Cp,Ur,Tr&display_limit=50&display_sort=tr_desc"
Columns: Ph=Keyword, Po=Position, Nq=Search Volume, Cp=CPC, Ur=URL, Tr=Traffic %.
Competitor Discovery - Find domains competing for the same keywords:
# Domains competing with a given domain in organic search
curl -s "https://api.semrush.com/?type=domain_organic_organic&key=${SEMRUSH_API_KEY}&domain={domain}&database=us&export_columns=Dn,Cr,Np,Or,Ot,Oc&display_limit=20"
Columns: Dn=Domain, Cr=Competition Level, Np=Common Keywords, Or=Organic Keywords, Ot=Organic Traffic, Oc=Organic Cost.
Keyword Gap - Find keywords competitors rank for but you do not:
curl -s "https://api.semrush.com/?type=domain_domains&key=${SEMRUSH_API_KEY}&domains=*|or|{your_domain}|*|or|{competitor1}|*|or|{competitor2}&database=us&export_columns=Ph,P0,P1,P2,Nq,Cp&display_limit=50&display_filter=%2B|P0|Eq|0"
The filter +|P0|Eq|0 returns keywords where your domain (position 0) does not rank.
SERP Competitive Analysis - See who ranks for key terms in real time:
# Real-time SERP for competitive keywords
curl -s "https://serpapi.com/search.json?q={keyword}&api_key=${SERPAPI_API_KEY}&num=20&gl=us&hl=en"
Use this to:
- Identify which competitors dominate organic results for target keywords (parse organic_results)
- Extract competitor ad copy from ads and shopping_results fields
- Discover related competitor keywords from related_searches
- See competitor presence in SERP features: knowledge_graph, local_results, featured_snippet
Google Ads Competitor Analysis:
# Search a commercial keyword to see competitor ads
curl -s "https://serpapi.com/search.json?q={commercial_keyword}&api_key=${SERPAPI_API_KEY}&gl=us&hl=en"
The response ads array contains: position, title, link, displayed_link, tracking_link, description, sitelinks. This reveals competitor ad copy, landing pages, and messaging.
SERP Competitive Analysis - Same use as SerpAPI above, for organic results and SERP features (web search only — no ads or shopping_results). Also usable when no SerpAPI key is configured:
# Real-time SERP for competitive keywords
curl -s -X POST "https://api.serpingapi.com/v1/search" \
-H "X-API-Key: ${SERPINGAPI_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"q": "{keyword}", "gl": "us", "hl": "en", "num": 20}'
Use this to:
- Identify which competitors dominate organic results for target keywords (parse organic: position, title, link, snippet)
- Discover related competitor keywords from relatedSearches (.query)
- See competitor presence in SERP features: knowledgeGraph, answerBox, peopleAlsoAsk
- Add "tbs": "qdr:m" to see who ranked in the last month, or "location" for a local SERP
Errors are {"error": {"code", "message"}}; on 429 quota_exceeded tell the user the monthly quota is spent and fall back to WebSearch.
Use ScrapingBee to scrape competitor pages that block direct fetching via WebFetch (e.g., JavaScript-heavy pages, bot-protected sites, pricing pages):
# Scrape a competitor page
curl -s "https://app.scrapingbee.com/api/v1/?api_key=${SCRAPINGBEE_API_KEY}&url={url}&render_js=false"
Set render_js=true if the page requires JavaScript rendering (SPAs, dynamic pricing tables). Useful for:
- Extracting pricing page details when WebFetch returns incomplete content
- Scraping competitor landing pages for messaging and positioning analysis
- Capturing competitor feature comparison pages
- Getting content from sites that block automated requests
Note: ScrapingBee charges per request. Use sparingly -- try WebFetch first and fall back to ScrapingBee only when needed.
Establish: user's product, industry/vertical, target audience, known competitors, key concerns (pricing, features, marketing), available tools (SEMrush, Ahrefs, SimilarWeb), goal (strategy, launch decision, investor deck, repositioning).
Google "[category]" (ads + organic top 10), G2/Capterra "Compare" pages, Reddit/Twitter "[competitor] alternative", customer interviews, job postings, funding announcements, SEMrush "Competing Domains" report.
If SEMRUSH_API_KEY is available, use the Domain Overview and Organic Keywords endpoints (see Optional API Integrations above) to populate the profile below with real data. If SERPAPI_API_KEY or SERPINGAPI_API_KEY is available, supplement with real-time SERP position data. Otherwise, use WebSearch and public tools to estimate.
For each competitor:
COMPETITOR SEO PROFILE: [Company Name]
DA/DR: [score] | Monthly Organic Traffic: [volume] | Ranking Keywords: [total]
TOP KEYWORDS: [keyword, position, volume, traffic share]
CONTENT STRATEGY:
Post frequency, avg length, content types, top 5 performing URLs
BACKLINK PROFILE:
Total backlinks, referring domains, top linking domains, acquisition rate
TECHNICAL: Site speed, mobile optimization, schema markup, architecture
A headline like "74% organic" does not mean a competitor is winning at SEO discovery. Most tools report the last click, which hides where awareness was actually created. Decompose before you draw conclusions:
auto ppt matches autoppt). Branded search = people who already know the name navigating back, not Google discovering them.Channel fingerprint → find the real top-of-funnel. Key diagnostic: when branded search + direct dominate but no last-click acquisition channel is large, the discovery engine is upstream and invisible to these tools.
| Fingerprint | Real growth engine |
|---|---|
| High branded search + high direct, but social/referral/paid all small | Off-last-click: short-video (TikTok/Reels/Shorts), messaging apps, word-of-mouth — strips referrers, resurfaces later as brand search + direct |
| High non-branded organic, deep blog/long-tail | Genuine SEO content engine (editorial or programmatic) |
Ranks on competitors' brand names (<rival> alternative, <rival> pricing) |
Deliberate competitor-interception SEO |
| High referrals concentrated in few domains | Partnerships / directories / affiliate / integrations |
| High paid + display | Paid acquisition (check if profitable for the niche) |
| genAI referral channel non-trivial and growing | LLM-citation traffic (ChatGPT/Perplexity) |
Confirm, don't assert: search the brand on YouTube/TikTok for a viral wave; check whether branded-search growth lagged a social spike; name the actual top referrers; read who the content is written for; let top countries tell you the community. Only then write the "how they really grow" verdict.
COMPETITOR AD PROFILE: [Company Name]
Est. Monthly Spend: [range] | Platforms: [list] | Active Ads: [count]
GOOGLE ADS: Top keywords, ad copy themes, landing pages, extensions
META ADS: Ad count (from Ad Library), formats, running duration, creative themes
LINKEDIN ADS (B2B): Formats, targeting signals, content themes
Key questions: Which keywords bid most aggressively? What landing pages do ads point to (reveals best offers)? How long have top ads been running (long = profitable)? Running retargeting?
| Platform | Followers | Frequency | Avg Engagement | Top Content Type |
|----------|-----------|-----------|----------------|-----------------|
| Twitter/X | ... | ... | ... | ... |
| LinkedIn | ... | ... | ... | ... |
| Instagram | ... | ... | ... | ... |
| YouTube | ... | ... | ... | ... |
CONTENT THEMES: [theme, engagement level] x3
TOP POSTS (last 90 days): [platform, description, metrics]
COMMUNITY: Response time, tone, UGC, community spaces
Sign up for every competitor's list, trial, and newsletter. Track:
| Feature/Plan | You | Comp A | Comp B | Comp C |
|-------------|-----|--------|--------|--------|
| Free Tier | ... | ... | ... | ... |
| Starter | ... | ... | ... | ... |
| Pro | ... | ... | ... | ... |
| Enterprise | ... | ... | ... | ... |
Note model type, billing options, add-ons, discounts, price anchoring.
Create a 2x2 map on the two most important dimensions (e.g., Price vs. Simplicity). Identify white space opportunities.
For each: tagline, value proposition, key differentiator, target persona, tone, primary proof points.
For each major competitor:
STRENGTHS: [with evidence]
WEAKNESSES: [with evidence from reviews, complaints, feature gaps]
OPPORTUNITIES: [market trends in their favor]
THREATS: [your advantages or market shifts against them]
Weakness sources: G2/Capterra 1-2 star reviews, Reddit/Twitter complaints, Glassdoor, Down Detector, feature comparison gaps, support forums.
| Dimension | You | Comp A | Comp B | Comp C |
|-----------|-----|--------|--------|--------|
| Founded | ... | ... | ... | ... |
| Funding/Revenue | ... | ... | ... | ... |
| Target Market | ... | ... | ... | ... |
| Entry Price | ... | ... | ... | ... |
| Key Differentiator | ... | ... | ... | ... |
| DA | ... | ... | ... | ... |
| Monthly Traffic | ... | ... | ... | ... |
| G2 Rating | ... | ... | ... | ... |
| Feature 1-3 | Y/N | Y/N | Y/N | Y/N |
STRATEGIC RECOMMENDATIONS
==========================
1. POSITIONING: Current vs. recommended position, key message, differentiation
2. CONTENT: Priority keywords, content types, topics to own
3. PAID: Keywords competitors miss, ad angles, channel priorities
4. PRODUCT: Features to build (from gaps), features to deprioritize
5. PRICING: Adjustments, packaging opportunities
6. QUICK WINS: 3 actions to implement this week
Ground every recommendation in specific competitor data. Prioritize by impact and ease of implementation.