# Mm Setup

> Онбординг/персонализация mm-системы под конкретного пользователя — спрашивает имя, чем занимается, стек, язык, путь к Obsidian vault, и записывает это в личный gitignored-оверлей config/mm-config.local.json + генерирует персональную копию claude.ai-скилла mm-web-bridge. Use when user says "/mm setup", "/mm onboard", "настрой под меня", "персонализируй", "первичная настройка", "сделай систему моей…

- **Type:** Skill
- **Install:** `agentstack add skill-mworldorg-markdown-memory-mm-setup`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [mworldorg](https://agentstack.voostack.com/s/mworldorg)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [mworldorg](https://github.com/mworldorg)
- **Source:** https://github.com/mworldorg/markdown-memory/tree/main/skills/mm-setup

## Install

```sh
agentstack add skill-mworldorg-markdown-memory-mm-setup
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# mm-setup — Персонализация mm-системы под пользователя

Делает систему «своей»: имя, домен, стек, пути — без правки committed-файлов (репо общий, расшарен на GitHub). Личное идёт в **gitignored** оверлей и в **генерируемую** персональную копию claude.ai-скилла.

## Контракт безопасности (соблюдай дословно)

**Skill ПИШЕТ только в:**
- `/config/mm-config.local.json` — создаёт или мёрджит (gitignored, личный оверлей)
- `/claude-ai-skills/_generated/mm-web-bridge/SKILL.md` — персональная копия для загрузки в claude.ai (gitignored)

**Skill НИКОГДА не трогает:**
- `config/mm-config.json` (committed — общие дефолты louise; их не перезаписываем)
- `claude-ai-skills/mm-web-bridge/SKILL.md` (committed шаблон — читаем как источник, не правим)
- любые `skills/*/SKILL.md`, `~/.claude/CLAUDE.md` (для глобального — только предложим сниппет)
- git-операции

## Конфиг

Загрузи `mm-config.json` по алгоритму из `/docs/CONFIG-LOADING.md` (нужен `_repo_root`). Если уже есть `mm-config.local.json` — прочитай его как текущие значения (режим повторной настройки).

## Шаг 1. Интервью

Задай **одним сообщением** (не по одному вопросу), с разумными дефолтами в скобках:

```
Настрою mm-систему под тебя. Ответь (можно коротко):
1. Имя — как тебя называть? 
2. Чем занимаешься / домен? (например: «Telegram-боты», «веб на React», «data-инженерия»)
3. Основной стек? (язык · фреймворк · БД · деплой — например «Python · aiogram 3.x · SQLite · Railway»)
4. Язык общения по умолчанию? (ru / en) 
5. Путь к Obsidian vault? \Documents\Obsidian Vault>
```

Дополнительно (не спрашивай, выведи сам):
- `` для дефолтных путей возьми из `$env:USERPROFILE` / `~`.
- Если на п.5 дают только vault — остальные obsidian-пути (`Claude/`, `Bridge/`, `Sessions/`, `Projects/`, `INDEX.md`) выведи относительно него по той же структуре, что в committed `mm-config.json`.
- Если пользователь говорит «как у тебя в дефолте / пропусти» — оставь committed-значение (не дублируй его в local без нужды).

## Шаг 2. Покажи план (preview перед записью)

```
📋 Запишу в config/mm-config.local.json (личный, gitignored):
  user.name        = 
  user.domain      = 
  user.stack       = 
  default_language = 
  paths.obsidian_* = 

📋 Сгенерирую claude.ai-скилл:
  claude-ai-skills/_generated/mm-web-bridge/SKILL.md
  (персональная копия — louise/Telegram заменены на //)

Committed-файлы НЕ трогаю. Продолжить? (y / n / правки)
```

Без `y` — ничего не пишется.

## Шаг 3. Запиши mm-config.local.json

Сформируй/обнови `/config/mm-config.local.json`. Только изменённые относительно дефолта ключи (deep-merge поверх committed). Минимум:

```json
{
  "default_language": "",
  "user": {
    "name": "",
    "domain": "",
    "stack": ""
  },
  "paths": {
    "obsidian_vault": "",
    "obsidian_claude_root": "\\Claude",
    "obsidian_bridge": "\\Claude\\Bridge",
    "obsidian_bridge_archive": "\\Claude\\Bridge\\archive",
    "obsidian_sessions": "\\Claude\\Sessions",
    "obsidian_projects": "\\Claude\\Projects",
    "obsidian_index": "\\Claude\\INDEX.md"
  }
}
```

Если файл уже есть — мёрджи, не затирай чужие ключи. Пути — в формате текущей ОС (Windows — `\\`).

## Шаг 4. Сгенерируй персональный mm-web-bridge

1. Прочитай committed-шаблон `/claude-ai-skills/mm-web-bridge/SKILL.md`.
2. Сделай **персональную копию**, заменив louise-специфику на данные пользователя:
   - имя «louise» → `` (везде);
   - строку про стек/домен (абзац «louise работает на русском. Её типичный стек: …») → под `` и `` пользователя;
   - в **Принципе 1 (веб-проверка)** примеры «Telegram Bot API / aiogram» → под технологии из `` пользователя (если стек неизвестен/общий — оставь обобщённо «внешние API/библиотеки/фреймворки» без конкретики, но сам принцип сохрани — он универсален);
   - язык изложения — под `` (если en — можно перевести ключевые формулировки; если ru — оставь как есть).
   - `description` во frontmatter — тоже под пользователя (имя + домен + что следить за актуальностью именно его стека).
3. Сохрани в `/claude-ai-skills/_generated/mm-web-bridge/SKILL.md`.
4. **Не меняй смысл и структуру** скилла (три принципа, режимы A/B/C, GSD, конвенция «вариант N») — только идентичность/домен/стек.

## Шаг 5. Финальный отчёт + следующие шаги

```
✅ mm-system персонализирована под 

Записано:
  ✓ config/mm-config.local.json (личный оверлей)
  ✓ claude-ai-skills/_generated/mm-web-bridge/SKILL.md (для claude.ai)

Дальше:
  1. Загрузи claude.ai-скилл: заархивь _generated/mm-web-bridge/ → claude.ai → Customize → Skills → Upload a skill
     (или Write skill instructions и вставь содержимое SKILL.md)
  2. Прогони npx markdown-memory (или python3 scripts/register-skills.py) — регистрация скиллов mm-* в ~/.claude/skills/
  3. /mm check — проверь, что vault и пути на месте
  4. /mm new — оформи первый проект

Хочешь — выведу сниппет для ~/.claude/CLAUDE.md (глобальные правила под тебя)? Сам файл не трогаю (он вне репо).
```

Если пользователь просит сниппет CLAUDE.md — выведи готовый текст (имя, что mm подключён, ссылку на /mm), но **вставляет он сам**.

## Edge cases

- **Повторный запуск** (local уже есть): покажи текущие значения, спроси что менять, мёрджи.
- **Vault по указанному пути не существует**: предупреди, предложи создать папки (это безопасно) или поправить путь.
- **Пользователь = louise / её данные**: всё равно отработай — просто значения совпадут с committed-дефолтами (local будет минимальным).
- **Нет committed mm-web-bridge** (репо неполный): пропусти шаг 4 с предупреждением, config всё равно запиши.
- **Не Windows** (если когда-нибудь): пути в формате текущей ОС, `~` вместо `C:\Users\`.

## Что НЕ делать

- Не писать личные данные в committed `mm-config.json` или committed `mm-web-bridge/SKILL.md` — только в local/_generated.
- Не делать git add/commit.
- Не править `~/.claude/CLAUDE.md` напрямую — только предложить сниппет.
- Не пропускать preview (шаг 2).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [mworldorg](https://github.com/mworldorg)
- **Source:** [mworldorg/markdown-memory](https://github.com/mworldorg/markdown-memory)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mworldorg-markdown-memory-mm-setup
- Seller: https://agentstack.voostack.com/s/mworldorg
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
