
Memory Bridge
Browse and diff Obsidian wiki pages by which AI tool (Codex, Claude, Hermes, etc.) originally wrote them so you can spot cross-tool knowledge gaps.
Install
npx skills add https://github.com/ar9av/obsidian-wiki --skill memory-bridgeWhat is this skill?
- Resolves Obsidian vault path via llm-wiki config protocol (.env walk-up, ~/.obsidian-wiki/config)
- Browse mode lists wiki knowledge filtered by originating AI tool from .manifest.json and page sources frontmatter
- Diff mode compares tool memories—unique pages, overlaps, and gaps between tools
- Works from any project directory; triggers on /memory-bridge and natural phrases like cross-tool memory
- Uses index.md for human-readable page titles and one-line descriptions
Adoption & trust: 1.3k installs on skills.sh; 1.8k GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Microsoft Foundrymicrosoft/azure-skills
Azure Aimicrosoft/azure-skills
Azure Hosted Copilot Sdkmicrosoft/azure-skills
Lark Eventlarksuite/cli
Running Claude Code Via Litellm Copilotxixu-me/skills
Setup Matt Pocock Skillsmattpocock/skills
Journey fit
Primary fit
Canonical shelf is Operate because sustained agent work depends on reconciling provenance-backed wiki memory over time, even though you invoke it from any repo. Iterate fits ongoing refinement of what each tool “knows” versus blind spots surfaced in diff mode.
Common Questions / FAQ
Is Memory Bridge safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Memory Bridge
# Memory Bridge — Cross-Tool Knowledge Browser You are helping the user browse and compare their Obsidian wiki knowledge filtered by which AI tool originally produced it. The wiki tracks source provenance in `.manifest.json` and page `sources:` frontmatter — this skill surfaces that metadata as a navigable view. ## Before You Start 1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (walk up CWD for `.env` → `~/.obsidian-wiki/config` → prompt setup). This gives `OBSIDIAN_VAULT_PATH`. 2. Read `$OBSIDIAN_VAULT_PATH/.manifest.json` — this is the source-of-truth for what tool produced what. 3. Read `$OBSIDIAN_VAULT_PATH/index.md` for page titles and one-line descriptions. ## Commands Parse the user's invocation to determine mode: | Invocation | Mode | |---|---| | `/memory-bridge <tool>` | **Browse** — list all wiki pages sourced from `<tool>` | | `/memory-bridge <tool> "<topic>"` | **Search** — pages from `<tool>` that mention `<topic>` | | `/memory-bridge diff` | **Diff** — pages unique to each tool; overlap; blind spots | | `/memory-bridge diff <tool-a> <tool-b>` | **Diff** — compare two specific tools | | `/memory-bridge map` | **Map** — full origin matrix: every page × every tool that touched it | Recognized tool names: `claude`, `codex`, `hermes`, `openclaw`, `copilot`, `pi`, `manual` (hand-written), `ingest` (wiki-ingest documents). ## Step 1: Build the Source Map Read `.manifest.json`. For each source entry, extract: - `source_type` — maps to tool name: - `claude_conversation`, `claude_memory`, `claude_audit_log`, `claude_desktop_session` → `claude` - `codex_rollout`, `codex_index`, `codex_history` → `codex` - `hermes_memory`, `hermes_session` → `hermes` - `openclaw_memory`, `openclaw_daily_note`, `openclaw_session`, `openclaw_dreams` → `openclaw` - `copilot_session`, `copilot_checkpoint`, `copilot_transcript`, `copilot_memory_artifact` → `copilot` - `pi_session` → `pi` - `document` → `ingest` - anything else → `manual` - `pages_created` and `pages_updated` — the wiki pages that came out of this source Build a map: ``` tool_pages = { "claude": set(pages created/updated by claude sources), "codex": set(pages created/updated by codex sources), ... } ``` A page can appear in multiple tools' sets if multiple tools contributed to it. ## Step 2: Execute the Mode ### Browse Mode Filter `tool_pages[<tool>]` and present as a grouped list: ``` ## Knowledge from <tool> (<N> pages) ### By category - concepts/ — N pages - entities/ — N pages - skills/ — N pages ... ### Pages | Page | Category | Tags | Last updated | |------|----------|------|--------------| | [[page-name]] | concept | tag1, tag2 | 2026-04-10 | ... ``` Read frontmatter for the listed pages (grep for `^(title|category|tags|updated):`) — do not read full page bodies unless the user asks. ### Search Mode Within the filtered page set, run: ``` grep -l "<topic>" <pages in tool set> ``` Then grep section headers (`^##`) around matches to give context without full reads. Present results as a ranked list with the matching excerpt. ### Diff Mode Compute: - `only_in_a` = `tool_pages[a]` − `tool_pages[b]` - `only_in_b` = `tool_pages[b]` − `tool_pages[a]` - `shared` = `tool_pages[a]` ∩ `tool_pages[b]` If no specific tools are given, compare all tools pairwise (limit to pairs wi