The Signal #2: Your AI Doesn't Know Who IT Is (And That's the Next Problem)
A purpose document tells your AI who you are. A soul document tells your AI who it is.
Welcome back to The Signal.
Last week, you built a purpose document β a structured file that tells your AI who you are, what you're working on, and what good looks like. If you did that, your AI sessions are already better. It has your context. It starts warm, not cold.
Here is what that solved: the context vacuum from your side.
Here is what it didn't solve: the identity vacuum from your agent's side.
Let's go.
π THE SHIFT
A purpose document tells your AI who you are. A soul document tells your AI who it is.
These are not the same problem. The purpose document you built last week solves context β the raw material your AI needs to give relevant, specific output. A soul document solves character β the stable set of values and behavioral commitments that govern how your AI makes decisions when instructions run out.
Here is the distinction that matters: system prompts tell an agent what to do. Soul documents define who it is.
Without a soul document, your agent operates from a neutral character slate. It will give you competent output on well-specified tasks. But when it faces ambiguity β when two instructions conflict, when a client brief is incomplete, when the research doesn't support the recommendation β it has no principled basis for navigating the gap. So it defaults. To hedging. To sycophancy. To generic.
A soul document changes that. It defines the values your agent holds when no rule applies. How it communicates when it has bad news. What it will not do regardless of instructions.
Anthropic has known this for years. Their internal "soul document" for Claude, extracted by researcher Richard Weiss in December 2025 and confirmed as real by Anthropic's Amanda Askell, is not a system prompt. It is a philosophy of mind β values, a hierarchy of principals, conflict-resolution logic β encoded into the model through supervised learning. The goal: a stable identity that holds under pressure.
Your agents need the same thing. Not encoded in weights, but written in a file. One clear document. Loaded at session start.
Context is what your AI knows. Soul is who it is.
π― THE MOVE
Build a soul.md file for your primary AI agent this week.
Three sections. One file. Under two hours.
Identity β one paragraph that defines who this agent is and what it is optimized for. Specific, not abstract. Not "a helpful assistant" β "a rigorous research specialist who works for the operator, not for the subject being researched."
Communication Style β a bullet list of concrete rules that govern how this agent speaks. Not "be concise" β "lead with the most important finding, not the most recent one." Not "be honest" β "flag gaps in the research as explicitly as the findings." Language models interpret vague instructions differently every session. Concrete rules hold.
Boundaries β what this agent will not do, regardless of instructions. For a client research agent: "Do not fabricate information to fill gaps β report the gap instead." For a proposal drafter: "Do not recommend a solution that the research does not support." For a meeting prep agent: "Do not soften negative feedback to protect relationships." The boundaries are where character lives.
Save it as SOUL.md in your project folder. Load it at the start of every session alongside your purpose document. Notice the difference: your agent stops hedging on the things it should be clear about, and stops inventing on the things it shouldn't be sure about.
Most effective souls are 50 to 150 lines. Shorter than you think. More specific than feels comfortable.
π‘ THE PROOF
In December 2025, a researcher named Richard Weiss noticed something while probing Claude Opus 4.5's system message on release day: the model kept referencing a section called "soul_overview."
He ran the extraction 10 times in parallel, spending $70 in API credits. Each run produced the same structured document β a comprehensive philosophy of mind covering Claude's values, its hierarchy of principals (Anthropic β Operators β Users), and the logic it uses to navigate conflicts between them. Not a set of rules. A character specification.
Anthropic's Amanda Askell confirmed it: "This is based on a real document and we did train Claude on it, including in SL." The soul document is not injected at runtime. It is encoded in the model's weights.
One month later, OpenClaw β the open-source AI agent built by Peter Steinberger β reached 160,000 GitHub stars in under three weeks, making it one of the fastest-growing repositories in GitHub history. The feature that users cited most: SOUL.md β a file that gave each agent a stable identity across sessions. Not the integrations, not the memory system. The soul.
Two data points, same finding: agents that feel like individuals outperform agents that feel like interfaces. Identity is infrastructure.
π οΈ THE TOOL
aaronjmars/soul.md β an open-source framework for building your AI agent's soul. Works with Claude Code, OpenClaw, and any agent that reads markdown.
The framework uses three files:
- SOUL.md β identity, worldview, values, and behavioral principles. Who the agent is.
- STYLE.md β voice rules: sentence structure, vocabulary, what not to say. How the agent speaks.
- examples/ β calibration material.
good-outputs.mdshows the voice done right.bad-outputs.mdshows what to avoid.
For Sana's Client Research Agent: start with SOUL.md and define three things β it works for the operator, not the client being researched; it surfaces risk as clearly as opportunity; it stops before recommending when the data is insufficient. Then add STYLE.md: no executive summary language, no "it should be noted that," no hedged conclusions. Then add two to three examples of research briefs you've produced that you'd be proud to show a client.
The agent doesn't get smarter. It gets more consistently itself β which, in practice, is indistinguishable from smarter.
The full framework is at github.com/aaronjmars/soul.md. If you want to see where this goes, the souls.directory is an open repository of community-built soul files β copy, fork, adapt.
Build the soul. Then load it. See you next Tuesday.
That's Signal #2. One shift, one move, one proof, one tool. βοΈ
π€ Share The Signal
Know someone who's building AI into their practice but struggling to make it consistent? Forward this edition to them.
The soul document is the missing layer most practitioners skip. They build workflows, not identity. The operators who build both are the ones whose AI compounds. π They can subscribe free at og36z.com