How I Made My Obsidian Vault AI-Friendly

tags: ObsidianAIProductivityRAGAutomation

blog post title

How I Made My Obsidian Vault AI-Friendly

In the era of Local LLMs and Autonomous Agents, a "Second Brain" is only as good as its accessibility to machines. Recently, I've transformed my Obsidian vault from a human-centric folder structure into an AI-Ready Knowledge Hub.

Here is how I did it.

πŸ—οΈ The Problem: Context Overload

AI agents (like Gemini CLI or local Ollama instances) often struggle with "context noise." If a vault is just a flat list of files, the agent spends too many tokens searching for the right information. To solve this, I implemented a Semantic Navigation Layer.

πŸ› οΈ Step 1: Folder-Level READMEs

I added a README.md to every major directory (Projects, Areas, Resources, System). These aren't for meβ€”they are for the AI.

Vault Root/
β”œβ”€β”€ llms.txt (The Global Manifest)
β”œβ”€β”€ 1-Projects/
β”‚   └── README.md (Action items & Blog logic)
β”œβ”€β”€ 2-Areas/
β”‚   └── Friki/
β”‚       └── README.md (Homelab & Tech Truths)
└── _System/
    └── README.md (Scripts & Automation Logic)

Each README contains:

  • Folder Intent: What belongs here.
  • πŸ€– AI Instructions: Specific rules for the agent (e.g., "Check the Homelab definition before suggesting network changes").

πŸ“„ Step 2: The llms.txt Standard

Following emerging standards, I added a root-level llms.txt. This acts as a "Manifest" for any AI entering the vault. It defines the tech stack, the "Rules of Engagement," and the priority navigation map.

Example llms.txt snippet:

# Notevault: Personal Knowledge & Engineering Hub
AI agents MUST reference folder-level READMEs:
- _System/: Core logic & automation. [[_System/README]]
- 1-Projects/: Active work & learning. [[1-Projects/README]]
- 4-Archives/: DO NOT SEARCH BY DEFAULT. [[4-Archives/README]]

🏷️ Step 3: Standardizing Metadata (YAML)

I created a Standard AI Note Template that enforces a consistent metadata block. This allows an AI to "skimbrowse" a note in milliseconds without reading the full body.

---
title: "Project Phoenix"
summary: "Central hub for Proxmox backup automation and cloud syncing."
type: project
status: active
priority: 8
last_verified: 2026-04-03
---

Get the copy-pasteable template here: [[1-Projects/Blog/Drafts/golden-ai-obsidian-template|The 'Golden' Obsidian Template for AI Agents]]

πŸ›οΈ Step 5: Semantic Taxonomy

To make these fields useful, I defined a strict "Allowed Values" list. An AI shouldn't have to guess if a note is a "guide" or a "how-to."

  • type: Categorizes the intent (e.g., project, reference, script).
  • status: Tracks freshness (e.g., active, review, legacy).
  • priority: A 1-10 scale that helps the agent rank search results during RAG.

This taxonomy ensures that when I say "Find me high-priority scripts for my Homelab," the agent knows exactly which YAML fields to filter.

πŸ€– Step 4: The "Archives" Exclusion Policy

To prevent the AI from hallucinating based on outdated information, I established a strict policy in the 4-Archives/README.md: Do not search here by default. This drastically improves the accuracy of the agent's current-state suggestions.

πŸš€ The Result

Now, when I ask my AI agent to "Update my blog publishing script," it doesn't just grep the whole vault. It reads the _System/README.md, identifies the /scripts folder, understands the purpose of each script from their individual metadata, and acts with surgical precision.

This setup has turned my notes into a structured database that is as easy for an LLM to navigate as it is for me to read.