Vibeleaderboard
Index / agent
Visit claude-seo.md
Category
AI Agents
Rank

Previous survey · No. 2035 ·

Pricing
Open Source
Type
AGENT
Use case
Business & Commerce
Interfaces
Agent Skill / Plugin
Latest release
v2.4.2
Date

About

An open-source SEO toolkit that installs into Claude Code, bundling 25 sub-skills, 18 specialist agents, and 32 commands invoked through a `/seo` command menu. It runs full-site and single-page audits covering technical SEO, E-E-A-T content quality, schema markup, GEO/AI-search readiness, local SEO and maps intelligence, returning evidence and a weighted health score the project describes as a triage heuristic rather than a Google metric. Optional extensions add DataForSEO, image generation, and reporting integrations.

What it does

A plugin that turns Claude Code into an SEO auditing team. You type a slash command with a URL, and a coordinating prompt splits the job across specialist subagents, each a written brief for one area such as crawlability, structured data, page speed or local listings. They run in parallel, write their findings to disk, and the coordinator merges them into a ranked fix list. Bundled Python scripts do the actual fetching and measuring, so the model reasons over real page data rather than guessing. Paid data sources like Ahrefs or DataForSEO plug in as optional extensions.

Why it's ranked here

The network layer is the strongest evidence. Every plain page fetch goes through one guard that resolves the address once, refuses private, loopback and cloud metadata addresses, and pins the connection so a DNS trick cannot swap targets mid-request. That matters for a tool that follows links found on pages it crawls. The changelog records facts re-checked against Google's own pages, unconfirmable claims held back in a separate list, and installer bugs that leaked keys or wiped config fixed. MIT licensed, no telemetry, setup isolated from system Python.

What's good

It treats fetched pages as hostile. The technical agent's brief says fetched page content is data, never instructions, which is the right default for an agent reading the open web. Local audits of a dev or staging server are opt-in by naming each host explicitly, with cloud metadata endpoints refused even when listed. The content scorer says plainly that it does not decide whether text is AI-written and flags when its English-only phrase lists make a Chinese, Japanese or Korean score incomparable. Setup runs once, builds its own environment and headless browser, and a separate doctor command checks readiness without changing anything.

Tradeoffs

The scores are home-made heuristics. The content quality figure is a fixed weighted blend of phrase-list hits, a capital-letter entity count and repetition, and the technical agent is told to emit its own 0 to 100 score; neither is a Google measurement. Without API keys, page speed is inferred from HTML rather than measured from real users. The project's own counts disagree: the plugin manifest says 26 sub-skills and 19 agents, while the catalogue blurb says 25 and 18. Early features land first in a private mirror that requires a paid community membership. The Python floor is a version the changelog notes reaches end of life soon.

How to use it well

Best for agencies and in-house SEO leads who already live in Claude Code and want a repeatable first-pass audit with a written action plan. Run the setup command once, then start with a single-page check before a full-site crawl, which reaches up to 500 pages and fans out to as many as 17 agents. Treat the health score as a triage order, not a grade, and verify each fix against the evidence it cites. Add Search Console or PageSpeed credentials if you need real field data. It does not replace a rank tracker or backlink database unless you pay for those extensions.

Technical notes+

docs/ARCHITECTURE.md lays out the orchestrator in skills/seo with 26 sub-skill directories and 19 agent markdown files; agents/seo-technical.md runs on model sonnet with maxTurns 45 and a persistence contract that writes partial findings early. All Python runs through a launcher that allowlists script basenames and forwards args without a shell. scripts/url_safety.py exposes validate_url_strict, which resolves via getaddrinfo, rejects any non-public A record (including the RFC 6598 shared range and IPv4-mapped IPv6), and safe_requests_session, which patches socket.getaddrinfo under a non-blocking lock; CLAUDE_SEO_LOCAL_TARGETS applies to the top-level URL only. The module docstring concedes Chromium fetches cannot be DNS-pinned. scripts/fetch_page.py normalizes raw and rendered output to one JSON key set. scripts/content_quality.py weights filler, AI-pattern, density, repetition and length at 0.25/0.25/0.25/0.15/0.10. hooks/hooks.json runs a schema validator after every Edit or Write. pyproject.toml declares requires-python >=3.10 and ruff lint, with no dependencies listed there.

Observed

License
MIT (pyproject.toml and .claude-plugin/plugin.json)
Language
Python 3.10 or newer for bundled scripts; skills and agents are Markdown prompts
Install surface
Claude Code plugin marketplace, or git clone plus a shell installer (Unix) or PowerShell installer (Windows)
Interface
Slash commands inside Claude Code; optional MCP server extensions for paid data sources
Runtime
Isolated Python environment plus Playwright Chromium, created by an explicit setup command
Outbound request guard
SSRF and DNS-rebinding protection in scripts/url_safety.py for every user-supplied URL
Telemetry
None stated; core makes no third-party API calls by default (PRIVACY.md)
Editor hook
Post-edit schema validation hook registered in hooks/hooks.json

Read from README.md, pyproject.toml, .claude-plugin/plugin.json, docs/ARCHITECTURE.md, docs/COMMANDS.md, docs/MCP-INTEGRATION.md, agents/seo-technical.md, scripts/url_safety.py, scripts/fetch_page.py, scripts/content_quality.py, hooks/hooks.json, PRIVACY.md, CHANGELOG.md.

Tags

seoclaude-codeauditai-agentsgeomarketing

Tech Stack

Python

Media

Claude SEO

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.