Tutorial

How to Build an SEO Skill for Claude Code

Create a Claude Code skill that automates SEO research with live SERP data. Query rankings, AI Overviews, and People Also Ask from your terminal.

Claude Code skills are reusable command files that extend Claude Code with custom workflows. Building an SEO skill lets you run SERP checks, AI Overview monitoring, and keyword research directly from your terminal without leaving your coding environment. The skill calls the Scavio API to fetch live search data and formats it for quick analysis. This tutorial shows how to create a Claude Code skill file, wire it to the Scavio MCP server, and build common SEO research commands. You will have a working skill that checks rankings, monitors AI Overviews, and pulls People Also Ask data on demand.

Prerequisites

  • Claude Code CLI installed
  • A Scavio API key from scavio.dev
  • Basic familiarity with Claude Code skills and MCP

Walkthrough

Step 1: Create the skill directory

Set up the Claude Code skill file structure in your project.

Python
# Create the skill file
mkdir -p .claude/skills

# The skill file defines instructions for Claude Code
# to follow when the skill is invoked

Step 2: Configure Scavio MCP

Add the Scavio MCP server to your Claude Code configuration so the skill can access search data.

Python
# Add to .mcp.json in your project root:
# {
#   "mcpServers": {
#     "scavio": {
#       "url": "https://mcp.scavio.dev/mcp",
#       "headers": {
#         "x-api-key": "your_scavio_api_key"
#       }
#     }
#   }
# }

Step 3: Write the SEO skill instructions

Define the skill prompt that tells Claude Code how to use search data for SEO analysis.

Python
# .claude/skills/seo-research.md content:
# When asked to check SEO for a keyword:
# 1. Use scavio search tool with the keyword
# 2. Report organic position if my domain appears
# 3. Check if AI Overview exists and list sources
# 4. List People Also Ask questions
# 5. Suggest content gaps based on top results

Step 4: Test the skill with Python

Verify the underlying API calls work before relying on the skill.

Python
import os, requests

API_KEY = os.environ["SCAVIO_API_KEY"]
resp = requests.post("https://api.scavio.dev/api/v1/search",
    headers={"x-api-key": API_KEY},
    json={"platform": "google", "query": "best crm for startups"})
data = resp.json()
print(f"Organic results: {len(data.get('organic_results', []))}")
print(f"AI Overview: {'yes' if data.get('ai_overview') else 'no'}")
print(f"PAA: {len(data.get('people_also_ask', []))}")

Python Example

Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def seo_check(keyword):
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": keyword})
    data = resp.json()
    return {"organic": len(data.get("organic_results", [])),
            "aio": bool(data.get("ai_overview")),
            "paa": len(data.get("people_also_ask", []))}

print(seo_check("best crm for startups"))

JavaScript Example

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function seoCheck(keyword) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H,
    body: JSON.stringify({platform: "google", query: keyword})
  });
  const d = await r.json();
  return {organic: (d.organic_results||[]).length, aio: !!d.ai_overview,
    paa: (d.people_also_ask||[]).length};
}
seoCheck("best crm for startups").then(console.log);

Expected Output

JSON
A Claude Code skill file that enables terminal-based SEO research using live SERP data, AI Overview checks, and People Also Ask analysis.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Claude Code CLI installed. A Scavio API key from scavio.dev. Basic familiarity with Claude Code skills and MCP. A Scavio API key gives you 250 free credits per month.

Yes. The free tier includes 250 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Create a Claude Code skill that automates SEO research with live SERP data. Query rankings, AI Overviews, and People Also Ask from your terminal.