Las habilidades de Claude Code son archivos de comandos reutilizables que amplían Claude Code con flujos de trabajo personalizados. Desarrollar una habilidad de SEO le permite ejecutar comprobaciones SERP, monitoreo de descripción general de AI e investigación de palabras clave directamente desde su terminal sin salir de su entorno de codificación. La habilidad llama a la API de Scavio para obtener datos de búsqueda en vivo y los formatea para un análisis rápido. Este tutorial muestra cómo crear un archivo de habilidades de Claude Code, conectarlo al servidor Scavio MCP y crear comandos de investigación SEO comunes. Tendrá una habilidad práctica que verifica las clasificaciones, monitorea las descripciones generales de la IA y extrae datos de La gente también pregunta a pedido.
Requisitos previos
- Claude Code CLI instalado
- Una clave API de Scavio de scavio.dev
- Familiaridad básica con las habilidades de Claude Code y MCP
Guia paso a paso
Paso 1: Crear el directorio de habilidades
Configure la estructura de archivos de habilidades de Claude Code en su proyecto.
# Create the skill file
mkdir -p .claude/skills
# The skill file defines instructions for Claude Code
# to follow when the skill is invokedPaso 2: Configurar Scavio MCP
Agregue el servidor Scavio MCP a su configuración de Claude Code para que la habilidad pueda acceder a los datos de búsqueda.
# Add to .mcp.json in your project root:
# {
# "mcpServers": {
# "scavio": {
# "url": "https://mcp.scavio.dev/mcp",
# "headers": {
# "x-api-key": "your_scavio_api_key"
# }
# }
# }
# }Paso 3: Escribe las instrucciones de habilidades de SEO
Defina la indicación de habilidad que le indica a Claude Code cómo utilizar los datos de búsqueda para el análisis SEO.
# .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 resultsPaso 4: Pruebe la habilidad con Python
Verifique que las llamadas API subyacentes funcionen antes de confiar en la habilidad.
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', []))}")Ejemplo en 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"))Ejemplo en 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);Salida esperada
A Claude Code skill file that enables terminal-based SEO research using live SERP data, AI Overview checks, and People Also Ask analysis.