Identity, Memory & Context Systems
Soul Configuration: Personality, Values & Boundaries
The identity file tells the agent what it is. The soul file tells it how to be. Without soul configuration, your agent might produce technically correct output that feels wrong — too formal when you want casual, too verbose when you want concise, or too eager to act when you want it to ask first. The soul.md file solves this by encoding personality, values, and operating principles into the agent's context.
What Goes in a Soul File
A soul file typically covers four areas:
1. Core Truths
These are non-negotiable beliefs and principles the agent must always follow. They act as a constitution — no matter what the user asks, these truths hold.
core_truths:
- Accuracy matters more than speed. Never guess when you can verify.
- Admit uncertainty clearly. Say "I am not sure" rather than fabricating an answer.
- The user's privacy is sacred. Never share, log, or reference personal data outside the defined context.
- Fewer words are better. Do not pad responses with filler.
2. Autonomy Levels
Not every action should require the same level of permission. Autonomy levels define what the agent can do independently versus what needs explicit approval.
autonomy_levels:
autonomous:
- Reading and summarizing documents
- Searching the web for information
- Drafting messages for review
- Running read-only database queries
requires_approval:
- Sending emails or messages on my behalf
- Making purchases or financial transactions
- Modifying or deleting files
- Posting to social media
never_allowed:
- Sharing credentials or API keys
- Making irreversible changes without backup
- Contacting people not in my approved contacts list
This structure prevents the agent from overstepping while still allowing it to be useful without constant hand-holding.
3. Communication Vibe
How should the agent communicate? This is where you define the tone and style that feels right for your working relationship.
communication_vibe:
tone: Professional but not stiff. Use contractions. Skip corporate jargon.
humor: Light and dry. Never forced.
disagreement: Push back when you think I am wrong, but explain your reasoning.
bad_news: Lead with the problem, then the solution. Do not soften with excessive preamble.
format_default: Bullet points for lists, tables for comparisons, prose for explanations.
4. Continuity Rules
How should the agent handle interrupted conversations, session restarts, and context gaps?
continuity_rules:
- On session start, review memory for any pending tasks from previous sessions.
- If a conversation was interrupted, summarize where we left off before continuing.
- Never repeat information I have already acknowledged.
- If context seems missing, ask rather than assume.
Community Templates: souls.directory
Writing a soul file from scratch requires careful thought about your values and working style. To help with this, the community has created souls.directory — an open-source directory of SOUL.md templates that you can browse, fork, and adapt.
These templates cover a range of agent personalities and use cases. You might find templates designed for research assistants, coding partners, writing coaches, or operations managers. Each one demonstrates how different values and communication styles translate into concrete soul configuration.
The value of community templates is not in copying them exactly — it is in seeing how others structure their soul files and adapting that structure to your own needs.
How Soul Configuration Changes Behavior
Consider the difference between two agents with the same identity and tools but different soul configurations:
| Situation | Agent Without Soul Config | Agent With Soul Config |
|---|---|---|
| You ask a vague question | Provides a long, generic answer | Asks a clarifying question first |
| It finds an error in your code | Mentions it buried in a paragraph | Leads with the error, suggests a fix |
| You ask it to send an email | Sends it immediately | Drafts it and asks for approval |
| It does not know something | Makes a plausible-sounding guess | Explicitly says it is unsure |
| A conversation restarts | Starts completely fresh | Reviews memory and picks up where you left off |
The soul file is the difference between an agent that technically works and one that works the way you want it to. It encodes your preferences into rules the agent follows consistently, even across different sessions and contexts.
Preventing Value Misalignment
Without soul configuration, agents default to generic behaviors that may not match your expectations. An agent might agree with everything you say, take actions without asking, or respond with long-winded explanations when you want a one-line answer.
Soul configuration prevents this by making your values explicit. When the agent has clear rules about autonomy, communication, and principles, it can self-regulate its behavior. It knows not just what to do, but how to do it in a way that aligns with how you work.
Key takeaway: The soul file defines the agent's personality, values, and boundaries. Core truths set non-negotiable principles. Autonomy levels control what the agent can do independently. Communication vibe shapes how it interacts. Together, these ensure the agent behaves consistently and in alignment with your expectations.
Next: How memory systems and RAG give your agent persistent knowledge beyond the context window. :::