/ Directory / Playground / seo-geo-claude-skills
● Community aaron-he-zhu ⚡ Instant

seo-geo-claude-skills

by aaron-he-zhu · aaron-he-zhu/seo-geo-claude-skills

20 skills across Research → Build → Optimize → Monitor phases, with explicit SEO-vs-GEO split and skill-to-skill handoff contracts.

A workflow-shaped SEO/GEO skill library: 4 research skills, 4 build skills, 4 optimize skills, 4 monitor skills, plus 4 cross-cutting protocol skills. Each SKILL.md ships Trigger, Quick Start, Skill Contract, Handoff, and Next Best Skill sections so Claude can chain them reliably across a project.

Why use it

Key features

Live Demo

What it looks like in practice

seo-geo-claude-skill.replay ▶ ready
0/0

Install

Pick your client

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

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

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

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

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

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

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

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "seo-geo-claude-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/aaron-he-zhu/seo-geo-claude-skills",
        "~/.claude/skills/seo-geo-claude-skills"
      ]
    }
  ]
}

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

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

Add to context_servers. Zed hot-reloads on save.

claude mcp add seo-geo-claude-skill -- git clone https://github.com/aaron-he-zhu/seo-geo-claude-skills ~/.claude/skills/seo-geo-claude-skills

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

Use Cases

Real-world ways to use seo-geo-claude-skills

Take a keyword from research to published, GEO-optimized article

👤 Content marketers running the full pipeline ⏱ ~90 min intermediate

When to use: You have a topic and want to hit both ranking and AI-citation goals.

Flow
  1. Research phase
    Use keyword-research + serp-analysis skills for 'best widget for small teams'.✓ Copied
    → Skill Contract output with volume, intent, SERP features
  2. Build phase
    Handoff to seo-content-writer, then geo-content-optimizer.✓ Copied
    → Article draft optimized for both rank and citation
  3. Optimize phase
    Run on-page-seo-auditor and meta-tags-optimizer.✓ Copied
    → Audit pass with fixes applied
  4. Monitor phase
    Set up rank-tracker for the target keywords.✓ Copied
    → Tracking config ready to export

Outcome: A published article with monitoring in place.

Pitfalls
  • Skipping the handoff section loses context between skills — Always pass the previous skill's Handoff output to the next
Combine with: firecrawl

Refresh an aging post to regain rankings

👤 SEO editors with a backlog of year-old posts ⏱ ~30 min intermediate

When to use: Traffic on a top post is decaying and you want to update rather than replace.

Flow
  1. Audit the existing post
    Use content-refresher on https://site.com/post. What decayed?✓ Copied
    → Specific decay points (outdated data, SERP-intent drift, new competitors)
  2. Apply refresh
    Apply the refresh recommendations and re-run content-quality-auditor.✓ Copied
    → Updated post with score delta

Outcome: Updated article primed to reclaim its ranking.

Pitfalls
  • Refresh without updating the publish date loses freshness signal — The skill reminds you to handle canonical date handling

Combinations

Pair with other MCPs for X10 leverage

seo-geo-claude-skill + firecrawl

Pair competitor-analysis with firecrawl to scrape SERP leaders

Use firecrawl to fetch the top 5 ranking pages, then hand off to competitor-analysis.✓ Copied
seo-geo-claude-skill + claude-seo-skill

Use the bigger claude-seo-skill for audits, this library for content workflow

Run /seo audit for the technical side, then use seo-geo-claude-skills for the content campaign.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
Research skills topic / keyword / competitor URL Start of a campaign 0
Build skills brief from research phase After research 0
Optimize skills built content + live URL After publish or on an existing page 0
Monitor skills target URLs / keywords After publish, ongoing 0
Protocol skills (entity-optimizer, memory-management) campaign context Multi-session campaigns 0

Cost & Limits

What this costs to run

API quota
None
Tokens per call
1-3k per skill loaded
Monetary
Free — skill is local
Tip
Follow the phase order; skipping around forces Claude to re-infer context.

Security

Permissions, secrets, blast radius

Credential storage: No credentials — skill is prompts
Data egress: None from the skill itself

Troubleshooting

Common errors and fixes

Skills feel redundant with each other

Each targets a narrow trigger; check the Trigger section in SKILL.md.

Handoff between skills loses data

Explicitly pass the previous skill's Handoff block into the next prompt.

Alternatives

seo-geo-claude-skills vs others

AlternativeWhen to use it insteadTradeoff
claude-seo-skillYou want slash commands and enterprise-scale audits with PDF/Excel outputHeavier; less explicit phase structure
agentic-seo-skillYou're on Antigravity or a non-Claude agentSimilar scope, different orchestration
claude-blog-skillBlog-specific workflow with slash commandsNarrower to content, deeper on blog ops

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills