Best for
- Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.
AgriciDaniel/claude-seo/skills/seo-backlinks/SKILL.md
Backlink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.
Decision brief
Backlink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/AgriciDaniel/claude-seo --skill "skills/seo-backlinks"Inspect the Agent Skill "seo-backlinks" from https://github.com/AgriciDaniel/claude-seo/blob/09d37c7b66ed3ca9c6efbdb765a805a6c76a8f01/skills/seo-backlinks/SKILL.md at commit 09d37c7b66ed3ca9c6efbdb765a805a6c76a8f01. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Before presenting any backlink analysis to the user, run this checklist internally. Do NOT skip this step. Fix any issues found before showing the report.
Before analysis, detect available data sources:
Review the “Quick Reference” section in the pinned source before continuing.
Produce all 7 sections below. Each section lists data sources in preference order.
DataForSEO: dataforseobacklinkssummary → total backlinks, referring domains, domain rank, follow ratio, trend.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 13,280 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Before analysis, detect available data sources:
dataforseo_backlinks_summary tool is availableclaude-seo run backlinks_auth.py --check moz --jsonclaude-seo run backlinks_auth.py --check bing --jsonRun claude-seo run backlinks_auth.py --check --json to detect all sources at once.
If no sources are configured beyond the always-available tier:
/seo backlinks setup to add free Moz and Bing API keys for richer data"| Command | Purpose |
|---|---|
/seo backlinks <url> | Full backlink profile analysis (uses all available sources) |
/seo backlinks gap <url1> <url2> | Competitor backlink gap analysis |
/seo backlinks toxic <url> | Toxic link detection and disavow recommendations |
/seo backlinks new <url> | New and lost backlinks (DataForSEO only) |
/seo backlinks verify <url> --links <file> | Verify known backlinks still exist |
/seo backlinks setup | Show setup instructions for free backlink APIs |
Produce all 7 sections below. Each section lists data sources in preference order.
DataForSEO: dataforseo_backlinks_summary → total backlinks, referring domains, domain rank, follow ratio, trend.
Moz API: claude-seo run moz_api.py metrics <url> --json → Domain Authority, Page Authority, Spam Score, linking root domains, external links.
Common Crawl: claude-seo run commoncrawl_graph.py <domain> --json → PageRank, harmonic centrality, and low-confidence rank/presence data.
Scoring:
| Metric | Good | Warning | Critical |
|---|---|---|---|
| Referring domains | >100 | 20-100 | <20 |
| Follow ratio | >60% | 40-60% | <40% |
| Domain diversity | No single domain >5% | 1 domain >10% | 1 domain >25% |
| Trend | Growing or stable | Slow decline | Rapid decline (>20%/quarter) |
DataForSEO: dataforseo_backlinks_anchors
Moz API: claude-seo run moz_api.py anchors <url> --json
Bing Webmaster: claude-seo run bing_webmaster.py links <url> --json (extract anchor text from link details)
Healthy distribution benchmarks:
| Anchor Type | Target Range | Over-Optimization Signal |
|---|---|---|
| Branded (company/domain name) | 30-50% | <15% |
| URL/naked link | 15-25% | N/A |
| Generic ("click here", "learn more") | 10-20% | N/A |
| Exact match keyword | 3-10% | >15% |
| Partial match keyword | 5-15% | >25% |
| Long-tail / natural | 5-15% | N/A |
Flag if exact-match anchors exceed 15% as a review heuristic; it may indicate unnatural or link-spam patterns.
DataForSEO: dataforseo_backlinks_referring_domains
Moz API: claude-seo run moz_api.py domains <url> --json → domains with DA scores
Common Crawl: claude-seo run commoncrawl_graph.py <domain> --json → domain-level rank/presence data, no verified referring-domain counts
Analyze:
DataForSEO: dataforseo_backlinks_bulk_spam_score + toxic patterns from reference
Moz API: Raw vendor spam_score from claude-seo run moz_api.py metrics <url> --json (source-label the value; apply thresholds only if verified against current Moz docs)
Verification Crawler: claude-seo run verify_backlinks.py --target <url> --links <file> --json (verify suspicious links still exist)
High-risk indicators (flag immediately):
Medium-risk indicators (review manually):
Load ../seo/references/backlink-quality.md for the full 30 toxic patterns and disavow criteria.
DataForSEO: dataforseo_backlinks_backlinks with target type "page"
Moz API: claude-seo run moz_api.py pages <domain> --json
Find:
DataForSEO: dataforseo_backlinks_referring_domains for both domains, then compare
Bing Webmaster: claude-seo run bing_webmaster.py compare <url1> <url2> --json
only when both properties are registered and accessible to the same Bing API
account. For arbitrary competitors, use DataForSEO, Moz, or Common Crawl.
Moz API: Compare DA/PA between domains via claude-seo run moz_api.py metrics <url> --json for each
Output:
DataForSEO only: dataforseo_backlinks_backlinks with date filters for 30/60/90 day changes
Verification Crawler: For known links, verify current status with claude-seo run verify_backlinks.py --target <url> --links <file> --json
Note: Free sources cannot track new/lost links over time. If this section is requested without DataForSEO, inform the user: "Link velocity tracking requires the DataForSEO extension. Free sources provide point-in-time snapshots only."
Red flags:
Calculate a 0-100 score. When mixing sources, apply confidence weighting:
| Factor | Weight | Sources (preference order) | Confidence |
|---|---|---|---|
| Referring domain count | 20% | DataForSEO > Moz | 1.0 / 0.85 |
| Domain quality distribution | 20% | DataForSEO > Moz DA distribution | 1.0 / 0.85 |
| Anchor text naturalness | 15% | DataForSEO > Moz > Bing anchors | 1.0 / 0.85 / 0.70 |
| Toxic link ratio | 20% | DataForSEO > Moz spam score | 1.0 / 0.85 |
| Link velocity trend | 10% | DataForSEO only | 1.0 |
| Follow/nofollow ratio | 5% | DataForSEO > Bing details | 1.0 / 0.70 |
| Geographic relevance | 10% | DataForSEO > Bing country | 1.0 / 0.70 |
Data sufficiency gate: Count how many of the 7 factors have at least one data source available.
Backlink Health Score: INSUFFICIENT DATA (X/7 factors scored)
Show individual factor scores that ARE available with their source and confidence.
Recommend: "Configure Moz API (free) for a scoreable profile. Run /seo backlinks setup"When only CC is available, do not produce a numeric score; report low-confidence rank/presence data only. A numeric score with fewer than 4 data sources is misleading, it implies poor health when the reality is we simply lack data.
| Section | Status | Score | Data Source |
|---|---|---|---|
| Profile Overview | pass/warn/fail | XX/100 | Moz (0.85) |
| Anchor Distribution | pass/warn/fail | XX/100 | Moz (0.85) |
| Referring Domain Quality | pass/warn/fail | XX/100 | CC (0.50) |
| Toxic Links | pass/warn/fail | XX/100 | Moz Spam (0.85) |
| Top Pages | info | N/A | Moz (0.85) |
| Link Velocity | pass/warn/fail | XX/100 | DataForSEO only |
| Error | Cause | Resolution |
|---|---|---|
| No sources configured | No API keys, no DataForSEO | Run /seo backlinks setup |
| Moz rate limit | Free tier: 1 req/10s | Wait 10 seconds, retry. Built into script. |
| Bing site not verified | Site not verified in Bing | Verify at https://www.bing.com/webmasters |
| CC download timeout | Large graph file, slow connection | Use --timeout 180 flag |
| DataForSEO unavailable | Extension not installed | Run ./extensions/dataforseo/install.sh |
| No backlink data returned | Domain too new or very small | Note: small sites may have <10 backlinks |
Fallback cascade:
/seo backlinks setup to configure free APIs"Before presenting any backlink analysis to the user, run this checklist internally. Do NOT skip this step. Fix any issues found before showing the report.
@type for each block? If any @type is missing,
re-check, it may use @graph wrapper (valid JSON-LD, not malformed).unverifiable_js, say so, never
report a JS-rendered page as "link removed" (that's a false negative).h1_suspicious list? If so, note they are likely
counters/stats, not semantic headings.unverifiable_js (not link_removed)If ANY check fails, fix the finding before presenting. Never present inferred data as fact.
After completing any backlink analysis command, always offer:
"Generate a professional PDF report? Use /seo google report"
Load on demand (do NOT load at startup):
skills/seo/references/backlink-quality.md -- Detailed toxic link patterns and scoring methodology (shared reference, load when analyzing toxic links or spam scores)skills/seo/references/free-backlink-sources.md -- Source comparison, confidence weighting, setup guides (shared reference, load when configuring free backlink APIs)Alternatives
AgriciDaniel/claude-seo
E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace intelligence, product schema validation, competitor pricing analysis, and marketplace keyword gaps. Combines on-page product SEO with marketplace data from DataForSEO Merchant API. Use when user says "ecommerce SEO", "product SEO", "Google Shopping", "marketplace SEO", "product schema", "Amazon SEO", "product listings", "shopping ads", or "merchant SEO".
MoizIbnYousaf/marketing-cli
Backlink + distribution checklist that expands a site's KD ceiling beyond what on-page work alone can earn. Use when the user mentions 'backlinks', 'off-page SEO', 'directory submissions', 'guest posts', 'outreach targets', 'link building', 'submit to directories', 'get listed in listicles', 'Product Hunt launch backlinks', or asks 'how do I get more domain authority'. Generates a prioritized, researched target list across directories, listicles, and guest-post candidates — does NOT submit anyth
github/awesome-copilot
Use this skill when the user asks to analyze, tear down, or reverse-engineer a competitor's paid ads. Trigger for prompts like "what ads is [competitor] running", "tear down their ad strategy", "competitor ad analysis", "find ad angles we haven't tried", or "reverse-engineer their paid funnel". Do not trigger for organic/SEO competitor research or website positioning analysis.
browser-act/skills
This skill helps users analyze Amazon competitor listings by ASIN and produce structured competitive intelligence plus strategic opportunity points for their own go-to-market. The Agent should proactively apply this skill when users want to analyze a competitor Amazon listing by ASIN, understand what a top-ranked product does right in content keywords or visuals, find market gaps and unmet buyer needs, turn competitor research into opportunity maps for their brand, identify keyword placement pat