v0.2.0 The open source AI agent readiness checker for the web.

Agent readability for the web

Agents now read most of the web before humans do. a14y is the open source project making the web readable by those agents. In one study, raising a site's a14y score from 37 to 89 decreased Claude's token use by 49% and tool calls by 52% with no change in answer quality.

run npx a14y your-site.com skill npx skills add timothyjordan/a14y

Scan a page now

Runs in your browser using the same engine as the CLI for a single page, no install required.

Scanned URLs are fetched through an a14y proxy and are not stored.

  1. 01

    Run the scorecard

    From the CLI, the Chrome extension, or by handing the job to a coding agent with the a14y skill. Same engine, same score.

  2. 02

    Fix what failed

    Every failing check links to its detection rule and a fix. Pipe --output agent-prompt into a coding agent to ship the changes as a PR.

  3. 03

    Re-run & share

    Run again to confirm the score climbed, then embed your badge so agents (and humans) know your site is ready.

Every check is a complete recipe

a14y documents what each check looks for, why it matters, and exactly how to ship the fix. Making your site readable to agents should be a checklist, not a research project.

One of 38 · v0.2.0 · site check

llms-txt.exists

llms.txt is published

Why it matters

An llms.txt at a well-known location is the agent equivalent of a sitemap. It tells AI ingesters which pages are worth reading and gives them a single, deterministic starting point for crawling.

How we check

GET /llms.txt, then /.well-known/llms.txt, then /docs/llms.txt. Any 2xx response passes. Falls back to the llms-full.txt variants before failing.

How to implement

Publish a plain-text llms.txt at your site root (or under /.well-known/) listing the pages worth reading. The format is intentionally simple: markdown links, headings, or free text. No HTML parser needed.

Auditing tools

Open tools, three surfaces. Sub-second per page, CI-friendly, and headless. Score a single URL or an entire site against the same versioned checks the public leaderboard uses.

CLI

Audit any page or whole site from your terminal. Outputs a scored text report, JSON, or a Markdown fix-list ready to hand to a coding agent.

run
% npx a14y your-site.com
install
% npm install -g a14y
% a14y your-site.com

Coding agent skill

A spec-compliant agent skill that drives the audit loop for you: detects a local dev server, runs the audit, proposes a fix plan, tracks score deltas. Works with Claude Code, Codex, Cursor, and any other coding agent that supports the open skills format.

install
% npx skills add timothyjordan/a14y

Discoverable via <link rel="agent-skills"> on every page of this site.

What actually moves a score

We run the scorecard against real websites and point real coding agents at the results. Three findings worth knowing before you start fixing anything.

Most of the web is not ready.

We scored the 50,074 most-visited websites. The median scores 52 of 100, the best of them managed 83, and the agent-era layer ( llms.txt, AGENTS.md, markdown mirrors) is mostly missing or only half-built. The bar is low enough that a deliberate afternoon puts you ahead of almost everyone.

Score distributionNumber of sites in each score bucket, 0-19 to 80-100, across 50,074 sites.2320-191039220-392572940-591371660-79580-100
Sites per score bucket, scorecard v0.2.0.

A few fixes do most of the work.

We toggled each of a14y's 11 agent-readiness features on and off to measure what each one is worth to an agent. Markdown mirrors and meta descriptions carry it. The agent-skills directory actively hurts, which is not what we expected to find and not what we would have guessed.

Publishing a file is not the same as getting it read.

A clean llms.txt cuts an agent's token use. But across five arms, no in-page link got the agent to open it: not a <head> tag, not a visible footer link. One line in the prompt did, and cut tokens 33% on the same page.

Every study ships its method, its raw per-run numbers, and the command to reproduce it. All research →