Skip to content
cccskills
FreePublished on GitHub

seo-competitor-gap-analysis

Compare a target domain to its top organic competitors and surface keywords the competitors rank for that the target does not, filtered by intent, volume, and difficulty. Use when the user asks for a competitor gap analysis, keyword gap, organic content gap, missing keyword opportunities, or wants to see what their competitors are ranking for that they are not.

The English summary is being prepared. Showing the original description.

seranking/seo-skills188 stars(GitHub 188 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md6.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Example output: examples/seo-competitor-gap-analysis-wix-com-20260514/REPORT.md

Competitor Gap Analysis

Identify the specific keywords your competitors rank for in the top 20 that your domain does not, ranked by commercial value and realistic capture difficulty.

Prerequisites

  • SE Ranking MCP server connected.
  • User provides: (a) target domain, (b) 3 to 5 competitor domains (or ask the skill to auto-discover them), (c) market country (default: us), and optionally filters (min volume, max KD, intent).

Process

  1. Validate or discover competitors DATA_getDomainCompetitors

    • If the user did not provide competitors, pull the top 5 organic competitors for the target in the target market.
    • Surface the list to the user and ask them to confirm or override before proceeding.
    • Note: the upstream API does not support limit/offset, so this call returns the full set (~60KB for popular domains) and the MCP harness writes it to a file. Read that file path, parse the {data: [...]} JSON, sort by common_keywords desc, and take the top 5.
  2. Pull competitor keyword sets DATA_getDomainKeywords

    • For each competitor, pull keywords where they rank in the top 20 of the target country.
    • Save per-competitor lists.
  3. Pull target keyword set DATA_getDomainKeywords

    • For the target domain, pull all ranking keywords in the target country (any position).
    • This is the exclusion set.
  4. Compute the gap DATA_getDomainKeywordsComparison (cross-check)

    • Keywords ranked by at least one competitor in the top 20 but not ranked by the target domain at all.
    • Use the comparison endpoint as a cross-check.
  5. Filter and segment

    • Apply user-specified filters on volume, KD, and intent.
    • Segment by intent: informational, commercial, transactional, navigational.
    • Segment by competition: how many of the N competitors rank for each gap keyword.
  6. Score and prioritise

    • Score each gap keyword: traffic potential (volume × CTR model) + intent weighting + inverse KD.
    • Surface the top 50 opportunities with reasoning per keyword.
  7. Map to content actions

    • For each top opportunity, recommend: new article, expand existing page, refresh existing page, programmatic template.
    • Flag quick wins: competitors rank with thin content (detected by URL pattern and content-length heuristics).

Output format

Create a folder seo-competitor-gap-analysis-{target-slug}-{YYYYMMDD}/ with:

seo-competitor-gap-analysis-{target-slug}-{YYYYMMDD}/
├── REPORT.md                                (synthesised report — primary deliverable)
├── gaps.csv                                 (full gap list — load-bearing CSV the writers/planners paste into briefs)
└── evidence/
    ├── 01-competitors.md                    (competitor list / discovery — raw step output)
    ├── 02-competitor-keywords-{domain}.md   (one per competitor — raw step output)
    ├── 03-target-keywords.md                (target's existing ranking set — raw step output)
    └── 04-gap-raw.md                        (human-readable full gap list before filtering — raw step output)

Top-level: REPORT.md + gaps.csv. The numbered step files preserve the raw API outputs in evidence/ for reproducibility.

REPORT.md follows this shape:

# Competitor Gap: {target}
Market: {country}
Competitors analysed: {list}

## Summary
- Competitor keywords in top 20: {n}
- Target keywords overall: {n}
- Gap keywords (opportunities): {n}
- Gap traffic potential: ~{n}/mo

## Top 50 opportunities

### Informational intent
| # | Keyword | Volume | KD | Competitors ranking | Action | Score |
|---|---|---|---|---|---|---|
| 1 | {kw} | {n} | {n} | {3 of 5} | New article | {score} |
| 2 | ... | ... | ... | ... | ... | ... |

### Commercial intent
| # | Keyword | Volume | KD | Competitors ranking | Action | Score |
|---|---|---|---|---|---|---|
...

### Transactional intent
...

## Quick wins (top 10)
Keywords where competitors rank in positions 5 to 20 with thin content, low DT, or old dates.

| # | Keyword | Weakest competitor position | Suggested angle |
|---|---|---|---|
| 1 | {kw} | example.com at #14 (2022 article, 800 words) | Fresh, comprehensive guide |

## Recommended next steps
1. Run `content-brief` on the top 3 opportunities to generate writer-ready briefs.
2. Run `keyword-cluster-planner` on the full gap list to build a sequencing plan.
3. Add the gap keywords to an SE Ranking project for rank tracking once content ships.

## Files
- gaps.csv: full gap list for spreadsheet analysis
- evidence/04-gap-raw.md: human-readable full gap list before filtering

gaps.csv columns: keyword,volume,kd,cpc,intent,competitors_ranking,top_competitor_position,target_position,action,score

Tips

  • Data API rate limit: 10 requests per second. For large sites, DATA_getDomainKeywords may paginate heavily; set a ceiling (e.g., top 1,000 keywords per domain) unless the user explicitly asks for the full set.
  • Call DATA_getCreditBalance before running. A full pass on 10 seeds typically consumes 30–80 credits; 20 seeds can exceed 150.
  • The competitors_ranking count is the best signal of realism. Keywords ranked by 4 of 5 competitors are validated opportunities; keywords ranked by only 1 may be noise.
  • Do not recommend capturing branded competitor keywords unless the user explicitly asks. Pivoting to compete on "competitor brand review" is a viable strategy but only if the user opts in.
  • When many gap keywords cluster around a theme, recommend a hub page plus cluster rather than 50 individual articles.
  • Chain this skill with content-brief and keyword-cluster-planner naturally. Mention them in the Recommended next steps section of the output.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Find the AI-search prompts and topics where a brand is invisible (or losing to competitors) in SE Ranking, then turn those gaps into a social campaign in Planable and set up before/after tracking. Use this skill whenever the user wants to improve how their brand shows up in AI answers (ChatGPT, Perplexity, Gemini, Google AI Overview, AI Mode) through content, or says things like "what should we post to get cited by AI", "where are competitors winning in AI answers and we're not", "create content for the prompts we're missing", "improve our AI visibility with social", "AEO/GEO content plan", or "turn our AI search gaps into posts". Always activate when AI-search visibility is the goal and Planable is where the content will be made.

The English summary is being prepared. Showing the original description.

seranking/seo-skills188Updated Jun 25, 2026

Build a data-backed client onboarding proposal for an agency starting a new engagement, combining an SE Ranking SEO + AI-search audit with a Planable analysis of the client's current social performance. Use this skill whenever an agency wants to show a new (or about-to-sign) client where they stand and what the plan is, or says things like "build an onboarding proposal for [client]", "we're starting with [client], put together the SEO + social analysis", "create a client proposal with audit and social baseline", "scope a SEO + AI + social engagement", or "show the client their opportunities and our plan". Assumes the client's social accounts are already connected in Planable. Always activate for new-engagement proposals that pair SE Ranking analysis with Planable social data.

The English summary is being prepared. Showing the original description.

seranking/seo-skills188Updated Jun 25, 2026

Build and track local search visibility with SE Ranking city-level rank tracking and turn it into local social content in Planable, including Google Business Profile posts. Use this skill whenever the user wants to grow a business's presence in a specific city or cities and pair it with local social, or says things like "track our rankings in [city]", "set up local rank tracking", "we want to show up in local search", "create Google Business Profile posts", "local SEO plus social for our locations", or "how are we ranking city by city and what should we post locally". Always activate for local/multi-location visibility work that combines SE Ranking rankings with Planable local/GMB content.

The English summary is being prepared. Showing the original description.

seranking/seo-skills188Updated Jun 25, 2026

Paid-search competitive landscape for a domain or keyword. Pulls SE Ranking's PPC data — domain ad keyword footprint, ad copy patterns, who else bids on the same keywords, SERP shopping/ad-pack visibility — and produces a competitive ads brief plus a recommended bid-keyword shortlist. Use when the user asks "paid search analysis", "competitor ads", "PPC competitive", "ad copy intelligence", "shopping pack", "who bids on this keyword", or "paid keyword footprint".

The English summary is being prepared. Showing the original description.

seranking/seo-skills188Updated Jun 25, 2026

Generate a demand-gen landing page for an SEO agency, complete with pain-point hook, proof, a free-audit lead magnet flow, and CTAs tuned for cold traffic. Pulls real competitive and AI-search data for the agency's target niche to make the copy specific and credible. Use when the user asks for an SEO agency landing page, lead-gen page for an SEO agency, demand-gen page, free-audit landing page, or wants to convert cold traffic into discovery calls.

The English summary is being prepared. Showing the original description.

seranking/seo-skills188Updated Jun 25, 2026

Measure AI Search share of voice for a target domain versus competitors across ChatGPT, Perplexity, Gemini, Google AI Overview, and AI Mode. Pulls the AIO leaderboard, then samples prompts where each domain appears as a source or brand mention, and analyses topic clusters each brand owns. Use when the user asks for AI Search share of voice, LLM visibility tracking, AEO/GEO analysis, AI Overview competitive analysis, or wants to know which brands LLMs cite in their category.

The English summary is being prepared. Showing the original description.

seranking/seo-skills188Updated Jun 25, 2026

See all skills by seranking

Report a problem with this skill