Run your company on a vault an AI can actually operate.
Most people use ChatGPT as a smart search box. This is different. You build a structured library of your company's knowledge in plain text, then give a coding-grade AI agent permission to read it, write to it, and produce real work from it, proposals, memos, decks, briefings, all in your voice and your format.
This guide is the specific, opinionated setup I use every day: what to install, how to structure it, how the AI's instructions are layered, the conventions that keep it consistent, and the rules that make it trustworthy. It is written for fellow CEOs and operators who want the real recipe, not another "10 Obsidian tips" video.
01 · The mental model
Two tools, one job: a brain the AI can hold in its hands
The whole system is two pieces that most people use separately, wired together on purpose.
Obsidian = the memory
A free app that reads a folder of plain-text Markdown files. No database, no lock-in. Every note, policy, profile, and decision lives as a .txt-style file you own forever.
Claude Code = the operator
A command-line AI agent that lives inside that same folder. It can open any note, cross-reference dozens at once, follow written rules, run tools, and write new notes back. It doesn't just answer, it acts.
Because both tools point at the exact same folder of Markdown, they share one source of truth. You edit a note by hand in Obsidian; the AI reads it a second later. The AI writes a note; it shows up in Obsidian instantly. There is no "upload," no "sync my documents," no copy-paste. The folder is the product.
The vault is the system of record. Anything durable, a decision, a preference, a process, a correction, gets written into a file. If it only lives in a chat window, it's gone tomorrow. If it's in the vault, the AI (and your team) can find it forever. This single rule is what turns a chatbot into an institution.
Everything below is in service of that principle: structure so files are findable, conventions so they're consistent, instruction layers so the AI knows the house rules, and tooling so it can turn notes into finished documents.
02 · Setup
Install everything (and why each piece matters)
Do these in order. The instructions below are for macOS, which is the smoothest path; Windows works too via WSL. None of this requires you to be a programmer, but you will spend twenty minutes in the Terminal. That is the price of admission.
1. Obsidian
Download from obsidian.md. On first launch, choose Create new vault and pick (or make) a folder. That folder is your vault. Obsidian is just a nice window onto it, the real thing is the folder.
2. Homebrew (the package manager)
Homebrew is how macOS installs command-line tools. Almost everything else depends on it. Paste this into Terminal:
# Installs Homebrew, the macOS package manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
After it installs, Homebrew prints two lines telling you to add itself to your PATH. Run those. If a command is ever "not found" later, run eval "$(/opt/homebrew/bin/brew shellenv)" to reload it. You should never have to reinstall a tool twice.
3. Node.js (the runtime Claude Code needs)
brew install node
This gives you node and npm. Claude Code runs on Node, and so do the document-building libraries later.
4. Claude Code (the agent)
Install it globally with npm, then run it from inside your vault folder:
npm install -g @anthropic-ai/claude-code
# then, whenever you want to work:
cd "/path/to/your/Vault"
claude
The first time, it walks you through signing in. From then on, typing claude while your Terminal is "inside" the vault folder drops you into a conversation where the AI can see every note.
You are not opening an app and pasting files in. You are starting the AI inside a folder. Its default awareness is that entire folder, the structure, the rules, the notes. That is the difference between a chatbot and an operator.
03 · Setup
The tool kit: what turns notes into finished documents
The AI can write Markdown all day. But when you want a real, branded PDF, Word doc, spreadsheet, or slide deck, it needs command-line tools to build those files. Install this set once and the agent can produce polished deliverables on demand. These are the specific, load-bearing ones.
| Tool | Install | What it unlocks |
|---|---|---|
| Poppler | brew install poppler | Reads existing PDFs, pulls text out (pdftotext), turns pages into images. Lets the AI ingest documents people send you. |
| Pandoc | brew install pandoc | The universal converter. Markdown → Word, HTML, and back. The backbone of document production. |
| Python 3.12 | brew install python@3.12 pango | Runs the PDF engine below. Install a modern version explicitly, the one macOS ships is too old. |
| WeasyPrint | pip install weasyprint | HTML → beautiful PDF with real page headers, footers, and page numbers. This is how you get boardroom-grade PDFs. |
| docx | npm install -g docx | Builds native Word documents programmatically, letterheads, tables, the works. |
| exceljs | npm install -g exceljs | Builds native Excel spreadsheets with formulas and formatting. |
| pptxgenjs | npm install -g pptxgenjs | Builds native PowerPoint decks from your outlines. |
Write these into your CLAUDE.md (covered below) under a heading like "Installed tools, do not reinstall." Otherwise the agent may try to install them again at the start of every session, wasting time. One table telling it "these already exist, here's where" solves it permanently.
The full install script for all of this is in the starter kit at the end.
04 · Setup
Folder architecture: number your folders
A vault with 40 folders in alphabetical order is chaos. The fix is dead simple: prefix folders with numbers so they sort by workflow, not by name. This is the single highest-leverage structural decision you'll make.
00-Inbox/ # unsorted captures land here first
04-Transcripts/ # raw verbatim meeting/call transcripts
05-Dashboards/ # live rollups and views
10-Division-A/ # your first business unit
11-Division-B/
13-Shared-Services/ # finance, HR, IT, brand
15-People/ # profiles by role
50-Long-Term/ # permanent reference material
60-Short-Term/ # active working context
70-Templates/ # reusable note + document templates
80-Archive/ # completed / inactive
90-System/ # config, rules, taxonomy, brand guides
The pattern: low numbers for daily flow (inbox, transcripts), a middle band for your actual business areas, and high numbers (50/60/70/80/90) for reference, templates, and system config. The 90-System folder is special, it holds the files that govern how the AI behaves. Keep it clean; it's the control room.
Inside each folder, one note per thing: one file per person, per property, per project, per decision. Small, single-purpose notes link together far better than giant catch-all documents.
05 · Setup
Keep your vault clean: separate the workshop from the library
This is the rule people most often get wrong, and it matters. Your vault should contain Markdown only, text, notes, knowledge. It should never fill up with PDFs, Word files, spreadsheets, images, and half-built drafts. Those are output, not knowledge.
The vault (the library)
Plain-text notes. Your real intellectual property. Small, linkable, permanent. This is what the AI reads to understand your company.
A separate output folder (the workshop)
A folder outside the vault, e.g. ~/Documents/Final-Documents/, where every finished PDF, DOCX, XLSX, and PPTX gets saved. Binary files live here, never in the vault.
Tell the agent this explicitly in your rules: "Structured/final documents (PDF, DOCX, XLSX, PPTX) save to the output folder. Never save binary files into the vault, Markdown only." Two benefits fall out of this:
- Obsidian stays fast and searchable. It's a text engine; a vault stuffed with binaries gets slow and noisy.
- Sync stays sane. If your vault lives in a cloud-synced folder shared with colleagues, you want to sync lightweight text, not 40MB decks.
When the AI builds a document, have it write the throwaway build script to a temporary directory and delete it afterward, so the finished folder holds only the deliverable, never the machinery that made it.
06 · How it thinks
The instruction layers: how the AI knows your house rules
Here is the part that makes this feel like magic. The agent doesn't guess how your company works, it reads layered instruction files that you write once and it obeys every session. Think of it as an onboarding manual the AI re-reads automatically. There are four layers, from broadest to most specific.
They compose. For a task, the AI starts from the constitution (Layer 1), applies whatever it has learned about you (Layer 2), follows the relevant procedure (Layer 3), and adopts the right expert voice (Layer 4). You are effectively programming the agent in plain English, no code, just well-organized instructions.
The next three sections cover the two layers you'll touch most: CLAUDE.md and memory, plus how to write good rules.
07 · How it thinks
CLAUDE.md: the file that governs everything
A file named exactly CLAUDE.md, placed at the root of your vault, is loaded automatically at the start of every session. It is the single most important file in the system. Whatever you put here, the AI treats as standing orders. Mine covers, in order:
- Context: what this vault is, who it's for, what the company does.
- The prime directive: "the vault is the system of record, persist durable knowledge here, not just in chat."
- A routing table: "tagging rules go here, brand rules go there, a decision about a project goes in that project's note." So new knowledge lands in the right home automatically.
- Read-first pointers: "before any real analysis, read these context modules." This front-loads the AI with your operating reality.
- Conventions: the taxonomy and metadata rules (next section), naming, linking.
- Hard rules: the "always / never" list, tone, formatting, what to confirm before doing, where to save output.
- Installed tools: the "don't reinstall these" table from earlier.
You can place a CLAUDE.md inside a subfolder too. When the AI works in that folder, the local file's rules apply on top of the root one. A code project, a specific division, or a sensitive area can each carry their own extra house rules. There's also a global one in your home folder (~/.claude/) for rules that apply to every project, not just this vault.
Treat this file as living. Every time you catch yourself correcting the AI the same way twice, that correction belongs in CLAUDE.md (or a memory file). The goal is that you never have to say the same thing three times.
08 · How it thinks
Memory files: the AI's persistent notebook
Where CLAUDE.md is the constitution you author deliberately, memory is what the AI records on its own as it learns you. Each memory is a tiny file holding one fact, with a couple of lines of structured header so it can be found later:
# one memory = one file
name: no-em-dashes
description: Never use em dashes in drafted content
type: feedback
Use commas, periods, colons, or parentheses instead.
Why: the user finds em dashes a tell of AI writing.
A running index file (call it MEMORY.md) lists every memory in one line each, and that index loads at the start of each session. So the AI walks in already knowing the durable facts about how you work, without you re-explaining.
The two-tier discipline that makes it reliable
Session memory is private to one machine and one person. It does not sync to your team. So the rule I enforce is: private memory is fine as scratch, but it can never be the only copy of anything that matters. Durable, shareable knowledge goes into a real note in the vault (which everyone sees); the AI's private memory is just a fast-recall cache on top.
Good memories: preferences, standing corrections, decisions, who's-who by role, project state. Bad memories: anything already obvious from the files themselves, or one-off details that won't matter tomorrow. Keep it lean, a bloated memory is as useless as none.
09 · How it thinks
Writing rules that make the agent trustworthy
An AI with permission to write files and produce documents needs guardrails, or it will be confidently wrong at scale. Good rules are specific, testable, and explain the "why." Here are the categories worth writing, with real examples generalized from my own set.
Behavioral rules: how it works
- Lead with the problem and the decision needed, not throat-clearing.
- Default to the 80/20 answer; flag complexity that doesn't earn its keep.
- Flag budget variances over a set threshold with a proposed cause and action.
- No fluff in investor- or board-facing documents.
Voice rules: how it sounds
- Formal, direct, plain English.
- A house style-quirk list (mine bans em dashes; use whatever tics you care about).
- Never include auto-populated boilerplate like email signature blocks.
Safety rules: what it must not do without asking
- Confirm before irreversible writes. Never bundle "here's the problem" with "and I already fixed it in the live system." Present the evidence, wait for an explicit yes, then act.
- New system permissions ship off by default, the AI never grants access or enrolls people on its own.
- Sending anything outward (email, post, message) requires a clear go-ahead first.
Separate finding from fixing. The instinct is to let the AI notice a problem and correct it in one motion. Resist it for anything that touches a live system, a shared document, or the outside world. "Show me, then wait" is the discipline that lets you hand an agent real authority without losing sleep.
10 · Conventions
Taxonomy & metadata: the closed-list discipline
Every note starts with a small block of structured metadata called frontmatter, a few fields between two --- lines at the very top. This is what makes a pile of notes queryable, filterable, and consistent. Obsidian reads it; the AI reads it; dashboards are built from it.
---
type: meeting-notes # what kind of note
entity: division-a # which part of the business
status: active # lifecycle state
created: 2026-07-23 # YYYY-MM-DD
updated: 2026-07-23
tags: [budget, q3] # topic tags
---
The discipline that makes this work is closed lists. For the important fields, type, entity, status, you define a fixed menu of allowed values in one master file, and nothing else is permitted. If nobody can invent Meeting Notes, meeting_notes, and mtg-notes as three versions of the same thing, your data stays clean forever.
| Rule | Do | Don't |
|---|---|---|
| Casing | meeting-notes | Meeting Notes |
| Multi-word | shared-services (kebab-case) | shared_services, SharedServices |
| New values | Ask before adding to the list | Invent a new one silently |
| Type as metadata | type: policy in frontmatter | #policy in the body |
Keep one canonical file (mine lives at 90-System/Tag-Taxonomy.md) that is the single source of truth for every allowed value and every approved topic tag. Point your CLAUDE.md at it: "read the Tag-Taxonomy before any tagging decision; use only approved values; when editing old notes, quietly bring them into compliance." Now the AI enforces your data standards better than any human ever would.
Reserve body #tags for a tiny set of in-text markers only, priority flags like #high, #flag. Everything structural belongs in frontmatter. Don't duplicate a frontmatter value as a hashtag; pick one home for each fact.
11 · Conventions
Wiki links: turning notes into a network
Type [[Note Name]] anywhere and Obsidian creates a live link to that note. This is the second superpower after Markdown. Notes stop being a filing cabinet and become a web, every connection navigable, and every note automatically knowing what links to it (backlinks).
- Link liberally. A link to a note that doesn't exist yet is fine, it's a placeholder marking something worth writing later. The graph grows as you work.
- The AI reads the web, not just the page. When it opens a note and sees
[[Q3 Budget]]and[[Division-A Roster]], it knows to pull those in for full context. Good linking makes the agent dramatically smarter.
Write [[VP of Operations]], not [[Jane Smith]]. When Jane leaves and Sam takes over, you update one profile note, every link across the vault still points to the right seat. Your knowledge base survives personnel changes automatically. This one convention has saved me countless broken references.
The same idea applies to transcripts and their summaries: keep the raw transcript in one place, the polished summary in its home folder, and wiki-link the two together so you can always get from the clean version back to the source of truth.
12 · Conventions
Agentic workflows: what "an agent that acts" actually looks like
"Agentic" just means the AI can take multi-step actions on its own, not only answer questions. Inside a well-built vault, that translates to concrete daily leverage:
Read across everything
"Summarize where every active project stands", it opens dozens of notes, follows the links, and returns one briefing. No copy-paste.
Write back into the vault
Paste a meeting transcript; it saves the raw version, drafts a clean summary in the right folder, tags both, and links them, following your conventions.
Produce finished documents
"Turn this into a branded PDF proposal", it pulls your template, applies your brand, and drops the file in the output folder.
Run on a schedule
Recurring jobs, a Monday industry brief, a Friday rollup, can run automatically and update a living note each time.
The enabling move is skills: named, reusable procedures you define once. A skill bundles the steps, the format, and the rules for one repeatable job so you invoke it by name instead of re-explaining. "Draft in my voice," "produce the monthly brief," "format this as a proposal", each becomes a one-word command. For big, isolated jobs the agent can also spin up sub-agents that work in their own context and report back, so a huge transcript never clogs the main conversation.
You don't need scheduled jobs and sub-agents on day one. The 80/20 is: a clean folder structure, a solid CLAUDE.md, a taxonomy, and the habit of writing knowledge into the vault. The advanced agentic patterns are earned once the foundation is boring and reliable.
13 · Voice & output
Brand voice: teach the AI to write like you
Generic AI writing is easy to spot and worthless for anything that carries your name. The fix is to build a voice guide, a note the AI reads before drafting anything on your behalf, grounded in evidence, not vibes. Here is the exact method I used to build mine.
- Gather a corpus. Pull together a meaningful sample of things you've actually written: sent emails across registers (internal directives, coaching notes, tough external escalations, warm personal outreach), memos, messages. The wider the range, the better.
- Have the AI analyze it. Ask it to extract the patterns: sentence length, how you open and close, formality by audience, recurring phrases, punctuation habits, what you never do. It's reverse-engineering your style from real examples.
- Codify it into a guide. Turn that analysis into a written voice note, rules and do/don't examples, broken out by register, since you write to your team differently than to a lender.
- Wire it in as a skill. Make "draft in my voice" a named skill that always consults the guide. Now every email, reply, and note it drafts sounds like you, not like a chatbot.
Telling an AI "write professionally" produces beige. Showing it 50 emails you actually sent and having it derive the rules produces your voice, the specific length of your sentences, your habit of leading with the decision, the phrases you lean on. Grounded in a real corpus, the output crosses from "sounds like AI" to "sounds like me."
Scope it deliberately: a voice guide is for emails and short written notes, not for formatted deliverables like decks and proposals, which follow their own production rules (next).
14 · Voice & output
Logos, branding, and document production
To make the AI produce documents that look like they came from your company, not a default template, you give it the raw ingredients and written production guides, then let the tooling from section 03 assemble the files.
Brand assets
Keep a dedicated assets folder (in your output workspace, not the text vault, since these are images) holding your logos, colors, and fonts. Provide multiple logo variants, the practical rule I learned the hard way: never a dark-text logo on a dark background. Give the AI a light-background logo and a dark-background logo and a rule for which to use where, and it stops making that mistake.
Production guides
Write a short guide per document type, a proposal guide, a general document guide, a slide guide, that specifies margins, fonts, footer layout, cover-page treatment, where the logo goes. Point CLAUDE.md at them: "read the relevant production guide before producing any branded document." The AI then builds Word, PDF, and PowerPoint files that match your standards every time, using docx, WeasyPrint, and pptxgenjs under the hood.
| Deliverable | Engine | Good for |
|---|---|---|
| Word (.docx) | docx + your template | Letters, memos, contracts, formatted reports |
| WeasyPrint (HTML → PDF) | Proposals, briefings, with real page numbers and running headers | |
| Excel (.xlsx) | exceljs | Models, trackers, data with formulas |
| PowerPoint (.pptx) | pptxgenjs | Decks from an outline |
And the standing rule from earlier applies: these finished files save to your output folder, never into the Markdown vault.
15 · Voice & output
Formatting rules worth writing down
Small, consistent formatting rules compound. Put the ones you care about in CLAUDE.md so you never police them by hand. A sampler of the kind of rules that earn their place:
- Output locations: Markdown stays in the vault; binaries go to the output folder. (The one non-negotiable.)
- Naming: a consistent file-naming convention, dates as
YYYY-MM-DD, kebab-case, no spaces where it matters. - Punctuation quirks: whatever tells you're allergic to. Mine forbids em dashes; the AI uses commas, colons, and parentheses instead.
- Boilerplate: don't add signature blocks or auto-populated fields the downstream system fills in.
- Numbers with one source: for any headline metric, unit counts, headcount, AUM, name the single canonical note it must be read from, and forbid quoting it from memory. This kills the slow drift of a wrong number propagating across documents.
Every formatting rule is you noticing a mistake once and writing it down so it never recurs. The vault gets more correct the longer you use it, because corrections accumulate as rules rather than evaporating in chat history. That compounding is the whole return on the setup.
16 · Go
Starter kit & setup checklist
The whole tool install in one block. Paste it into Terminal after you've installed Homebrew and Node. Grab a coffee; it runs itself.
# --- command-line document tools ---
brew install poppler pandoc python@3.12 pango
# --- PDF engine (real headers/footers/page numbers) ---
pip3.12 install weasyprint
# --- native document builders (Word / Excel / PowerPoint) ---
npm install -g docx exceljs pptxgenjs
# --- the agent itself (if not already installed) ---
npm install -g @anthropic-ai/claude-code
Download the starter files
Five ready-to-edit Markdown files that seed a new vault. Start with START-HERE.md: drop all five into an empty folder, open Claude Code there, and tell it to read that file and set everything up. Nothing here is proprietary; the {{curly-brace}} placeholders are yours to fill in.
The order of operations
- Install Obsidian; create a vault folder you own.
- Install Homebrew, then Node, then Claude Code.
- Run the tool-kit block above once.
- Number your folders by workflow (00 → 90).
- Create an output folder outside the vault for all finished PDFs/docs.
- Write a
CLAUDE.mdat the vault root: context, the "vault is system of record" rule, a routing table, conventions, hard rules, and the installed-tools table. - Create
90-System/Tag-Taxonomy.mdwith your closed lists for type / entity / status. - Adopt the two link habits: link liberally, and link by role not by name.
- Build a voice guide from a real corpus of your own writing; wire it in as a skill.
- Write your brand production guides and drop logo variants in an assets folder.
- Then start working, and every time you correct the AI twice, write the correction into a rule or a memory.
If you take a single thing from this: write durable knowledge into files, not chat windows. Structure, tooling, and conventions all amplify that habit, but the habit is the engine. A vault you feed consistently becomes an institution that thinks with you. One you only talk to stays a chatbot.
A practical setup guide for operators building an AI-run knowledge vault. Tools referenced, Obsidian, Claude Code, Homebrew, Pandoc, Poppler, WeasyPrint, are third-party; check each for current install steps. Generalized from a working executive setup; contains no proprietary or confidential material. Share freely.