mm-projects — Cross-Project Overview
SkillDocs & knowledgeOverview of all registered mm-projects on a single screen — status, type, GSD phase, last activity, number of open questions. Use when user says "/mm projects", "/mm list", "покажи все проекты", "что у меня по проектам", "обзор проектов", "какие проекты есть", "список проектов". Reads only Obsi
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the mm-projects — Cross-Project Overview skill
What this skill tells your AI
The instructions your AI receives, as published by mworldorg/markdown-memory in skills/mm-projects/SKILL.md and read by ahel’s review.
Отвечает на вопрос «что у меня вообще есть и где что в работе» — в отличие от /mm-resume, который про один проект. Команда независима от cwd: читает папку проектов в Obsidian, не код.
Только чтение. Ничего не пишет. Git по проектам — только с флагом --git (иначе дорого при многих проектах).
Конфиг
Загрузи mm-config.json по алгоритму из <repo>/docs/CONFIG-LOADING.md. Поддержка mm-config.local.json overlay обязательна.
Понадобятся:
paths.obsidian_projectspaths.obsidian_sessions(для legacy-проектов без папки)
Процесс
Шаг 1. Собери список проектов
В <obsidian_projects>/:
- Папки-проекты (новый формат от
/mm-init-project): каждая подпапка = проект. - Legacy плоские файлы
<name>.mdв корне<obsidian_projects>/(старый формат) — тоже проект.
Если папка проектов не существует → Папка проектов не найдена: <path>. Запусти /mm-init-project хотя бы в одном проекте. и стоп.
Если проектов 0 → Зарегистрированных проектов пока нет. /mm new в любом проекте создаст первый.
Шаг 2. По каждому проекту прочитай дёшево (не углубляясь)
Папка-проект <obsidian_projects>/<name>/:
passport.mdfrontmatter:status,type,gsd_version,updated,mm_version.passport.mdсекция 8: есть ли маркер<!-- TODO louise: заполни секцию 8 -->(не заполнена).passport.mdсекция 9 (если GSD):Текущий milestone / phase.passport.mdсекция 10: посчитай чекбоксы- [ ]в «Открытые вопросы».dashboard.mdfrontmatterupdated:+ секция «Сейчас» (первая непустая строка).handoff.mdfrontmattergenerated:(для оценки свежести).sessions/— дата самого свежего файла (по имениYYYY-MM-DD...или mtime).
Legacy плоский <name>.md: вытащи что есть (секция «Текущее состояние», последняя сессия). Помечай в выводе как (legacy).
Last activity = максимум из: dashboard.updated, дата свежей сессии, handoff.generated, passport.updated.
Шаг 3. (Опционально) git — только если флаг --git
Если юзер передал --git: для каждого проекта, где из passport.md секции 1 «Путь к коду» извлекается существующий путь — выполни быстро:
git -C "<code_path>" branch --show-current
git -C "<code_path>" status --short # посчитать строки = uncommitted
Без --git — пропусти, в выводе колонку git не показывай.
Шаг 4. Вывод (одним экраном, отсортировано по last activity ↓)
📂 mm-проекты (<N>)
<name> <type> <status> <gsd> <activity> Q:<n>
└ <одна строка из dashboard «Сейчас» или «—»>
...
Где:
<gsd>=—если none, иначеv1·<phase>/v2·<phase>/core·<phase>(фаза из секции 9, кратко).<activity>= человекочитаемо:сегодня/2д/3нед/2мес.Q:<n>= число открытых вопросов.- С флагом
--gitдобавь хвост· <branch> (<k> wip).
После таблицы — короткие сигналы (только непустые):
⚠️ Залежались (>30 дней без активности): <names>
⚠️ Паспорт без секции 8: <names>
⚠️ GSD есть, но в CLAUDE.md нет директивы: запусти /mm check в <names> ← если знаешь (см. ниже)
📌 Паспорт старше config.version (нужен /mm new update): <names>
Примечание: «GSD без директивы» точно проверяет /mm-doctor; здесь упоминай только если это дёшево определить (флага в Obsidian-копии нет — обычно просто не пиши эту строку).
Шаг 5. Подсказка по навигации
Одной строкой в конце:
Подробнее по проекту: /mm projects <name> (= /mm-resume для него) · обзор с git: /mm projects --git
Режимы / аргументы
/mm projects— таблица всех./mm projects --git— + ветка и число несохранённых по каждому (медленнее)./mm projects --active— толькоstatus: active./mm projects <name>— не таблица, а deep-dive: запусти логику/mm-resumeдля этого проекта (его путь к коду из passport секции 1; если кода нет на диске — выведи сводку из Obsidian-артефактов).
Edge cases
- Папка проекта без
passport.md(мусор / недоинициализирован): покажи строкой<name> — ⚠️ нет passport.md (недоинициализирован, /mm new). - Очень много проектов (>30): покажи топ-20 по активности + строку
…ещё N (см. --all). С--all— все. - Рассинхрон дат (dashboard свежее passport): бери максимум, не падай.
- Legacy и folder-формат для одного имени одновременно: предпочитай folder, отметь дубль.
- Vault недоступен: останови, скажи путь из конфига.
Что НЕ делать
- Не запускать git по всем проектам без флага
--git— это дорого и шумит. - Не писать ничего (это read-only обзор).
- Не углубляться в каждый проект — для этого
/mm projects <name>или/mm-resume. - Не выдумывать «Сейчас», если в dashboard пусто — пиши
—.
Signals
- GitHub stars
- 25
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
mm-projects- Source
- github.com/mworldorg/markdown-memory