Claude-seo-skills seo-ahrefs-content-gap
git clone https://github.com/lionkiii/claude-seo-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/lionkiii/claude-seo-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/seo-ahrefs-content-gap" ~/.claude/skills/lionkiii-claude-seo-skills-seo-ahrefs-content-gap && rm -rf "$T"
skills/seo-ahrefs-content-gap/SKILL.mdAhrefs Content Gap Analysis
Discovers keywords competitors rank for that the target domain does not, revealing content opportunities. Uses runtime schema discovery to choose the best available Ahrefs tool.
References
@skills/seo/references/mcp-degradation.md @skills/seo/references/ahrefs-api-reference.md
Inputs
: The bare target domain to analyze (e.g.,domain
). Stripexample.com
,https://
, and trailing slashes.http://
(optional): Up to 3 competitor domains, space-separated (e.g.,competitors
). If not provided, auto-detect using Ahrefs organic competitors tool.competitor1.com competitor2.com
MCP Check
Before proceeding, verify Ahrefs MCP is available:
- Use ToolSearch with query
+ahrefs - If tools are returned → Ahrefs MCP is available, proceed to Execution
- If no tools returned → display the Ahrefs MCP error template from
and stopreferences/mcp-degradation.md
Execution
Step 1 — Identify Competitors
If
competitors parameter provided: use those domains directly.
If no competitors specified:
- Call
withmcp__claude_ai_ahrefs__site-explorer-organic-competitors
: the bare domaintarget - Select top 3 competitors by common keyword overlap from the response
Step 2 — Runtime Schema Discovery for Content Gap Tool
IMPORTANT: The filter parameter for
keywords-explorer-matching-terms that
enables competitor-domain filtering is UNVERIFIED. Discover the schema at runtime:
- Use ToolSearch to load
mcp__claude_ai_ahrefs__keywords-explorer-matching-terms - Inspect the tool's parameter schema carefully
- Decision:
- If the tool has a competitor/domain filter parameter → proceed with Approach A (direct filter)
- If the tool has no such filter → fall back to Approach B (cross-reference)
Document which approach was used in the output.
Step 3A — Direct Filter Approach (if schema supports it)
For each competitor domain identified:
- Call
with:mcp__claude_ai_ahrefs__keywords-explorer-matching-terms
: the competitor domain keyword or filter parameter (per discovered schema)target- Apply any discovered competitor/domain filter to find keywords competitor ranks for
- Cross-reference against target domain's keywords to identify gaps
Step 3B — Cross-Reference Approach (fallback)
-
Call
withmcp__claude_ai_ahrefs__site-explorer-organic-keywords
: the target domain → collect target's keyword settarget -
For each of the 3 competitor domains:
- Call
withmcp__claude_ai_ahrefs__site-explorer-organic-keywords
: the competitor domaintarget - Collect their keyword set
- Call
-
Find keywords in competitor sets NOT in target's keyword set → these are gaps
Step 4 — CRITICAL: Monetary Conversion
cpc is returned in CENTS. Divide by 100 before display.
Format as USD per click: $X.XX.
Example: API returns
cpc = 350 → display as $3.50/click
Step 5 — Prioritize Gaps
Sort content gap keywords by:
- Volume descending (highest search demand first)
- Filter out keywords with position >50 for the target domain (focus on true gaps)
Output Format
## Ahrefs Content Gap Analysis: example.com **Method used:** [Approach A — direct filter] or [Approach B — cross-reference] **Competitors analyzed:** competitor1.com, competitor2.com, competitor3.com ### Content Gap Opportunities | Keyword | Volume | Difficulty | CPC | Competitor Ranking | Your Position | |---------|--------|-----------|-----|-------------------|---------------| | seo checklist | 8,100 | 42 | $3.20/click | competitor1.com #3 | Not ranking | | on-page seo guide | 5,400 | 38 | $2.80/click | competitor2.com #5 | Not ranking | | technical seo audit | 3,600 | 55 | $5.10/click | competitor1.com #2 | Not ranking | ### Summary - **Total gap keywords found:** 340 - **High-opportunity gaps** (volume >1,000, difficulty <50): 45 keywords - **Top content opportunity:** Create comprehensive "seo checklist" guide targeting the cluster around "seo checklist", "seo audit checklist", "on-page seo checklist"
Error — Ahrefs MCP Not Available
If MCP check fails, display the Ahrefs error template from
references/mcp-degradation.md:
## Ahrefs MCP Not Available The `/seo ahrefs content-gap` command requires the Ahrefs MCP, which is not currently connected. **What you can do:** - Use `/seo audit <url>` for a full static SEO analysis without live Ahrefs data - Use `/seo technical <url>` for technical SEO issues without backlink/keyword data **To connect Ahrefs MCP:** - Ensure the Ahrefs MCP is registered at user scope in ~/.claude/mcp.json - Verify with: cat ~/.claude/mcp.json | grep -i ahrefs - Ahrefs MCP must be registered at user scope (not project scope) to work in subagents