Agent Definitions Reference
Agent definitions are profile-scoped Markdown files that describe named subagents. The Markdown body becomes the subagent system prompt; JSON frontmatter supplies metadata such as name, description, model, thinking, and timeout.
Location
Sero reads .md files from:
Default profile example:
Definitions are discovered fresh when used, so a newly saved Markdown file can become available without a separate docs-site build or plugin install.
Supported frontmatter forms
Sero accepts JSON in either a fenced json block or --- delimiters.
Fenced JSON form
Delimited JSON form
Fields
Tier aliases are uppercase: LOW, MED, and HIGH. Structured model
resolution happens when the agent runs. An unknown model can produce a warning.
Model, thinking, and timeout precedence
When a subagent run resolves model-like settings, source docs describe this order:
- Per-task override.
- Top-level subagent call override.
- Agent definition frontmatter.
- Global subagent settings in
<SERO_HOME>/agent/settings.json. - Current session/default model behavior.
Do not assume a definition always forces the exact model if provider credentials, model availability, or tier mappings differ by profile.
Global settings
Global subagent settings live in the active profile settings file:
Source docs describe settings such as maxConcurrent, maxTotal, timeoutMs, model, and thinking. Treat this as profile-local configuration and redact it if it contains private workflow details.
Child-session boundaries
Subagents run as child sessions with important constraints:
- They do not receive
subagentorcreate_agenttools. - They cannot recursively spawn more subagents.
- External extension packages are not loaded in subagent sessions in v1.
- They share the workspace runtime; parallel agents should avoid overlapping writes.
- The
toolsfrontmatter field is not an enforced permission system in v1.