zubair-trabzada/dataforseo-claude · Archived

seo-content

Content topical authority and gap analysis powered by the DataForSEO Labs API.

First seen Jul 9, 2026

Installation

$ npx skills add zubair-trabzada/dataforseo-claude --skill seo-content

Summary

  • Content topical authority and gap analysis powered by the DataForSEO Labs API.
  • Clusters a domain's ranked keywords into topics, identifies strong vs weak vs missing topic clusters versus competitors, and returns a Content Score (0-100) plus the highest-leverage content opportunities to write next.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from zubair-trabzada/dataforseo-claude · top by installs.

npx skills add zubair-trabzada/dataforseo-claude

Browse all from zubair-trabzada/dataforseo-claude

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 150
License LICENSE
Default branch main
Open issues 1
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Write
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,187 B
  • docs SUMMARY.md 317 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Phase 0: Credential Preflight (REQUIRED — run BEFORE anything else)

Before running any of the steps below, always invoke the shared preflight check:

~/.claude/skills/seo/scripts/preflight.sh

If exit code is 0: credentials are configured — proceed with the rest of this skill silently.

If exit code is 2: the script prints the DataForSEO setup wizard to stdout. STOP, display that wizard to the user verbatim, and wait for them to paste credentials in this format:

login: [email protected]
password: their_api_password_here

When they reply:

  1. Parse login: and password: from their message.
  2. Write them to ~/.claude/skills/seo/.env:

`` DATAFORSEOLOGIN=<login> DATAFORSEOPASSWORD=<password> ``

  1. chmod 600 ~/.claude/skills/seo/.env
  2. Run a verification call: ~/.claude/skills/seo/scripts/keyword_research.py volume "test"
  3. If verification succeeds (real JSON returned): tell the user "✅ Credentials verified. Running your command now..." and proceed with the original request.
  4. If status 40104 — Please verify your account: tell the user to verify their account at https://app.dataforseo.com/, then say "continue" to retry.
  5. If any other auth error: ask them to double-check the API password (the long alphanumeric string from https://app.dataforseo.com/api-access — not their account login password).

Never echo credentials back to the user, never include them in tool output, and never commit them.


SEO Content Authority Skill

Powered by: DataForSEO API — Labs rankedkeywords + Labs competitorsdomain + Labs domain_intersection.
Cost: ~$0.05 per run.

Run

Pull what the target ranks for, plus the top competitor's ranked keywords:

~/.claude/skills/seo/scripts/domain_overview.py ranked --target <domain> --limit 200
~/.claude/skills/seo/scripts/domain_overview.py competitors --target <domain> --limit 5
~/.claude/skills/seo/scripts/domain_overview.py content_gap --you <domain> --competitors <c1> <c2> <c3>

Topic clustering

Group keywords into topical clusters using common stems / shared head terms. Don't be too granular — aim for 8-15 clusters max for a typical site.

Example clusters for an SEO tool site:

  • "keyword research" (head: keyword)
  • "rank tracking" (head: rank, ranking)
  • "backlinks" (head: backlink, link building)
  • "site audit" (head: audit, technical)
  • ...

For each cluster, classify it

Status Definition
Strong 5+ keywords ranking top 10, total est. traffic > 100/mo
Building Some keywords top 30, none top 10 yet
Weak Keywords ranking but all below position 30
Missing Competitors rank, you don't (from content_gap)

Content Score (0-100)

content_score = round(
    50 * (strong_clusters / total_clusters) +
    25 * (1 - missing_clusters / total_clusters) +
    25 * (avg_position_top_quartile_score)
)

Highest-leverage content moves

Surface the top 5 specific articles to write next. Pick from the "Missing" and "Building" clusters, prioritizing keywords with:

  • Search volume > 200/mo
  • Difficulty < competitor's domain rank
  • Commercial or transactional intent

For each, suggest: working title, target keyword, related keywords to include, estimated word count.

Return JSON shape

{
  "content_score": 64,
  "strong_topics": [{"cluster": "...", "keywords": 12, "avg_position": 5.2}],
  "weak_topics": [{"cluster": "...", "keywords": 18, "avg_position": 42.1}],
  "missing_topics": [{"cluster": "...", "competitor": "...", "keyword_count": 24}],
  "content_recommendations": [
    {"title": "...", "target_keyword": "...", "volume": 880, "difficulty": 22, "intent": "commercial"}
  ]
}