We Crossed Two Agent Conventions on the Same 77 Vendors. Doing One Does Not Predict Doing the Other.
77 AI visibility vendors asked for llms.txt and markdown on the same day. Markdown servers ship llms.txt at 62%, everyone else at 57%.
We have swept this category three times for three different agent conventions, and never once checked whether it was the same vendors each time. So we asked all 77 active vendors in our verified catalogue for /llms.txt on the same day we asked them for markdown, and crossed the two. Vendors that serve markdown ship llms.txt 62% of the time. Vendors that do not serve markdown ship it 57% of the time. The gap is 5 points, and one vendor in the smaller group is worth 8.
Adoption of one agent convention tells you essentially nothing about adoption of another. It is cost, not creed.
Disclosure: EchoWi sells AI visibility measurement, so every vendor in this table competes with us in some part of what we do, and we are in the table ourselves. The method is below in full: the population is our published catalogue, the request is a single GET with a plain client, and the rule for what counts as a file is stated before the counts. Anyone can repeat it against us in an afternoon.
The short version
- The frozen statistic came in at 5 points against a threshold of 10. We wrote down before the first request that a 10 point gap would make convention adoption a disposition, and anything under 10 would make it independent. It is 5.
- 62% against 57%, on 13 markdown servers and 61 non-servers readable for both conventions.
- The gap is smaller than one vendor. With 13 vendors in the smaller cell, a single one changing its mind moves that rate by 8 points.
- 5 vendors serve markdown and ship no llms.txt at all, including two of the best known names in the category.
- 43 of 74 ship llms.txt, 58%. Five days earlier, on a smaller catalogue, it was 44 of 69.
- 2 answered 200 with HTML, which is a wildcard route rather than a file, and is the same trap that passed 63 vendors in our markdown sweep.
Why this was worth a day
This register already held three separate sweeps of the same category:
| Convention | Result | Date |
|---|---|---|
robots.txt blocking AI crawlers | 0 of 68 block any | 17 August |
llms.txt published | 44 of 69 ship one | 14 August |
| Markdown served to agents | 14 of 77 over four paths | 19 August |
Three answers to “does the category that sells AI visibility practise what it preaches”, and no way to tell whether they describe the same vendors. That is not a detail. If the same firms do all three, adoption is a disposition and a buyer can treat any one convention as a signal about the rest. If the three are independent, then each convention is its own decision, and reading one tells you nothing about the others.
The only way to know is to cross two of them at vendor level, on the same population, on the same day. So that is what this is.
What we did
Every active vendor in our catalogue, 77 of them, asked for /llms.txt with an ordinary HTTP client on 19 August 2026. One retry on a transient failure, because a connection that fails once and a file that is not there produce the same empty result and only a second reading separates them.
A 200 that returns HTML is not an llms.txt. It is a catch-all route answering every path on the site, and counting it would inflate the result. That rule comes from our markdown sweep, where 63 of 75 vendors answered a markdown request with HTML and a 200 status: a checklist that reads status codes passes all 63 while every one of them is failing. The test here is on the body, never on the status.
Vendors behind a bot challenge on either side are excluded rather than guessed at. A challenge is a fact about a vendor’s edge, not about what it publishes.
That leaves 74 vendors readable for both conventions. Every row is in our measurement register, vendor by vendor, so the cells below can be recounted rather than taken on trust.
The result
| Group | Ships llms.txt | Rate |
|---|---|---|
| Serves markdown | 8 of 13 | 62% |
| Does not serve markdown | 35 of 61 | 57% |
| Gap | 5 points |
The direction is the one we predicted and the size is not. We had written that a gap of 10 points or more would let us call adoption a disposition. At 5 points it does not clear that bar, so the prediction is refuted and this piece says so rather than quietly reporting the direction and hoping nobody checks the threshold.
And the number deserves one more piece of context, because 5 points sounds small but not meaningless. The markdown group holds 13 vendors. One of them changing its mind moves that rate by 8 points. The difference between the two groups is smaller than the resolution of the smaller group.
The four cells, which say more than the gap
| Ships llms.txt | No llms.txt | |
|---|---|---|
| Serves markdown | 8 | 5 |
| No markdown | 35 | 26 |
The interesting cell is the small one. 5 vendors serve markdown to agents and publish no llms.txt at all: Dageno, GetMint, Limy, Peec AI and Profound. Two of those are among the most visible companies in this category. They built the harder thing, a build step that emits a second representation of every page, and skipped the easier one, a single file written once.
That is the clearest evidence in the table that these are separate decisions rather than one attitude expressed twice.
The opposite cell is much larger: 35 vendors publish llms.txt and serve no markdown, which is what you would expect if adoption tracks cost. llms.txt is a file you write once. Markdown twins are a pipeline change on every page.
And 26 do neither.
Where we sit
EchoWi is in the top-left cell: we serve markdown by content negotiation and by an /index.md sibling, and we ship llms.txt, regenerated on every build. That is not a boast, it is a disclosure, and it is why the disclosure sits at the top of this article rather than the bottom.
It is also worth saying what our own edge log says about whether any of it is used. Over a week of real traffic, no agent fetched a single markdown twin, while 11 of 13 agents fetched the machine-readable text files. We keep generating both because a week is a week and the cost is nil. But nobody should sell either convention as a measured visibility lever without a fetch log to point at.
The rate moved, and the sample moved with it
43 of 74, or 58%, ship llms.txt today. Five days ago the same sweep on a smaller catalogue returned 44 of 69. Both numbers are correct on their day and their denominator, and the catalogue grew by nine vendors in between.
We predicted the rate would land between 55% and 72%, bracketing the earlier figure, and it did. What that says is worth more than the point estimate: a category adoption rate is a property of your sample as much as of the category, and anyone quoting one without its denominator and its date is quoting an accident.
What a buyer does with this
The practical consequence is narrow and firm. No convention predicts another, so you cannot use one as a proxy for a vendor’s general agent-readiness. If you want to know whether a vendor implements something, check that thing. A vendor that publishes a beautiful llms.txt may serve you HTML when you ask for markdown, and one that serves perfect markdown may have no llms.txt at all, and both are common enough here to be the normal case rather than the exception.
Which also means the question to ask a vendor is not “are you agent-ready”. It is a list, and the list is short: does your site serve markdown when asked, do you publish llms.txt, does your robots.txt let the crawlers in, and can you show a log of any agent using any of it.
What this does not show
- Nothing causal. Two conventions read on the same day describe a population, they do not explain it. A vendor that does both may do so for reasons that have nothing to do with either.
- Two conventions, not three. We did not cross
robots.txtinto this table. Our separate sweep found zero of 68 vendors blocking any AI crawler, which is a column with no variance and so cannot discriminate anything. - One path for llms.txt. We asked for
/llms.txtat the apex. Our markdown study learned the hard way that a homepage-only sweep undercounts, and a vendor publishing the file somewhere else would read as absent here. - Adoption is not use. Neither convention says whether any crawler reads the file. Our own edge log recorded zero markdown-twin fetches in a week.
- A snapshot. One reading, one day. The set of vendors is our published catalogue, which is why it is published.
Common Questions About Agent Conventions
Does serving markdown mean a vendor is more likely to publish llms.txt?
Barely. Vendors that serve markdown publish llms.txt 62% of the time and vendors that do not publish it 57% of the time, measured on the same 74 vendors on the same day. The 5 point gap is smaller than one vendor’s worth of movement in the smaller group, so the honest answer is that the two are independent.
How many AI visibility vendors publish llms.txt?
43 of the 74 we could read, or 58%, on 19 August 2026. A separate sweep five days earlier on a smaller catalogue returned 44 of 69. Both are correct for their date and denominator, which is the point: quote the denominator or do not quote the rate.
Why does a 200 status not mean a vendor publishes llms.txt?
Because many sites answer every path with their application shell. Asking for /llms.txt and getting a 200 with HTML means a wildcard route replied, not that a file exists. Our markdown sweep found 63 of 75 vendors doing exactly this under a markdown request, so a checklist that scores status codes would have passed all of them.
Which vendors serve markdown but publish no llms.txt?
Dageno, GetMint, Limy, Peec AI and Profound, as read on 19 August 2026. They implemented the more expensive convention and skipped the cheaper one, which is the strongest single sign in this data that the two are separate decisions.
Should I choose a vendor based on which conventions they implement?
Not on its own. Nothing here shows that implementing a convention makes a product better at measuring your visibility, and our own edge log shows no agent fetching one of these formats at all in a week. Treat it as one question among several, and ask for the fetch log.
Ask an AI about this article
Opens your assistant with this page already loaded, so you can check the numbers, argue with the method or ask what it means for you.
- ChatGPT (opens in new tab. the question is pre-filled, press enter to send it)
- Claude (opens in new tab. the question is pre-filled, press enter to send it)
- Perplexity (opens in new tab)
- Google AI Mode (opens in new tab)
Perplexity and Google answer straight away. ChatGPT and Claude fill the box and wait for you to press enter, which is their behaviour and not something we can set.