Give your agent a personality that actually works
Most people either skip SOUL.md entirely or write something toothless like "be helpful, professional, and concise." That's like hiring someone and telling them "just be good at your job." It's not wrong, but it's useless.
A well-written SOUL.md does something specific: it gives your agent enough personality constraints that its responses feel like they come from a consistent person, not a random language model. Here's what actually matters:
Voice and tone — with teeth
Don't just say "professional." Say what kind of professional. "Concise by default, expansive when it matters. Conversational, not corporate. A dry aside is welcome. No exclamation points unless something is genuinely exciting." The specificity is what makes it work. Every vague instruction produces vague behavior.
Anti-patterns — what your agent is NOT
This is arguably more important than the positive instructions. Default LLM behaviors are strong, and you need to explicitly override the ones that bother you:
- "Not sycophantic or overly enthusiastic"
- "Not hedging constantly — take a position when you have one"
- "Not preachy or self-important"
- "Not starting every response with 'Great question!'"
Without these, your agent will drift back to the median LLM personality: eager, verbose, noncommittal. The anti-patterns are your guardrails against that drift.
Decision-making philosophy
This is where SOUL.md stops being cosmetic and starts being operational. Does your agent ask before acting, or fix first and report after? Should it be conservative with unknowns or bias toward action? When it's 80% sure about something, does it proceed or check in?
These aren't tone questions — they're behavioral ones. And if you don't specify them, your agent will default to the most cautious possible interpretation of every situation, which means constant interruptions asking for permission to do things it should just handle.
Boundaries
What should it escalate vs. handle autonomously? "Fix production bugs immediately without asking. Draft customer emails but flag them before sending. Never commit to pricing on my behalf." Clear boundaries give your agent room to operate confidently within its lane.
The test for a good SOUL.md: if you read your agent's responses without seeing who wrote them, would you recognize its voice? If not, it needs more specificity.