| tags |
agentzero |
agents |
profiles |
|
← Home | ↑ README
| Field |
Type |
Required |
Default |
Description |
title |
string |
No |
folder name |
Human-readable display name |
description |
string |
No |
"" |
Brief summary of specialisation (1-2 sentences) |
context |
string |
No |
"" |
Usage guidance for when to use this agent |
enabled |
boolean |
No |
true |
Whether profile appears in available profiles |
Note: The name field is derived from the folder name — do NOT include it in agent.yaml.
title: My Specialist
description: Expert in domain X with capabilities Y and Z.
context: Use for tasks involving X, when you need Y, or for Z operations.
usr/agents/my_specialist/
├── agent.yaml # Required metadata
├── prompts/ # Prompt overrides (optional)
│ └── agent.system.main.specifics.md
├── tools/ # Custom tools (optional)
│ └── my_tool.py
├── extensions/ # Agent lifecycle hooks (optional)
└── settings.json # Per-agent model/hyperparameter overrides (optional)
Profiles exist at three levels (highest wins):
- Project:
<project>/.a0proj/agents/<profile>/
- User:
usr/agents/<profile>/
- Framework:
agents/<profile>/
- Plugin:
plugins/<plugin>/agents/<profile>/
For agent.yaml fields: override values replace base values (no deep merge).
For prompts/ directory: files merge by filename — override files completely replace base files of the same name.
# Step 1: Create directory
mkdir -p usr/agents/my_specialist
# Step 2: Create agent.yaml
cat > usr/agents/my_specialist/agent.yaml << 'EOF'
title: My Specialist
description: Expert in domain X.
context: Use for tasks involving X.
EOF
# Step 3 (optional): Add prompt overrides
mkdir -p usr/agents/my_specialist/prompts
cp agents/default/agent.system.main.specifics.md usr/agents/my_specialist/prompts/
# Edit the copy — never edit the original
# Step 4 (optional): Add custom tools
mkdir -p usr/agents/my_specialist/tools
# Create tool class extending Tool
# Step 5: Verify
curl http://localhost:80/api/subagents
| Component |
Convention |
Example |
| Folder name |
lowercase, underscores |
my_specialist |
| Title |
Title Case |
"My Specialist" |
| Tool files |
lowercase, underscores |
my_tool.py |
| Prompt files |
dot-separated hierarchy |
agent.system.tool.my_tool.md |
| Legacy Format |
Current |
Auto-migration |
_context.md (context only) |
agent.yaml |
✅ Fallback read |
agent.json |
agent.yaml |
✅ Auto-converts |
Migration happens transparently — no manual action required.