The agent.acl manifest and the top-level blocks that make up an agent.
An agent is defined by a single agent.acl manifest. The manifest is a set of top-level blocks whose
order does not matter: build selects the output shape, filesystem and network decide what the
agent's components can reach, providers declares the models, agent defines the agent itself,
tool and skill extend what it can do, http_server exposes it over the network, and locals
factors out repeated values. Each block has its own reference page linked below.
The manifest below is a complete example that uses every top-level block:
locals {
version = "1.0.0"
}
build {
archetype = "standalone"
}
runtime {
default_tenant_id = "default"
}
filesystem {
mounts = [
{
path = "/"
backend = { kind = "memory" }
}
]
}
network {
policy {
allow = [
{
protocol = "https"
hostname = "api.example.com"
}
]
}
}
providers {
anthropic {
models = ["claude-haiku-4-5"]
config {
api_key = secret(runtime("ANTHROPIC_API_KEY"))
}
}
}
agent "assistant" {
graph {
type = "react"
}
version = locals.version
description = "A helpful assistant."
prompt = "You are {{ agent_name }}, a concise and helpful assistant."
capabilities = ["math"]
capability_policy = "locked"
model {
provider = "anthropic"
name = "claude-haiku-4-5"
}
}
tool "adder" {
kind = "javascript"
source = "./tools/math"
capabilities = ["math"]
}
tool "planner" {
kind = "a2a"
url = runtime("PLANNER_A2A_URL", "https://planner.example.com")
}
skill "arithmetic" {
source = "./skills/arithmetic"
}
http_server {
host = runtime("HTTP_HOST", "127.0.0.1")
port = runtime("HTTP_PORT", 8080)
protocol {
ag_ui {}
}
}To assemble a manifest step by step rather than from a finished example, see Author a manifest. For the concepts behind build-time versus runtime values, see The manifest.
| Block | Purpose |
|---|---|
| build | Selects the archetype and output shape of the artifact. |
| locals | Build-time constants referenced elsewhere in the manifest. |
| runtime | Runtime settings such as the default tenant and storage. |
| filesystem | The virtual filesystem the agent's components see. |
| network | The egress policy and limits for outbound requests. |
| providers | Model providers and their connection and inference configuration. |
| agent | The agent's identity, graph, model, prompt, and capabilities. |
| graph | The graph selection inside the agent. |
| tool | A tool the agent can call, including local tools, MCP servers, and A2A delegation targets. |
| skill | A skill that shapes the agent's judgement. |
| http_server | The network interface and mounted protocols. |
© 2026 pogue.dev. All rights reserved.
CC BY 4.0Search the agentc documentation