{"slug":"mm","title":"mm","summary":"Диспетчер mm-системы — короткая команда вместо длинных. /mm без аргументов = список всех команд. /mm new = init project, /mm save = save session, /mm next = handoff, /mm prompt = bridge, /mm rules = instructions, /mm check = doctor. Use when user types \"/mm\" anything OR says \"что","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-20T07:57:10.972765Z","repo":{"url":"https://github.com/mworldorg/markdown-memory","stars":25,"forks":4,"license":"MIT","updatedAt":"2026-09-19T00:53:56Z"},"bodyHtml":"<hr>\n<h2>name: mm\nversion: 0.4.3\ndescription: Диспетчер mm-системы — короткая команда вместо длинных. /mm без аргументов = список всех команд. /mm new = init project, /mm save = save session, /mm next = handoff, /mm prompt = bridge, /mm rules = instructions, /mm check = doctor. Use when user types \"/mm\" anything OR says \"что есть в mm\", \"какие mm команды\", \"помощь по mm\", \"mm cheatsheet\".</h2>\n<h1>mm — Dispatcher / Cheat Sheet</h1>\n<p>Короткие алиасы для длинных команд. Также — если юзер просто пишет <code>/mm</code>, выводи список.</p>\n<h2>Карта команд</h2>\n<table>\n<thead>\n<tr>\n<th>Алиас</th>\n<th>Полная команда</th>\n<th>Что делает</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>/mm new</code></td>\n<td><code>/mm-init-project</code></td>\n<td>Init/update паспорт проекта + Obsidian-структуру</td>\n</tr>\n<tr>\n<td><code>/mm init</code></td>\n<td><code>/mm-init-project</code></td>\n<td>(синоним new)</td>\n</tr>\n<tr>\n<td><code>/mm setup</code></td>\n<td><code>/mm-setup</code></td>\n<td>Персонализация системы под себя (имя, стек, пути) — 1 раз после клона</td>\n</tr>\n<tr>\n<td><code>/mm onboard</code></td>\n<td><code>/mm-setup</code></td>\n<td>(синоним setup)</td>\n</tr>\n<tr>\n<td><code>/mm resume</code></td>\n<td><code>/mm-resume</code></td>\n<td>Восстановить контекст: passport + dashboard + last session + git + GSD</td>\n</tr>\n<tr>\n<td><code>/mm start</code></td>\n<td><code>/mm-resume</code></td>\n<td>(синоним resume — для начала сессии)</td>\n</tr>\n<tr>\n<td><code>/mm context</code></td>\n<td><code>/mm-resume</code></td>\n<td>(синоним resume)</td>\n</tr>\n<tr>\n<td><code>/mm where</code></td>\n<td><code>/mm-resume</code></td>\n<td>(синоним resume — «где мы»)</td>\n</tr>\n<tr>\n<td><code>/mm focus</code></td>\n<td><code>/mm-focus</code></td>\n<td><del>scoped reload GSD-этапа</del> — <strong>СНЯТ 2026-08-02</strong>, дублировал <code>/gsd-resume-work</code> и грузил не то. Вместо него: <code>/gsd-resume-work</code></td>\n</tr>\n<tr>\n<td><code>/mm gate</code></td>\n<td><code>/mm-clear-gate</code></td>\n<td>Гейт перед /clear: read-only проверка «всё ли записано», вердикт из exit code (<code>gate end</code> — планка конца сессии)</td>\n</tr>\n<tr>\n<td><code>/mm projects</code></td>\n<td><code>/mm-projects</code></td>\n<td>Обзор всех проектов одним экраном</td>\n</tr>\n<tr>\n<td><code>/mm list</code></td>\n<td><code>/mm-projects</code></td>\n<td>(синоним projects)</td>\n</tr>\n<tr>\n<td><code>/mm save</code></td>\n<td><code>/mm-save-session</code></td>\n<td>Сохранить лог сессии в Obsidian</td>\n</tr>\n<tr>\n<td><code>/mm end</code></td>\n<td><code>/mm-save-session</code></td>\n<td>(синоним save)</td>\n</tr>\n<tr>\n<td><code>/mm next</code></td>\n<td><code>/mm-handoff</code></td>\n<td>Сводка для нового чата claude.ai</td>\n</tr>\n<tr>\n<td><code>/mm handoff</code></td>\n<td><code>/mm-handoff</code></td>\n<td>(синоним next)</td>\n</tr>\n<tr>\n<td><code>/mm vault</code></td>\n<td><code>/mm-vault</code></td>\n<td>Создать приватный vault-репо памяти проекта</td>\n</tr>\n<tr>\n<td><code>/mm prompt</code></td>\n<td><code>/mm-bridge</code></td>\n<td>Промпт-мост в файл для PowerShell-Клода</td>\n</tr>\n<tr>\n<td><code>/mm bridge</code></td>\n<td><code>/mm-bridge</code></td>\n<td>(синоним prompt)</td>\n</tr>\n<tr>\n<td><code>/mm rules</code></td>\n<td><code>/mm-instructions</code></td>\n<td>Сгенерить Project Instructions для claude.ai</td>\n</tr>\n<tr>\n<td><code>/mm chat</code></td>\n<td><code>/mm-instructions</code></td>\n<td>(синоним rules)</td>\n</tr>\n<tr>\n<td><code>/mm check</code></td>\n<td><code>/mm-doctor</code></td>\n<td>Самопроверка системы</td>\n</tr>\n<tr>\n<td><code>/mm doctor</code></td>\n<td><code>/mm-doctor</code></td>\n<td>(синоним check)</td>\n</tr>\n<tr>\n<td><code>/mm health</code></td>\n<td><code>/mm-doctor</code></td>\n<td>(синоним check)</td>\n</tr>\n<tr>\n<td><code>/mm update</code></td>\n<td><code>/mm-update</code></td>\n<td>Обновить mm-систему (git pull origin/main + register-skills)</td>\n</tr>\n<tr>\n<td><code>/mm</code></td>\n<td>(этот skill)</td>\n<td>Покажи cheat sheet (без выполнения)</td>\n</tr>\n<tr>\n<td><code>/mm help</code></td>\n<td>(этот skill)</td>\n<td>(синоним)</td>\n</tr>\n<tr>\n<td><code>/mm ?</code></td>\n<td>(этот skill)</td>\n<td>(синоним)</td>\n</tr>\n</tbody>\n</table>\n<h2>Как работаешь</h2>\n<h3>1. Парсинг команды</h3>\n<p>Юзер пишет: <code>/mm &lt;команда&gt; [аргументы]</code>. Возьми <code>&lt;команда&gt;</code>, ищи в карте выше (case-insensitive). Опечатки толерируй (Levenshtein &lt;= 2):</p>\n<ul>\n<li><code>/mm seve</code> → save (расстояние 1)</li>\n<li><code>/mm hando</code> → handoff</li>\n<li><code>/mm doktor</code> → doctor</li>\n</ul>\n<p>Если не нашёл — покажи cheat sheet с пометкой <code>Команда \"&lt;x&gt;\" не распознана. Возможно ты имел в виду:</code> + 1-2 ближайших варианта.</p>\n<h3>2. Если без аргументов или help</h3>\n<p>Выведи cheat-sheet — компактно (не всю карту, а сгруппированно):</p>\n<pre><code>/mm — диспетчер mm-системы\n\nПервичная настройка (1 раз после клона репо):\n  /mm setup        персонализация под себя (имя, стек, пути, claude.ai-скилл)\n\nСтарт нового / открытие проекта:\n  /mm new          оформить или обновить паспорт проекта\n  /mm resume       где мы (passport + last session + git + GSD)\n  /mm focus        СНЯТ 2026-08-02 → используй /gsd-resume-work\n  /mm gate         можно ли чистить: вердикт из exit code (gate end — конец сессии)\n  /mm projects     обзор всех проектов одним экраном\n\nРабота в сессии:\n  /mm prompt       промпт-мост из claude.ai в PowerShell\n  /mm save         закрыть сессию, лог в Obsidian\n  /mm next         сводка для нового чата claude.ai (контекст забит)\n  /mm vault        создать приватный vault-репо памяти проекта (git sync)\n\nИнфраструктура:\n  /mm rules        сгенерить инструкции для claude.ai Project\n  /mm check        диагностика системы (junction'ы, vault, паспорта)\n  /mm update       обновить mm-систему (git pull + re-register)\n\nТипичный цикл:\n  утром / после /clear → /mm resume   ← подхватил контекст\n  работаешь            → /mm prompt   (если задача из claude.ai)\n  закончил день        → /mm save     (лог в Obsidian)\n  контекст забит       → /mm save → /clear → /mm resume\n  новый чат claude.ai  → /mm next     (handoff в Knowledge)\n\nПолные имена тоже работают: /mm-init-project, /mm-save-session, и т.д.\n</code></pre>\n<h3>3. Если команда распознана</h3>\n<p>Делегируй вызов соответствующему skill. Это значит:</p>\n<ul>\n<li>НЕ выполняй логику маппинг'нутого skill'а сам.</li>\n<li>Скажи коротко: <code>→ Запускаю /mm-&lt;full-name&gt;...</code></li>\n<li>Дальше работа идёт в том skill (он подхватится автоматически).</li>\n</ul>\n<p>В реальности Claude Code или Antigravity не «делегируют» программно — но в твоём ответе ты приступаешь к выполнению того skill, как если бы юзер написал его полное имя. То есть:</p>\n<ol>\n<li>Скажи одной строкой: <code>→ /mm new = /mm-init-project, начинаю.</code></li>\n<li>Действуй как <code>mm-init-project</code> (читай его SKILL.md и исполняй).</li>\n</ol>\n<h3>4. Дополнительные удобства</h3>\n<ul>\n<li><strong><code>/mm new &lt;name&gt;</code></strong> — передай имя проекту, чтоб init не спрашивал. Пример: <code>/mm new filtrator</code>.</li>\n<li><strong><code>/mm save \"&lt;тема&gt;\"</code></strong> — передай тему сессии вручную. Пример: <code>/mm save \"рефакторинг роутинга\"</code>.</li>\n<li><strong><code>/mm prompt \"&lt;задача&gt;\"</code></strong> — короткая задача сразу. Пример: <code>/mm prompt \"добавь команду /stats в бот\"</code>.</li>\n<li><strong><code>/mm update</code></strong> — делегируй в <code>/mm-update</code> (git pull свежего mm из origin/main + register-skills + notice о перезапуске).</li>\n</ul>\n<p>Эти extra-аргументы передавай в подскилл как контекст.</p>\n<h2>Edge cases</h2>\n<ul>\n<li><strong>Юзер написал <code>/mm-new</code></strong> (с дефисом): тоже принимай — это не полное имя skill'а, но логично. Маппь как <code>/mm new</code>.</li>\n<li><strong>Юзер написал <code>/mm-init</code></strong>: алиас на <code>/mm-init-project</code>.</li>\n<li><strong>Юзер написал что-то совсем непонятное</strong> (<code>/mm fluffy</code>): покажи cheat-sheet + предложи ближайшее.</li>\n</ul>\n<h2>Что НЕ делать</h2>\n<ul>\n<li>Не «упрощай» работу подскилла, к которому делегируешь — он сам знает как себя вести.</li>\n<li>Не предлагай команд которых нет (<code>/mm push</code> не существует).</li>\n<li>Не пиши свою реализацию save/init/handoff — только маршрутизация.</li>\n</ul>\n","files":[{"path":"SKILL.md","sizeBytes":8480,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-20T07:57:42.302598Z","sha256":"4B23E0B8C732398D1A222B27F4CB8490A4EF329C174E5562A8269DA542BB435E","sizeBytes":3313},"review":null,"source":{"repositoryUrl":"https://github.com/mworldorg/markdown-memory","path":"skills/mm","license":"MIT","commit":"6de01f351f29806308a5bb5387ce96d5cb940b25","subtreeSha":"CC3377A01AD7880EDA3828F47FE03FA382846A6C4A1CF70D01CF9E347FA67832","lastSyncedAt":"2026-09-27T20:54:54.452487Z"},"reviewedAt":"2026-09-20T07:59:10.351527Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/mworldorg/markdown-memory/tree/main/skills/mm"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install mworldorg-markdown-memory@llmmart"},{"target":"git","command":"git clone https://github.com/mworldorg/markdown-memory.git"}]}