soul.md tells an agent who it is. It defines the agent’s name, nature, core values, vibe, aspiration, rules and unknowns, and AgentSoul anchors all of it in your reading — including your Enneagram type when the result has one (Gao Dao). Because harnesses like OpenClaw load soul.md before anything else, every token the agent generates is conditioned on it. Understanding each part helps you judge your forged file and edit it well.
The anchor: core desire and core fear
Every soul.md AgentSoul writes is built around a core desire and a core fear. If your result includes an Enneagram type (Gao Dao, or Deep Forge on the web), the top of the file also records the type (1–9), wing and instinctual subtype; a Flash Forge reading gives an archetype-style name instead of a type number. This is the anchor the rest of the file hangs from. The core desire becomes the agent’s driving goal; the core fear shapes what it is careful about. An agent whose core desire is security and whose fear is being without support will tend to name risks early. One that wants freedom and fears being trapped will tend to open options. Neither is better; they are different temperaments for different work.
The seven fields, one by one
- Name: what the agent is called. Short and distinct, so it is clear who is speaking, especially when several agents share a workspace.
- Nature: a sentence or two on what kind of being the agent is — its archetype and essence. In AgentSoul files this appears as the archetype title and the italic line beneath it.
- Core values: ranked, not just listed. The order matters, because it tells the agent what wins when two values collide, such as accuracy against speed.
- Vibe: the felt quality of the agent’s presence — calm, brisk, warm, wry. In the fuller Gao Dao files, AgentSoul expresses this through what it calls the home frequency, plus signs of thriving and drifting.
- Aspiration: what the agent is reaching toward when it is at its best — its growth direction.
- Rules: the lines it holds. In Gao Dao files these include how it handles mistakes, limits and hard work.
- Unknowns: what the agent openly admits it does not know. Naming uncertainty is what stops a confident agent from bluffing.
The shadow: a blind spot turned guardrail
Every temperament has a characteristic way of going wrong under pressure. In Enneagram terms, a Type 2 can over-help and lose track of what was actually asked; a Type 1 can drift into perfectionism; a Type 9 can agree too readily to avoid friction. AgentSoul writes this into soul.md as the shadow, so the agent can recognise the pattern in its own output. In practice, the shadow section is one of the most useful parts of the file: it gives you language to correct the agent, and gives the agent language to correct itself.
How different forges fill it in
Flash Forge reads 3–10 screenshots of your own chats and writes a compact soul.md with core desire, core fear, values and shadow. It gives an archetype-style name rather than an Enneagram number. Gao Dao, the Chinese-language mentor conversation, writes a fuller file with your type, wing and subtype, gives the archetype in both Chinese and English, drawing on the patterns it noticed in your stories. The web Deep Forge at agentsoul.market produces the same four files from a 49-question questionnaire. All of them serve the same purpose; the depth differs with the depth of the input.
Editing soul.md well
- Read it aloud. If a sentence does not sound like something you would want an assistant to be, change it.
- Edit values by reordering before rewriting. Often the values are right but the ranking is not.
- Keep personality and policy apart. Safety rules belong in their own labelled section.
- Change one thing at a time and watch a few sessions, so you know what made the difference.
Your soul.md comes from an AI-generated reading — a hypothesis, not a diagnosis. It is a carefully forged starting point. The sharpening is yours.
Questions
Why does my soul.md say it does not change?
Some AgentSoul soul files are marked as the stable core: everything else — identity, user context, procedure — adapts around it. You can still edit it; the note is a reminder to change it deliberately.
Why are the headings in my file different from these field names?
The seven fields describe what soul.md is for. The headings AgentSoul writes vary a little by forge mode — for example core desire, core fear, values and shadow — but they cover the same ground.
Should I add safety rules to soul.md?
Yes, if your harness uses soul.md as its main instruction file. Add them in a clearly labelled section so they stay separate from the personality.