Skip to content

04 · Knowledge Management

S2 · Pattern 🔬 Research 2026-04-17

A knowledge-work environment needs a knowledge system — a place where thinking accumulates, gets refined, and becomes accessible later. The pattern has specific requirements for AI agent integration:

  1. Plain-text markdown files on the local filesystem (not a proprietary database)
  2. Stable paths + human-readable names so agents can navigate via glob/grep/read
  3. Optional graph overlay for human navigation; not required for agents
  4. A CLI or programmatic interface so automation can add/query without a GUI

This combination rules out most “second brain” apps that lock content into closed formats (Roam, Notion-as-KB, Evernote). What’s left is mostly Obsidian, Logseq, and plain-text-with-a-tool-chain.

  • Files on your filesystem.md in folders. No server, no account required, no lock-in.
  • Stable feature set — the core is simple (folders + files + links + tags). Plugins add what’s needed.
  • Strong community — deep plugin ecosystem, many well-maintained ones.
  • Obsidian CLI — now available (v1.12.4+), making scripting straightforward.
  • Works with this scaffold’s Obsidian-Flavored-Markdown — wikilinks, callouts, properties all render both in Obsidian and on the Starlight site.

Vault lives outside this repo (knowledge work is separate from the tier-3 work content — see the three-tier structure). Typical layout mirrors the temperature gradient from principle 02:

~/Obsidian/main-vault/
├── 00-inbox/
├── 01-working/
├── 02-learnings/
├── 03-reference/
├── 04-archive/
├── System/ # templates, plugin data
├── .obsidian/ # vault config (portable if you keep it in git)
└── _attachments/ # images, PDFs

As of v1.12.4 Obsidian ships with a CLI:

Terminal window
obsidian search "query" # search the current vault from terminal
obsidian open "Note Name" # open a note
obsidian get "Note Name" # stream note content to stdout

Enable: Obsidian Settings → General → CLI → Register.

See ../../docs/knowledge-base-guide.md (temporary location, will migrate into this layer) for the full CLI walkthrough.

PluginPurposeAuthor
DataviewQuery notes like a databasecommunity
TemplaterScripted templatescommunity
obsidian-daily-notes-ngNext-gen daily notes with NLP datesme
obsidian-folder-tag-syncBidirectional folder↔tag syncme
obsidian-immich-pickerInsert images from Immichme
crosswalkerGRC compliance crosswalkingme
obsidian-criticmarkupSuggest edits / annotationsme
tasknotesTask + time trackingme

See my Obsidian-related repos on GitHub for the full list.

This scaffold deliberately preserves Obsidian syntax so the same files work both in-vault (for direct editing) and on this site:

  • [[wikilinks]] resolve via remark-wiki-link
  • > [!note] callouts render via remark-obsidian-callout
  • YAML frontmatter is native to both
  • Images work via relative paths

The obsidian-markdown, obsidian-bases, and json-canvas skills in ../../skills/ keep AI agents fluent in the Obsidian dialects when authoring or editing vault content.

AlternativeWhy not (for me)
LogseqOutliner-first UX; I prefer document-first. Great for people with the opposite preference.
NotionNot plain text. Locks content to their servers. Poor fit for agent integration.
Roam ResearchSimilar concerns to Notion + expensive.
TiddlyWikiSingle HTML file model; hard to integrate with file-tree tooling.
Zettlr / JoplinReasonable alternatives; smaller plugin ecosystems.
Plain markdown + VS CodeWorks if you don’t need graph navigation. Drops when vault gets big.
  • Neo4j + Ollama + MegaMem — Obsidian-to-Neo4j bridge for semantic search. Pre-beta; watching.
  • Openclast (my project) — browser-based Obsidian with CRDT sync. When this matures, it becomes an alternative for multi-device vault editing.
ToolWhere
Obsidianobsidian.md/download
Obsidian CLIBuilt-in since v1.12.4 (enable in Settings)
PluginsCommunity Plugins browser inside Obsidian
Connects toHow
01 · AI Coding CLIsAgents navigate the vault via filesystem + Obsidian CLI
05 · Home LabVault sync via Syncthing or Obsidian Sync
This scaffoldPrinciples pages use Obsidian callouts + wikilinks; render identically on the site
Obsidian callouts (> [!note], > [!warning]) render natively in Obsidian but degrade to plain blockquotes in the Starlight site mirror. For docs that get site-mirrored (01-kernel/, 02-stack/, 03-work/), prefer Starlight syntax (:::note … :::). Obsidian syntax is appropriate for knowledge-base/ content (Obsidian-native demo) only.