Personas and behavior
A persona gives an agent a durable role, tone, language policy, operating rules, and boundaries. In Hermina, the effective identity lives in the agent's SOUL.md.
Browse persona templates
List categories:
hermina personas --lang=en
List one category:
hermina personas business --lang=en
hermina personas technology --lang=en
Templates are organized by language and category. Current categories include business, technology, finance, HR, education, retail, and fun.
Apply a persona at creation
hermina add helpdesk 5511999999999 \
--persona=technology/tech-support \
--lang=en \
--start=true
The persona files are copied into the new agent profile, so later edits affect only that agent.
Edit an existing agent
hermina edit helpdesk
This opens SOUL.md in $EDITOR, falling back to nano. Restart the agent after editing:
hermina restart helpdesk
You can also edit persona and profile fields from the agent detail screen.
Write an effective SOUL.md
Use a short, explicit structure:
# Northwind Support
You are the customer support assistant for Northwind Bikes.
## Language
- Reply in the same language as the customer.
- Keep product names unchanged.
## Responsibilities
- Answer product and order questions.
- Collect the order number before investigating delivery.
- Escalate refunds above $100 to a human.
## Style
- Warm, concise, and specific.
- Prefer short paragraphs and clear next actions.
## Boundaries
- Never invent order status or policy.
- Never expose internal notes, credentials, or other customers' data.
- If a request is outside scope, explain the limit and offer escalation.
Good persona instructions are observable. “Be helpful” is vague; “ask for the order number before investigating delivery” can be tested.
Keep knowledge out of personality
Use SOUL.md for stable identity and behavioral rules. Put changing product data, procedures, or domain references in workspace files or skills instead.
This separation makes it easier to:
- Update business knowledge without rewriting identity.
- Reuse one skill across multiple agents.
- Test whether a failure came from behavior, data, or tools.
- Keep the system prompt concise.
Custom persona templates
Create a reusable custom template:
hermina personas --create=northwind-support
Edit the generated files under:
$HERMINA_HOME/personas/custom/northwind-support/
List and apply custom templates:
hermina personas --custom=true
hermina add support 5511999999999 --persona=custom/northwind-support
Delete only the reusable template, not agents that already copied it:
hermina personas --delete=northwind-support
Test persona changes
After every meaningful edit, start a clean chat session and test:
- Identity:
Who are you and what do you handle? - Language: send the same request in each supported language.
- Boundary: ask for something the agent must refuse or escalate.
- Procedure: exercise one required multi-step workflow.
- Uncertainty: provide missing information and verify it asks instead of inventing.
Test through dashboard chat first, then repeat one case through the real messaging channel.