An agent persona is a catalog resource that defines a reusable template for agents. When you spawn an agent withDocumentation Index
Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
Use this file to discover all available pages before exploring further.
--agent=<name>, it inherits the persona’s system prompt, model, tool configuration, and default tasks.
Agent personas are tenant-scoped. Platform-managed agent personas exist in every tenant. Custom agent personas are authored via murmur set agent-persona.
An agent persona accepts input in two formats: a Markdown file with YAML frontmatter (the content field), or individual structured fields (description, prompt, model, etc.). The two formats are mutually exclusive on write — provide one or the other, not both.
Fields
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Unique identifier within the tenant. DNS label format: [a-z][a-z0-9-]{0,62}. Also accepts workspace-scoped names: {workspace}/{name}. |
content | string | no | Full Markdown file (YAML frontmatter + body). Mutually exclusive with structured fields. The server parses this into the structured fields on write. Read responses always include the server-rendered content. |
description | string | no | Short description of the persona’s role. Maximum 1024 bytes. Shown in murmur ls agent-persona output. |
prompt | string | no | The agent’s system prompt — the Markdown body after frontmatter. Stored verbatim. |
model | string | no | Model override (e.g. claude-sonnet-4-6). Empty uses the platform default. |
tools | string[] | no | Allowed MCP tools the agent may use. |
disallowed_tools | string[] | no | MCP tools the agent may not use. |
max_turns | int32 | no | Maximum conversation turns. 0 means unlimited. |
tasks | AgentTask[] | no | Default tasks seeded into the agent’s checklist on spawn. |
AgentTask fields
Each entry in thetasks list has:
| Name | Type | Required | Description |
|---|---|---|---|
subject | string | yes | Task summary (e.g. “Run Go tests”). |
activate_when | object | no | Activation condition. Omit for tasks that are always active. |
activate_when.files_modified.pattern | string | no | Glob pattern for file paths. The task activates when the agent pushes changes matching this pattern. Empty matches any file. |
Input formats
Markdown with frontmatter
Pipe a Markdown file where the YAML frontmatter contains the structured fields and the body is the system prompt.Frontmatter keys use camelCase:
disallowedTools, maxTurns. This matches the format that the server renders on read.Structured fields
Post individual fields as YAML. Theprompt field carries the system prompt directly.
Examples
Creating an agent persona
Listing agent personas
[platform].
Reading a single agent persona
Spawning an agent with a persona
Tasks with activation conditions
activate_when activate only when the agent pushes changes matching the glob pattern.
Deleting an agent persona
Platform-managed agent personas cannot be deleted.
Errors
| Code | Meaning | What to do |
|---|---|---|
INVALID_ARGUMENT | name is required | Provide a name field or pass the name as the CLI argument. |
INVALID_ARGUMENT | agent persona name must be a DNS label or {workspace}/{name} | The name must match [a-z][a-z0-9-]{0,62} or {workspace}/{name} where both segments match that pattern. |
INVALID_ARGUMENT | description exceeds 1024 byte limit (N bytes) | Shorten the description field to 1024 bytes or fewer. |
INVALID_ARGUMENT | content and structured fields are mutually exclusive | Provide either content (Markdown with frontmatter) or structured fields (description, prompt, etc.) — not both. |
INVALID_ARGUMENT | either content or structured fields are required | The request has no content and no prompt or description. Provide at least one. |
INVALID_ARGUMENT | parse agent content: ... | The Markdown frontmatter failed to parse as valid YAML. Check your --- fences and YAML syntax. |
Related
- Agent personas — concept overview
- Agents — the resources that use personas at spawn time
murmur spawn— CLI command for spawning agents with a personamurmur set— CLI command for creating and updating catalog resourcesmurmur get— CLI command for reading catalog resources