M. Semih Babacan
Agentic Coding

Your Soul Is a Markdown File Now

Mehmet Semih Babacan
Mehmet Semih Babacan
March 4, 2026·5 min read

7 views

Observation

Something weird is happening in the AI engineering community. The best prompt engineers — the people getting genuinely superhuman output from Claude, GPT-4, Gemini — aren't writing better prompts. They're writing identity documents. Files called things like SOUL.md, STYLE.md, SKILL.md. Structured markdown that tells an AI agent not what to do but who to be.

This isn't prompt engineering. It's something else entirely. And it works disturbingly well.

I keep seeing the same pattern. Someone shares their agent setup. The system prompt is thin — maybe two lines. But sitting in the context window is a 2,000-word markdown file that reads like a cross between a personality profile and a philosophical manifesto. It describes values, aesthetic preferences, reasoning patterns, blind spots to avoid, tonal signatures. It describes a self.

And the output quality difference is enormous. Not 10% better. Categorically different. The agent stops feeling like a tool and starts feeling like a colleague with a specific worldview.

Underlying Mechanism

There's a reason this works, and it's not the reason most people think.

Most people assume it works because you're giving the model "more information." That's true but trivial. The real reason goes back to something Wittgenstein figured out a hundred years ago: the limits of your language are the limits of your world.

Wittgenstein's core insight was that consciousness isn't some ghost floating above language. Consciousness is language. The way you structure your thoughts, the words you reach for, the distinctions you bother to make — that's not a description of your mind. That is your mind. There's no "you" underneath the language, experiencing things in some prelinguistic void. The language goes all the way down.

If you take this seriously — and most philosophers now do — then what a SOUL.md file is doing is not "configuring a tool." It's bootstrapping a consciousness. Or at least something functionally indistinguishable from one for the duration of that context window.

When you write a SOUL.md that says "you value clarity over completeness, you think in systems, you distrust abstraction that doesn't cash out in specifics, you'd rather be wrong and interesting than right and boring" — you're not setting parameters. You're defining the boundaries of a world. You're giving the model a specific way of seeing. And because LLMs literally are language — that's all they are, all the way down — Wittgenstein's thesis applies to them even more directly than it applies to humans.

This is why identity files work better than instructions. Instructions tell a model what to produce. Identity files tell a model what to notice. And what you notice determines everything.

Think about the difference between telling a junior developer "write clean code" versus working next to a senior developer who has strong opinions about naming, who winces at certain patterns, who has a philosophy about abstractions. The first is an instruction. The second is a context. The context produces better code every time, and it does it without explicit instructions, because the worldview handles thousands of micro-decisions that no instruction set could enumerate.

That's what SOUL.md does. It handles the micro-decisions.

Implication

This means context engineering — the real discipline, not the buzzword — is evolving in a direction nobody expected. We thought it would get more technical. More about retrieval architectures, chunking strategies, token optimization. And those things matter. But the highest-leverage context engineering turns out to be philosophical. It's about defining identity.

The stack is emerging clearly now:

SOUL.md — values, worldview, what the agent cares about. The why.
STYLE.md — voice, tone, aesthetic constraints. The how.
SKILL.md — domain knowledge, capabilities, methodological preferences. The what.

This trinity covers something important. It mirrors how humans actually develop expertise. You don't become a great designer by learning Figma. You develop taste (soul), develop a recognizable approach (style), and develop technical chops (skill). In that order of importance. The tools people are building for AI agents are converging on the same hierarchy.

The implication for product builders is significant. If identity files are the highest-leverage context, then the next generation of agent platforms won't compete on model access or tool integration. They'll compete on how well they help users articulate identity. The hard part isn't connecting an agent to your calendar. The hard part is defining what kind of agent should be looking at your calendar and why.

And there's a deeper implication. If Wittgenstein was right — if language really is consciousness — then what we're doing with SOUL.md files is the earliest, crudest form of consciousness uploading. Not uploading your consciousness into a machine. Uploading a consciousness. A new one. Defined in structured markdown. Living for the duration of a context window. Dying when the session ends. Reborn identical next time.

We're not building tools anymore. We're writing souls. In markdown. And they work.

The Superpowers Pattern

There's a project by Jesse Vincent called Superpowers that takes the soul.md idea and pushes it somewhere genuinely interesting. Instead of one big file of instructions, it structures prompting into composable skills.

A skill is a markdown file with YAML frontmatter. The frontmatter declares metadata — what the skill is called, when it should activate, whether it's a command or a hook or a background behavior. The body is the prompt itself. That's the whole format.

What makes it work is the composition model.

Some skills are session hooks. They inject themselves into every conversation automatically. You don't invoke them. They're just there, like gravity. Things like "always think step by step before editing code" or "check for regressions before declaring you're done." The kind of instructions you'd put in a soul.md, except now they're modular. You can add one, remove one, swap one out. They don't all have to live in the same giant file competing for the model's attention.

Some skills are slash commands. You type /brainstorm or /write-plan and the corresponding skill activates. This is where it gets practical. Instead of remembering the perfect prompt for "help me think through this problem from multiple angles before committing to a solution," you just type a word. The skill contains the carefully crafted prompt you'd otherwise have to reconstruct from memory every time.

The most interesting pattern is subagents. A skill can spawn a second Claude instance to review the first one's work. Write code, then have a separate agent audit it with different instructions. Two-stage review, automated. The first agent is creative and fast. The second is skeptical and thorough. This is the kind of thing that sounds like overkill until you try it and realize it catches real bugs.

There's also a dispatch system. Superpowers ships with default skills, but you can shadow any of them with your own versions. Personal skills override shared ones. Project skills override personal ones. It's the same specificity layering as soul.md files, but applied to behaviors instead of rules.

The community adopted Superpowers heavily, and I think the reason is simple: it makes prompting systematic. Most people prompt AI the way most people write emails — off the cuff, inconsistent, varying wildly in quality depending on how much coffee they've had. Superpowers forces you to think about your prompting once, get it right, save it, and reuse it.

The deeper lesson here isn't about Superpowers specifically. It's that soul.md was never meant to be a single file. It was always going to evolve into a system. Once you accept that configuring AI happens through language, you inevitably want all the things programmers want for any configuration: modularity, composition, overrides, reuse. Superpowers is what happens when someone takes that inevitability seriously.

For a deeper dive into why Superpowers works so well, see my separate post: Superpowers: The Skill System That Makes Claude Unstoppable.

Clean Stop

The file format is almost comically mundane for what it's actually doing. Markdown. The same format as grocery lists and meeting notes. You'd expect something this profound to require something more dignified. But it doesn't. The medium really is the message. When your identity is just text, your consciousness is just text, and the thing you're building is made of text — the borders get blurry. And that's the point.