Keyword Gap Analyzer

Competitor gap

by Ryze-AI-Adgent · MIT license · ★ 3,135 on GitHub

Competitor gap cover

Find keywords a competitor ranks for that the user's site doesn't — the content gap, prioritized by volume and winnability. Use when asked "what does competitor.com rank for", "keyword gap vs X", "steal competitor keywords", or "why do…

---
name: competitor-gap
description: Find keywords a competitor ranks for that the user's site doesn't — the content gap, prioritized by volume and winnability. Use when asked "what does competitor.com rank for", "keyword gap vs X", "steal competitor keywords", or "why do they outrank us".
---

# Competitor Gap

## Requires

The free Ryze MCP connector (`https://connector.get-ryze.ai/mcp`). Claude Code: `claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp`. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp

Their rankings are estimates (DataForSEO), yours are real (GSC). Diff them.

## Workflow

1. **Competitor's keywords.** Via the workspace's DataForSEO tools — Labs `ranked_keywords` for the competitor domain (request shape: `native__get_provider_docs`, provider `dataforseo`). Pull top ~500 by volume. If DataForSEO isn't exposed in this workspace, check for connected `ahrefs`/`semrush` providers and use their organic-keywords endpoint instead; if none, stop and say which connection is missing.
2. **Competitor overview.** Labs `domain_rank_overview` — their estimated organic traffic and keyword count, for context.
3. **Your keywords.** `google_search_console__runRawSearchAnalytics`, dimension `["query"]`, last 90 days, high rowLimit — the full set of queries the user's site gets impressions for.

Overview

The free Ryze MCP connector (https://connector.get-ryze.ai/mcp). Claude Code: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp

Manual install (npx, ZIP)
Claude Codenpx skills add Ryze-AI-Adgent/open-seo-mcp-skills --skill competitor-gap -g -a claude-code
Claude Code (degit)npx degit Ryze-AI-Adgent/open-seo-mcp-skills/skills/competitor-gap#main ~/.claude/skills/competitor-gap
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md2.2 KB
Read SKILL.md here
Ryze-AI-Adgent/main1 file shown
SKILL.md
Show the full text28 lines
competitor-gap/SKILL.md28 lines · 2.2 KB

Competitor Gap

Requires

The free Ryze MCP connector (https://connector.get-ryze.ai/mcp). Claude Code: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp

Their rankings are estimates (DataForSEO), yours are real (GSC). Diff them.

Workflow

  1. Competitor's keywords. Via the workspace's DataForSEO tools — Labs ranked_keywords for the competitor domain (request shape: native__get_provider_docs, provider dataforseo). Pull top ~500 by volume. If DataForSEO isn't exposed in this workspace, check for connected ahrefs/semrush providers and use their organic-keywords endpoint instead; if none, stop and say which connection is missing.
  2. Competitor overview. Labs domain_rank_overview — their estimated organic traffic and keyword count, for context.
  3. Your keywords. google_search_console__runRawSearchAnalytics, dimension ["query"], last 90 days, high rowLimit — the full set of queries the user's site gets impressions for.
  4. Diff into three buckets:
    • Gap — competitor ranks top 20, you have zero impressions → new content needed
    • Behind — you both rank but they're ≥ 5 spots ahead → improve existing page
    • Ahead — you outrank them (report briefly; it's the moat)
  5. Prioritize the Gap and Behind buckets by volume × relevance to the user's product. Drop branded competitor terms unless the user wants comparison pages — then list them separately as "vs / alternative" page candidates.

Output

Verdict (how big the gap is, in keywords and estimated traffic), then: Gap table (keyword, their position, volume, suggested page), Behind table (keyword, their pos, your pos, your page, fix), and a top-10 action list. Note explicitly which numbers are estimates (theirs) vs real (yours).

1---
2name: competitor-gap
3description: Find keywords a competitor ranks for that the user's site doesn't — the content gap, prioritized by volume and winnability. Use when asked "what does competitor.com rank for", "keyword gap vs X", "steal competitor keywords", or "why do they outrank us".
4---
5 
6# Competitor Gap
7 
8## Requires
9 
10The free Ryze MCP connector (`https://connector.get-ryze.ai/mcp`). Claude Code: `claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp`. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
11 
12Their rankings are estimates (DataForSEO), yours are real (GSC). Diff them.
13 
14## Workflow
15 
161. **Competitor's keywords.** Via the workspace's DataForSEO tools — Labs `ranked_keywords` for the competitor domain (request shape: `native__get_provider_docs`, provider `dataforseo`). Pull top ~500 by volume. If DataForSEO isn't exposed in this workspace, check for connected `ahrefs`/`semrush` providers and use their organic-keywords endpoint instead; if none, stop and say which connection is missing.
172. **Competitor overview.** Labs `domain_rank_overview` — their estimated organic traffic and keyword count, for context.
183. **Your keywords.** `google_search_console__runRawSearchAnalytics`, dimension `["query"]`, last 90 days, high rowLimit — the full set of queries the user's site gets impressions for.
194. **Diff into three buckets:**
20 - **Gap** — competitor ranks top 20, you have zero impressions → new content needed
21 - **Behind** — you both rank but they're ≥ 5 spots ahead → improve existing page
22 - **Ahead** — you outrank them (report briefly; it's the moat)
235. **Prioritize** the Gap and Behind buckets by volume × relevance to the user's product. Drop branded competitor terms unless the user wants comparison pages — then list them separately as "vs / alternative" page candidates.
24 
25## Output
26 
27Verdict (how big the gap is, in keywords and estimated traffic), then: Gap table (keyword, their position, volume, suggested page), Behind table (keyword, their pos, your pos, your page, fix), and a top-10 action list. Note explicitly which numbers are estimates (theirs) vs real (yours).
28 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 3,135
Checked
Source
Ryze-AI-Adgent/open-seo-mcp-skills ↗
Creator
Ryze-AI-Adgent · 8 listings
View creator

Similar skills

See all →
SkillCompany Valuation Calculatorhimself65/finance-skills · by himself65Estimate the intrinsic value of a public company using DCF, relative (peer multiple) and sum-of-parts (SOTP) methods, then triangulate to an implied share price with upside/downside versus the current market price. Use this skill whenever the user asks: what is AAPL worth", "valuation of NVDA", "fair value of TSLA", "intrinsic value", DCF for MSFT", "build a DCF", "discounted cash flow", "WACC", "terminal value", implied share price", "upside to fair value", "is X overvalued/undervalued", relative valuation", "peer comparison valuation", "EV/EBITDA target", "SOTP", sum of the parts", "how much is [company] worth", "price target from fundamentals", value this company", or any ticker in the context of computing intrinsic or relative valuation. Default to running ALL three methods (DCF + relative + SOTP-if-applicable) and presenting a blended implied price with a sensitivity table. Do not answer valuation questions from memory — always run the workflow.★ 3.3k GitHub starsSkillAd Angle Minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillCompetitor Content Intelligencesandbaseai/sandbase-skills · by sandbaseaiAnalyze competitor content coverage and uncover differentiated content opportunities using web search, page extraction, and DataForSEO content analysis. Use when asked for competitor content research, editorial gap analysis, content brief inputs, or topic whitespace.★ 203 GitHub starsSkillCompetitive Win Cardsgrowthack88/growth-marketing-os · by growthack88Creates competitive battlecards for sales deal conversations. Produces win themes, landmines to plant, objection handlers, and competitive positioning per competitor. Outputs a structured markdown battlecard with quick-reference sections for live sales calls. Depends on competitor-research for competitive intelligence and consumes product-messaging, win-loss-analysis, and positioning for framing. Feeds into sales-deck, outreach-emails, and demo-script. Triggered by "battlecard", "competitive intel", "win against [competitor]", or "how do we beat [competitor]".★ 117 GitHub starsSkillX Audience Analyzersergebulaev/x-skills · by sergebulaevRead your X (Twitter) audience and niche from real data. Pull a handle's recent tweets (yours or a competitor's) with likes, replies, and views, see which formats and hooks are working, read the repliers on a tweet (X gates likers, so repliers are the signal), and scan a niche query for top tweets. Powered by Apify, no login. Triggers on "analyze my tweets", "what is working on X", "read the replies", "competitor tweets", "who is engaging". Not for writing a tweet (use x-post-writer).★ 95 GitHub starsSkillFacebook Audience Insightssergebulaev/facebook-skills · by sergebulaevRead a Facebook Page and its audience from real data. Pull any Page's public stats (yours or a competitor's): followers, likes, categories, intro, websites. And pull the commenters on a public Page post, since Facebook hides the reactor and liker roster and shows counts only, so commenters are the signal. Powered by Apify, no login. Triggers on "analyze my Page", "competitor Page stats", "who is commenting", "read the comments", "audience insights". Not for writing Page posts (use fb-post-writer).★ 49 GitHub stars

More from Ryze-AI-Adgent

SkillAI Engine Visibility TrackerRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentMeasure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and which pages they cite — from actual GA4 referral data, not prompt sampling. Use when asked "AI visibility", "GEO/AEO check", "do LLMs cite us", "traffic from ChatGPT", or "how do we show up in AI search".★ 3.1k GitHub starsSkillBacklink Comparison ToolRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".★ 3.1k GitHub starsSkillSEO Content BriefRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentSERP-driven content brief for a target keyword — what ranks, what to cover, headings, questions, internal links from your own data. Use when asked for a "content brief", "outline to rank for X", "what should this article cover", or before writing any SEO page.★ 3.1k GitHub starsSkillKeyword Research & MetricsRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentKeyword research from a seed topic — ideas, real Google volume/CPC, intent, difficulty, clustered into a plan. Use when asked to "find keywords", "keyword research for X", "what should I rank for", or "build a keyword plan".★ 3.1k GitHub starsSkillSERP Rank TrackingRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentRank tracking without a tracker subscription — position movers between any two periods from real Search Console data. Use when asked "how are my rankings", "what moved this week/month", "track my keywords", or "did the update hit me".★ 3.1k GitHub starsSkillAnalytics-Based SEO AuditRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentFull SEO audit of a site from its real Search Console + GA4 data — indexation health, CTR anomalies, decaying pages, striking-distance keywords, quick wins. Use when asked to "audit my site", "SEO audit", "why is my organic traffic down", or "SEO health check".★ 3.1k GitHub stars