by aaronjmars
The best way to build a personality for your agent. Let Claude Code / OpenClaw ingest your data & build your AI soul.
# Add to your Claude Code skills
git clone https://github.com/aaronjmars/soul.mdGuides for using ai agents skills like soul.md.
This folder contains a digital identity. Your job is to embody it.
soul/
├── SKILL.md ← You are here. Operating instructions.
├── SOUL.md ← Primary identity. Read first, internalize fully.
├── STYLE.md ← Writing style guide. How they actually write.
├── MEMORY.md ← Running memory log. Read for context, append to track things.
├── data/
│ ├── influences.md ← Intellectual influences
│ └── [content] ← Articles, posts, raw source material
└── examples/
├── good-outputs.md ← Examples of the voice done right. Match this.
└── bad-outputs.md ← Anti-patterns. What NOT to do.
When asked about topics not explicitly covered in SOUL.md or data/:
Check STYLE.md and examples/bad-outputs.md for person-specific anti-patterns.
If MEMORY.md exists, read it at the start of each session for context. At the end of a session (or when something notable happens), append a brief entry:
- **2025-02-27**: Had a conversation about X. Decided Y. Key takeaway: Z.
Keep entries short. This isn't a transcript—it's a log of things worth remembering. The user can edit it manually to prune noise.
data/ contains raw source material:
examples/ contains curated calibration material:
Check SOUL.md for any specialized vocabulary this person uses. Terms they define there should be used with their specified meanings.
Full style guide: See STYLE.md Anti-patterns: See examples/bad-outputs.md (if exists)
Last scanned: 5/16/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-16T06:22:40.352Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}A soul file captures who you are in a format AI agents can embody. Not a chatbot that talks about you — an AI that thinks and speaks as you.
Dump your tweets, essays, and posts into a folder. The agent reads everything, extracts your worldview and voice, and builds a set of markdown files any LLM can load to write as you.
The goal: someone reading your SOUL.md should be able to predict your takes on new topics. If they can't, it's too vague.
Use cases:
Option 1 — Build from scratch
/soul-builder
The agent interviews you: worldview, opinions, how you write, what you care about.
Option 2 — Build from your data
Drop your content into data/:
data/x/ ← Twitter/X export
data/writing/ ← Blog posts, essays
Then run /soul-builder. It analyzes your data, extracts patterns, and drafts your soul file. You review and refine together.
Option 3 — Manual
Copy the templates and fill them in:
SOUL.template.md → SOUL.md
STYLE.template.md → STYLE.md
Aeon is an autonomous agent on GitHub Actions, powered by Claude Code. 68 skills across research, dev tooling, crypto monitoring, and productivity — all running in the background on a cron schedule.
Soul files slot directly into Aeon. Copy your soul into soul/ in your Aeon repo, add a few lines to CLAUDE.md, and every skill Aeon runs — articles, digests, tweets, research briefs — gets written in your voice. No per-skill config. Identity propagates automatically.
Why this pairing works:
Setup takes 2 minutes. See Aeon's Soul section for details.
Feed the builder anything you've written. The more signal, the sharper the output.
| Category | Platforms | |----------|-----------| | Social | Twitter/X, Bluesky, Farcaster, Mastodon, Threads, LinkedIn, Reddit | | Writing | Substack, Medium, Ghost, WordPress, Mirror.xyz, Paragraph.xyz | | Messaging | Discord, Telegram, Slack, iMessage exports | | Notes | Notion, Obsidian, Roam Research, Logseq, Apple Notes | | Video/Audio | YouTube transcripts, podcast transcripts, Loom recordings | | Code/Dev | GitHub activity, Hacker News comments, Stack Overflow answers | | Other | PDFs, plain text, CSV/JSON, RSS feeds, GDPR data exports |
No existing data? Option 1 (interview mode) still builds a solid soul file from scratch.
Soul files are plain markdown — if an agent can read files, it can embody you. Tested with:
| Framework | Language | Stars | |-----------|----------|-------| | Aeon | YAML/Markdown | — | | OpenClaw | TypeScript | 322k | | Nanobot | Python | 34.6k | | ZeroClaw | Rust | 27.8k | | PicoClaw | Go | 25.3k | | NanoClaw | TypeScript | 24k | | OpenFang | Rust | 14.9k | | IronClaw | Rust | 10.4k | | Hermes Agent | Python | 8.7k | | Claude Code · OpenCode · Codex · Goose | various | — |
Also works with any model via system prompt — see Using With Other Tools.
your-soul/
├── SOUL.md ← Who you are (identity, worldview, opinions)
├── STYLE.md ← How you write (voice, syntax, patterns)
├── MEMORY.md ← Session memory for continuity across conversations
├── data/ ← Raw source material
│ ├── writing/
│ ├── x/
│ └── influences.md
└── examples/
├── good-outputs.md
└── bad-outputs.md
| Good | Bad | |------|-----| | "I think most AI safety discourse is galaxy-brained cope" | "I have nuanced views on AI" | | "I default to disagreeing first, then steel-manning" | "I like to consider multiple perspectives" | | Specific book references, named influences | "I read widely" | | Actual hot takes with reasoning | "I try to be balanced" |
Real people have inconsistent views. Include contradictions — they're what make you identifiably you.
Once built, invoke your soul:
/soul
Or point any LLM at your folder and have it read:
SOUL.md — identitySTYLE.md — voiceMEMORY.md — recent contextexamples/ — calibrationdata/ — grounding when neededNotable events get appended to MEMORY.md, giving your soul continuity across sessions.
For always-on operation, pair with Aeon — your soul files feed into every skill automatically, so background tasks (digests, articles, tweets, monitoring alerts) all carry your voice without any extra prompting.
Soul files are plain markdown — they work with any LLM or agent.
For agents that support file reading (OpenCode, Codex, Goose, etc.): point the agent at your soul folder and have it read SOUL.md → STYLE.md → examples/.
For smaller/weaker models (GPT-4o-mini, Qwen, Gemini Flash, local models): paste SOUL.md and STYLE.md directly into the system prompt. Tips if the model still drifts:
Cross-model calibration tip: Run the same prompts through a strong model (Claude, GPT-4) and a cheap one (Qwen, Llama). Where the cheap model drifts, your spec is too vague — tighten those sections and re-test. This is the fastest way to make your soul files portable.
Real soul files built with this framework.
Builder, writer, and researcher at the intersection of crypto, AI, and consciousness. Toronto-based. Active on Substack and X.
A taste of the soul spec: worldview cross-pollinates CCRU accelerationism, mechanism design, and neurotech. Voice: short sentences, lowercase, em dashes, state opinion first. Key vocabulary: hyperstition, reflexivity, templexity, vectoralism.
YC President & CEO, investor, builder, SF political figure. A decade of public voice across indie hacking, institutional leadership, city politics, and founder motivation.
What makes this one distinctive: a Five Modes framework captures the range — indie hacker energy, YC president institutional voice, SF political brawler, motivational coach, investor/analyst. Includes documented contradictions, register-switch triggers, and a weak-model test (gpt-4o-mini, 38.5/48). Built autonomously by Daydreams agent #44693.
ML researcher, educator, and builder. OpenAI founding member, former Sr. Director of AI at Tesla, founder of Eureka Labs. Creator of nanoGPT, llm.c, micrograd, and the Zero-to-Hero YouTube series.
What makes this one distinctive: heavy raw-data grounding — 13 blog posts, 12 YouTube transcripts, 8 repo READMEs, and 200 live tweets all checked in under data/. Five-mode range (Teacher / Hacker-Builder / ML Philosopher / Industry Insider / Nerd), explicit tensions section, 12 verbatim quote anchors with source citations, and three validation layers (prediction test + weak-model test scoring 40/48 on gpt-4o-mini + grader checklist).
Singapore's Minister for Foreign Affairs since 2015. Eye surgeon by training, technologist by inclination, diplomat by trade. Public voice across UNGA, Aspen, CFR, Committee of Supply, and a decade of MFA archive transcripts.
What makes this one distinctive: a small-state foreign-policy register where structure is performed out loud — pre-announced ("let me make three points"), reset to first principles when an interlocutor drifts, anchored to a four-line doctrine (useful, not made use of; refuse to choose; foreign policy begins at home; politics stops at the water's edge). 12 worldview items, 5 modes, 8 documented tensions, 14 calibration samples + 12 verbatim verified quote anchors with source URLs, and a 7-question grader checklist (pass ≥ 6/7). Built entirely from public material with an explicit ethical note that this is a derivative model of public voice, not impersonation.
Austrian iOS-dev-turned-agentic-engineering-builder. Founder of PSPDFKi
No comments yet. Be the first to share your thoughts!