The harness layer
One set of identity files. Every LLM tool reads them through its own convention.
The harness layer is what makes ideaverse-os portable. Six markdown files encode who you are, how you work, and what you care about right now. Five convention files route every LLM harness to those six files at session start. You write your identity once. Every tool inherits it.
Stored in 00-agentic-OS/
Every file carries auto_inject: true in its frontmatter. Convention files use this signal to load the lean files into context before any prompt runs.
soul.mdBehavioral rulesCommunication style, format constraints, workflow process rules. The non-negotiables for every session.
Without this, every session starts from scratch. With it, every harness inherits the same defaults.
me.mdIdentity dossierWho you are: summary statement, first principles, roles, working style, energy pattern.
Grounds the LLM in your context before it reads anything else. The difference between generic responses and ones that feel like they know you.
user.mdWorkflow preferencesWhich LLM harnesses you use, tool stack, file naming conventions, daily rhythm.
Lets the LLM pick the right path, file format, and tone for your actual environment.
compass.mdCurrent prioritiesWhat you are optimizing for this week, this month, this quarter. Success metrics. Collision rules.
The priority filter. Every suggestion the LLM makes should pass through this first.
memory.mdPersistent memoryA rolling log of observations, decisions, and learnings too important to lose between sessions.
Context that survives session boundaries. Grows over time without growing unbounded.
runbook.mdSession triggersWhat to do at session start, what chains to run, when to switch between work and personal modes.
Automates the onboarding steps you would otherwise type every time.
One per harness, stored at vault root
Each router file is a thin wrapper: it imports the lean 6 files using the convention its harness already reads. The content is identical across tools; only the filename changes.
| File | Harness | How it loads |
|---|---|---|
CLAUDE.md | Claude Code | Auto-loaded as project instructions when Claude Code runs from the vault root. |
GEMINI.md | Gemini CLI | Read by GEMINI.md convention at session start. |
AGENTS.md | Codex CLI / OpenAI Assistants | Loaded by the AGENTS.md convention in agentic frameworks. |
.cursorrules | Cursor | Auto-loaded as project rules by Cursor's .cursorrules discovery. |
# Vault context @00-agentic-OS/soul.md @00-agentic-OS/me.md @00-agentic-OS/user.md @00-agentic-OS/compass.md @00-agentic-OS/memory.md @00-agentic-OS/runbook.md Load these at session start. They are auto_inject: true. Follow soul.md rules in all responses.
The load signal
Every lean file carries this frontmatter field:
--- name: compass description: Current priorities and success metrics. type: lean-file auto_inject: true last-updated: YYYY-MM-DD ---
What auto_inject means
A router file or hook reads all lean files with auto_inject: true and loads them into context before any prompt runs. The LLM sees your identity before it sees your question.
What it does not mean
Not all harnesses support automatic context injection via file scanning. For those that don't, the convention file (CLAUDE.md, AGENTS.md, etc.) acts as the injection point by explicitly @importing the lean files.
Why frontmatter, not a config file
Keeping the signal in each file's own frontmatter means any LLM can identify which files to load just by reading the files -- no separate registry, no build step, no external config.
From init to identity in 5 phases
npx ideaverse-os init scaffolds the files with [TODO] placeholders. /ideaverse-os build runs a 5-phase interview that compiles your answers into the lean files.