user.md is the file that tells your agent who it serves. It holds your name and role, your goals, how you like to be spoken to, and what the agent is allowed to access. Harnesses inject it into the part of the system prompt reserved for user context, so the agent can tailor its first answer instead of learning you from scratch every session.
Why the agent needs to know you
A capable agent without user.md is like a skilled new colleague on their first day, every day. They do good work, but they do not know whether you want the headline or the detail, whether you are a beginner or an expert, or which projects matter this month. user.md fixes that. It is the difference between an assistant that is competent and one that is yours.
The five fields
- userName: what the agent should call you. A first name, a nickname, or a title — whatever you want to hear.
- userRole: what you do, in the context the agent works in. “Product designer at a small studio”, “second-year medical student”, “parent running a busy household”.
- userGoals: what you are trying to achieve right now. Specific beats general: “ship the onboarding redesign by December” is more useful than “be productive”.
- userPrefs: how you like to be spoken to. Length, tone, language, whether you want options or a single recommendation, whether to explain the reasoning.
- userAccess: what the agent may and may not touch — files, accounts, tools, decisions it can make alone and decisions it must bring to you.
What AgentSoul fills in for you
A Gao Dao user.md starts with an Enneagram summary — your type, wing and subtype — followed by what you care about (core desire, core fear, and a tendency to watch), your communication preferences, and notes on how to work with you, including signs that you are thriving or drifting. Flash Forge writes a shorter version focused on your communication preferences and working rhythm, read from the way you actually write in your chats. Those preferences follow from your reading: where a type is given, a Type 1 might prefer precise communication that separates principle from preference; a Type 7 might prefer idea-rich communication that opens options. This is the part an agent struggles to guess, and it is the part a forge is good at.
What only you can add
A forge reads patterns; it does not know your calendar. Open user.md after forging and add the facts that make the agent immediately useful:
- Your name as you want to be addressed, and the language you prefer — for example, replies in Chinese with technical terms in English.
- Your role and the context you will use this agent in.
- Two or three current goals, phrased concretely.
- Access boundaries: what the agent may do on its own, and what it must always ask about first.
- Anything it should never assume, such as your location or your schedule.
Keep it current and private
Goals change faster than personality, so user.md is the file you will edit most. A quick monthly review keeps it honest. It is also the most personal of the four files. The AgentSoul app keeps your souls on your iPhone, tied to an anonymous device ID with no account, and you can remove everything with Delete my data in Settings. Once you send the files to a computer or paste them into another service, though, they live wherever you put them. Read user.md before you share it, and leave out what you would rather keep to yourself.
As with every AgentSoul file, the reading behind user.md is an AI-generated hypothesis, not a diagnosis. If a preference it lists does not describe you, change it.
Questions
Why does my user.md mention an Enneagram type?
Only Gao Dao (and Deep Forge on the web) results include a type; Flash Forge gives an archetype-style name instead. Where it appears, the type hints at how you like to receive information: knowing you are, say, a Type 8 tells the agent to be direct; a Type 9 tells it not to rush you to a conclusion.
Is it safe to put my real name in user.md?
The file only goes where you put it. If you share it, upload it to a chat service, or commit it to a shared repository, others may see it — so include only what you are comfortable with.
Can two people share one agent?
The soul can be shared, but user.md should be personal. If two people use the same agent, give each their own user.md.