obsidian-memory-system
Structured persistent memory system using an Obsidian vault with daily journals, project docs, knowledge base, self-improvement logging, and Discord workspace integration. Use when: (1) Setting up a new OpenClaw agent's memory system, (2) Agent needs persistent memory across sessions, (3) Organizing project documentation, daily journals, or knowledge base, (4) Logging errors, learnings, or feature requests for continuous improvement, (5) Setting up Discord as primary workspace (voice, components, threads, channel architecture), (6) User says 'set up memory', 'initialize vault', 'create journal', 'log this error', 'remember this', 'update memory', 'set up discord', or 'migrate from whatsapp'. Also covers semantic search setup, promotion pipeline for learnings into brain files, and Discord workspace configuration.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/catteres/obsidian-memory-systemObsidian Memory System
Persistent agent memory using an Obsidian vault with structured folders, daily journals, semantic search, and self-improvement logging.
Architecture
~/clawd/ ← OpenClaw workspace
├── SOUL.md ──symlink──→ vault/00-brain/SOUL.md
├── USER.md ──symlink──→ vault/00-brain/USER.md
├── AGENTS.md ──symlink──→ vault/00-brain/AGENTS.md
├── TOOLS.md ──symlink──→ vault/00-brain/TOOLS.md
├── MEMORY.md (copy, NOT symlink — indexer skips symlinks)
├── HEARTBEAT.md (standalone, periodic tasks)
├── memory/ (real dir with copies — synced from vault/10-journal/)
├── scripts/sync-memory.sh (rsync vault→memory every 30 min via cron)
└── vault/ ← Obsidian vault
├── 00-brain/ Core identity files
├── 10-journal/ Daily work logs (YYYY-MM-DD.md)
├── 20-projects/ Project docs (overview, decisions, timeline)
├── 30-knowledge/ Reusable reference material
├── 40-people/ People notes
├── 50-ideas/ Future plans, brainstorms
├── 60-learnings/ Self-improvement logs (errors, learnings, feature requests)
└── templates/ Note templates
OpenClaw auto-loads workspace root files (SOUL, USER, AGENTS, TOOLS, MEMORY) every session. Symlinks bridge workspace ↔ vault so Obsidian and the agent see the same files.
⚠️ Memory indexer symlink limitation: OpenClaw's memory indexer (memorySearch) uses lstat and explicitly skips all symlinks — both directories and files. Use real file copies for MEMORY.md and memory/ with a sync script (see references/discord-setup.md → Memory Integration).
Setup
Run the setup script to initialize everything:
bash scripts/setup-vault.sh ~/clawd
This creates the vault structure, brain file templates, symlinks, vault/60-learnings/ directory, and templates. Then customize each brain file for your agent.
For details on each file's purpose: read references/brain-files.md
For OpenClaw config: read references/openclaw-config.md
Daily Workflow
Session Start
- OpenClaw loads brain files automatically (SOUL, USER, AGENTS, TOOLS, MEMORY)
- Read today's and yesterday's journal:
vault/10-journal/YYYY-MM-DD.md - Use
memory_searchfor any recall needs
During Work
- Use
memory_search("query")to find past context - Follow wikilink references:
[[20-projects/name/overview|Name]]
After Completing Tasks
- Update daily journal —
vault/10-journal/YYYY-MM-DD.md(always) - Update project docs —
vault/20-projects/*/overview.md(if project changed) - Update MEMORY.md — Only for new preferences, lessons, or projects
Self-Improvement Logging
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-catteres-obsidian-memory-system": {
"enabled": true,
"auto_update": true
}
}
}