SETUP
Setup — first run
The vault structure, config, commands, templates, dashboards, and seed notes are built. Two things need you (Claude Code can't sideload Obsidian community plugins).
1. Open the vault
Obsidian → Open folder as vault → select llm-pkm. Core config (folders, daily-notes, bookmarks, Bases) loads automatically.
2. Install community plugins
Settings → Community plugins → Browse, install + enable these 5:
| Plugin | Why |
|---|---|
| Dataview | dashboards, MOC queries, Cockpit panels |
| Templater | smart note templates (90-Meta/Templates/) |
| Tasks | task queries in daily note + dashboards |
| Excalidraw | renders the architecture diagram in System.md |
| Iconize (Icon Folder) | folder glyphs |
Bases is built-in (core) — already enabled, no install needed.
After enabling:
- Dataview → turn ON "Enable JavaScript Queries" (Cockpit needs DataviewJS).
- Templater → set template folder to
90-Meta/Templates; optionally enable folder triggers. - Cockpit CSS → Settings → Appearance → Snippets → toggle
cockpiton (pre-listed).
3. Embed the Claude Code terminal (Command Center)
Install one terminal plugin so Claude runs inside Obsidian, split under the Cockpit:
| Plugin | Notes |
|---|---|
| Terminal (polyipseity) | Community store. Settings → Terminal → add an integrated profile, startup command claude, working dir = vault root. Open via command palette → "Terminal: Open integrated terminal". |
| alt: Claude Sidebar | Community store. Auto-launches Claude in a sidebar pane, multi-tab. Simpler, less configurable. |
Then drag the terminal pane to a horizontal split below the Cockpit note → mirrors the screenshot layout.
Workflow: Cockpit command tiles copy the slash-command to clipboard (click → "✓ copied") → paste into this terminal → run. (No auto-send — deliberate, avoids fragile keystroke injection.)
4. Pin the Cockpit
Bookmarks are pre-seeded (🛰️ Cockpit, 🏠 Home, etc.). Open the Bookmarks pane → click 🛰️ Cockpit. (Want it to auto-open on launch? Install the optional Homepage plugin and point it at 90-Meta/Dashboards/Cockpit.md.)
The Cockpit is now a Command Center: header + LIVE badge, context-burn bar, knowledge-pulse cards (zettels/sources/projects/inbox with deltas), copy-command tiles, and today/projects panels. All DataviewJS +
cockpit.css— no Datacore. Numbers refresh on/status-refresh.
5. The commands (programs)
Run from Claude Code in the vault dir. Each is one "program" operating on the vault.
| Command | What it does |
|---|---|
/capture <text> | Zero-friction inbox. Appends a timestamped line to 00-Inbox/Inbox.md. No filing, no thinking — just dump the thought and move on. |
/process-inbox | The triage loop. Reads each inbox item, classifies it (task / project / idea / reference / area), routes it to the right folder with proper frontmatter, suggests links, then clears what it processed. Empties the inbox. |
/daily | Today's session log. Creates/opens 01-Daily/YYYY-MM-DD.md from the template; pulls open tasks, yesterday's carryover, and projects due today. Your standup view. |
/new-project <name> | Scaffold a project. Creates 10-Projects/<name>.md from template (outcome, tasks, due date); links it to a parent Area. |
/zettel <idea> | Atomic note. Creates a one-idea permanent note in 50-Zettel/, searches the vault for related notes, and weaves in up/related links so it's never an orphan. |
/link [note] | Graph weaver. Scans the vault for notes that should link to the target but don't yet (shared concepts/tags), then proposes + applies related links. Defaults to the most recently edited note. |
/moc <topic> | Map of Content. Builds/refreshes 60-MOCs/<topic>.md — a curated index of the notes on that topic, and fixes their up: backlinks. |
/research <question> | Cited research. Fans out web search (researcher subagent), writes a 70-Sources/ literature note with numbered citations, and spins out a synthesis zettel. |
/weekly-review | GTD review (read-only). Surfaces stale / on-hold / overdue projects and tasks, flags duplicates, and proposes archive moves — applies nothing without your OK. |
/status-refresh | Cockpit telemetry. Parses the latest Claude Code session log → writes 90-Meta/status/claude.json (tokens, context %, model) for the Cockpit panel. |
Typical day: /capture thoughts as they hit → /process-inbox once to file them → /daily for the standup. Knowledge work: /research or /zettel → /link → /moc to organize. Maintenance: /weekly-review weekly.
Quick smoke test
/capture "buy domain for personal site"
/process-inbox
/daily
/status-refresh
Then open the Cockpit — telemetry tile (tokens, context %), today's tasks, active projects, recent thinking, inbox pressure should all render.
Note: git autosave runs automatically (Stop hook) — every turn that changes files makes one commit. Commit-only; you push manually. See
CLAUDE.md→ Version control.
Known v1 limitations (iterate later)
- Context % accuracy: the session transcript's model field omits the
[1m]suffix, so a 1M-context session is measured against the 200k window (shows ~2.5× high). Fine for trend; fix when needed. - Telemetry is push, not live: numbers are as-fresh-as the last
/status-refresh. - Daemons deferred: no auto inbox-sweep / auto daily-note yet (by design — see plan). Promote proven loops to
/schedulecron + hooks later.
See 90-Meta/System.md for the architecture and CLAUDE.md for the kernel contract.