Mm vault
A cross-platform, file-based persistent memory and prompt bridge for Claude Code, claude.ai, and Antigravity IDE. Synchronizes project passports, handoffs, and session logs in an Obsidian Vault, connecting web planning with local CLI execution. Install via: npx markdown-memory
npx -y skills add mworldorg/markdown-memory --skill mm-vaultAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 23 stars23 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Создаёт приватный vault-репозиторий памяти проекта в Obsidian и пушит его на GitHub для синхронизации с claude.ai Knowledge. Use when user says "создай vault", "синхронизация памяти", "memory sync", "/mm vault", "/mm-vault".
SKILL.md
7.9 KB, as published. Nobody here has run it
mm-vault — Memory Vault Git Sync Initializer
Инициализирует и настраивает приватный git-репозиторий для папки памяти проекта Obsidian Vault. Это позволяет синхронизировать долгосрочную память с claude.ai Project Knowledge/Files через интеграцию с GitHub, исключая ручной копипаст.
Конфиг
Загрузи mm-config.json по алгоритму из <repo>/docs/CONFIG-LOADING.md. Поддержка mm-config.local.json overlay обязательна.
Понадобятся:
paths.obsidian_projectspaths.obsidian_vault
Процесс
Шаг 1. Определи проект и папку памяти (Vault Root)
- Определи проект по
passport.mdв текущейcwdили её родительских директориях.- Извлеки имя проекта из YAML frontmatter
project:(или из поля "Имя" таблицы Идентификация). - Если
passport.mdне найден, выведи предупреждение и спроси имя проекта или предложи запустить/mm newсначала.
- Извлеки имя проекта из YAML frontmatter
- Определи slug проекта (в нижнем регистре, с заменой пробелов на дефисы). Для
markdown-memoryslug равенmarkdown-memory. - Определи путь базы знаний
<vault_root>по единому алгоритму резолва:- (1) из секции
## Obsidian Knowledge VaultвCLAUDE.mdсо строкойХранилище знаний: <путь>, если она есть; - (2) локальная папка
.vault/в корне проекта; - (3) глобальная папка проекта
<obsidian_projects>/<slug>/из конфига.
- (1) из секции
- Выведи пользователю подтвержденный путь папки памяти.
Шаг 2. Покажи состав папки и прогони Secret-Scan
- Сделай рекурсивный обход папки
<vault_root>и покажи дерево файлов, которые попадут в репозиторий. - Прогони все файлы папки через паттерны из канона
<repo>/config/secret-patterns.json(пояснение —<repo>/docs/SECRET-PATTERNS.md).- Класс A (Высокоточные секреты):
- Если найден хотя бы один реальный секрет, останови выполнение (hard-stop).
- Покажи пользователю найденную строку и файл.
- Жди явного исправления/подтверждения перед созданием репозитория. Не продолжай автоматически. Блокирует только реальный секрет (когда человек сам убирает реальный секрет).
- Класс B (Широкие совпадения / предупреждения):
- Выведи предупреждения в формате:
⚠️ возможный секрет/длинная строка в <файл>, строка N: <первые 12 симв.>… — проверь вручную (не замаскировано). - Важно: Класс B служит только для предупреждения пользователя. НИКОГДА не редактируй содержимое файлов памяти проекта ради сканера. Скилл никогда не переписывает текст заметок.
- Выведи предупреждения в формате:
- Класс A (Высокоточные секреты):
- Жди подтверждения (y/n) от пользователя для создания репозитория и первого пуша.
Шаг 3. Создай или обнови .gitignore
В папке <vault_root> создай или обнови файл .gitignore со следующим содержимым:
.obsidian/
.trash/
Thumbs.db
.DS_Store
*.tmp
*.log
Шаг 4. Инициализация репозитория (Идемпотентно)
- Проверь, инициализирован ли уже Git в
<vault_root>(наличие папки.git). - Если Git не инициализирован:
- Выполни
git initв<vault_root>. - Настрой ветку по умолчанию (например,
git checkout -b mainилиgit branch -M main).
- Выполни
- Добавь файлы в индекс и сделай коммит:
git add -Agit commit -m "init: <slug> vault (passport, handoff, dashboard, sessions)"
Шаг 5. Создание приватного репозитория на GitHub
- Проверь, настроен ли уже remote
origin(git remote -v). - Если remote
originуже настроен:- Выведи:
GitHub remote origin уже настроен: <remote_url> - Выполни пуш:
git push -u origin main
- Выведи:
- Если remote
originне настроен:- Создай приватный репозиторий на GitHub под владельцем (по умолчанию
mworldorgили по умолчанию из gh CLI):gh repo create mworldorg/<slug>-vault --private --description "Memory vault for <slug> project" --source . --push - Если команда завершилась успешно, переходи к Шагу 6.
- Если произошел сбой создания через CLI, предложи пользователю создать репозиторий вручную, добавить remote и сделать пуш.
- Создай приватный репозиторий на GitHub под владельцем (по умолчанию
Шаг 6. Инструкция по ручному подключению
Напечатай URL созданного репозитория и выведи подробную инструкцию по ручному подключению памяти в claude.ai:
✅ Репозиторий памяти успешно синхронизирован!
URL: https://github.com/mworldorg/<slug>-vault
Теперь подключи его к claude.ai:
1. Открой нужный Project в claude.ai
2. Перейди в раздел "Project Knowledge" (или "Files")
3. Нажми кнопку "+" -> выбери "GitHub"
4. Выбери репозиторий: mworldorg/<slug>-vault
5. Отметь файлы для синхронизации:
• passport.md
• handoff.md
• dashboard.md
• sessions/ (все файлы сессий)
6. Сними галочку со скачивания .gitignore (если применимо)
7. Нажми "Add to Project"
8. Каждый раз после вызова `/mm save` новые изменения будут запушены в репо автоматически. В claude.ai останется лишь нажать кнопку "Sync now" в панели Files/Project Knowledge.
Идемпотентность и ограничения
- Репозиторий ВСЕГДА должен быть приватным (
--private). - Не пересоздавай репозиторий, если он уже есть на GitHub и настроен remote. Просто сделай коммит изменений и пуш.
- Не модифицируй файлы кода основного репозитория проекта, только папку Obsidian Vault.