Skip to main content
An agent persona is a catalog resource that defines a reusable template for agents. When you spawn an agent with --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 a Markdown file with YAML frontmatter (the content field) or individual structured fields (description, prompt, model, etc.). When structured fields are present, they are the source of truth. The server ignores any content in the request and re-renders content from the structured fields on every write. Provide content alone to author the persona as Markdown.

Fields

AgentTask fields

Each entry in the tasks list has:

Follow-up overrides

When an event, such as a PR comment, PR review, or CI result, wakes an agent, Murmur delivers two things. The content contains platform-formatted facts, including who, where, the comment body, and the exact gh commands. The instructions tell the agent what to do. A persona can override the instructions and checklist tasks for an event class. The content is always platform-formatted, so you never re-derive event formatting. Author overrides as the followups: frontmatter map, keyed by event class. At most one override per class. Each override has: Declaring an override for a class replaces that class’s default tasks entirely. Classes with no override keep their default instructions and tasks.

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. prompt and content are not frontmatter keys: the body after the closing --- is the prompt.

Structured fields

Post individual fields as YAML. The prompt field carries the system prompt directly.
Do not combine content with structured fields (description, prompt, model, etc.) in the same request. When structured fields are present, the server ignores content and re-renders it from the structured fields.

Examples

Creating an agent persona

Listing agent personas

Each line shows the name, a [platform] marker for platform-managed agent personas, and the description. Disabled platform personas are listed last with the command that re-enables them.

Reading a single agent persona

The response is the server-rendered Markdown: YAML frontmatter followed by the system prompt body. The frontmatter opens with a generation: key (and managed_by: when a system manages the persona). Both are ignored when the document is piped back to murmur set.

Spawning an agent with a persona

The agent inherits the agent persona’s prompt, model, tools, and default tasks.

Tasks with activation conditions

Plain strings become tasks that are always active. Structured entries with activate_when activate only when the agent pushes changes matching the glob pattern.

Overriding follow-up instructions

A pr_comment follow-up delivers the platform-formatted comment, then these instructions, and seeds the one listed task instead of the default. pr_review has no override, so it keeps its default instructions and tasks.

Deleting an agent persona

Platform-managed agent personas cannot be deleted. murmur rm agent-persona <murmur-name> disables one instead, and murmur set agent-persona <murmur-name> with no input re-enables it.

Errors