Separate agent behavior (replaceable) from world knowledge (permanent) into two repos with strict boundaries.
Without this: agent config and world knowledge are mixed together. Switch agents and you lose your knowledge. Switch knowledge tools and you lose your agent setup.
With this: your brain (14,700+ files of people, companies, meetings, ideas) survives any agent swap. Your agent config survives any knowledge tool swap.
"Is this about how the agent operates, or is this knowledge about the world?"
| Question | If YES -> Agent Repo | If YES -> Brain Repo |
|---|---|---|
| Would this file transfer if you switched AI agents? | YES | -- |
| Would this file transfer if you switched to a different person? | -- | YES |
| Is this about how the agent behaves? | YES | -- |
| Is this about a person, company, deal, meeting, or idea? | -- | YES |
New file to create?
|-- About a person, company, deal, project, meeting, idea? -> brain/
|-- A spec, research doc, or strategic analysis? -> brain/
|-- An original idea or observation? -> brain/originals/
|-- A daily session log or heartbeat state? -> agent-repo/
|-- A skill, config, cron, or ops file? -> agent-repo/
|-- A task or todo? -> agent-repo/tasks/
How the agent works. Identity, configuration, operational state.
agent-repo/
├── AGENTS.md # Agent identity + operational rules
├── SOUL.md # Persona, voice, values
├── USER.md # User preferences + context
├── HEARTBEAT.md # Daily ops flow
├── TOOLS.md # Available tools + credentials
├── MEMORY.md # Operational memory (preferences, decisions)
├── skills/ # Agent capabilities (SKILL.md files)
│ ├── ingest/SKILL.md
│ ├── query/SKILL.md
│ ├── enrich/SKILL.md
│ └── ...
├── cron/ # Scheduled jobs
│ └── jobs.json
├── tasks/ # Current task list
│ └── current.md
├── hooks/ # Event hooks + transforms
├── scripts/ # Operational scripts (collectors, gates)
└── memory/ # Session logs, state files
├── heartbeat-state.json
└── YYYY-MM-DD.md # Daily session logs
What you know. People, companies, deals, meetings, ideas, media. This is the repo GBrain indexes.
brain/
├── people/ # Person dossiers (compiled truth + timeline)
├── companies/ # Company profiles
├── deals/ # Deal tracking
├── meetings/ # Meeting transcripts + analysis
├── originals/ # YOUR original thinking (highest value)
├── concepts/ # World concepts and frameworks
├── ideas/ # Product and business ideas
├── media/ # Video transcripts, books, articles
│ ├── youtube/
│ ├── podcasts/
│ └── articles/
├── sources/ # Source material summaries
├── daily/ # Daily data (calendar, logs)
│ └── calendar/
│ └── YYYY/
│ └── YYYY-MM-DD.md
├── projects/ # Project specs and docs
├── writing/ # Essays, drafts, published work
├── diligence/ # Investment diligence materials
│ └── company-name/
│ ├── index.md
│ ├── pitch-deck.md
│ └── .raw/ # Original PDFs/files
└── Apple Notes/ # Imported Apple Notes archive
Never write knowledge to the agent repo. If a skill, sub-agent, or cron job needs to create a file about a person, company, deal, meeting, project, or idea, it MUST write to the brain repo, never to the agent repo.
The brain is the permanent record. The agent repo is replaceable.
Independence. You can switch AI agents (OpenClaw -> Hermes -> custom) without losing your knowledge. You can switch knowledge tools (GBrain -> something else) without losing your agent setup.
Scale. The brain grows large (10,000+ files). The agent repo stays small (< 100 files). Different backup strategies, different sync cadences.
Privacy. The brain contains sensitive information (people, deals, personal notes). The agent repo contains operational config. Different access controls.
GBrain indexes the brain repo. Run gbrain sync --repo ~/brain/ to keep
the search index current. The agent repo is never indexed by GBrain.
-
Never write knowledge to the agent repo. This is the most common violation. A skill that creates a person page, a cron job that saves meeting notes, a sub-agent that captures an idea -- all of these MUST write to the brain repo. If it's about the world, it goes in the brain.
-
The brain is the permanent record. When in doubt, ask: "Would this file survive switching to a completely different AI agent?" If yes, it belongs in the brain. Agent configs, skills, cron jobs, and operational state are replaceable. People, companies, ideas, and meetings are not.
-
Don't index the agent repo. GBrain indexes the brain repo only. Running
gbrain syncagainst the agent repo pollutes search results with operational config instead of world knowledge.
-
Check file placement. After any skill or cron job creates a file, verify it landed in the correct repo. Person/company/idea/meeting files should be in
brain/. Skill/config/cron/state files should be in the agent repo. Any knowledge file in the agent repo is a boundary violation. -
Run the boundary test. Pick 5 recently created files and ask: "Would this transfer if I switched AI agents?" and "Would this transfer if I switched to a different person?" If the answers don't match the file's location, it's in the wrong repo.
-
Verify GBrain only indexes brain. Run
gbrain statsand check the indexed paths. None should point to the agent repo directory. If agent config files appear in search results, the sync target is misconfigured.
Part of the GBrain Skillpack.