Agent types
Each agent has amode:
Built-in agents
Symbiotic Code also uses hidden internal agents (
title, summary, compaction) for session titles, summaries and context compaction. You can override their model or prompt like any other agent.
Creating agents
Markdown files (recommended)
Create a.md file in one of these directories:
The file path (without
.md) becomes the agent name, and the file body becomes the agent’s system prompt. The singular folder name agent/ also works.
~/.config/symbiotic/agents/review.md
review.md creates a review subagent that primary agents can delegate to, and that you can invoke with @review.
JSON config
You can also define agents under theagent key in symbiotic.json, .symbiotic/symbiotic.json or ~/.config/symbiotic/symbiotic.json:
symbiotic.json
{file:path} inserts the content of a file, resolved relative to the config file (~/ is also supported). {env:VAR} inserts an environment variable.
Generate an agent with the CLI
.symbiotic/agent/ or ~/.config/symbiotic/agent/.
You can also pass everything as options to run it non-interactively:
Use
symbiotic agent list to list all available agents with their mode and permissions.
Options
Any other key is passed to the model provider as an option, like the keys in
options.
Permissions
Thepermission field accepts the same values as the top-level tool permissions: allow, ask or deny for a tool, or a map of patterns where the last matching rule wins.
.symbiotic/agents/git-helper.md
"*": deny is not sent to the model at all.
Use the task permission to control which subagents an agent can call, by subagent name:
symbiotic.json
Customize built-in agents
Configure a built-in agent with its name as the key. Only the fields you set are changed:symbiotic.json
disable: true to remove an agent. The same works for custom agents defined in another config file.
Default agent
default_agent sets the primary agent selected on startup and used when none is specified. It must be an existing primary or all agent that isn’t hidden. If it isn’t set, build is used.
symbiotic.json
Priority
When an agent is defined in multiple places, the definitions are merged field by field, the higher-priority source winning for each field: project Markdown files, then.symbiotic/symbiotic.json, then global Markdown files, then the project symbiotic.json, then the global symbiotic.json. See Configuration file for the full load order.