/ Directory / Playground / TopRank SEO/GEO Skills
● Community nowork-studio ⚡ Instant

TopRank SEO/GEO Skills

by nowork-studio · nowork-studio/toprank

Marketing operating system as a Claude Skill — keyword research, on-page audit, GEO (LLM citation) check, ad-copy iteration, all in one repo.

TopRank packages a marketing operator's toolkit as Claude Code skills. Beyond traditional SEO, it focuses on GEO — Generative Engine Optimization — meaning getting cited by ChatGPT/Claude/Perplexity when users ask domain questions. Includes Google Ads + Meta Ads variants for paid teams.

Why use it

Key features

Live Demo

What it looks like in practice

ready

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "toprank-seo-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/nowork-studio/toprank",
        "~/.claude/skills/toprank"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "toprank-seo-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/nowork-studio/toprank",
        "~/.claude/skills/toprank"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "toprank-seo-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/nowork-studio/toprank",
        "~/.claude/skills/toprank"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "toprank-seo-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/nowork-studio/toprank",
        "~/.claude/skills/toprank"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "toprank-seo-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/nowork-studio/toprank",
        "~/.claude/skills/toprank"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "toprank-seo-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/nowork-studio/toprank",
          "~/.claude/skills/toprank"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add toprank-seo-skill -- git clone https://github.com/nowork-studio/toprank ~/.claude/skills/toprank

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use TopRank SEO/GEO Skills

Audit your site for AI-engine citations

👤 Marketing teams worried about AI search erosion ⏱ ~60 min intermediate

When to use: Traffic is shifting from Google to ChatGPT/Perplexity and you want to know if you're cited.

Prerequisites
  • Skill installed — git clone https://github.com/nowork-studio/toprank ~/.claude/skills/toprank
  • Domain + key topics — List 10 queries your prospects likely ask LLMs
Flow
  1. List queries to test
    TopRank GEO: from my product positioning, propose 10 'buyer-intent' queries that prospects would ask Claude/ChatGPT.✓ Copied
    → 10 specific queries, not generic ones
  2. Run citation check
    For each query, ask Claude (you) the question without web search. Did my site get cited? If not, who did?✓ Copied
    → Per-query: cited yes/no, who else got cited
  3. Plan
    Based on gaps, prioritize: which 3 pages on my site need GEO-optimization first? What changes?✓ Copied
    → Concrete action plan with specific page recommendations

Outcome: Citation gap report + prioritized fix list.

Pitfalls
  • Only testing branded queries — Mix generic and branded; you want to be found by people who don't know you
Combine with: filesystem

Generate a content brief from a target keyword

👤 Content marketers ⏱ ~30 min intermediate

When to use: You've identified a keyword opportunity; need a brief for the writer.

Flow
  1. SERP / AI engine reality
    TopRank: target keyword 'self-hosted analytics'. What does the current page-1 SERP cover, and what do AI engines cite for this?✓ Copied
    → Coverage map of existing top results
  2. Brief
    Brief a 1500-word article: must-cover sections, FAQs to include, internal-link targets in our site, schema to apply.✓ Copied
    → Structured brief writer can act on

Outcome: Writer-ready brief.

Pitfalls
  • Brief covers too many subtopics — Pick the search intent ruthlessly; one intent per page

Generate Google Ads RSA variants

👤 Performance marketers ⏱ ~25 min beginner

When to use: Quarterly creative refresh; need 15 headlines + 4 descriptions per ad group.

Flow
  1. Brief
    TopRank Google Ads: ad group 'self-hosted analytics'. Audience = engineers + privacy-conscious. Generate 15 headlines + 4 descriptions per RSA spec.✓ Copied
    → Compliant RSA creative — within character limits
  2. Variants
    Now produce a B variant set focused on price/value angle.✓ Copied
    → Distinct angle, not just paraphrases

Outcome: Two ready-to-upload RSA sets.

Pitfalls
  • Headlines exceed 30 chars — Skill enforces; if exceeded, ask it to retry with tighter copy

Generate llms.txt for your site

👤 Site owners wanting LLMs to find them ⏱ ~20 min beginner

When to use: You're publishing llms.txt and want it well-formed.

Flow
  1. Inventory pages
    TopRank GEO: scan sitemap.xml. Group pages by intent. Propose llms.txt structure.✓ Copied
    → Structured proposal with section headers
  2. Generate
    Write llms.txt + llms-full.txt. Save to /public/.✓ Copied
    → Two files written, well-formed

Outcome: Site is discoverable by LLM crawlers.

Pitfalls
  • Missing critical pages — Specify must-include URLs upfront
Combine with: filesystem

Combinations

Pair with other MCPs for X10 leverage

toprank-seo-skill + filesystem

Generate site files in place

Generate llms.txt, write to ./public/llms.txt.✓ Copied
toprank-seo-skill + gtm-engineer-skills

Combined AEO + GEO audit

Run gtm-engineer audit, then TopRank GEO citation check on the same domain.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
geo_citation_check queries[] GEO audit 0
content_brief target_keyword, intent Before writing 0
rsa_generate ad_group_brief, audience, variant? Ad creative refresh 0
schema_validate url On-page audit 0
llms_txt_generate sitemap_url Publishing for LLM crawlers 0

Cost & Limits

What this costs to run

API quota
N/A
Tokens per call
1000–8000 depending on audit scope
Monetary
Free
Tip
GEO citation tests use the LLM itself; batch queries to amortize context

Security

Permissions, secrets, blast radius

Minimum scopes: filesystem-read filesystem-write
Credential storage: None
Data egress: None directly; you may pair with web search MCPs

Troubleshooting

Common errors and fixes

Citation check too lenient

Force the LLM to answer without web tools; otherwise it'll cheat by searching

RSA copy too generic

Provide 3 lines of audience POV in the brief

Brief misses competitor angle

Pre-feed top 3 SERP titles before asking for brief

Alternatives

TopRank SEO/GEO Skills vs others

AlternativeWhen to use it insteadTradeoff
Ahrefs / SemrushYou need real keyword volume dataPaid; manual workflow
GTM Engineer SkillsYou want AEO + GEO + framework-specific fixesDifferent focus; complementary
Surfer SEO / FraseContent optimization workflowPaid; not LLM-native

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills