An open, declaration-only spec and reference validator for the Agent Readiness Manifest — a single well-known descriptor that points to a site’s agent-relevant resources and states its self-declared posture toward automated agents.
Think robots.txt, but for agent discovery: one small JSON file that says
“here is everything I declare about how to work with me” and points at your
existing llms.txt, MCP descriptor, agent card, OpenAPI doc, policies, and more.
Status: v0.1 draft / request-for-comment. The schema is the normative contract; expect additive change before 1.0.
The manifest is a set of pointers and self-declared posture, and the reference validator is structural only: it tells you a manifest is well-formed against the schema.
pnpm add @strattlabs/agent-readiness-manifest
# or: npm i @strattlabs/agent-readiness-manifest
Requires Node.js ≥ 18.18.
agent-readiness validate ./.well-known/agent-readiness.json
Exit code 0 when the manifest is structurally valid, 1 when invalid, 2 on a
usage error — suitable for CI.
$ agent-readiness validate examples/invalid.json
/version: must match pattern "^\d+\.\d+$"
/site: must have required property 'url'
/resources/llmsTxt: must match pattern "^(https?://|/).+"
(root): unexpected property "unknownField"
/policy/agentsAllowed: must be boolean
✗ examples/invalid.json: 5 error(s)
The schema declares a fixed vocabulary (additionalProperties: false), so any
property it does not define is reported as an error.
import { validateManifest, type AgentReadinessManifest } from '@strattlabs/agent-readiness-manifest';
const manifest: AgentReadinessManifest = {
version: '0.1',
site: { name: 'Acme', url: 'https://acme.example.com' },
resources: { llmsTxt: '/llms.txt', mcp: '/.well-known/mcp.json' },
policy: { agentsAllowed: true },
};
const result = validateManifest(manifest);
if (!result.valid) {
for (const e of result.errors) console.error(`${e.path}: ${e.message}`);
}
The JSON Schema is also importable for use in your own tooling:
import { loadSchema } from '@strattlabs/agent-readiness-manifest';
// or reference the file directly:
import schema from 'agent-readiness-manifest/schema' with { type: 'json' };
{
"$schema": "https://strattlabs.github.io/agent-readiness-manifest/schema/agent-readiness.schema.json",
"version": "0.1",
"site": { "url": "https://acme.example.com" }
}
See examples/ for minimal, complete, and intentionally-invalid
samples.
A new field is welcome when it answers “what does the site declare about itself, or where does it keep an existing resource?” Open an issue to propose one.
pnpm install
pnpm test
pnpm typecheck
pnpm lint
pnpm build
Apache-2.0 © 2026 Stratt Labs. Apache-2.0 (rather than MIT) is chosen deliberately for a spec: its explicit patent grant reassures implementers adopting the vocabulary, which is exactly the broad, friction-free adoption a standard wants.
Small, standards-friendly tools from Stratt Labs:
llms.txt / llms-full.txt files.