Knowledge base/Agent ReadinessAUTO

.well-known/agent.json

The standard agent discovery file, analogous to robots.txt but written specifically for AI agents.

What is agent.json?

The agent.json file lives at /.well-known/agent.json on your domain. It is the closest thing the AI ecosystem has to a formal discovery standard, and it describes your product, its capabilities, and how agents should interact with it.

The .well-known path is defined by RFC 8615 — the same path used by security.txt, openid-configuration, and other machine-discoverable metadata. Putting your agent manifest there tells crawlers exactly where to look.

Why does it matter?

Agent crawlers check a small number of well-known paths. If you do not have an agent.json, you are invisible to anything that treats it as the canonical entry point. And the cost of shipping one is trivial — a single static file.

It is also the primary place to advertise your /skill endpoint, your skill.md file, and any API capabilities. An agent that reads your agent.json gets a roadmap of everything else you have published for it.

What should it contain?

{
  "name": "acme-crm",
  "description": "Lightweight CRM for small sales teams.",
  "url": "https://acmecrm.com",
  "capabilities": [
    {
      "name": "website-check",
      "endpoint": "/api/check",
      "method": "POST",
      "content_type": "application/json"
    }
  ],
  "skill_file": "/skill.md",
  "contact": "hello@acmecrm.com"
}

How to serve it

Place the file at public/.well-known/agent.json (or the equivalent path in your framework). Serve it with Content-Type: application/json. That is the entire implementation.

If you use Next.js, the file under public/.well-known/agent.json will be served automatically. For Express, you can use express.static. For static sites hosted on S3 or Cloudflare Pages, just drop the file in the right folder.

Best practices

  • Always return valid JSON. A broken file is worse than no file — it confuses parsers.
  • Keep the name consistent with your skill.md name field.
  • Include a contact field. Agents sometimes surface it when a user wants to follow up.
  • Update the file when you change your API surface. Agents cache it, but not forever.

Further reading