Создаёт приватный vault-репозиторий памяти проекта в Obsidian и пушит его на GitHub для синхронизации с claude.ai Knowledge. Use when user says "создай vault", "синхронизация памяти", "memory sync", "/mm vault", "/mm-vault".
Scanned 8/31/2026
Install to Claude Code
npx -y skills add mworldorg/markdown-memory --skill mm-vault --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mm Vault?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mworldorg-mm-vault)More formats (shields.io, HTML) on the badges page.
---
name: mm-vault
version: 0.1.1
description: Создаёт приватный vault-репозиторий памяти проекта в Obsidian и пушит его на GitHub для синхронизации с claude.ai Knowledge. Use when user says "создай vault", "синхронизация памяти", "memory sync", "/mm vault", "/mm-vault".
---
# 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_projects`
- `paths.obsidian_vault`
## Процесс
### Шаг 1. Определи проект и папку памяти (Vault Root)
1. Определи **проект** по `passport.md` в текущей `cwd` или её родительских директориях.
- Извлеки имя проекта из YAML frontmatter `project:` (или из поля "Имя" таблицы Идентификация).
- Если `passport.md` не найден, выведи предупреждение и спроси имя проекта или предложи запустить `/mm new` сначала.
2. Определи **slug** проекта (в нижнем регистре, с заменой пробелов на дефисы). Для `markdown-memory` slug равен `markdown-memory`.
3. Определи путь базы знаний `<vault_root>` по единому алгоритму резолва:
- (1) из секции `## Obsidian Knowledge Vault` в `CLAUDE.md` со строкой `Хранилище знаний: <путь>`, если она есть;
- (2) локальная папка `.vault/` в корне проекта;
- (3) глобальная папка проекта `<obsidian_projects>/<slug>/` из конфига.
4. Выведи пользователю подтвержденный путь папки памяти.
### Шаг 2. Покажи состав папки и прогони Secret-Scan
1. Сделай рекурсивный обход папки `<vault_root>` и покажи дерево файлов, которые попадут в репозиторий.
2. Прогони все файлы папки через паттерны из канона `<repo>/config/secret-patterns.json` (пояснение — `<repo>/docs/SECRET-PATTERNS.md`).
- **Класс A (Высокоточные секреты):**
- Если найден хотя бы один реальный секрет, **останови выполнение (hard-stop)**.
- Покажи пользователю найденную строку и файл.
- **Жди явного исправления/подтверждения** перед созданием репозитория. Не продолжай автоматически. Блокирует только реальный секрет (когда человек сам убирает реальный секрет).
- **Класс B (Широкие совпадения / предупреждения):**
- Выведи предупреждения в формате: `⚠️ возможный секрет/длинная строка в <файл>, строка N: <первые 12 симв.>… — проверь вручную (не замаскировано).`
- **Важно:** Класс B служит только для предупреждения пользователя. **НИКОГДА** не редактируй содержимое файлов памяти проекта ради сканера. Скилл никогда не переписывает текст заметок.
3. **Жди подтверждения (y/n)** от пользователя для создания репозитория и первого пуша.
### Шаг 3. Создай или обнови .gitignore
В папке `<vault_root>` создай или обнови файл `.gitignore` со следующим содержимым:
```gitignore
.obsidian/
.trash/
Thumbs.db
.DS_Store
*.tmp
*.log
```
### Шаг 4. Инициализация репозитория (Идемпотентно)
1. Проверь, инициализирован ли уже Git в `<vault_root>` (наличие папки `.git`).
2. Если Git **не инициализирован**:
- Выполни `git init` в `<vault_root>`.
- Настрой ветку по умолчанию (например, `git checkout -b main` или `git branch -M main`).
3. Добавь файлы в индекс и сделай коммит:
- `git add -A`
- `git commit -m "init: <slug> vault (passport, handoff, dashboard, sessions)"`
### Шаг 5. Создание приватного репозитория на GitHub
1. Проверь, настроен ли уже remote `origin` (`git remote -v`).
2. Если remote `origin` **уже настроен**:
- Выведи: `GitHub remote origin уже настроен: <remote_url>`
- Выполни пуш: `git push -u origin main`
3. Если remote `origin` **не настроен**:
- Создай приватный репозиторий на GitHub под владельцем (по умолчанию `mworldorg` или по умолчанию из gh CLI):
`gh repo create mworldorg/<slug>-vault --private --description "Memory vault for <slug> project" --source . --push`
- Если команда завершилась успешно, переходи к Шагу 6.
- Если произошел сбой создания через CLI, предложи пользователю создать репозиторий вручную, добавить remote и сделать пуш.
### Шаг 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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!