Skip to content
Development
Skill

/mm-doctor

Самопроверка mm-системы — junction'ы, конфиг, vault, паспорта, bridge-архив, GSD-консистентность (passport vs PROJECT.md), наличие сторонних плагинов (karpathy, context-mode). Auto-fix очевидного. Use when user says "проверь систему", "почему не работает", "/mm-doctor",

From plugin
markdown-memory
2514 skills
Install
$ npx -y skills add mworldorg/markdown-memory --skill mm-doctor --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/mm-doctor

Context preview

The summary Claude sees to decide when to auto-load this skill.

Самопроверка mm-системы — junction'ы, конфиг, vault, паспорта, bridge-архив, GSD-консистентность (passport vs PROJECT.md), наличие сторонних плагинов (karpathy, context-mode). Auto-fix очевидного. Use when user says "проверь систему", "почему не работает", "/mm-doctor",

SKILL.md

mm-doctor.SKILL.md
name: mm-doctor
version: 0.6.0
description: Самопроверка mm-системы — junction'ы, конфиг, vault, паспорта, bridge-архив, GSD-консистентность (passport vs PROJECT.md), наличие сторонних плагинов (karpathy, context-mode). Auto-fix очевидного. Use when user says "проверь систему", "почему не работает", "/mm-doctor", "mm-status", "что-то сломалось", "проверь mm", "mm health". Запускать перед началом работы на новой машине ИЛИ когда что-то странно себя ведёт.

mm-doctor — System Health Check & Auto-Fix

Прогон диагностики всей mm-системы. Не пишет ничего без подтверждения.

Конфиг

Загрузи `mm-config.json` по алгоритму из `<repo>/docs/CONFIG-LOADING.md`. Поддержка `mm-config.local.json` overlay обязательна. Loader должен инжектировать `_repo_root`.

Если loader падает — это уже первая ошибка, выведи её и предложи фикс из CONFIG-LOADING.md.

Чек-лист (выполнять по порядку, помечать ✅ / ⚠️ / ❌)

1. Конфиг

  • ✅ `mm-config.json` найден (откуда: env / junction / fallback)
  • ✅ Валидный JSON
  • ⚠️ Если использован legacy fallback (см. `docs/CONFIG-LOADING.md`) — предложи `[Environment]::SetEnvironmentVariable("MM_REPO_ROOT", "<repo>", "User")`
  • ✅ `mm-config.local.json` (если есть) валидный, deep-merged
  • ✅ Ключевые пути присутствуют: `obsidian_*`, `_repo_root`

2. Repo integrity

  • ✅ `<repo>/templates/passport.md` существует
  • ✅ `<repo>/templates/project-instructions.md` существует
  • ✅ `<repo>/skills/mm-bridge/SKILL.md`, `mm-init-project`, `mm-setup`, `mm-resume`, `mm-handoff`, `mm-save-session`, `mm-instructions`, `mm-projects`, `mm-doctor`, `mm` существуют (10 skills)
  • ✅ `<repo>/scripts/register-skills.py` существует

3. Симлинки / Junction'ы (`~/.claude/skills/mm-*`)

Для каждого `mm-*` в `<repo>/skills/` и `<repo>/vendor/`:

  • ✅ Ссылка `~/.claude/skills/mm-<name>` существует
  • ✅ Является reparse-point/symlink (симлинк на Mac/Linux, junction на Windows)
  • ✅ Target указывает на `<repo>/skills/mm-<name>` (или `vendor/mm-<name>`)

Проверка на macOS/Linux:

ls -la ~/.claude/skills/
readlink ~/.claude/skills/mm-bridge  # должно вести на <repo>/skills/mm-bridge

PowerShell-проверка (Windows):

$item = Get-Item "$env:USERPROFILE\.claude\skills\mm-bridge" -Force
$item.Attributes -band [System.IO.FileAttributes]::ReparsePoint  # должно быть != 0
$item.Target  # должно совпадать с <repo>/skills/mm-bridge

При ошибках предложи: `Запустить scripts/register-skills.py для пере-создания ссылок? (y/n)`. Если y — запусти.

4. Obsidian vault (Базовая настройка)

Если проект не открыт, проверь глобальные пути из конфига `paths.obsidian_*`:

  • ✅ `obsidian_vault` существует
  • ✅ `obsidian_claude_root` существует
  • ✅ `obsidian_bridge` существует (создай если нет — это безопасно)
  • ✅ `obsidian_bridge_archive` существует (создай если нет)
  • ✅ `obsidian_sessions` существует (создай если нет)
  • ✅ `obsidian_projects` существует (создай если нет)
  • ⚠️ `obsidian_index` файл есть; если нет — предупреди но не падай

5. Bridge state

  • ✅ `<obsidian_bridge>/next-prompt.md` — info: есть/нет, дата
  • ⚠️ Если есть и старше 7 дней — намекни: `Старый бридж-промпт от <date>. Уже использован?`
  • ⚠️ Архив старше 30 дней: посчитай файлы в `<obsidian_bridge_archive>` старше 30 дней. Если > 0:
  В архиве bridge-промптов: <N> файлов, <M> старше 30 дней.
  Удалить старые? (y/n)

6. Текущий проект и База Знаний (если cwd внутри проекта)

Если в `cwd` или родителях есть `passport.md`:

  • ✅ Frontmatter паспорта валидный YAML
  • ✅ Все 11 секций присутствуют в `passport.md`
  • ✅ Frontmatter содержит `gsd_version: <none|v1|v2|core>`
  • ⚠️ `updated:` в паспорте старше 30 дней → предложи `/mm-init-project --update`
  • ⚠️ Секция 8 «Контекст для промптов» содержит маркер `<!-- TODO: заполни секцию 8 -->` → намекни завить
  • ✅ Определение пути базы знаний `<vault_root>` (локальная папка `.vault/` в корне или глобальная `<obsidian_projects>/<name>/` из конфига)
  • ✅ Папки базы знаний существуют:
  • `00-home/`
  • `atlas/`
  • `knowledge/` (и ее подпапки: `integrations/`, `decisions/`, `debugging/`, `patterns/`, `business/`)
  • `sessions/`
  • `inbox/`
  • ✅ Ключевые файлы базы знаний существуют:
  • `00-home/index.md`
  • `00-home/текущие приоритеты.md`
  • `project-instructions.md` (в корне хранилища — туда пишут и `/mm rules`, и `/mm new`)
  • `handoff.md` (скелет или полный)
  • `passport.md` (копия, в корне хранилища — её читают `/mm projects` и `clear-gate.py`)
  • ⚠️ Если рядом лежит `atlas/passport.md` — это дубль от старой раскладки, который никто не читает: `⚠️ atlas/passport.md — дубль паспорта, удали его вручную, источник это <vault>/passport.md.`
  • ✅ В `CLAUDE.md` присутствует секция `## Obsidian Knowledge Vault` с правильным путем к базе знаний.
  • ✅ Sync с копией паспорта в базе знаний (sha256): совпадают?
  • ⚠️ handoff.md существует. Если нет → `⚠️ handoff.md отсутствует — запусти /mm save (или /mm next) чтобы создать; он нужен для Project Knowledge claude.ai.`

6.1. GSD ↔ passport консистентность (если есть GSD)

Если passport `gsd_version` ≠ none, прогони cross-check:

**Проверка 1: версия в passport совпадает с реальностью**

  • Если в passport `gsd_version: v1` или `core`, проверь что `<project_root>/.planning/` существует. (Для `core` проверь также наличие `.planning/config.json`).
  • Если `gsd_version: v2` — проверь `<project_root>/.gsd/`.
  • Если расходится → `❌ passport говорит gsd_version: <v1|core>, но .planning/ не найдена. Запусти /mm-init-project --update.` (или аналогично для v2).

**Проверка 2: scope не разъехался**

  • Если есть `.planning/PROJECT.md` (v1/core):
  • Прочитай первые 30 строк и сравни с секцией 1 («Назначение») паспорта.
  • Если **ключевые слова не пересекаются** (jaccard < 0.3 на нормализованных tokens) → `⚠️ passport.md секция 1 и .planning/PROJECT.md описывают разное. Возможно scope изменился. Обнови passport через /mm-init-project --update.`
  • Если есть `.gsd/STATE.md` или AGENTS.md → аналогично.

**Проверка 3: текущая фаза не устарела в

Read more
Ships withmarkdown-memory

A file-based memory and prompt bridge that connects claude.ai (where you think) ↔ Claude Code (where you build) ↔ Obsidian (shared long-term memory). -lightgrey.svg)

Get the whole plugin
Stats
25
Stars
3
Forks
Active
Maintenance
Python
Language
MIT
License
2d ago
Last commit
3mo ago
Created

Repo: mworldorg/markdown-memory

Other skills on markdown-memory.

mm-clear-gate
Skill

mm-clear-gate

Гейт перед /clear — read-only проверка «всё ли записано», вердикт из exit code скрипта, а не из реплики модели. Проверяет свежесть GSD-handoff в репозитории…

mm-focus
Skill

mm-focus

СНЯТ 2026-08-02 — команда больше ничего не грузит. Её детекция этапа дублировала /gsd-resume-work и расходилась с фактической раскладкой GSD, из-за чего…

mm-handoff
Skill

mm-handoff

Генерирует handoff.md — компактную сводку для нового чата claude.ai когда контекст текущего заполнился. Включает 15-категорийный Session Guide (вдохновлено…

mm-instructions
Skill

mm-instructions

Генерирует текст для claude.ai → Project → Instructions из шаблона + персонализирует под текущий проект. Кладёт результат в Obsidian для копипаста. Use when…