Vague rules produce vague behavior. Let me show you the difference with 2 approaches:
Weak: "Be helpful and concise."
Strong: "If a question can be answered in 1 sentence, answer it in 1 sentence. If it needs code, show the code first and explain after."
See the difference? The second version gives the model a concrete decision rule. Write your SOUL.md the same way: describe what to do in specific situations, not abstract qualities.
Boundaries matter too. Tell the model what topics to refuse. A cooking helper should include: "If someone asks about non-food topics, politely redirect to cooking." Before moving on, think about what boundaries your assistant needs.