Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add Hainrixz/claude-seo-ai/plugin install claude-seo-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hainrixz/claude-seo-ai/seo-indexability)<a href="https://agentmods.dev/skills/hainrixz/claude-seo-ai/seo-indexability"><img src="https://agentmods.dev/badge/skills/hainrixz/claude-seo-ai/seo-indexability/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hainrixz/claude-seo-ai/seo-indexability"><img src="https://agentmods.dev/badge/skills/hainrixz/claude-seo-ai/seo-indexability.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00143 | $0.02503 |
| Opus 5 | $0.00072 | $0.01252 |
| Sonnet 5 | $0.00029 | $0.00501 |
| Haiku 4.5 | $0.00014 | $0.00250 |
Grade A, and why
seo-indexability scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.
seo-indexability (M2)
If a page can't be crawled, indexed, or canonicalized correctly, every other signal is wasted — this is the floor under the Search score. Schema-side context: references/schema-tier1.md. AI-bot access and snippet eligibility are M14 (seo-ai-crawlers); this module owns the classic-Search side, including the search-axis cloaking check.
Inputs
Work from the PageSnapshot named in your dispatch envelope: read parsed from <run_dir>/pages/<slug>.json (canonicals[], robots_meta[]) plus status_chain, headers, robots_directives.effective, and the crawl graph in <run_dir>/crawl.json for orphans, depth, duplicate clusters, and internal link status; <run_dir>/profile.json carries environment.kind (production|preview|staging|local); when the run included a user-agent diff, <run_dir>/ua-diff.json holds the per-UA response fields. Grep pages/<slug>.html for verbatim evidence; site artifacts live in <run_dir>/site/{robots.json,sitemaps.json,discovery.json}. Deterministic findings already emitted by audit.mjs are listed in <run_dir>/findings.deterministic.json — do not re-emit those ids; add model-judged findings only. If invoked directly with a URL/path and no snapshot exists, first run node "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs" and use the printed snapshot path.
Audits
Working from the PageSnapshot (parsed_rendered when render.used is not none, else parsed) plus headers, status_chain, and robots_directives:
- Canonical: exactly one
<link rel="canonical">; absolute HTTPS URL; classify self-referential vs cross-domain vs chained (canonical points to a URL that itself canonicalizes elsewhere). Flag a canonical that resolves to a redirect or a 4xx. - Canonical + noindex — read it correctly.
noindextogether with a self-referential canonical is not the lethal pair: it is a coherent, usually deliberate exclusion (thank-you pages, filtered views, staging). Report it asM2.robots.noindex_presentand ask before touching it. The pair is lethal only when the canonical points elsewhere: the page tells Google "index that other URL instead" while also saying "don't index me", and the contradiction can propagate thenoindexto the canonical target — that isM2.canonical.noindex_conflict. - Robots directives:
<meta name="robots">and theX-Robots-Tagheader fornoindex/nofollow/none; reconcile header vs meta (the most restrictive applies; a header directive reaches non-HTML responses too). Record the scope — a directive emitted by a template or an edge rule istemplate/site, one written into a single document ispage. - Duplicate clusters: near-identical title/H1/body across URLs with no consolidating canonical.
- Pagination: paginated series signals (self-canonical per page; do not canonicalize page 2+ to page 1 — that delists deep items).
- Site health (covers M3): redirect chains (>1 hop) and loops, internal links returning 4xx/5xx, soft-404 (200 status on an empty/"not found" page), mixed content (HTTP subresources on an HTTPS page), HTTP-to-HTTPS enforcement, orphan pages (no internal inlinks inside the crawl frontier) and click-depth from the homepage.
- User-agent content divergence (cloaking, search axis): from
ua-diff.json, compare what the origin serves a default browser UA against what it servesgooglebot— status, title, H1, word count, canonical, robots directives, JSON-LD. A material difference is the search-axis cloaking signal (M2.cloaking.ua_content_divergence). The AI-bot side of the same diff (a challengedGPTBot, a refused spoofedGooglebot) belongs to M14. - Environment: read
profile.json.environment.kind. Onpreview/staging/local, anoindexor a blanket robots block is the expected configuration, not a defect — recordM2.hosting.preview_environment_auditedso the report says which host was audited.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago Changed · +16 lines · +16 tokens per session fec1fa31b0fd
- 6d ago Changed · +3 lines 56bd048a8542
- 12d ago First seen · 42 lines · 127 tokens per session scan A 3b793b0eb8a9
seo-indexability is a skill published in the GitHub repository Hainrixz/claude-seo-ai (59 stars, last pushed 5d ago), licensed MIT. It adds 143 tokens to every session and 2,503 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
linkedin-post
Draft a daily LinkedIn post for S M Moshiur Rahman about business development, grounded in a real problem he hit that day and real numbers from OmniRank. Use when he says "linkedin post", "today's post", "draft a post", or describes friction he wants written up.
audit
Use when asked to audit a site's SEO, check AEO or answer-engine readiness, diagnose why a page is not ranking or not being cited by AI, verify structured data, or run pre-deploy discoverability checks on built HTML.
geo-artifacts
Use when asked to generate or fix llms.txt, llms-full.txt or facts.json, make a site citable or ingestible by ChatGPT, Claude, Perplexity or Gemini, or publish machine-readable ground truth for AI crawlers.
web-optimization
Audit or generate web content optimized for traditional search (SEO), AI generative answer engines like ChatGPT/Perplexity/Google AI Overviews (GEO), and answer engines / featured snippets / voice (AEO). Use when the user asks to improve a page's ranking or AI-citability, run an SEO/GEO/AEO audit of a URL or file, add…
fire-your-seo-agency
A procedure for improving how a website appears in search engines and how AI answer systems find and cite it. It covers search, answer-engine, generative-AI, and Naver visibility.
ansvisor-aeo-coach-standalone
Standalone (no-MCP) version of the Ansvisor AEO Coach. Use this only when the user's Claude client cannot connect to the Ansvisor MCP server (e.g. claude.ai web without a Connector configured). Fetches live data from the Ansvisor REST API directly with the user's API key via code execution. For clients that support…