# Every product tested ships llms.txt. None scores full marks on reading.

Sixteen scores in, the machine-readable surface is close to universal and the writing behind it is not.

- Published: 2026-08-20
- Kind: analysis
- Author: Sean Knight
- Tags: llms.txt, agent surface, scoring

The AI Agent Readiness Score splits into two halves. Fifty points cover the agent surface, meaning the files and endpoints a machine reader can consume. Thirty points come from three AI models attempting five first-hour developer jobs using only the public pages.

After 16 products, the two halves are moving at different speeds.

## The numbers

The agent surface averages 40 of 50, or 80%. The reading test averages 22.3 of 30, or 74.3%.

Six products score a perfect 50 on the surface. None scores a perfect 30 on reading. Twelve of the 16 take at least 40 surface points. Seven reach the equivalent threshold on reading.

All 16 serve an llms.txt at the docs root, and all 16 serve authored markdown at their page URLs. The three remaining checks are less settled: 11 serve an llms-full.txt, 11 embed a docs assistant, and 10 answer a JSON-RPC initialize request with a working MCP server.

## A complete surface does not carry the score

Four products pass all five surface checks and still land below 80% on reading: Resend at 21 of 30, E2B at 20, LangChain at 20, and CARTO at 16.

CARTO is the clearest case. It ships every file and endpoint the test looks for, which is 50 points banked before a single page is read. Its reading score of 16 of 30 is the lowest in the published set, and the result is 82.5% overall. The infrastructure carried a score that the pages did not earn.

The reverse pattern also appears. DuckDB takes 25 of 30 reading points, above the average, and 20 of 50 on the surface. It finishes at 56.2% with an F.

## Why reading points are harder to win

The surface checks are binary and buildable. A markdown mirror is a build step. An llms.txt is a generated file. Several documentation platforms now produce both without the team deciding to, which is why the two universal checks are universal.

Reading points come from judgment about content. A verdict drops from PASS to PARTIAL when the agent has to guess, resolve an ambiguity, or reconcile two pages that disagree. Two live pages giving different values for the same rate limit cap the task at PARTIAL no matter how complete either page is on its own. That failure mode accumulates in any documentation set that grows for long enough, and no build step removes it.

## What this suggests for a docs team

The cheapest points left on the table are the three unsettled surface checks. An llms-full.txt is a concatenation of content that already exists. Five of 16 products are leaving 10 points there.

The expensive work is reconciliation. Finding the pages that contradict each other requires reading the corpus as a whole rather than page by page, which is the specific thing a three-model panel is good at and a single reviewer is not. Every published report names the contradictions the panel found, with a verbatim quote and the URL it came from.

The scores and the full surface breakdown for all 16 products are on the [grades table](/grades/).

Canonical URL: https://docsforagents.com/blog/every-product-ships-llms-txt/
