Les compétences Claude Code vous permettent d'empaqueter des workflows réutilisables que Claude Code peut invoquer à la demande. Une compétence SEO combine les données SERP en direct de l'API Scavio avec le raisonnement de Claude Code pour exécuter des vérifications de mots-clés, surveiller la visibilité AI Overview et trouver des lacunes de contenu directement depuis votre terminal. Ce tutoriel montre comment créer le fichier de compétence, configurer la connexion au serveur MCP et rédiger les instructions de la compétence que Claude Code suit. Vous aurez une compétence SEO fonctionnelle qui exécute des vérifications de classement, une analyse PAA et une surveillance AEO avec une seule commande.
Prérequis
- CLI Claude Code installée et configurée
- Une clé API Scavio depuis scavio.dev
- Familiarité avec les fichiers de compétence Claude Code et MCP
Parcours
Étape 1: Créer le fichier de compétence
Configurer le répertoire de la compétence et créer le fichier d'instructions pour Claude Code.
# Create the skill directory
mkdir -p .claude/skills
# Create the SEO skill file
# .claude/skills/seo.md
# This file contains instructions Claude Code follows
# when the skill is invokedÉtape 2: Configurer le serveur MCP Scavio
Ajouter le serveur MCP Scavio à votre projet pour que la compétence puisse appeler les outils de recherche.
# .mcp.json in project root:
# {
# "mcpServers": {
# "scavio": {
# "url": "https://mcp.scavio.dev/mcp",
# "headers": {
# "x-api-key": "YOUR_SCAVIO_API_KEY"
# }
# }
# }
# }Étape 3: Rédiger les instructions de la compétence
Définir ce que fait la compétence SEO lorsqu'elle est invoquée. Les instructions indiquent à Claude Code comment utiliser les données de recherche.
# .claude/skills/seo.md content:
# When invoked for a keyword:
# 1. Use scavio search tool to fetch SERP for the keyword
# 2. Report top 5 organic results with positions
# 3. Check if AI Overview exists and list cited domains
# 4. Extract People Also Ask questions
# 5. Identify content gaps compared to top resultsÉtape 4: Tester l'API sous-jacente
Vérifier que l'API Scavio renvoie les données dont la compétence a besoin.
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 project management tool"})
data = resp.json()
print(f"Organic: {len(data.get('organic_results', []))}")
print(f"AIO: {'yes' if data.get('ai_overview') else 'no'}")
print(f"PAA: {len(data.get('people_also_ask', []))}")Étape 5: Invoquer la compétence
Exécuter la compétence depuis votre terminal pour vérifier que tout est connecté.
# In Claude Code terminal:
# /seo "best project management tool"
#
# Claude Code will:
# 1. Call the Scavio MCP search tool
# 2. Parse the SERP response
# 3. Format a report with rankings, AIO, and PAA
# 4. Suggest content improvementsExemple Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def seo_check(kw):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": kw})
d = resp.json()
return {"organic": len(d.get("organic_results",[])),
"aio": bool(d.get("ai_overview")),
"paa": len(d.get("people_also_ask",[]))}
print(seo_check("best project management tool"))Exemple JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function seoCheck(kw) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: kw})
});
const d = await r.json();
return {organic: (d.organic_results||[]).length, aio: !!d.ai_overview,
paa: (d.people_also_ask||[]).length};
}
seoCheck("best project management tool").then(console.log);Sortie attendue
A Claude Code skill that runs SEO research from the terminal, returning organic rankings, AI Overview status, and People Also Ask questions for any keyword.