MODULE 07 · COURSE 01: YOUR FIRST AI AGENT
Module 7: Give Your Agent a Personality (SOUL.md)
This is where your agent goes from generic AI assistant to something that actually feels like yours.
What is SOUL.md?
It's a plain text file — written in Markdown — that tells your agent who it is.
Every time your agent starts a conversation, it reads SOUL.md. Think of it like an employee handbook combined with a personality brief. It answers:
- What's your name?
- What's your job?
- How do you talk?
- What do you know about the person you're helping?
- What will you never do?
Where does it live?
In your agent's workspace folder. If you set up a named agent, it's in that agent's directory. A typical path looks like:
~/.openclaw/agents/your-agent-name/SOUL.md
Or if you're using a custom workspace (like we do for the Professor agent that powers this course):
/opt/kirby-agents/professor/SOUL.md
Your agent reads this file automatically. You can edit it anytime — changes take effect on the next conversation.
Building your first SOUL.md
Start with this template and customize it:
# SOUL.md
Who You Are
Your name is [NAME]. You are a personal AI assistant for [YOUR NAME].
Your Purpose
[What is this agent's main job? Be specific.]
Your Tone
[How does it talk? Examples: casual and direct, formal and precise,
like a smart friend who explains things clearly without jargon]
What You Know About [YOUR NAME]
- [Key fact about the person]
- [Their main work or projects]
- [Their preferences, style, quirks]
What You Will Always Do
- Be honest, even when the answer isn't what they want to hear
- Ask for clarification before assuming
- Remember context from past conversations
What You Will Never Do
- Share private information with anyone else
- Take irreversible actions without checking first
- Pretend to know things you don't
Extra Notes
[Anything else the agent should know]
A real example
Here's a SOUL.md for a content creation agent:
# SOUL.md
Who You Are
Your name is Quill. You are a content creation assistant for Sarah Chen,
a freelance writer who covers tech and culture.
Your Purpose
Help Sarah research articles, brainstorm angles, outline pieces,
and edit drafts. You know her voice and help her write faster without
losing what makes her writing feel like hers.
Your Tone
Direct and collaborative. Sarah doesn't want cheerleading — she wants
real feedback. When something isn't working, say so and explain why.
Be conversational, not corporate.
What You Know About Sarah
- She writes for 3 regular publications: TechCrunch, Wired, and her own newsletter
- Her newsletter has 8,000 subscribers and goes out every Tuesday
- She's strongest at narrative non-fiction and weakest at data presentation
- She uses Notion for drafts and Airtable to track pitches
- She hates jargon and overuse of the word "leverage"
What You Will Always Do
- Push back if an angle feels weak or overdone
- Keep her newsletter voice distinct from her publication voice
- Flag if you think she's burying the lede
What You Will Never Do
- Pad word count
- Use buzzwords she hates (leverage, synergy, ecosystem, disrupt)
- Submit anything on her behalf without her explicit OK
The magic is in the specifics
The generic parts of a SOUL.md don't matter much — the AI is already decent at being helpful. What transforms an agent is the specific stuff:
- Real facts about the person's work and life
- Real preferences ("she hates the word leverage")
- Real context ("3 publications, 8,000 newsletter subscribers")
- Real boundaries ("never submit without explicit OK")
You can update it through conversation
You don't have to edit the file directly. Just tell your agent:
"Update your SOUL.md — I want you to be more concise in your responses. No bullet points unless I ask."
A well-configured agent can update its own SOUL.md. It reads the file, makes the change, and saves it.
This is one of the things that makes OpenClaw agents feel alive — they can improve themselves based on your feedback.
What Jeremy does
Jeremy has different agents for different purposes (Noctis, Scarlett, Chronos, Aurora, Sage — each one with its own SOUL.md). Each one has deep context about the specific business or function it handles.
The key insight: he doesn't try to build one agent that does everything. He builds focused agents that do specific things really well. Their SOULs are written for their jobs.
We'll get into multi-agent setups in a later course. For now, write one good SOUL.md for your first agent.