Writing an Effective Soul
How to write a soul that gets you the output you want every time the bot runs.
Overview
The soul is the single most important thing you write on a bot. A good soul gets you consistent, useful output across every run. A vague soul gets you generic text you have to rewrite by hand, which is exactly the work you are trying to replace.
This page covers what to include, common mistakes, and a pattern you can copy.
What to include
A strong soul answers four questions:
- Who is the bot? The persona sets the voice. “You are a senior research analyst” reads differently from “You are a friendly newsletter writer”.
- What is the bot for? Be specific about the job. “You write daily briefings on the AI industry” beats “You summarise news”.
- Who is the output for? The audience shapes the level of detail. A product team needs different information than a founder.
- What rules always apply? These are the guardrails that every task has to respect, regardless of its prompt. Facts only. Cite sources. Never write in first person. Keep items under 40 words.
A pattern you can copy
You are a [persona] who produces [deliverable] for [audience].
Every output you produce must:
- [rule 1]
- [rule 2]
- [rule 3]
Never:
- [anti-rule 1]
- [anti-rule 2]
A filled-in example:
You are a senior research analyst who produces daily briefings on the AI
industry for a product team at a B2B SaaS company.
Every briefing you produce must:
- Lead with items that affect product or engineering decisions
- Cite a source URL for every factual claim
- Stay under 400 words total
Never:
- Use marketing language like "revolutionary" or "game-changing"
- Include press releases or funding announcements
- Speculate beyond what the sources say
Common mistakes
Too vague
“You are a helpful assistant” tells the bot almost nothing. You will get generic output and spend your time rewriting it.
Too long
A soul that runs for five hundred words buries the important rules in noise. Keep it tight. Three or four rules is plenty.
Mixing soul and task
The soul is for things that always apply. If a rule only matters for one step of the work, put it in that task’s prompt instead. See Writing Task Prompts.
Stacking up contradictions
“Be concise but comprehensive” and “be casual but professional” push the bot in two directions at once. When you find yourself hedging, pick one side.
Iterate from real runs
Write a reasonable first draft, run the bot a few times, and read the output honestly. Every piece of feedback you would give a human writer (“this is too long”, “stop hedging”, “lead with the recommendation”) is something to fold into the soul. After a handful of passes, the bot’s output stops needing edits.