---
title: "Agent readiness report — example.com"
description: "example.com scored 28/100 (Needs Improvement) for agent readiness — Level 0 (Not Agent Ready), llms.txt 0/100, markdown 0/100. 43 failed checks with fixes."
canonical_url: "http://www.whosbest.org/check/wvjyzpwf0hw2"
last_updated: "2026-08-23T21:04:41Z"
doc_version: "1.0"
---

# Agent readiness report — example.com

Scanned https://example.com/ on 2026-08-23 21:04 UTC with WhosBest Validator 2.0. Permalink: http://www.whosbest.org/check/wvjyzpwf0hw2

## Scores

| Metric | Score |
|---|---|
| Agent readiness (Vercel) | 28/100 — Needs Improvement |
| Level | 0 — Not Agent Ready |
| llms.txt | 0/100 |
| Markdown negotiation | 0/100 — No Markdown |
| Accessibility | 89/100 |
| Pages scanned | 1 of 1 discovered |
| Checks | 19 passed · 0 warned · 43 failed · 0 errors |

## Level

Current level: **0 — Not Agent Ready**.

To reach Level 1 (Basic Crawlability):

- `S7` **Publish robots.txt** — Add /robots.txt with a User-agent: \* group and a Sitemap: line \(any 2 of 3 missing basics\)
- `S8` **Publish a valid sitemap.xml** — Serve /sitemap.xml as a valid urlset with \<loc\> and \<lastmod\> per page \(any 2 of 3 missing basics\)
- `B3` **Send Link headers on the homepage** — Send an HTTP Link header on / advertising the markdown alternate and llms.txt \(rel=alternate/describedby\) \(any 2 of 3 missing basics\)

## What to fix first

1. **llms.txt exists** (`S1`, required, fail) — No llms.txt found at /llms.txt, /.well-known/llms.txt, /docs/llms.txt or /llms-full.txt
   - How to fix:

     ```
     # example.com
     
     > One-paragraph summary of what the site offers.
     
     ## Docs
     
     - [About](https://example.com/about.md): What we do
     
     ```

   - Spec: https://llmstxt.org/
2. **llms.txt served as text/plain** (`S2`, required, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > One-paragraph summary of what the site offers.
     
     ## Docs
     
     - [About](https://example.com/about.md): What we do
     
     ```

   - Spec: https://llmstxt.org/
3. **llms.txt is non-empty** (`S3`, required, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > One-paragraph summary of what the site offers.
     
     ## Docs
     
     - [About](https://example.com/about.md): What we do
     
     ```

   - Spec: https://llmstxt.org/
4. **robots.txt exists** (`S7`, required, fail) — robots.txt returned HTTP 404
   - How to fix:

     ```
     User-agent: *
     Allow: /
     
     Sitemap: https://example.com/sitemap.xml
     
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9309
5. **sitemap.xml is valid** (`S8`, required, fail) — sitemap.xml returned HTTP 404
   - How to fix:

     ```
     <?xml version="1.0" encoding="UTF-8"?>
     <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
       <url><loc>https://example.com/</loc><lastmod>2026-01-01</lastmod></url>
     </urlset>
     ```

   - Spec: https://www.sitemaps.org/protocol.html
6. **llms.txt returns HTTP 200** (`L1`, required, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
7. **First line is an H1 title** (`L2`, required, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
8. **Content is parseable markdown \(not an HTML shell\)** (`L3`, required, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
9. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://example.com/">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
10. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
11. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://example.com/","url":"https://example.com/","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://example.com/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
12. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://example.com/","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
13. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://example.com/index.md → HTTP 404 text/html
   - How to fix:

     ```
     https://example.com/index.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
14. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://example.com/index.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
15. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
16. **Serves markdown for Accept: text/markdown** (`M1`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     GET / HTTP/1.1
     Accept: text/markdown
     
     -> HTTP/1.1 200 OK
        Content-Type: text/markdown; charset=utf-8
        Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
17. **Responds with Vary: Accept** (`M2`, required, fail) — No Vary header
   - How to fix:

     ```
     Vary: Accept
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9110#name-vary
18. **robots.txt has explicit AI-bot rules** (`B1`, required, fail) — No robots.txt
   - How to fix:

     ```
     User-agent: GPTBot
     Allow: /
     
     User-agent: ClaudeBot
     Allow: /
     
     User-agent: Google-Extended
     Allow: /
     
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9309
19. **robots.txt declares Content-Signal** (`B2`, required, fail) — No robots.txt
   - How to fix:

     ```
     Content-Signal: search=yes, ai-input=yes, ai-train=no
     ```

   - Spec: https://contentsignals.org/
20. **llms.txt links do not point at .html files** (`S4`, recommended, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > One-paragraph summary of what the site offers.
     
     ## Docs
     
     - [About](https://example.com/about.md): What we do
     
     ```

   - Spec: https://llmstxt.org/
21. **sitemap entries have lastmod** (`S9`, recommended, fail) — No sitemap entries to evaluate
   - How to fix:

     ```
     <lastmod>2026-01-15</lastmod>
     ```

   - Spec: https://www.sitemaps.org/protocol.html
22. **sitemap.md exists** (`S10`, recommended, fail) — No sitemap.md at /sitemap.md, /docs/sitemap.md or /.well-known/sitemap.md
   - How to fix:

     ```
     # Sitemap
     
     ## Pages
     
     - [Home](https://example.com/)
     - [About](https://example.com/about)
     
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
23. **sitemap.md has headings and links** (`S11`, recommended, fail) — sitemap.md not found
   - How to fix:

     ```
     ## Pages
     
     - [Home](https://example.com/)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
24. **AGENTS.md exists** (`S12`, recommended, fail) — No AGENTS.md at /AGENTS.md, /agents.md, /.well-known/agents.md, /docs/AGENTS.md, /CLAUDE.md or /.cursorrules
   - How to fix:

     ```
     # AGENTS.md
     
     ## Getting started
     
     …
     
     ## Configuration
     
     …
     
     ## Usage
     
     …
     
     ```

   - Spec: https://agents.md/
25. **AGENTS.md has required sections** (`S13`, recommended, fail) — AGENTS.md not found
   - How to fix:

     ```
     ## Getting started
     
     ## Configuration
     
     ## Usage
     
     ```

   - Spec: https://agents.md/
26. **Blockquote summary follows the H1** (`L4`, recommended, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
27. **At least one H2 section with a link list** (`L5`, recommended, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
28. **Link lines use - \[name\]\(url\): notes format** (`L6`, recommended, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
29. **Sampled links resolve \(2xx\)** (`L7`, recommended, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
30. **Served as text/plain** (`L9`, recommended, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
31. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
32. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
33. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 1 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
34. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
35. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://example.com/>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
36. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://example.com/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
37. **Honours Accept q-values** (`M4`, recommended, fail) — q-values ignored \(markdown-preferred → text/html, html-preferred → text/html\)
   - How to fix:

     ```
     Accept: text/html;q=0.5, text/markdown;q=1.0 -> text/markdown
     Accept: text/markdown;q=0.1, text/html;q=1.0 -> text/html
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9110#name-accept
38. **Homepage sends Link headers** (`B3`, recommended, fail) — No Link header on the homepage
   - How to fix:

     ```
     Link: <https://example.com/index.md>; rel="alternate"; type="text/markdown", <https://example.com/llms.txt>; rel="describedby"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
39. **Landmark main or skip link** (`A12`, recommended, fail) — No \<main\> landmark, role="main" or skip link
   - How to fix:

     ```
     <a href="#content" class="skip-link">Skip to content</a>
     <main id="content">…</main>
     ```

   - Spec: https://www.w3.org/WAI/WCAG22/quickref/
40. **\#\# Optional section used correctly** (`L8`, optional, fail) — llms.txt not found
   - How to fix:

     ```
     # example.com
     
     > Summary of the site.
     
     ## Docs
     
     - [About](https://example.com/about.md): what we do
     
     ```

   - Spec: https://llmstxt.org/
41. **llms-full.txt exists** (`L10`, optional, fail) — No /llms-full.txt or /llms-ctx-full.txt
   - How to fix:

     ```
     https://example.com/llms-full.txt
     ```

   - Spec: https://llmstxt.org/
42. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://example.com/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
43. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://example.com/)
     - [Full sitemap](https://example.com/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec

## Check results

### Site checks

| Status | ID | Check | Message |
|---|---|---|---|
| fail | `S1` | llms.txt exists | No llms.txt found at /llms.txt, /.well-known/llms.txt, /docs/llms.txt or /llms-full.txt |
| fail | `S2` | llms.txt served as text/plain | llms.txt not found |
| fail | `S3` | llms.txt is non-empty | llms.txt not found |
| fail | `S4` | llms.txt links do not point at .html files | llms.txt not found |
| pass | `S5` | robots.txt allows AI crawlers | No robots.txt — all crawlers allowed by default |
| pass | `S6` | /llms.txt is not blocked by robots.txt | No robots.txt — /llms.txt is reachable |
| fail | `S7` | robots.txt exists | robots.txt returned HTTP 404 |
| fail | `S8` | sitemap.xml is valid | sitemap.xml returned HTTP 404 |
| fail | `S9` | sitemap entries have lastmod | No sitemap entries to evaluate |
| fail | `S10` | sitemap.md exists | No sitemap.md at /sitemap.md, /docs/sitemap.md or /.well-known/sitemap.md |
| fail | `S11` | sitemap.md has headings and links | sitemap.md not found |
| fail | `S12` | AGENTS.md exists | No AGENTS.md at /AGENTS.md, /agents.md, /.well-known/agents.md, /docs/AGENTS.md, /CLAUDE.md or /.cursorrules |
| fail | `S13` | AGENTS.md has required sections | AGENTS.md not found |
| pass | `S14` | Site is served over HTTPS | Root URL is HTTPS |
| n/a | `S15` | Root OpenAPI document \(API-first sites\) | Site does not look API-first \(no OpenAPI/Swagger links or /api paths found\) |

### llms.txt checks

| Status | ID | Check | Message |
|---|---|---|---|
| fail | `L1` | llms.txt returns HTTP 200 | llms.txt not found |
| fail | `L2` | First line is an H1 title | llms.txt not found |
| fail | `L3` | Content is parseable markdown \(not an HTML shell\) | llms.txt not found |
| fail | `L4` | Blockquote summary follows the H1 | llms.txt not found |
| fail | `L5` | At least one H2 section with a link list | llms.txt not found |
| fail | `L6` | Link lines use - \[name\]\(url\): notes format | llms.txt not found |
| fail | `L7` | Sampled links resolve \(2xx\) | llms.txt not found |
| fail | `L8` | \#\# Optional section used correctly | llms.txt not found |
| fail | `L9` | Served as text/plain | llms.txt not found |
| fail | `L10` | llms-full.txt exists | No /llms-full.txt or /llms-ctx-full.txt |

### Markdown negotiation

| Status | ID | Check | Message |
|---|---|---|---|
| fail | `M1` | Serves markdown for Accept: text/markdown | Accept: text/markdown → HTTP 200 text/html |
| fail | `M2` | Responds with Vary: Accept | No Vary header |
| n/a | `M3` | Returns 406 for an unsatisfiable Accept | Skipped — the site does not negotiate markdown \(M1 failed\) |
| fail | `M4` | Honours Accept q-values | q-values ignored \(markdown-preferred → text/html, html-preferred → text/html\) |

### Bot access

| Status | ID | Check | Message |
|---|---|---|---|
| fail | `B1` | robots.txt has explicit AI-bot rules | No robots.txt |
| fail | `B2` | robots.txt declares Content-Signal | No robots.txt |
| fail | `B3` | Homepage sends Link headers | No Link header on the homepage |
| n/a | `B4` | DNS-AID agent discovery records | DNS-AID lookups disabled for this scan |
| info | `B5` | Web Bot Auth signature directory | No Web Bot Auth directory \(optional; only needed if you operate signed bots\) |

### Protocol discovery

| Status | ID | Check | Message |
|---|---|---|---|
| info | `C1` | MCP server card | No MCP server card \(/.well-known/mcp.json or /.well-known/mcp/server-card.json\) |
| n/a | `C2` | MCP server card is well-formed | No MCP server card to validate |
| info | `C3` | OAuth protected resource metadata | No OAuth protected resource metadata \(/.well-known/oauth-protected-resource\) |
| info | `C4` | A2A agent card | No A2A agent card \(/.well-known/agent-card.json or /.well-known/agent.json\) |
| n/a | `C5` | A2A agent card is well-formed | No A2A agent card to validate |
| info | `C6` | Agent Skills index | No Agent Skills index \(/.well-known/agent-skills/index.json\) |
| info | `C7` | API catalog \(/.well-known/api-catalog\) | No API catalog \(/.well-known/api-catalog\) |
| info | `C8` | OAuth / OpenID server metadata | No OAuth/OpenID server metadata \(/.well-known/oauth-authorization-server or /.well-known/openid-configuration\) |
| info | `C9` | security.txt | No security.txt \(RFC 9116\) — optional but recommended |
| info | `C10` | OpenAPI document | No OpenAPI document \(/openapi.json or /openapi.yaml or /.well-known/openapi.json\) |
| info | `C11` | /auth.md agent auth instructions | No /auth.md \(optional: markdown instructions telling agents how to authenticate\) |
| info | `C12` | UCP manifest | No UCP manifest \(/.well-known/ucp\) |
| info | `C13` | ACP manifest | No ACP manifest \(/.well-known/acp.json\) |
| info | `C14` | x402 payment-required endpoints | No x402 \(HTTP 402 + accepts\[\]\) endpoints observed among probed URLs |
| n/a | `C15` | Advertised endpoints not blocked by robots.txt | No same-host endpoints advertised in llms.txt / AGENTS.md |
| pass | `C16` | Content parity for AI crawlers \(GPTBot vs browser UA\) | Baseline text 125 chars vs GPTBot 125 chars \(0% difference\) |

### Accessibility (homepage)

| Status | ID | Check | Message |
|---|---|---|---|
| n/a | `A1` | Images have alt text | No \<img\> elements |
| n/a | `A2` | Form controls have labels | No form controls |
| pass | `A3` | Links and buttons have accessible names | All 1 link\(s\)/button\(s\) pass |
| n/a | `A4` | Media elements declare width and height | No img/video/iframe elements |
| n/a | `A5` | ARIA/label id references resolve and ids are unique | No ids or id references |
| n/a | `A6` | iframes have a title | No iframes |
| pass | `A7` | One h1 and no skipped heading levels | All 1 heading\(s\) pass |
| n/a | `A8` | No positive tabindex | No tabindex attributes |
| pass | `A9` | Viewport allows zoom | Viewport allows zoom: width=device-width, initial-scale=1 |
| pass | `A10` | Document has a non-empty title | \<title\>Example Domain\</title\> |
| n/a | `A11` | aria-label includes the visible text | No controls with both aria-label and visible text |
| fail | `A12` | Landmark main or skip link | No \<main\> landmark, role="main" or skip link |
| pass | `A13` | Valid BCP-47 lang | lang="en" is valid |
| n/a | `A14` | No focusable content inside aria-hidden | No aria-hidden regions |
| pass | `A15` | No nested interactive controls | All 1 interactive control\(s\) pass |
| pass | `A16` | No empty headings | All 1 heading\(s\) pass |
| pass | `A17` | No timed meta refresh | No meta refresh |
| n/a | `A18` | Valid autocomplete tokens | No autocomplete attributes |
| n/a | `A19` | Data tables have headers | No tables |
| n/a | `A20` | SVG role=img has an accessible name | No svg role=img elements |
| n/a | `A21` | Audio/video have captions track | No audio/video elements |
| n/a | `A22` | Lists contain only list items | No lists |
| n/a | `A23` | ARIA roles and attributes are valid | No ARIA roles or attributes |

## Pages

### https://example.com/

HTTP 200 · 7/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| pass | `P4` | No noindex / noai X-Robots-Tag | No restrictive X-Robots-Tag |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| pass | `P9` | html lang attribute | lang="en" |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 1 h1–h3 heading\(s\) |
| pass | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 22.4% \(125 text chars / 559 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://example.com/index.md → HTTP 404 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 125 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

## Sitemap

- [Site map (markdown)](http://www.whosbest.org/sitemap.md)
- [llms.txt](http://www.whosbest.org/llms.txt)
- [Run your own check](http://www.whosbest.org/check)
- [This report (JSON)](http://www.whosbest.org/api/v1/readiness/scan/wvjyzpwf0hw2)
