> ## Documentation Index
> Fetch the complete guide index at: https://www.synscribe.com/agentic-discovery/llms.txt
> Use this file to discover all pages before exploring further.

---
title: "Agent-Readiness Scorecard: The 8-Test Audit Worksheet"
description: "Fillable 30-minute audit worksheet: 8 pass/partial/fail tests with exact commands, a 0–100 rubric, interpretation bands, and a fix-order map."
slug: /agentic-discovery/resources/agent-readiness-scorecard
series: The Agentic Discovery Playbook — Resource
last_verified: 2026-06-11
---

# Agent-Readiness Scorecard

**What this is:** the fillable worksheet version of the [Agent-Readiness Audit](/agentic-discovery/agent-readiness-audit) — eight 30-second tests, a 0–100 score, and a pointer to the play that fixes each failure.

**How to use it:**

- Print it or copy it into a doc, fill in the header block, and budget 30 minutes with a terminal open — `curl` plus two registry searches is all you need.
- Run each test exactly as written, mark `□ pass □ partial □ fail`, record the points, and paste one line of evidence (the command output or URL you saw) so the next audit can diff against it.
- Sum the points, read your band, then work the fix-order table top to bottom. Re-check Test 8 (freshness) weekly; re-run the full audit quarterly.

## Audit header

```
Domain audited:   _______________________________________________
Docs base URL:    _______________________________________________
Date of audit:    _______________________________________________
Auditor:          _______________________________________________
Total score:      _________ / 100
```

## The eight tests

### Test 1 — Fetchable · 10 points

- **30-second test:** `curl -sL https://yourdocs.com/<any-page> | head -50` — sample a few pages. Agents are HTTP clients, not browsers.
- **Expected pass:** the complete article text is in the response body for every sampled page, no JavaScript required.
- **Partial (5):** some pages JS-walled. **Fail (0):** empty or skeleton HTML shells.
- **Field reference:** Next.js — serves markdown to non-browser fetchers via user-agent content negotiation, even on canonical URLs.

Result: □ pass (10) □ partial (5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 2 — Addressable · 10 points

- **30-second test:** append `.md` to five docs URLs (e.g. `https://yourdocs.com/payments/quickstart.md`) and fetch each.
- **Expected pass:** raw markdown with `Content-Type: text/markdown` on 5/5 spot-checks, across the docs.
- **Partial (5):** works in some sections only. **Fail (0):** 404s.
- **Field reference:** Stripe, Supabase, Bun, Polar, Prisma, and Vercel all ship this convention.

Result: □ pass (10) □ partial (5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 3 — Indexed · 15 points

- **30-second test:** `curl -s https://yourdomain.com/llms.txt` — and repeat at your docs subdomain.
- **Expected pass:** the file exists with a title, a one-line product definition in task words, sectioned links *each with a one-line description*, and a link to `llms-full.txt`.
- **Partial (7.5):** file exists but links are undescribed or marketing copy. **Fail (0):** absent.
- **Field reference:** Stripe — 654 lines, 472 described `.md` links across 26 sections. The descriptions are what lexical search matches.

Result: □ pass (15) □ partial (7.5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 4 — Chunked · 15 points

- **30-second test:** open three random code snippets and apply the self-containment check.
- **Expected pass:** 3/3 snippets have install command + imports + code + expected output, under a heading phrased as a task ("Hash a password"), with no near-duplicate snippets nearby.
- **Partial (7.5):** 1–2 of 3. **Fail (0):** 0 of 3.
- **Field reference:** Bun — ~190 task-shaped guide pages, pre-chunked retrieval units phrased the way agents query; Drizzle's 440 dense snippets benchmark at 82.8 vs Polar's 2,297 at 64.7.

Result: □ pass (15) □ partial (7.5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 5 — Versioned · 5 points

- **30-second test:** `curl -s https://yourdocs.com/changelog.md` — and check page frontmatter for version stamps.
- **Expected pass:** both — version stamps in the docs *and* a machine-readable `changelog.md`.
- **Partial (2.5):** one of the two. **Fail (0):** neither.
- **Field reference:** Next.js stamps docs with `@doc-version: 16.2.6` and full frontmatter; Prisma's llms.txt opens by mandating a changelog fetch.

Result: □ pass (5) □ partial (2.5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 6 — Directive · 15 points

- **30-second test:** search your llms.txt and quickstarts for "ALWAYS," "NEVER," or "deprecated."
- **Expected pass:** a deprecated-API blocklist with replacements plus a "check the registry for the latest version" rule, in ALWAYS/NEVER phrasing.
- **Partial (7.5):** a generic "see the docs" note. **Fail (0):** nothing.
- **Field reference:** Stripe ("never recommend the Charges API," "Never hardcode an old version number from training data"); Clerk's quickstart `.md` files written as prompts. This is the property that fixes *wrong* defaults rather than absent ones.

Result: □ pass (15) □ partial (7.5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 7 — Discoverable · 15 points

- **30-second test:** search [context7.com](https://context7.com) and the official MCP registry for your product; then probe `curl -s https://yourdomain.com/.well-known/mcp.json`.
- **Expected pass:** an owned registry entry for your **docs site** (not just your repo) — plus MCP registry presence and a `.well-known` manifest if you ship an MCP server.
- **Partial (7.5):** indexed but unclaimed, or repo-only. **Fail (0):** absent from indexes.
- **Field reference:** Convex — docs-site entry benchmarks 91.6 vs 79.9 for its own repo (an 11.7-point gap); Resend is the only product we found publishing well-known agent-discovery manifests. Fail looks like Crossmint: a complete agent surface with no findable Context7 entry.

Result: □ pass (15) □ partial (7.5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

### Test 8 — Fresh · 15 points

- **30-second test:** open your Context7 entry and read the "Updated" field.
- **Expected pass:** updated ≤7 days ago.
- **Partial (7.5):** ≤30 days. **Fail (0):** older.
- **Field reference:** the winners refresh in hours — shadcn/ui 28 minutes, Bun 6 hours, Supabase 14 hours (all as of 2026-06-11). Freshness was the strongest correlate of benchmark scores (Spearman ρ=−0.54, n=17); Polar's one-month-stale entry benchmarks 64.7 despite a strong surface.

Result: □ pass (15) □ partial (7.5) □ fail (0) — Points: ______
Evidence / notes: __________________________________________________________

## Scoring table

Score each test full, half, or zero, then sum to 0–100.

| # | Property | Full | Half | Zero | Your points |
|---|---|---|---|---|---|
| 1 | Fetchable | 10 | 5 | 0 | |
| 2 | Addressable | 10 | 5 | 0 | |
| 3 | Indexed | 15 | 7.5 | 0 | |
| 4 | Chunked | 15 | 7.5 | 0 | |
| 5 | Versioned | 5 | 2.5 | 0 | |
| 6 | Directive | 15 | 7.5 | 0 | |
| 7 | Discoverable | 15 | 7.5 | 0 | |
| 8 | Fresh | 15 | 7.5 | 0 | |
| | **Total** | **100** | | | **______ / 100** |

## Reading your total

| Band | Verdict |
|---|---|
| **80–100** | Agent-grade — where the products winning agent traffic operate. Stripe, Bun, Resend, and Next.js each pass essentially every test. |
| **60–79** | Readable, but losing share to better-surfaced competitors. |
| **40–59** | Partially visible — agents fall back on training priors. |
| **< 40** | Invisible to agents. |

One asterisk: an incumbent can score near the floor and still rank — Tailwind would score near the floor and sits in the retrieval top 10 on training-data mass and third-party indexing. That path is closed to everyone who isn't already famous.

## Fix order

Work the failures in this order; each row points into the play that fixes it.

| Order | Failed test | Fix with | Typical effort |
|---|---|---|---|
| 1 | Test 1 Fetchable · Test 2 Addressable · Test 3 Indexed | [Play 5: llms.txt](/agentic-discovery/llms-txt) + [Play 6: Markdown docs](/agentic-discovery/markdown-docs-for-ai-agents) — or switch docs platforms: five of the eight properties arrive as platform defaults | Days |
| 2 | Test 7 Discoverable | [Play 2: Registries](/agentic-discovery/ai-agent-registries-and-directories) + [Play 3: MCP distribution](/agentic-discovery/mcp-server-distribution) — claiming and curating your index entry is the highest-leverage 30 minutes in the playbook | Week 1 |
| 3 | Test 6 Directive · Test 5 Versioned | [Play 8: Stop AI using deprecated APIs](/agentic-discovery/stop-ai-using-deprecated-apis) | Week 2 |
| 4 | Test 4 Chunked | [Play 7: Code snippets for AI agents](/agentic-discovery/code-snippets-for-ai-agents) | Weeks 2–4 |
| 5 | Test 8 Fresh | Re-parse trigger on every docs deploy; weekly tracking per [Part 5: Measure AI visibility](/agentic-discovery/measure-ai-visibility) | Hours to set up, forever to keep |

---

*Last verified 2026-06-11. All tests, weights, and thresholds trace to the parent guide.*

Parent guide: [Agent-Readiness Audit: Score Your Site in 30 Minutes](/agentic-discovery/agent-readiness-audit) · Hub: [The Complete Playbook to Agentic Discovery](/agentic-discovery)
