← All posts

We took a real shop from 6 to 96 on agent-readiness — here’s how

It is one thing to argue that websites should be legible to AI agents. It is another to show what it takes — all the way, not just the easy first move. So we did it to a real shop: Stolen Goat, a UK cycling, triathlon and running apparel brand. This is the honest journey from a score of 6 to 96, in four stages, including the parts we deliberately refused to fake.

The starting point: 6 out of 100

We pointed AgentVisible at the live shop and it scored 6 — Level 1, "needs agent-readiness work". That is not a criticism: it is a well-built, fast WooCommerce store that does its job for human shoppers. It scored 6 because, like almost every site today, it was built for people, not software. One thing passed — a valid robots file. Everything an agent specifically looks for was missing or unreachable.

Stage 1 — four files: 6 → 46

We did not touch the theme, the checkout, or anything a customer sees. We added four small, static files — the work is in knowing which ones, and what goes in each:

  • An llms.txt — a short, curated guide pointing agents to the shop, the custom-kit pages, the reviews and the help articles. Real links, no dump.
  • An auth.md — a plain statement that public pages and the read-only product API need no authentication, and that checkout does.
  • An openapi.json — a minimal, truthful description of the shop’s existing public product API. We described endpoints that were already there; we did not invent any.
  • A /.well-known/api-catalog — the discovery file that ties the above together so an agent can find them from one place.

A re-scan put the shop at 46 — Level 2, "partly discoverable". A large move with no change to the live store — but not boilerplate. Each file only helps if you point it at the right pages and describe real capabilities accurately.

Stage 2 — the work most people skip: 46 → Level 3

In our first write-up we flagged a set of signals as "later", because each needs more than a static file. So we went back and did them:

  • A Content-Signal policy in robots — a deliberate, owner-level statement of what agents may train on, search and use. Not a default we would set for someone; a decision the brand made.
  • Markdown on request — when an agent sends Accept: text/markdown, the shop now returns clean Markdown instead of a page the agent has to strip down. This is server-side logic, not a file, and it was the single biggest remaining gain.
  • Link headers — quiet HTTP headers that point agents straight to the machine-readable resources.

Those three carried the shop into Level 3 — "agent-operable", in the low 80s. An agent could now not only discover the shop but read it cleanly.

Stage 3 — real tools, not a padded score: → 96, Level 4

This is the stage we care about most, because it is where it would be easiest to cheat. Two of the highest-value signals — an MCP server card and an agent-skills index — advertise tools an agent can actually call. In our first write-up we left them blank on purpose, and said this:

Inventing tools to game a score is exactly what this product refuses to do.

So we held to that. Before publishing either signal, we built a real tool: a size-recommendation endpoint. Give it a chest, waist or hip measurement and a garment type, and it returns the recommended size from the shop’s own size charts — the same answer a good shop assistant would give, now available to an agent (or the shop’s own storefront) over a simple, documented request. No invented capability; a genuinely useful one.

Only then did we publish the /.well-known/mcp.json and /.well-known/agent-skills/index.json that describe it. Both point at a tool that works.

That took the shop to 96 — Level 4, "agent-native". An assistant asked to "find a jersey in my size" can now discover the shop, read it cleanly, and get a real size answer without guessing.

What we still left — on purpose

We stopped at 96, not 100. The last few points come from a browser-side tool registration that belongs on the front end, and we would rather add it when it earns its place than chase a round number. A truthful 96 with a working tool behind it is worth more than a padded 100. The discipline is the point.

The takeaway

Agent-readiness has an approachable first move — a handful of files — and a deeper, stickier second half where the value actually lives: clean reading, and real tools an agent can call. The honest version is more work than dropping in boilerplate, and it is exactly the work that compounds as the standards settle. But you cannot plan any of it until you can see the gaps.

Scan your own shop and see your number. The fixes come back ranked by impact, so you can start exactly where we did.

See where your site stands

Run a free AgentVisible scan — no sign-up, just a URL.