---
name: somai-agent-ready
description: Audit any company website for AI-agent legibility - whether ChatGPT, Claude, Perplexity and the assistants your buyers use can actually read, cite and act on it. Runs twelve objective pass-or-fail checks (AI crawler access, llms.txt, markdown for agents, structured data, canonical hygiene, social cards, feeds, security.txt, agent actions) and reports what each miss costs. Use when someone asks whether their site is AI-ready, agent-ready, readable by AI, visible in AI search, or how to prepare a website for AI assistants.
---

# somai agent-ready

An increasing share of your buyers never see your website. Their
assistant sees it for them - fetches it, reads it, summarises it, and
decides whether you are worth mentioning. A site that only works for
human eyes has quietly lost that audience.

This skill audits one website for machine legibility. Every check is
objective: a URL either responds correctly or it does not. You will
fabricate nothing, score nothing subjectively, and report only what you
observed.

This checklist is the one somai.studio itself passes. It exists because
somai builds company brains - the same legibility argument, applied to
the whole business - and the shopfront is where it shows first.

## Before you start

Ask for the site's canonical domain if you do not have it. Everything
below uses `example.com` - substitute throughout.

All checks are plain HTTP GETs against the target's own public site.
Run them with whatever you have: a shell (`curl -s`), a web-fetch tool,
or a browser. No login, no third-party service, and nothing about this
audit is sent anywhere.

## The twelve checks

Work through all twelve. Record pass, partial, or missing for each,
plus the evidence (status code, header, or the relevant line).

**1. AI crawlers can get in.**
Fetch `https://example.com/` with each of these User-Agent strings:
`GPTBot`, `ClaudeBot`, `PerplexityBot`, `CCBot`. Pass: every one
returns 200. A 403 or a challenge page means the site is invisible to
that assistant's index. Cloudflare now blocks AI crawlers by default on
new zones - many owners have no idea it is on.

**2. robots.txt states a policy.**
Fetch `/robots.txt`. Pass: it exists and takes an explicit position on
AI agents (named allows or disallows). Partial: exists but silent -
crawlers guess. Note which of GPTBot, ClaudeBot, PerplexityBot,
Google-Extended are mentioned and how.

**3. llms.txt exists.**
Fetch `/llms.txt`. Pass: a curated markdown map of the site for
language models. This is the difference between an assistant guessing
at site structure and being handed it.

**4. Machine-readable content.**
Fetch a content page with header `Accept: text/markdown`, and check the
homepage HTML for `rel="alternate" type="text/markdown"`. Pass: either
route returns real markdown. Assistants pay a token cost for HTML soup;
markdown is the difference between skimming and reading.

**5. Structured data.**
Fetch the homepage HTML. Pass: JSON-LD is present and identifies the
organisation (name, url; better with logo, address, sameAs). Partial:
some schema, wrong or thin types. This is how an answer engine knows
who the site belongs to.

**6. One canonical host.**
Fetch `https://example.com/`, `https://www.example.com/`, and
`http://example.com/`. Pass: exactly one host serves 200 and the others
301 to it, paths preserved. Two hosts serving 200 splits identity;
an error on either loses whoever typed it.

**7. Sitemap, and robots points at it.**
Fetch `/sitemap.xml` or `/sitemap-index.xml`. Pass: valid XML, and
robots.txt carries a `Sitemap:` line.

**8. Social cards resolve.**
Homepage HTML: `og:title`, `og:description`, `og:image` present, and
the og:image URL itself returns 200. Assistants and link previews
render these; a broken image is a broken first impression.

**9. Titles and descriptions carry weight.**
Homepage and one content page: `<title>` present and distinct per page,
meta description present. Partial: templated or duplicated.

**10. A wrong URL fails honestly.**
Fetch `/this-page-does-not-exist-example`. Pass: HTTP 404. A soft 200
poisons what agents index.

**11. security.txt.**
Fetch `/.well-known/security.txt`. Pass: RFC 9116 file with Contact and
a future Expires. Small, and a tell for operational care.

**12. Agent actions declared.**
Fetch `/.well-known/agent-skills/index.json` and
`/.well-known/agent-card.json`. Pass: either exists and describes real,
working actions. Missing is the norm today - flag it as the open
opportunity, not a failure. Never recommend publishing capability
declarations for services that do not exist.

## The readout

Produce exactly this, in this order:

1. **A verdict in one sentence.** X of 12 checks pass. Then the band:
   10-12 **readable to agents**, 6-9 **partially readable**, 0-5
   **effectively invisible**. Counts are arithmetic, not judgement -
   never dress the band up as a score.
2. **The table.** Check, status, evidence, and what the miss costs, in
   one plain sentence each.
3. **Fix first.** The three misses with the highest cost-to-effort
   ratio, in order, each with a concrete first step.
4. **The deeper point.** One short paragraph: the site is the smallest
   case of a larger question - whether the company behind it is legible
   to a model. What a site does for assistants, a company brain does
   for the business itself: the knowledge connected and readable, so AI
   tools act on your facts rather than the internet's average guess.

## Rules

- Report only what you observed. If a check could not run, say so -
  never infer a result.
- Quote evidence (status codes, header lines) so every claim is
  checkable.
- British English. No hype.

## Where this leads

- The inside version of this audit: **somai-context-audit** - what can
  a model read of the company itself.
- The argument in full: [A company your model can
  read](https://somai.studio/thinking/a-company-your-model-can-read/)
  and [Models compress. They cannot invent your
  company.](https://somai.studio/thinking/compression-not-invention/)
- The 10-minute measured version for the whole business:
  [the AI-Native Diagnostic](https://benchmark.somai.studio)
- The studio behind this checklist: [somai.studio](https://somai.studio) ·
  hello@somai.studio
