Agent Profiles

One system prompt cannot be ideal for every task. Agent Profiles package a model, system prompt, theme, avatar, allowed tools, allowed skills and workflow actions into a named assistant.

Built-in profiles​

Where profiles live​

A profile is a folder:

profiles/support-assistant/
    config.json
    SYSTEM.md
    avatar.png

config.json​

{
  "theme": "nord",
  "model": "GLM-5.2",
  "onlyTools": ["api_tools"],
  "onlySkills": ["incident-response"]
}
Key Purpose
model Default model this profile runs on
theme UI theme applied while the profile is active
onlyTools Restrict the profile to these tools/groups. null allows all
onlySkills Restrict the profile to these skills. null allows all

Choose a profile model​

Click Selected Model in the profile editor to open the shared model-card picker. Search by name, ID, or provider; filter providers; sort by release date, price, context limit, or name. The initial view shows the newest 20 models and loads another 20 as you scroll, with pricing, context, and capabilities. Use default model clears the profile override. Decision Studio uses the same picker for recipe writing; the main chat keeps its existing selector.

Composing a system prompt​

The simplest profile has a SYSTEM.md used verbatim. For anything organizational, a SYSTEM.template composes the prompt from sibling Markdown files with {VAR} substitutions:

profiles/policy-analyst/
    SYSTEM.template
    POLICY.md
    PROCEDURES.md
    DOMAIN.md
    memory/
        2026-08-01.md
        2026-08-12.md
You are a policy analyst for Acme Corp.

## Organizational policy
{POLICY}

## Standard procedures
{PROCEDURES}

## Domain knowledge
{DOMAIN}

## Recent context
{MEMORY_LATEST}

Each {VAR} resolves to the contents of the sibling VAR.md. {MEMORY_LATEST} resolves to the newest file in memory/, giving a profile a rolling working memory without rewriting the prompt.

If no SYSTEM.template exists, SYSTEM.md is returned as-is.

Actions​

A profile can declare workflow actions the UI offers, optionally conditional on the user's workspace. Only file conditions are evaluated - a glob match within the user's allowed directories - and unconditional actions always show:

{
  "actions": [
    { "label": "Implement PLAN.md", "prompt": "Implement the approved plan in PLAN.md",
      "condition": { "file": "PLAN.md" } },
    { "label": "Summarize this project", "prompt": "Summarize what this project does" }
  ]
}

This is what drives the built-in Planner → Coder handoff: the Planner writes PLAN.md, and the Coder profile's action only appears once that file exists in the active Project.

The Profile Manager​

The Chat UI can inspect built-in profiles, override their default model and theme, and create new profiles entirely from the browser - editing prompt files, uploading an avatar and choosing which tools and skills a profile may use.

Profiles created in the UI are written to the signed-in user's own profiles/ folder, so a user can never modify a shared profile by accident. To publish a profile to everyone, put it in App_Data/chat/user/default/profiles/.

API​

Profile routes live under the agents extension:

Profiles as governed job descriptions​

For an organization, profiles become the unit of AI governance - Support Assistant, Policy Analyst, Release Planner, Sales Researcher, Finance Reviewer - each with only the context and capabilities its role needs:

{
  "model": "Claude Sonnet 5",
  "onlyTools": ["api_tools"],
  "onlySkills": ["refund-policy", "escalation-matrix"]
}

Combined with API Tools, a profile restricted to api_tools can operate your business systems and nothing else - no filesystem, no code execution, no web access - whilst still running as the signed-in user with their existing permissions.

  • Skills - reusable procedures a profile can be restricted to
  • Projects - the directory boundary a profile's tools operate in
  • Tools - the registry onlyTools selects from
  • Themes - the themes theme selects from, and how to add your own