Skip to content

heddle check --only agent-ready

Agent-Ready Check

The agent-ready check reads a built site the way an AI assistant does, without a browser, and fails what an assistant can't use. Without it, an assistant that fetches your page may find a JavaScript shell, a robots.txt that blocks it, or no answer it can quote, and cite someone else. Whether an assistant can read the site without a browser. Answer engines fetch raw HTML, often skip JavaScript, and quote the first thing that answers the question.

When Heddle is set up on your site, this check runs on every build alongside 15 others, so a page that fails it is fixed before a buyer or a search engine sees it.

runs offlineruns every build

Why it exists

Whether an assistant can read the site without a browser.

Answer engines fetch raw HTML, often skip JavaScript, and quote the first thing that answers the question. Each rule here shipped wrong once on the sites this came from:

  • llms.txt and llms-full.txt were live for months with nothing linking to them; robots.txt is the file an assistant reads first, so it should point at them (a comment, since robots has no field for it).
  • The Markdown twin injector ran before the hub mirrors were written, so 21 hubs had a twin and no Link header announcing it. An engine reading those hubs got half a page of React flight payload before the prose.
  • Structured data minted a second node for the same event instead of pointing at a stable @id, and a validator failed the copy.
  • The answer under the H1 is what an assistant lifts. Too short and it says nothing; past 80 words it gets cut mid-claim.

Rules, against the built outDir:

  1. llms.txt exists and names every indexable page (its URL or its twin).
  2. Every indexable page has a Markdown twin (route + ".md", "/index.md" for the home page) and, when the build writes _headers, a Link header announcing it.
  3. robots.txt lets the answer-engine crawlers fetch "/".
  4. Every indexable page carries JSON-LD with at least one @id.
  5. The main content is in the HTML, not rendered by JavaScript.
  6. The first paragraph after the H1 is 40 to 80 words (a warning. Some pages, a brand page, a form, have no answer to give).

Google said on 15 May 2026 that Search ignores llms.txt, so rule 1 is a bet on the other assistants, which do fetch it. The rest serve Google too.

From lib/checks/agent-ready.mjs in the Heddle repository at de0c02b.

Questions

What does the agent-ready check look for?

llms.txt, Markdown twins, answer-engine crawlers allowed, JSON-LD @ids, an answer under the H1, content without JS.

Does the agent-ready check need an AI model?

No. It reads the built pages or the sources directly, so it runs offline and costs nothing per run.

How do I run it?

Build the site, then run node bin/heddle.mjs check <site> --only agent-ready from the Heddle repository.

Work with us

Let the agents bring you the leads.

Tell us about your business and who buys from you. On a short call we'll show you the searches your buyers make where you don't show up yet, and what the agents would do about them in their first month.

On the call, for your site

  1. The searches your buyers makeMeasured, with how many people make each one
  2. Where you show up, and where you don'tOn Google and in ChatGPT's answers
  3. The agents' first monthThe pages, fixes and links they would start with