Copy page
View as Markdown View this page as plain text

The Standard Agent Specification is an open-source standard for creating portable, composable, domain-specific agents.

Agents built with this standard can be freely published, installed, and composed with other Standard Agents — and are guaranteed to execute faithfully in all spec-compliant runtimes.

The current version of the specification is 0.2.0.

Core Principles

Agents are deterministic software that harnesses the non-deterministic results produced by models in pursuit of a desired objective.

  1. Agents should be vendor-agnostic.
  2. Agents should be domain-specific.
  3. Agents should be coupled to a model.
  4. Agents should be composable.
  5. Agents should be portable.

Why Standard Agents?

Because everyone is building agents, but none of us can share them. We believe agents need a standards movement led by practitioners like you — much like the one that grew the early web into the rich ecosystem that we all enjoy today.

Watch the announcement at AI Engineer 2026 in San Francisco Justin Schroeder introduces the Standard Agent Specification and gives a comprehensive overview of why agents need a shared standard.

How do we create a world where composable, shareable agents are the norm?

Start with the basics.

As a baseline every agent needs:

  • A model to power it
  • A system prompt to steer it
  • Tools for it to describe actions
  • And an ongoing conversation for context

Expand the capabilities.

Today agents rely on MCP servers and skills to do real-world work.

But there’s a problem…

Context isn’t free.

The larger the scope of your agent, the more expensive the model required to power it. Even the largest, most expensive frontier models eventually hit their limit.

Stacking every responsibility into a single entity is inheritance, and it inevitably breaks down.

But we already know the solution.

Effective engineering has always been about composition over inheritance.

So let’s scope our agents.

By focusing each agent on a specific domain, we will create many agents, each with its own specialty.

We can then leverage cheaper models, taking advantage of their jaggedness, and limit them to only the capabilities necessary for their work.

And compose them into effective teams.

If our agents are built to the same open standard, then coordination between them is easy.

What does a standard agent look like?

  • Rules for limits like how many turns an agent gets.
  • Hooks to inject, compact, and alter context.
  • Sub-prompts to swap prompt and model for one action.
  • Sub-agents to hand off tasks to their proper domain.
  • The exact provider and model to guarantee efficacy.
  • Storage for long-lived assets and memory.
  • Code execution to (safely) run arbitrary code.

Agents are made of agents.

Standard agents are invoked by other agents like any other tool call. Each standard agent maintains its own complete isolated context.

Coding agents can produce standard agents quickly because every architecture and runtime decision is predecided in the open specification.

Sharing becomes easy.

Because the entire agent stack is defined in code, packaging and sharing agents is trivial.

Every standard agent is guaranteed to run in any spec-compliant runtime.

An open marketplace of agents can flourish.

A wide array of community-built agents suddenly becomes just an install command away.

Each agent executes exactly as its original author intended.

Agents can be installed, unpacked, modified, and republished at will, allowing you to adjust them to your specific needs.

Anatomy of the Specification

This specification covers every aspect of Standard Agents and the requirements for their runtime. Every part of a Standard Agent is defined in code, allowing your agents to be versioned, packaged, shared, and installed.

Core Definitions

Thread Capabilities

Infrastructure and Distribution

Frequently Asked Questions

What language are Standard Agents written in?

Agents, prompts, models, tools, and hooks are all written in TypeScript. It is the default language of the web, it has types, and it can run anywhere, which makes it a strong fit for tools.

This defined execution environment lets tools run directly in the runtime and access thread state, with no separate server to operate. Tools install with their agent through a package manager and behave the same way in every spec-compliant runtime.

Does a Standard Agents runtime need to be written in TypeScript?

No. A runtime can be written in any language, as long as it can execute TypeScript.

Why not skills or MCP?

Skills and MCP have real uses and can add value to an agent. On their own, they do not make an agent composable or shareable. The specification defines the complete agent, including its model, prompt, tools, and hooks, so that it can be packaged, installed, and composed with other agents.

Get Started

Runtimes Choose a runtime to build with A runtime executes Standard Agents. Choose one to create a project and build your first agent. An agent that follows the specification runs the same way in each runtime. View available runtimes