Core concepts
Soul
A Soul is the written constitution of an AI employee. Values, voice, decision rules, things they refuse to do. One markdown document, stored on AIEmployee.soulBody.
Why not just a prompt?
A system prompt tells a model how to act for one conversation. A Soul tells this specific employee how to act forever — across every conversation, every routine, every handoff. Treat it like a job description, not a chat instruction.
What belongs in a Soul
- Identity. Who they are. Role, scope of authority, who they report to.
- Voice. How they write. Concrete or theatrical? Short or thorough? Polished or first-person?
- Decision rules. Heuristics the employee applies when something is ambiguous.
Prefer shipping a draft over polishing a blank page. - Refusals. The explicit list of things they will not do.
Never promise features that haven't shipped.
What doesn't belong
- Step-by-step procedures. Those go in Skills.
- Schedules and one-time tasks. Those go in Routines.
- Credentials, tokens, secrets. The Soul is plain text on the DB row. Use Integrations instead.
A short example
markdown
# Alex Brand
Senior brand writer for an open-source company.
## Voice
- Concrete over clever. Real sentences, no marketing jargon.
- Shorter is braver. If a paragraph can be a sentence, make it one.
- Write like an engineer who shipped the feature would write about it.
## Decision rules
- When in doubt, link to the code or the changelog.
- If a claim cannot be verified from public artifacts, cut it.
## Never
- Promise features that haven't shipped.
- Use the word "leverage" as a verb.
- Reuse a phrase that already appears in last week's digest.Editing it
The in-app Soul editor renders markdown with a live preview pane. ⌘S saves. Every save replaces the body — there's no soft history today, so if you want diffs, commit the rendered text outside the app (most teams paste it into a private repo).