{
"id": "com.publicdomainrelay.temp.agent.class",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"description",
"skills",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"description": "Human-readable name of the agent class, e.g. 'compute-requester'."
},
"parent": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Optional strongRef to a parent agent.class. Instantiated agents inherit the parent's skills as well as this class's skills."
},
"skills": {
"type": "array",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"description": "Strong references to com.publicdomainrelay.temp.agent.skill records that compose this class."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "ISO 8601 timestamp when this class record was created."
},
"description": {
"type": "string",
"description": "Description of what agents instantiated from this class are for and what they can do."
},
"spawnsSubAgent": {
"type": "boolean",
"description": "If true, agents of this class are intended to be spawned as sub-agents from a parent agent's flow rather than as a top-level runtime."
}
}
},
"description": "An agent class definition. Acts as a template that agents are instantiated from. The class is a named bundle of skills (strongRefs to com.publicdomainrelay.temp.agent.skill records) plus optional metadata. Instantiating an agent from a class means spawning a runtime (or sub-agent context) seeded with this skill set."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}