memory-bridge · ar9av — скилл для Claude Code: что делает и как установить
Скилл показывает, какой ИИ-инструмент что записал в вашу Obsidian-вики, и сравнивает наборы знаний между агентами. Полезно, когда сессии Claude, Codex и Copilot копятся в разных углах.
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a claude-codeЧто делает memory-bridge
Скилл читает .manifest.json в вашем Obsidian-хранилище и раскладывает страницы вики по тому, какой инструмент их создал: claude, codex, hermes, openclaw, copilot, pi, manual или ingest. Одна страница может попасть в несколько наборов, если её правили разные агенты. Соответствие берётся из поля source_type каждой записи манифеста, а заголовки и описания страниц скилл подтягивает из index.md.
Перед первым запуском нужен OBSIDIAN_VAULT_PATH. Скилл ищет его по протоколу из llm-wiki/SKILL.md: инлайн-переопределение @name, затем .env вверх по дереву каталогов, потом глобальный конфиг и запрос настроек. Манифест пустой или отсутствует — сначала стоит прогнать /wiki-history-ingest, иначе смотреть нечего.
Режимы: страницы одного инструмента, поиск по теме внутри его набора, сравнение двух инструментов и матрица «страница × инструмент» до 50 строк. Самые общие узлы оказываются сверху. Каждый запуск добавляет строку в log.md хранилища. Если в окружении есть скилл impl-validator, результат уходит к нему на проверку до показа.
Какие задачи решает
- разложить страницы вики по инструменту-источнику
- найти всё, что Codex записал про сборку, и сверить с тем, что знает Claude
- увидеть темы, которых касался только один агент
- построить матрицу «страница × инструмент» и вычислить узлы с наибольшим числом авторов
- поймать слепые зоны между своими же сессиями
Примеры запросов агенту
/memory-bridge claude— покажи, что накопилось от Claude/memory-bridge codex "postgres"— что Codex писал про postgres/memory-bridge diff claude codex— где расходятся два агента
Как установить memory-bridge
1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a claude-code2Вручную: положить файлы
~/.claude/skills/memory-bridge/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/memory-bridge/
1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a codex2Вручную: положить файлы
.agents/skills/memory-bridge/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a cursor2Вручную: положить файлы
.cursor/skills/memory-bridge/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Ar9av/obsidian-wiki memory-bridge2Вручную: положить файлы
.github/skills/memory-bridge/SKILL.md1Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a gemini-cli2Командой платформы
gemini skills install https://github.com/Ar9av/obsidian-wiki --path .skills/memory-bridgeВручную: положить файлы
.devin/skills/memory-bridge/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора34
Другие версии memory-bridge
Похожие
Рядом в теме «Настройка агента: память, контекст, субагенты»
Всё по теме «Настройка агента: память, контекст, субагенты» →Вопросы о memory-bridge
Как установить memory-bridge в Claude Code?
Запустите npx skills add Ar9av/obsidian-wiki --skill memory-bridge -a claude-code. Скилл окажется в ~/.claude/skills/memory-bridge/SKILL.md.
Что делает memory-bridge?
Показывает страницы Obsidian-вики с фильтром по тому, какой ИИ-инструмент их создал, и считает расхождения между инструментами: что есть у одного и нет у другого.
Что нужно, чтобы скилл заработал?
Переменная OBSIDIAN_VAULT_PATH с путём к хранилищу и заполненный .manifest.json в его корне. Если манифест пустой, скилл прямо скажет об этом и предложит сначала выполнить /wiki-history-ingest.
Исходный текст
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