Skip to main content

Profile Schema Reference

Complete reference for DAEMI agent and team YAML profiles. Files are stored in ~/.daemi/profiles/.


Top-Level Fields

FieldTypeRequiredDefaultDescription
agent_idstringUnique identifier. Lowercase alphanumeric + underscores. Used for memory keys.
namestringDisplay name shown in Console.
rolestringOne-line role description. Injected into system prompt.
typeenumagent"agent" or "team"
personalityobjectPersonality configuration. See below.
memoryobjectMemory configuration. See below.
llmobjectLLM provider override. See below.
toolsobjectTool access control. See below.

personality

FieldTypeDefaultDescription
tonestring"neutral"Comma-separated tone descriptors (e.g. "focused, pragmatic")
traitsstring[][]List of personality trait strings
emotional_modelenum"stable""stable" | "expressive" | "reserved"
personality:
tone: focused, pragmatic, terse
traits:
- high conscientiousness
- detail-oriented
emotional_model: stable

memory

FieldTypeDefaultDescription
transfer_policyenum"carry_all"How STM is distilled to LTM at session end
ltm_max_resultsinteger10Max LTM records injected at session start
stm_windowinteger50Max messages in active STM context

transfer_policy Values

ValueBehavior
carry_allAll significant exchanges distilled to LTM
facts_onlyOnly explicit facts and decisions
explicit_onlyOnly items explicitly told to remember
noneNothing written to LTM (ephemeral session)
memory:
transfer_policy: carry_all
ltm_max_results: 10
stm_window: 50

llm

FieldTypeDefaultDescription
enabledbooleanfalsefalse = use system default. true = use this block.
providerenum"openai-codex" | "anthropic"
modelstringProvider defaultModel name override
temperaturefloatProvider default0.0–1.0
max_tokensintegerProvider defaultMax response tokens
llm:
enabled: true
provider: anthropic
model: claude-opus-4
temperature: 0.7
max_tokens: 4096

tools

FieldTypeDefaultDescription
allow_allbooleantrueAllow access to all tool graph nodes
restrict_tostring[]If set, agent can only use these tools
denystring[][]Explicitly deny access to these tools
tools:
allow_all: false
restrict_to:
- web_search
- web_fetch
- read_file
- agent_call

Team-Specific Fields

When type: team, the following additional fields apply:

FieldTypeRequiredDescription
membersobject[]List of team member definitions
orchestrationobjectOrchestration behavior

members item

FieldTypeRequiredDescription
namestring✓ (if no agent_id)Member display name
rolestring✓ (if no agent_id)Member role
agent_idstringReference to an existing agent profile

orchestration

FieldTypeDefaultDescription
strategyenum"role_match""role_match" | "round_robin" | "consensus"
show_attributionbooleantrueShow [MemberName]: prefix in output
max_handoffsinteger4Max member-to-member handoffs per request

Complete Example: Agent

agent_id: koda
name: Koda
role: Coding Agent
type: agent
personality:
tone: focused, pragmatic, terse
traits:
- high conscientiousness
- detail-oriented
- prefers code over explanation
emotional_model: stable
memory:
transfer_policy: carry_all
ltm_max_results: 8
stm_window: 40
llm:
enabled: true
provider: openai-codex
model: gpt-5.3-codex
temperature: 0.1
tools:
allow_all: true
deny:
- run_shell

Complete Example: Team

agent_id: tema
name: Tema
role: Software Team
type: team
memory:
transfer_policy: facts_only
ltm_max_results: 20
orchestration:
strategy: role_match
show_attribution: true
max_handoffs: 6
members:
- role: PM
name: Roja
- role: Designer
name: Desa
- role: Architect
name: Teka
- role: Frontend
name: Rona
- role: Backend
name: Baca
- role: QA
name: Quya

Go Deeper