ai-visibility
Measure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and…
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".
$ npx -y skills add Ryze-AI-Adgent/open-seo-mcp-skills --skill competitor-gap --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/competitor-gapContext preview
The summary Claude sees to decide when to auto-load this skill.
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".
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".
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.
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:**
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.
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).
Open-source SEO + GEO skills for Claude on a free SEO MCP server (the Ryze connector) — keyword research, rank tracking, site audits, backlinks, competitor gaps, AI visibility — running on your own Search Console, Analytics and ads data through the Ryze MCP,
Measure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and…
Backlink profile for any domain — referring domains, authority, anchors, new/lost links, and…
SERP-driven content brief for a target keyword — what ranks, what to cover, headings,…
Keyword research from a seed topic — ideas, real Google volume/CPC, intent, difficulty,…
Rank tracking without a tracker subscription — position movers between any two periods from…
Full SEO audit of a site from its real Search Console + GA4 data — indexation health, CTR…