Writing

I made my site agent-ready in an afternoon. Half the checklist was theatre.

This site is built to be read by machines as much as by people: if an AI assistant is asked who I am, I want it answering from my pages. So I spent an afternoon making watson.geek.nz "agent-ready" against one of the emerging readiness scanners, and the exercise split cleanly in two. Half the checklist was genuinely worth implementing on a static personal site. The other half wanted me to advertise services that do not exist, and I refused. Both halves are instructive.

The half worth doing

Markdown for agents. Agents parsing dense HTML burn tokens on navigation, styling, and markup that carry no meaning. My site now does content negotiation: request any page with the header Accept: text/markdown and you get a clean Markdown rendering with the title, description, and canonical URL as frontmatter. Browsers still get HTML. On my About page the Markdown weighs in under 900 tokens; the HTML is several times that. Cloudflare offers this at the edge on paid plans; on the Free plan I built it myself with a post-build conversion step and a small edge function, which still ships zero JavaScript to browsers.

Content signals. robots.txt now carries a Content-Signal line declaring my preferences for search, AI input, and AI training: all yes, deliberately. Most guides frame these directives defensively. Mine point the other way, because a personal site's whole value is being found, quoted, and learned. Whatever your stance, declaring it explicitly beats leaving crawlers to guess.

llms.txt and Link headers. A plain-text summary of who I am with a page index sits at /llms.txt, and every response carries Link headers pointing agents to it. Minutes of work, and it gives any agent a cheap, canonical entry point.

A real 404. The scan indirectly exposed the best bug of the afternoon: my host's single-page-app fallback was serving the homepage with a 200 status for every URL that did not exist. To a crawler, that is a site where nothing is ever missing and every probe "succeeds" with irrelevant HTML. One proper 404 page fixed soft-404s for search engines and honest failures for agents in one move.

The half I refused

The same scanner failed me for lacking an MCP server card, an agent-to-agent card, OAuth discovery metadata, and DNS records advertising agent endpoints. Each of these is a fine standard, for sites that operate the thing being advertised. I do not run an MCP server or an A2A agent endpoint, and nothing on my site is authenticated, so there is no OAuth metadata to publish truthfully.

The failure mode these checklists invite is stub compliance: publish an agent card pointing nowhere, stand up empty OAuth metadata, claim a registration endpoint that does not exist. That is worse than a failing grade. A human who follows a broken link shrugs; an agent that discovers an advertised endpoint will try to use it, fail, and reasonably conclude your other machine-readable claims are unreliable too. Discovery metadata is a promise, and false promises to agents poison the trust the whole system depends on.

So the scanner's report for my site will permanently show a cluster of red, and that cluster is correct. It accurately reports that a static personal site offers no agent services. The one to watch is the checks I did pass, because those describe things the site actually does.

What I'd tell you to do

Agent-readiness is going to spawn an industry of badges. The sites that benefit will be the ones that treated it as an interface contract with actual readers, human and machine, rather than a compliance surface. And if you cannot honour a contract, do not publish it in machine-readable form.