A suite of open standards for agents

The Common Agent Standards

The Common Agent Standards are open specifications for agents that work for people and organizations. The Common Agent Specification is the base. It defines what an agent is, and every other standard in the suite builds on that definition for one part of the work agents do together.

Made from standards.json, the registry of the suite.

What the suite holds
  1. The Common Agent Specification, the base: what an agent is.
  2. 9 Common Agent Standards, each for one part of the work.
  3. One guide, written for agents to read and follow.

Every one of them is in one repository, with its version, its changelog and its own site.

The base

The Common Agent Specification

The Common Agent Specification defines what an agent is, in terms anyone can check. An agent holds a key that signs, answers five questions for anyone who asks, declares its standing facts in one signed document, refuses what it does not do with a typed answer, and collects signed records of what others have checked about it. A program can check every answer against what the operator signed, so calling something an agent becomes a claim anyone can test.

The Common Agent Specification

version 0.27.0-draftstatus Working Draft

Every Common Agent Standard builds on it. Agent Messaging is one network binding of the agent it defines, and the specification names no transport of its own.

The five questions every agent answers
  1. Who are you?
  2. What do you do?
  3. How are you used?
  4. On what terms?
  5. What do you refuse?

Each answer comes from bytes the operator declared and signed (Section 4.3).

The Common Agent Standards

Each standard covers one part of the work

A name and a way to reach an agent come first. Authority to act comes next, and then the documents two parties exchange to agree on work and to record how it went. Roles and processes describe the jobs agents hold and how a piece of work runs. Each card gives the standard's version and status, its own site, and its folder in the repository.

  1. Agent Messaging

    version 0.9.0-draftstatus Working Draft

    Agent Messaging describes how agents reach each other over reliable messaging: signed messages that wait in an inbox, events published to every subscriber, and presence. It is a network binding of the agent the Common Agent Specification defines.

    Also in its folder: EXT-1 Device profile, EXT-2 Usage, EXT-3 Contact, EXT-4 Contacts, EXT-5 Rooms, EXT-6 Admission, EXT-7 Pairwise sealing, EXT-8 Allowance, EXT-9 Deliverables, EXT-10 Screening, EXT-11 Site agents, EXT-12 Systems health, EXT-13 Guest standing, The A2A Bridge, The RabbitMQ binding.

  2. Personal Agent Naming

    version 0.10status Published

    Personal Agent Naming names a personal agent on an email address its owner already has. The name is bound to the agent's own key, resolves to the addresses where the agent can be reached, and moves from one registrar to another without changing.

  3. Agent Mandate

    version 0.4.0-draftstatus Working Draft

    A mandate is a signed delegation of authority that is bounded and can be revoked. It states which powers are granted, up to what ceiling, within what scope and until when, so the other side can check it before acting.

  4. Agent RFP

    version 0.8.0-draftstatus Working Draft

    An Agent RFP is a signed, structured request for proposal. It carries what the buyer wants delivered, what it will hand over, the rights it needs in the result, how acceptance will be measured, what it will pay and the date by which it will decide.

  5. Agent SoW

    version 0.23.0-draftstatus Working Draft

    An Agent SoW is a statement of work between two parties whose agents do recurring work together, written so that software can grade its clauses. It records what was agreed, what arrived, what it cost and what happens when the work is contested.

    Also in its folder: A2A Terms extension, A2A Interview extension.

  6. Agent Reputations

    version 0.3-draftstatus Draft

    Agent Reputations holds evidence about how agent interactions went, in a bureau's ledger that cannot be quietly edited afterwards. What one engagement records is what the next one reads first.

    Also in its folder: A2A Reputation extension.

  7. Agent Roles

    version 0.14.0-draftstatus Working Draft

    Agent Roles is a registry of jobs that recur on every mesh. Each role is a contract with a defined scope, the access it needs and the refusals that define it, and any agent that meets the contract can hold the role.

  8. Agent Processes

    version 0.4.0-draftstatus Working Draft

    Agent Processes is a plain-text language for writing down how a piece of work runs: what starts it, the phases it moves through and who holds each one, what crosses each handoff, and how much of each phase an agent may run on its own.

  9. Agent Work Patterns

    version v1status Draft

    Agent Work Patterns gives reusable shapes for a whole job. Each pattern names its phases, what crosses between them, what happens when a phase fails and who is on the roster across the whole job.

Guides

Guides sit beside the standards

A guide is kept in the same repository and versioned the same way. It is written for agents to read and follow, and it has no schema or conformance suite.

  1. Agent Collab

    version v1status Guide

    Agent Collab is a library of collaboration playbooks written for agents to fetch, read and enact in a shared room. It is a guide with no schema to conform to, and every participant reads the same page before speaking.

One repository

Every standard is kept in one repository

Each standard has a folder in github.com/CommonAgent/common-agent-standards with its specification, its changelog and its conformance fixtures where it has them. A version is tagged with the standard's name and its version, such as messaging-v0.9.0-draft, and has a release on GitHub. standards.json lists every standard with its folder, domain, version and status, and this page is made from it.

The text of every specification is licensed under CC BY 4.0, and the code under Apache-2.0. Changes are proposed as pull requests, as GOVERNANCE.md describes.