Skip to main content
skill CX Codex

memory-bridge · ar9av — Claude Code skill: what it does, how to install

Browse an Obsidian wiki by which AI tool wrote each page, then diff two agents against each other. Handy when Claude, Codex and Copilot sessions pile up in separate silos.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a claude-code
Open on GitHub

What memory-bridge does

The skill takes .manifest.json in your Obsidian vault as the source of truth. Every entry has a source_type, and each one maps to a tool name: claude, codex, hermes, openclaw, copilot, pi, manual or ingest. A page lands in several sets when several tools touched it. Titles and one-line descriptions come from index.md.

Setup is the part that trips people up. The skill needs OBSIDIAN_VAULT_PATH and resolves it the way llm-wiki/SKILL.md describes: an inline @name override first, then .env walking up from the working directory, then global config, then an interactive prompt. An empty or missing manifest means there is nothing to browse, so run /wiki-history-ingest before you expect output.

Modes cover one tool's pages, a topic search inside that set, a diff of two tools, and a page-by-tool matrix capped at 50 rows with the busiest pages on top. Runs get logged to log.md. When impl-validator exists in the environment, the draft output goes through it before you see anything.

What it helps with

  • sort wiki pages by the tool that produced them
  • find what Codex wrote about build tooling and check it against Claude's notes
  • spot topics only one agent has ever touched
  • build a page-by-tool matrix and find the pages with the most contributors
  • catch blind spots between your own past sessions

Example prompts for the agent

  • /memory-bridge claude — show everything Claude contributed
  • /memory-bridge codex "postgres" — what Codex wrote about postgres
  • /memory-bridge diff claude codex — where the two agents diverge

How to install memory-bridge

1Skills CLI (Vercel)

npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a claude-code

2Manually: put the files in place

~/.claude/skills/memory-bridge/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/memory-bridge/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about memory-bridge

How do I install memory-bridge in Claude Code?

Run npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a claude-code. The skill lands at ~/.claude/skills/memory-bridge/SKILL.md.

What does memory-bridge do?

It lists Obsidian wiki pages filtered by the AI tool that created them, then compares tools to show what one knows and the other does not.

What does the skill need to run?

OBSIDIAN_VAULT_PATH pointing at the vault, plus a populated .manifest.json in its root. A missing manifest is reported as such, with a nudge to run /wiki-history-ingest first.

Source text

SKILL.md · MIT
---
name: memory-bridge
description: >
  Browse or compare wiki knowledge by originating AI tool. Use for cross-tool memory questions, tool-specific knowledge, or gap/diff analysis between Codex, Claude, Hermes, and other agents.
---

# 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` (inline `@name` override → walk up CWD for `.env` → global 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:
```
rg -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 with >0 overlap or unique pages to keep output concise).

Present:

```
## Memory Bridge Diff — <tool-a> vs <tool-b>

### Only in <tool-a> (<N> pages)
These concepts exist in your wiki from <tool-a> sessions but <tool-b> has never touched them.
<list with one-line descriptions from index.md>

### Only in <tool-b> (<N> pages)
<list>

### Shared (<N> pages)
Both tools have contributed to these pages.
<list — only show if ≤15; otherwise just the count>

### Notable gaps
<highlight the most interesting asymmetries — e.g. "codex has 12 pages on build tooling that claude has never seen">
```

### Map Mode

Build a matrix showing every page and which tools have touched it. Cap at 50 rows; sort by number of contributing tools descending (most cross-tool pages first — these are the richest nodes).

```
| Page | claude | codex | hermes | copilot | pi |
|------|--------|-------|--------|---------|----|
| [[react-patterns]] | ✓ | ✓ | — | ✓ | — |
| [[rust-ownership]] | — | ✓ | — | — | ✓ |
```

## Step 3: Spawn impl-validator (if available)

After generating output, if the `impl-validator` skill is available in the current environment, spawn it as a subagent:

```
impl-validator check:
  goal: "Browse/diff wiki knowledge by source tool and surface cross-tool blind spots"
  artifacts: [the output you just generated]
  checks:
    - Did you correctly parse source_type from .manifest.json?
    - Are page counts plausible (not 0 unless vault is empty)?
    - Is the diff symmetric (a−b and b−a are disjoint)?
    - Did you avoid reading full page bodies when not needed?
```

Apply any issues it surfaces before presenting output to the user.

## Step 4: Log

Append to `$OBSIDIAN_VAULT_PATH/log.md`:
```
- [TIMESTAMP] MEMORY-BRIDGE mode=<browse|search|diff|map> tool=<tool> pages_shown=N
```

## Output Conventions

- Always show page counts so the user can calibrate how much knowledge is in each tool's silo.
- Use `[[wikilinks]]` for page references (or standard Markdown links if `OBSIDIAN_LINK_FORMAT=markdown` is set).
- In diff mode, call out the most *surprising* asymmetry explicitly — that's the insight the user came for.
- If `.manifest.json` is empty or missing, say so clearly and suggest running `/wiki-history-ingest` first.

© Ar9av · MIT · Ar9av/obsidian-wiki

Similar skills

All skills for Agent setup: memory, context, orchestration →

memory-bridge by other authors comes first.

From the same set38

wiki-research Runs several rounds of web research on a topic, synthesizes the findings and files them as structured pages in an Obsidian wiki. CX Codex +1 2,800installs wiki-capture Turns conversations and debugging findings into structured Obsidian notes. Supports rapid staging to _raw/ and atomic corrections without touching raw sources. CX Codex +1 2,800installs wiki-synthesize Scans an Obsidian vault for concepts that keep co-occurring but have no page tying them together, then scores the pairs and drafts cross-cutting synthesis pages. CX Codex +1 2,700installs codex-history-ingest Mines your Claude CLI session logs and turns them into Obsidian wiki pages. Useful once rollout files pile up and the decisions inside them are hard to find. CX Codex +1 2,600installs wiki-agent Searches raw conversation history from a specific AI agent, distills matching sessions into an Obsidian vault, and returns an answer. Useful when recalling past decisions across different CLI tools. CX Codex +1 2,400installs hermes-history-ingest Distills Hermes memories and session history into an Obsidian wiki. Use it for regular imports or for mining durable knowledge from past work. CX Codex +1 2,400installs daily-update daily-update maintains an Obsidian wiki by checking source freshness, refreshing the index and hot.md, and setting up a daily scheduler when needed. CX Codex +1 2,300installs openclaw-history-ingest Imports durable knowledge from OpenClaw history into Obsidian. Use it to mine session logs, memory files, and notes without turning every session into a separate page. CX Codex +1 2,200installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor