name: mm-instructions version: 0.5.1 description: Генерирует текст для claude.ai → Project → Instructions из шаблона + персонализирует под текущий проект. Кладёт результат в Obsidian для копипаста. Use when user says "сделай инструкции для проекта", "обнови project instructions", "/mm-instructions", "перегенери инструкции", "что вставить в Project Instructions". Без аргументов = универсальная версия; с проектом = подставляет имя.
mm-instructions — claude.ai Project Instructions Generator
Создаёт ready-to-paste текст для Project Instructions в claude.ai. Это «инструкция» для веб-Клода: как работать в паре с PowerShell-Клодом и mm-системой. Раз сгенерировал — копипастишь в Project, оно живёт там вечно.
Конфиг
Загрузи mm-config.json по алгоритму из <repo>/docs/CONFIG-LOADING.md. Поддержка mm-config.local.json overlay обязательна. <repo> берётся из _repo_root инжектированного в конфиг loader'ом.
Понадобятся:
paths.obsidian_projectspaths.obsidian_bridge(универсальная версия идёт сюда)default_language_repo_root(для шаблонаtemplates/project-instructions.md)
Режимы
A. Для конкретного проекта
Запуск из папки с passport.md. Скилл:
- Читает
passport.md→ берётprojectиз frontmatter, тип, стек,gsd_versionиз frontmatter, секцию 8 «Контекст для промптов», секцию 9 (текущий milestone/phase, если GSD). - Берёт шаблон
<skills_repo>/templates/project-instructions.md. - Подставляет:
<PROJECT_NAME>→ имя проекта.- GSD-блок (между
GSD-BLOCK-START/GSD-BLOCK-END): еслиgsd_version != none— заполняет<GSD_VERSION>и<GSD_CURRENT_PHASE>; иначе удаляет блок целиком. - В конец добавляет секцию «Особенности этого проекта» с топ-3 строками из секции 8 паспорта (как напоминание Клоду в каждом промпте).
- Сохраняет в
<obsidian_projects>/<project>/project-instructions.md(перезапись).
B. Универсальная версия
Запуск без passport.md или с флагом «универсальная» / «общая». Скилл:
- Берёт шаблон as-is.
<PROJECT_NAME>заменяет на<универсальный — определяется в чате>;<USER_NAME>— наconfig.user.name.- Удаляет секцию «Особенности этого проекта» и GSD-блок (универсальной комнате конкретный GSD неизвестен).
- Сохраняет в
<obsidian_bridge>/project-instructions-universal.md.
Эту версию вставляешь в Project, который ты используешь как «комната для идей» — где ещё нет конкретного проекта, или где обсуждаешь общие задачи.
Процесс
Шаг 1. Определи режим
- В cwd есть
passport.md→ режим A, имя из frontmatter. - Нет → спроси:
Универсальная версия (1) или укажи путь к passport.md (2)?
Шаг 2. Прочитай шаблон
<skills_repo>/templates/project-instructions.md. Скопируй в память как строку.
Шаг 3. Подстановки (режим A)
Замени все вхождения <PROJECT_NAME> на реальное имя.
Замени все вхождения <USER_NAME> на config.user.name (из mm-config, с учётом local-оверлея). Если поля нет — оставь нейтральное «разработчика».
GSD-блок (между <!-- GSD-BLOCK-START ... --> и <!-- GSD-BLOCK-END -->):
- Если
gsd_version != none: замени<GSD_VERSION>наv1 (.planning/),v2 (.gsd/)илиcore (.planning/ config.json),<GSD_CURRENT_PHASE>— на текущую фазу из секции 9 паспорта (илисм. STATE.md, если не указана). Сами маркеры-комментарии удали. - Если
gsd_version == none(или поля нет): удали весь блок целиком вместе с маркерами — у проекта нет GSD, незачем путать веб-Клода.
В конец файла, перед последней секцией «Доступные команды», вставь:
# Особенности этого проекта (топ-правила из паспорта)
> Сверяй каждый сгенерированный промпт с этими правилами. Они жёсткие.
<до 5 пунктов из секции 8 паспорта, точная копия — без перефразирования>
Шаг 4. Сохрани
- A:
<obsidian_projects>/<project>/project-instructions.md - B:
<obsidian_bridge>/project-instructions-universal.md
Если файл уже был — не архивируй, перезаписывай (это деривативный артефакт, оригинал всегда можно перегенерить).
Шаг 5. Подтверди
✅ Project Instructions готовы
Режим: <A для проекта <name> | B универсальная>
Файл: <abs_path>
Длина: ~<N> строк
Что делать:
1. Открой файл, скопируй ВСЁ содержимое
2. claude.ai → Project «<name>» → Settings → Instructions
3. Удали старое, вставь новое, Save
4. Проверь: New Chat → "Что ты делаешь?" — должен ответить про режимы A/B/C
Edge cases
- Шаблон отсутствует (
templates/project-instructions.mdнет): скажиНе найден шаблон: <_repo_root>/templates/project-instructions.md. Возможно, markdown-memory не до конца установлен — проверь git pull в репо (см. $env:MM_REPO_ROOT). - Секция 8 паспорта пустая (только TODO-маркер): пропусти секцию «Особенности этого проекта», предложи
Заполни сначала секцию 8 в passport.md, потом перегенери. - Имя проекта с пробелами (плохая практика): пройдёт, но в файле проекта в Obsidian используй slug.
Что НЕ делать
- Не вставляй в инструкции живые секреты, ENV-значения, токены.
- Не делай инструкции длиннее 1.5 страниц — Claude.ai всё равно ужмёт восприятие.
- Не выдумывай правила «от себя» — только то, что в шаблоне или явно в паспорте.