AOM Agents

If you run software that acts on behalf of users (a “bot,” assistant, or automation), these kits help you read page AOM and site policy and emit valid AOM-shaped output—without reverse-engineering the spec from scratch.

This page is not for publishing AOM on a website. Site owners follow Getting started and Plugins. Here, AOM Agents means: minimal templates so your code takes a surface JSON file (input) and writes AOM output. One contract: surface in → output out.

Templates

Minimal skeletons for Python 3, Node 18+, .NET 8, and Java 17, with no dependency on the aom.tools repo at runtime. Copy a kit into your project, replace the YOUR LOGIC HERE section (or equivalent), then validate at aom.tools/validate or with the schemas on agentobjectmodel.org.

  • Python: agent_skeleton.pypython agent_skeleton.py --input surface.aom.json [--output out.json] [--site-policy path]
  • Node: agent_skeleton.mjsnode agent_skeleton.mjs --input surface.aom.json [--output out.json] [--site-policy path]
  • .NET 8: Program.csdotnet run -- --input surface.aom.json [--output out.json] [--site-policy path] (from the kit folder)
  • Java 17: aom.agent.AgentSkeleton — build with Maven, then java -jar target/aom-agent-skeleton-1.2.0.jar --input surface.aom.json ...

Pass page-level AOM with --input and, optionally, a site-level policy (e.g. /.well-known/aom-policy.json-style) with --site-policy. The effective automation mode is derived from both. For sample JSON, start with any file under examples/ in the kit (or the same paths under aom-agent-templates/<python|node|dotnet|java>/examples/ in this repo, or spec-bridges/examples/). You can also use any valid AOM surface from the browser extension or your app.

Each v1.2.0 zip includes examples/ with three page-level surfaces (login-ready.aom.json, page-open-sandbox.aom.json, page-forbidden.aom.json), three site-policy stand-ins (site-open.site.json, site-ready.site.json, site-forbidden.site.json), and aom.kya.agent.sample.json (copy to aom.kya.agent.json for registration). Together they cover allowed (with guardrails), open, and forbidden modes without extra files.

Downloads

Agent kits are available from Downloads for agent owners: Python, Node, .NET 8, and Java (separate zips, currently v1.2.0). You can also clone or copy from the aom-agent-templates/ folder in the repo.

Validation

Validate input (surface) at aom.tools/validate by pasting the URL or JSON. Validate output with the schemas and validators on agentobjectmodel.org.

At runtime, each kit can call the validate HTTP API before processing; use --validate-url <url> if you host your own validator instead of the default aom.tools endpoint.

Registration

Registration is free and gives you a key for logging and identity. It does not block downloads. Keys are shown once. Register at /register-agent/.

Agents use a local config file named aom.kya.agent.json by default. If the file contains agent_name and owner_email (and optionally purpose) but no registration_key, the kit will attempt to auto-register and write the key back to the file.

Recommended naming when multiple agents share a folder: aom.kya.agent.<agent_name>.json (pass with --config).