Skip to content

Agent Readiness, on ourselves

We build tools that check whether websites work for AI agents. This page shows the same machinery applied to this very site.

One article, three representations

Every blog article here is published in three forms from a single source:

  • Human HTML — the page you read: /blog/arc-c29-task-board
  • FOR AI AGENTS block — a visible summary on the same page (summary, status, concepts, actions, machine-readable links). No hidden markup — agents read what you read.
  • Knowledge Object (JSON) — the same metadata as a machine-readable object: /blog/arc-c29-task-board.json

Claims carry statuses (VERIFIED / UNVERIFIED) and evidence links; actions point at things an agent can actually do. The HTML page links the JSON variant via rel="alternate", and this page does the same for itself: /agent-readiness.json.

Self-scan — our scanner on our own site

scanned 2026-10-21T22:12:08.176Z · refresh ↻

Target: https://agentbadge.xyz — score 69.55/100 (D). 118 of 156 rules passed, 25 need attention, 12 not applicable. This is the same engine behind /scan.

Rule Category Status
AB-001 robots.txt present discovery VERIFIED
AB-002 sitemap.xml present discovery VERIFIED
AB-003 agent-guide discoverable (JSON, Markdown, or HTML) discovery VERIFIED
AB-004 OpenAPI specification present & valid documentation VERIFIED
AB-005 agent-guide.json schema-valid documentation VERIFIED
AB-006 MCP server descriptor discoverable documentation VERIFIED
AB-007 Guide ↔ OpenAPI endpoint consistency actionability CONFLICT
AB-008 Authentication scheme declared machine-readably actionability VERIFIED
AB-009 Capability inference coverage actionability NOT_APPLICABLE
AB-010 Pricing machine-readable machine_readable VERIFIED
AB-011 Rate limits declared machine-readably machine_readable VERIFIED
AB-012 Structured error schema declared machine_readable VERIFIED
AB-013 Owner verification status verification NOT_APPLICABLE
AB-014 llms.txt present discovery VERIFIED
AB-015 Content negotiation — agent UA gets non-HTML content_negotiation VERIFIED
AB-016 Content negotiation — Accept: JSON returns JSON content_negotiation VERIFIED
AB-017 Content negotiation — Accept: text returns text content_negotiation VERIFIED
AB-018 Content negotiation — Accept: markdown returns markdown content_negotiation VERIFIED
AB-019 Content negotiation — preferred Content-Type (q-values) content_negotiation VERIFIED
AB-020 MCP tools/list responds machine_readable VERIFIED
AB-021 MCP tools/call responds machine_readable VERIFIED
AB-022 MCP SSE transport supported machine_readable VERIFIED
AB-023 MCP auth discovery resolves bot_auth VERIFIED
AB-024 llms-full.txt found documentation VERIFIED
AB-025 llms-full.txt linked from HTML documentation VERIFIED
AB-026 Skill file found skills VERIFIED
AB-027 Skill file frontmatter valid skills VERIFIED
AB-028 Vary: Accept header set content_negotiation VERIFIED
AB-029 Inline content negotiation (no redirect) content_negotiation VERIFIED
AB-030 Live 402 response on paid endpoint payments VERIFIED
AB-031 x402 challenge decodable payments VERIFIED
AB-032 Payment-Required header present payments VERIFIED
AB-033 Recipient (payTo) specified payments VERIFIED
AB-034 Payment terms (amount) specified payments VERIFIED
AB-035 x402.json discovery published payments VERIFIED
AB-036 Bazaar discoverable bazaar VERIFIED
AB-037 Bazaar service declared bazaar VERIFIED
AB-038 Facilitator specified payments VERIFIED
AB-039 OpenAPI spec found at standard path openapi VERIFIED
AB-040 OpenAPI paths defined openapi VERIFIED
AB-041 OpenAPI paths reachable openapi VERIFIED
AB-042 Response matches OpenAPI spec openapi VERIFIED
AB-043 OpenAPI version identified openapi VERIFIED
AB-044 OpenAPI title present openapi VERIFIED
AB-045 Cache headers present infrastructure VERIFIED
AB-046 Structured JSON 404 errors infrastructure VERIFIED
AB-047 Rate limit headers present infrastructure VERIFIED
AB-048 agents.txt found agents_txt VERIFIED
AB-049 RSS/Atom feed available documentation VERIFIED
AB-050 WebMCP manifest found webmcp VERIFIED
AB-051 WebMCP form annotations webmcp VERIFIED
AB-052 og:image reachable documentation VERIFIED
AB-053 SVG favicon available documentation VERIFIED
AB-054 Canonical URL correct documentation VERIFIED
AB-055 RSS feed linked from HTML documentation VERIFIED
AB-056 WebFinger endpoint available identity VERIFIED
AB-057 DID document available identity VERIFIED
AB-058 Bot auth signatures directory found bot_auth NOT_APPLICABLE
AB-059 Bot auth members valid bot_auth NOT_APPLICABLE
AB-060 Bot auth public keys reachable bot_auth NOT_APPLICABLE
AB-061 Link headers on homepage (RFC 8288) discovery VERIFIED
AB-062 API Catalog endpoint (RFC 9727) discovery VERIFIED
AB-063 OAuth Protected Resource metadata (RFC 9728) bot_auth VERIFIED
AB-064 Auth.md agent registration instructions documentation VERIFIED
AB-065 Agent Skills index skills VERIFIED
AB-066 Content Signals in robots.txt discovery VERIFIED
AB-067 Web Bot Auth directory (HTTP Message Signatures) bot_auth VERIFIED
AB-068 DNS-AID records for agent discovery discovery VERIFIED
AB-069 WebMCP browser-side tools (document.modelContext) webmcp VERIFIED
AB-070 L402 Lightning challenge in 402 response payments VERIFIED
AB-071 L402 macaroon and invoice in challenge payments VERIFIED
AB-072 Bazaar extension in L402 402 header bazaar VERIFIED
AB-073 HTTPS redirect enforced infrastructure VERIFIED
AB-074 A2A Agent Card published actionability VERIFIED
AB-075 A2A Agent Card verified actionability VERIFIED
AB-076 OpenAPI paths reachable (50% threshold) openapi VERIFIED
AB-077 OpenAPI response matches declared spec openapi VERIFIED
AB-078 OpenAPI x-payment-info declared on paid operations openapi VERIFIED
AB-085 MCP server name present actionability VERIFIED
AB-086 MCP auth discovery resolves actionability VERIFIED
AB-088 MPP (Machine Payments Protocol) support payments VERIFIED
AB-093 SPT (Stripe Payment Terms) support payments VERIFIED
AB-098 Content-Security-Policy header infrastructure VERIFIED
AB-099 Referrer-Policy header infrastructure VERIFIED
AB-100 Service page content depth seo_aeo VERIFIED
AB-101 Breadcrumb navigation on service pages seo_aeo VERIFIED
AB-102 MCP tools and REST endpoints parity webmcp GAP
AB-103 check_compliance MCP tool available webmcp VERIFIED
AB-104 Blog article OpenGraph type seo_aeo VERIFIED
AB-105 Article author and date meta tags seo_aeo VERIFIED
AB-106 AEO short-answer summary block seo_aeo VERIFIED
AB-107 Semantic definition lists in guide content seo_aeo VERIFIED
AB-108 OG image alt text brand consistency seo_aeo VERIFIED
AB-109 Agent Card version 1.0.0+ machine_readable NOT_APPLICABLE
AB-110 Blog articles in AI sitemap discovery VERIFIED
AB-111 Crawl-delay directive in robots.txt discovery GAP
AB-112 OAuth Authorization Server metadata (RFC 9728) identity GAP
AB-113 LLM policy file discovery VERIFIED
AB-114 AI sitemap content type coverage discovery GAP
AB-115 MCP namespace-based tool isolation webmcp VERIFIED
AB-116 Well-known MCP descriptor webmcp VERIFIED
AB-117 Image alt text coverage accessibility VERIFIED
AB-118 Lazy loading on below-fold images accessibility VERIFIED
AB-119 OAuth token endpoint reachable verification NOT_APPLICABLE
AB-120 Authenticated endpoint callable verification NOT_APPLICABLE
AB-121 Token response valid format verification NOT_APPLICABLE
AB-122 At least one endpoint callable verification NOT_APPLICABLE
AB-123 Response matches OpenAPI schema verification NOT_APPLICABLE
AB-124 Response content-type present verification NOT_APPLICABLE
AB-125 LocalBusiness schema.org present seo_aeo VERIFIED
AB-126 Opening hours machine-readable seo_aeo VERIFIED
AB-127 Area served defined seo_aeo VERIFIED
AB-128 OAuth2 preferred over static API keys bot_auth GAP
AB-129 Credentials passed via headers (not query params) bot_auth GAP
AB-130 OAuth scopes defined bot_auth GAP
AB-131 Token revocation endpoint available bot_auth GAP
AB-132 Token introspection endpoint available bot_auth GAP
AB-133 Private key JWT auth method supported bot_auth GAP
AB-134 Token Exchange (RFC 8693) supported bot_auth GAP
AB-135 AAuth metadata endpoint available bot_auth GAP
AB-136 Agent Authorization Grant supported bot_auth GAP
AB-137 AAuth scope descriptions published bot_auth GAP
AB-138 DPoP token binding supported bot_auth GAP
AB-139 mTLS-bound access tokens bot_auth GAP
AB-140 Auth.md documents agent auth flow documentation VERIFIED
AB-141 Short-lived access tokens bot_auth GAP
AB-142 Refresh token rotation supported bot_auth GAP
AB-143 Token revocation endpoint reachable bot_auth GAP
AB-144 Auth.md documents credential vault pattern documentation VERIFIED
AB-145 No static API keys in OpenAPI security bot_auth GAP
AB-146 Capability descriptions actionability INFERRED
AB-147 Parameter semantics documentation INFERRED
AB-148 Request and response examples documentation GAP
AB-149 Error semantics error_semantics INFERRED
AB-150 Pricing discoverability pricing VERIFIED
AB-151 Rate limits machine-readable rate_limits INFERRED
AB-152 Pricing and limits cross-source consistency verification GAP
AB-153 Authentication clarity bot_auth INFERRED
AB-154 Retry semantics declared retry_semantics GAP
AB-155 Versioning declared versioning INFERRED
AB-156 Sandbox environment declared sandbox GAP
AB-157 Agent policy machine-readable agent_policy INFERRED
AB-158 Capability list declared discovery INFERRED
AB-159 Business constraints documented actionability GAP
AB-160 Support path declared documentation INFERRED
AB-161 AI-Agent Discovery meta tags discovery VERIFIED
AB-162 Heartbeat.md availability actionability VERIFIED
AB-163 Skill.json (JSON-LD) availability machine_readable VERIFIED
AB-164 Error catalog endpoint machine_readable VERIFIED
AB-165 Agent feeds (JSON Feed 1.1 / RSS 2.0) discovery VERIFIED
AB-166 next_call pattern in API responses actionability VERIFIED
AB-183 Answer-first extractability seo_aeo INFERRED
AB-184 Evidence density for citability seo_aeo INFERRED
AB-185 Entity clarity and canonical naming seo_aeo INFERRED
AB-186 Server-rendered primary content in initial HTML seo_aeo VERIFIED
AB-187 Anti-citation disqualifiers seo_aeo INFERRED

Result is cached (refresh on request, not per pageview). What the scanner checks is exactly what is listed above — nothing more, nothing less.

What this shows — and what it doesn't

  • ✓ The scanner checked the listed signals on our homepage — llms.txt, manifests, structured data, markdown alternates.
  • ✓ The verdicts above are computed from fetched evidence, not asserted by hand.
  • ✗ A passing score does not mean every page is covered — it reflects the scanned target only.
  • ✗ Rules marked NOT_APPLICABLE or GAP are listed plainly; we do not hide gaps.