Claude Skill

mm-vault

Создаёт приватный vault-репозиторий памяти проекта в Obsidian и пушит его на GitHub для синхронизации с claude.ai Knowledge. Use when user says "создай vault", "синхронизация памяти", "memory sync", "/mm vault", "/mm-vault".

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download mworldorg-markdown-memory-skills_mm-vault-6de01f3.zip · 3 KB
Part of mworldorg/markdown-memory — 17 skills

Install

skills CLI npx skills add https://github.com/mworldorg/markdown-memory/tree/main/skills/mm-vault
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install mworldorg-markdown-memory@llmmart
Git git clone https://github.com/mworldorg/markdown-memory.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole mworldorg/markdown-memory collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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 со следующим содержимым:

.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.
Files (markdown-memory)
  • SKILL.md 7.9 KB
    ---
    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.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related