Loading...
Loading...
Audit AI discovery files and agent endpoints at the site root — /llms.txt and /llms-full.txt structure and link health, /agents.md, the UCP merchant profile at /.well-known/ucp (only when no ecommerce module owns it), the ARD /.well-known/ai-catalog.json, and /sitemap_agentic_discovery.xml — plus a robots cross-check that these files are not blocked for the bots meant to read them. Module M21 "AI discovery & agent endpoints" (weight 0 — reported, never scored). Appears in the AI Visibility report only.
npx skill4agent add hainrixz/claude-seo-ai seo-ai-discoveryspeculativedirectionalseo-ai-crawlersseo-ecommerce<run_dir>/site/discovery.json/llms.txt/llms-full.txt/agents.md/.well-known/ucp/.well-known/ai-catalog.json/sitemap_agentic_discovery.xml/api/ucp/mcp<run_dir>/site/robots.jsonverticalaudit.mjs<run_dir>/findings.deterministic.jsonnode "${CLAUDE_PLUGIN_ROOT}/scripts/snapshot.mjs" <target> --out "${CLAUDE_PLUGIN_DATA}/runs"- [title](url): note--deep/llms-full.txt/.well-known/ucpecommerceucp.versionYYYY-MM-DDservicescapabilities{version, spec, transport?, endpoint?, schema}dev.shopify.catalog/.well-known/ai-catalog.json/sitemap_agentic_discovery.xml<loc>fixable: autollms.txtllms-full.txtfix --category ai-discoveryllmsfixable: advisoryTODOnode "${CLAUDE_PLUGIN_ROOT}/scripts/ai-discovery.mjs" --snapshot <pages/<slug>.json> [--deep]site/discovery.jsondom_assertschema_validatorxml_parserobots_parseneeds_apipassschema/finding.schema.jsonaispeculativeestablishedfailreferences/scoring-model.mdevidence.observedverification.reproduceexpected_impactM21.llmstxt.missingfixable: autoM21.llmstxt.malformedfixable: autoM21.llmstxt.broken_linksfixable: proposeddirectionalM21.llmstxt.blocked_for_ai_botsfixable: advisorydirectionalM21.agents_md.presentM21.agents_md.missingfixable: advisoryM21.ucp.present_validM21.ucp.invalidfixable: advisoryM21.ucp.not_publicfixable: advisorynot_applicableM21.ai_catalog.presentM21.ai_catalog.invalid_jsonfixable: advisoryM21.agentic_sitemap.presentM21.agentic_sitemap.broken_locsfixable: proposeddirectionalrationaleexpected_impact