4.0 KiB
goldbrain-memory
Persistent memory for Claude via the goldbrain Obsidian vault, using the Obsidian Local REST API.
Reads and writes notes across Claude/CoWork sessions using direct REST calls — no MCP server required. Built for Bryan Gilliom (CEO, Message Point Media) as the primary operator; Jason is the vault architect.
What it does
- Loads operator preferences, current context, and relevant project notes at the start of substantive conversations (parallel cold-start reads)
- Writes facts, preferences, and decisions Bryan asks Claude to remember — searching first so it updates rather than duplicates
- Manages project lifecycle (
incubating → active → on-hold/archived) with folder/status:agreement - Tracks scope switches, triages the inbox, and runs a monthly vault-health pass
- Logs working sessions so future conversations can pick up where they left off
- Defers to the vault's own
BOOTSTRAP.md/CLAUDE.md/STRUCTURE.mdfor structure and the operating contract
What's new in 0.2
Adopts the procedural model from Jason's ECHO plugin (v0.5) while keeping goldbrain's in-vault control docs as the source of truth:
- Parallel context loading, search-before-write, and append idempotency (no more duplicate log lines)
- Project lifecycle folders and the folder/
status:agreement rule - Scope switching with a rolling Scope History, inbox triage, and a monthly vault-health check
- A resilient daily Agent Log routine that auto-creates the note/heading and avoids duplicate headings
operator-preferences.mdsplit into promoted Fact / Pattern rules vs. timestamped Observations- Em-dash / parenthesis bug fix: heading PATCH targets now percent-encode special characters (em dash →
%E2%80%94), with a GET→edit→PUT fallback and an ASCII-heading prevention rule
Configuration
The plugin is hardcoded for:
- Server:
https://goldbrainapi.mpm.to(reverse proxy → Obsidian Local REST API on192.168.86.15:27124) - API Key: stored in the skill (personal plugin, not for distribution)
The endpoint presents a valid TLS certificate, so -k is not required. The bearer key lives only in the plugin — never inside the vault (per the vault's own safety rules).
Vault layout (root-addressed)
/vault/
├── CLAUDE.md STRUCTURE.md BOOTSTRAP.md spinup.md index.md README.md
├── inbox/ (captures, imports, processing-log)
├── journal/ (daily, weekly, monthly, templates)
├── projects/ (active, incubating, on-hold, archived)
├── areas/ (business, personal, learning, systems)
├── resources/ (concepts, references, people, meetings, source-material)
├── decisions/ (by-date, by-project)
├── reviews/ (weekly, monthly, quarterly, annual)
├── archive/ (notes, projects, imports)
└── _agent/
├── context/ ← task-scoped context bundles
├── memory/ ← working / episodic / semantic
├── sessions/ ← YYYY-MM-DD-HHMM-<slug>.md
├── templates/ ← canonical note templates
├── outputs/ ← briefs / drafts / summaries / synthesis
├── skills/ ← active / archived
└── heartbeat/
First run
The vault ships its own BOOTSTRAP.md. On first use the skill reads /vault/BOOTSTRAP.md; if present it follows that preflight, and if absent (a fresh empty vault) it offers to bootstrap.
Skills
| Skill | Triggers |
|---|---|
goldbrain-memory |
"remember that", "save to memory", "what do you know about me", "load my profile", "check my notes", "log this decision", "add to my inbox" — and proactively at the start of substantive conversations |
Requirements
- Obsidian running on the backend with the Local REST API plugin enabled (binding host
0.0.0.0) - HTTPS access to
https://goldbrainapi.mpm.tofrom the Claude/CoWork session environment