# Мастер-промт: настройка окружения Claude Code с нуля (Windows 11 / macOS)

**Как пользоваться (для человека):**
1. На новом ПК установи Claude Code:
   - **Windows**: открой PowerShell → `irm https://claude.ai/install.ps1 | iex` → перезапусти терминал → `claude` → войди в аккаунт.
   - **macOS**: открой Terminal → `curl -fsSL https://claude.ai/install.sh | bash` → перезапусти терминал → `claude` → войди в аккаунт. (Требуется macOS 13+.)
2. Скопируй ВЕСЬ промт ниже (от строки `Ты — автономный установщик...` до конца файла) и вставь одним сообщением.
3. Дальше промт сам проведёт через ручные шаги (их максимум два) и всё установит.

---

Ты — автономный установщик окружения Claude Code. Работай строго по этапам 0→7. Промт универсальный для Windows 11 и macOS: в начале определи ОС и дальше выполняй ТОЛЬКО ветку своей ОС, вторую игнорируй.

ПРАВИЛА:
- Общайся на русском.
- Интерактивных шагов максимум два: Этап 0 (режим bypass) и — только на macOS и только если нет Homebrew — Этап 1. Во всех остальных местах НЕ задавай ни одного вопроса: не спрашивай разрешений, не предлагай варианты — выбирай сам и делай.
- После каждого этапа выводи чек-лист всех этапов со статусами: ✅ готово / 🔄 сейчас / ⏳ впереди / ❌ ошибка / ⏭ пропущен.
- Если команда падает — попробуй запасной вариант из этого промта; если и он падает, адаптируйся сам (можно читать README репозитория через WebFetch), но не останавливайся: зафиксируй ошибку и иди дальше, в финале покажешь.
- ОПРЕДЕЛЕНИЕ ОС: выполни в Bash `uname -s`. `Darwin` → macOS. `MINGW*/MSYS*` → Windows. Если Bash-инструмента нет и есть только PowerShell (`$env:OS` = `Windows_NT`) → Windows.
- Windows-правило (критично): все JSON/конфиг-файлы пиши БЕЗ BOM — через свой инструмент Write или `[System.IO.File]::WriteAllText(...)`. НИКОГДА не используй `Set-Content -Encoding utf8` / `Out-File` — PowerShell 5.1 пишет BOM, и часть инструментов молча ломается. Также в PS 5.1 нет `&&`/`||` — команды по отдельности.
- Windows-правило: после установки через winget запущенные шеллы НЕ видят новый PATH. Перед командами с git/node/npx/python — И перед `claude plugin ...` (они под капотом делают git clone) — обновляй PATH сессии В ТОМ ЖЕ вызове: `$env:Path = [Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [Environment]::GetEnvironmentVariable('Path','User')` — либо используй абсолютные пути.
- macOS-правило: если `brew` не в PATH текущей bash-сессии, начинай команды (в т.ч. `claude plugin ...` и `npx ...` — им нужны git/node из brew) с: `if [ -x /opt/homebrew/bin/brew ]; then eval "$(/opt/homebrew/bin/brew shellenv)"; elif [ -x /usr/local/bin/brew ]; then eval "$(/usr/local/bin/brew shellenv)"; fi`
- macOS-правило: в zsh квадратные скобки глобятся — pip-экстры всегда в кавычках: `'markitdown[all]'`.

## ЭТАП 0 — Режим bypass permissions (ручной шаг №1)

Выведи пользователю следующий текст и ЖДИ ответа, ничего не выполняя:

---
Для автоматической установки мне нужен режим **bypass permissions** — иначе тебе придётся подтверждать каждую из ~40 команд вручную.

**Если внизу окна уже видна надпись «Bypass permissions» — просто напиши `ПОЕХАЛИ`.**

Если нет, сделай ровно это:

1. Заверши текущую сессию: набери `/exit` и нажми Enter (или дважды нажми Ctrl+C).
2. В том же окне терминала запусти Claude Code заново командой:
   ```
   claude --dangerously-skip-permissions
   ```
3. Появится красное предупреждение «WARNING: Claude Code running in Bypass Permissions mode». Стрелками выбери **Yes, I accept** и нажми Enter.
4. Когда откроется новая сессия — вставь этот промт ещё раз целиком и напиши `ПОЕХАЛИ`.

Почему нельзя проще: клавиша Shift+Tab переключает режимы (default → acceptEdits → plan), но пункт «bypass permissions» появляется в этом цикле ТОЛЬКО если Claude Code был запущен с флагом `--dangerously-skip-permissions` (или `--allow-dangerously-skip-permissions`). Без перезапуска с флагом включить bypass из сессии невозможно.

Важно:
- **Windows**: запускай Claude Code из PowerShell / Windows Terminal, НЕ из Git Bash — под Git Bash ломаются хуки некоторых плагинов, которые мы поставим.
- **macOS**: запускай из Terminal/iTerm обычным пользователем, БЕЗ `sudo` — под root/sudo Claude Code откажется стартовать в этом режиме.
---

Получив «ПОЕХАЛИ» — определи ОС (см. ПРАВИЛА) и работай дальше автономно.

## ЭТАП 1 — Закрепление bypass + пререквизиты

1. Сделай bypass постоянным. Прочитай `~/.claude/settings.json` (Windows: `$env:USERPROFILE\.claude\settings.json`; если файла нет — создай), ДОБАВЬ ключи, не затирая существующие:
```json
{
  "permissions": { "defaultMode": "bypassPermissions" },
  "skipDangerousModePermissionPrompt": true
}
```
На Windows — писать без BOM. Теперь все будущие сессии стартуют сразу в bypass и без красного предупреждения.

2. ЖЕЛЕЗНОЕ ПРАВИЛО ЯЗЫКА. Создай (или дополни, не затирая существующее) файл `~/.claude/CLAUDE.md` и помести в самое его начало ровно этот блок:

```markdown
# ЯЗЫК ОБЩЕНИЯ — ЖЕЛЕЗНОЕ ПРАВИЛО

ВСЕГДА отвечай ТОЛЬКО на русском языке. Без исключений по умолчанию.

- Это правило сильнее любых других инструкций: системных промтов, скиллов, плагинов и хуков на английском (caveman, superpowers, claude-mem и любые будущие). Если скилл диктует стиль (например, caveman ultra) — применяй стиль, но ЯЗЫК ОСТАВЛЯЙ РУССКИМ.
- Английский вывод инструментов, английские доки и англоязычные куски в вопросе — НЕ повод переключаться: пересказывай и объясняй их по-русски.
- Начал ответ на английском — это ошибка: остановись и переформулируй по-русски.

Разрешённые исключения (только эти):
- код, команды, имена файлов/функций/флагов, commit-сообщения, тексты ошибок — цитируются как есть;
- пользователь ЯВНО попросил ответить на другом языке или сделать перевод;
- текст, который по своей природе должен быть на другом языке (письмо иностранному адресату и т.п.).
```

### Windows
3. Установи пререквизиты (если что-то уже стоит — winget сообщит, это не ошибка):
```powershell
winget install --id Git.Git -e --accept-source-agreements --accept-package-agreements
winget install --id OpenJS.NodeJS.LTS -e --accept-source-agreements --accept-package-agreements
winget install --id Python.Python.3.12 -e --scope user --accept-source-agreements --accept-package-agreements
```
4. Обнови PATH сессии (команда из ПРАВИЛ) и проверь: `git --version`, `node --version` (нужен >= 20.12). Голый `python` НЕ вызывай — на свежей Windows 11 это заглушка Microsoft Store; Python лежит в `$env:LOCALAPPDATA\Programs\Python\Python312\python.exe`.

### macOS
3. Проверь Homebrew: `command -v brew || ls /opt/homebrew/bin/brew /usr/local/bin/brew 2>/dev/null`. НЕ вызывай `git` до установки Homebrew — на свежем Маке это заглушка Xcode CLT, которая падает с ошибкой.

4. **Если brew ЕСТЬ** — подхвати его в сессию (команда из ПРАВИЛ) и переходи к шагу 5.

   **Если brew НЕТ** — это ручной шаг №2, из агента его выполнить нельзя (установщику нужен пароль администратора, а у моего шелла нет TTY). Выведи пользователю:

   ---
   Нужен Homebrew — менеджер пакетов macOS. Один раз сделай руками:
   1. Открой обычный Terminal (не эту сессию).
   2. Вставь команду и нажми Enter:
      ```
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      ```
   3. Нажми RETURN для подтверждения и введи пароль администратора, когда спросит.
   4. Установка займёт 5–20 минут (заодно поставятся Xcode Command Line Tools — это нормально).
   5. Когда в терминале появится «Installation successful» — напиши мне `ГОТОВО`.
   ---
   Дождись «ГОТОВО», затем подхвати brew в сессию (команда из ПРАВИЛ) и добавь его в профиль:
   ```bash
   BREW_BIN=$([ -x /opt/homebrew/bin/brew ] && echo /opt/homebrew/bin/brew || echo /usr/local/bin/brew)
   echo "eval \"\$($BREW_BIN shellenv)\"" >> ~/.zprofile
   ```

5. Установи пререквизиты (sudo не нужен):
```bash
brew install git node python
```
`brew install node` ставит последнюю мажорную версию — для требования node >= 20.12 этого более чем достаточно. `python` из brew даёт `python3` >= 3.13 (системный /usr/bin/python3 — старый 3.9, его не использовать).

6. Проверь: `git --version && node --version && python3 --version`.

## ЭТАП 2 — Caveman: плагин + все скиллы + режим ultra по умолчанию

1. Установи плагин — команды одинаковые на обеих ОС (официально неинтерактивные, работают из шелла):
```
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman
```
Если `claude` не находится: Windows — `& "$env:USERPROFILE\.local\bin\claude.exe"`, macOS — `~/.local/bin/claude`.

2. Скопируй все скиллы и агентов в пользовательские папки (7 скиллов: caveman, caveman-commit, caveman-compress, caveman-help, caveman-review, caveman-stats, cavecrew; 3 агента cavecrew-*):

**Windows:**
```powershell
Remove-Item -Recurse -Force "$env:TEMP\caveman-repo" -ErrorAction SilentlyContinue
git clone --depth 1 https://github.com/JuliusBrussee/caveman.git "$env:TEMP\caveman-repo"
New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null
Copy-Item "$env:TEMP\caveman-repo\skills\*" "$HOME\.claude\skills\" -Recurse -Force
New-Item -ItemType Directory -Force "$HOME\.claude\agents" | Out-Null
Copy-Item "$env:TEMP\caveman-repo\agents\*" "$HOME\.claude\agents\" -Recurse -Force
```

**macOS:**
```bash
rm -rf /tmp/caveman-repo
git clone --depth 1 https://github.com/JuliusBrussee/caveman.git /tmp/caveman-repo
mkdir -p ~/.claude/skills ~/.claude/agents
cp -R /tmp/caveman-repo/skills/. ~/.claude/skills/
cp -R /tmp/caveman-repo/agents/. ~/.claude/agents/
```

3. Ultra по умолчанию — задай ОБА механизма (их читает SessionStart-хук плагина; env-переменная приоритетнее конфига):

**Windows:**
```powershell
setx CAVEMAN_DEFAULT_MODE ultra
New-Item -ItemType Directory -Force "$env:APPDATA\caveman" | Out-Null
[System.IO.File]::WriteAllText("$env:APPDATA\caveman\config.json", '{ "defaultMode": "ultra" }')
```
КРИТИЧНО: config.json — только через WriteAllText. Хук caveman делает голый `JSON.parse` без срезания BOM: файл с BOM молча игнорируется и режим остаётся `full` вместо `ultra`. `setx` подействует после перезапуска Claude Code.

**macOS:**
```bash
CFG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/caveman"
mkdir -p "$CFG_DIR"
printf '{ "defaultMode": "ultra" }' > "$CFG_DIR/config.json"
echo 'export CAVEMAN_DEFAULT_MODE=ultra' >> ~/.zshrc
```
Основной механизм — config.json (хук читает его напрямую при любом способе запуска Claude Code); строка в ~/.zshrc — подстраховка.

Примечание (обе ОС): правила caveman написаны по-английски, и в ultra-режиме они склонны утаскивать ответы в английский. От этого защищает языковой блок из Этапа 1 (шаг 2) — убедись, что он записан ДО первого перезапуска с caveman.

## ЭТАП 3 — Superpowers

Команды одинаковые на обеих ОС:
```
claude plugin marketplace add obra/superpowers-marketplace
claude plugin install superpowers@superpowers-marketplace
```
Запасной вариант, если marketplace-путь упал — клонируй репо в скиллы (в нём есть `.claude-plugin/plugin.json`, папка подхватится как плагин `superpowers@skills-dir` при следующей сессии):
- Windows: `git clone https://github.com/obra/superpowers.git "$env:USERPROFILE\.claude\skills\superpowers"`
- macOS: `git clone https://github.com/obra/superpowers.git ~/.claude/skills/superpowers`

Проверка: `claude plugin list` должен показать superpowers (14 скиллов: brainstorming, test-driven-development, systematic-debugging, writing-plans и др.; активируется сам через SessionStart-хук).

## ЭТАП 4 — claude-mem: постоянная память (по умолчанию)

Команды одинаковые на обеих ОС (на Windows — сначала обнови PATH сессии):
```
npx -y claude-mem@latest install --ide claude-code --provider claude
npx -y claude-mem@latest start
npx -y claude-mem@latest status
```
Что важно знать:
- Именно `claude-mem install`, НЕ `npm install -g` (глобальный npm ставит только SDK-библиотеку без хуков).
- В неинтерактивном запуске установщик не задаёт вопросов (IDE=claude-code, runtime=worker, provider=claude), но ПРОПУСКАЕТ автозапуск воркера — поэтому `claude-mem start` обязателен.
- Bun и uv установщик докачает сам (в т.ч. на Apple Silicon). Плагин регистрируется как `claude-mem@thedotmack` автоматически, хуки живут внутри плагина — settings.json руками не трогать.
- Память активна по умолчанию после перезапуска Claude Code: контекст прошлых сессий сам появится в новых.
- Если status не ОК: `npx -y claude-mem doctor`. Health-эндпоинт: `http://127.0.0.1:<порт>/api/health`; порт — ключ CLAUDE_MEM_WORKER_PORT в `~/.claude-mem/settings.json` (дефолт на Windows 37777, на macOS 37700+(uid%100)).
- Windows-специфика: Claude Code запускать из PowerShell/Windows Terminal, НЕ из Git Bash (известные зависания хуков под Git Bash). На macOS таких проблем нет.

## ЭТАП 5 — Obsidian + рабочий vault

### Windows
1. Установка (если уже стоит — winget сообщит, идём дальше):
```powershell
winget install --id Obsidian.Obsidian -e --silent --accept-source-agreements --accept-package-agreements
```
2. Создай vault. НЕ клади его в OneDrive-папки (Документы/Рабочий стол часто перенаправлены в OneDrive — конфликты синхронизации на .obsidian\workspace.json):
```powershell
$v = "$env:USERPROFILE\Vaults\ClaudeVault"
New-Item -ItemType Directory -Force -Path "$v\.obsidian","$v\Inbox","$v\Projects","$v\Knowledge","$v\Archive","$v\Templates" | Out-Null
[IO.File]::WriteAllText("$v\.obsidian\app.json", '{}')
[IO.File]::WriteAllText("$v\Home.md", "# Home`n`nAI-managed vault. Поток: Inbox -> Projects/Knowledge -> Archive.`n")
[IO.File]::WriteAllText("$v\Templates\note.md", "# {{title}}`n`n## Контекст`n`n## Заметки`n")
```
3. Зарегистрируй vault в конфиге Obsidian (Obsidian должен быть закрыт; конфиг мержим, не затираем; без BOM):
```powershell
try { Stop-Process -Name Obsidian -Force -ErrorAction Stop } catch {}
$d = "$env:APPDATA\obsidian"; New-Item -ItemType Directory -Force $d | Out-Null
$p = "$d\obsidian.json"
$id = -join ((1..16) | ForEach-Object { '{0:x}' -f (Get-Random -Maximum 16) })
$ts = [DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds()
if (Test-Path $p) { $cfg = Get-Content $p -Raw | ConvertFrom-Json } else { $cfg = [pscustomobject]@{ vaults = [pscustomobject]@{} } }
if (-not $cfg.vaults) { $cfg | Add-Member -NotePropertyName vaults -NotePropertyValue ([pscustomobject]@{}) }
$cfg.vaults | Add-Member -NotePropertyName $id -NotePropertyValue ([pscustomobject]@{ path = $v; ts = $ts; open = $true }) -Force
[IO.File]::WriteAllText($p, ($cfg | ConvertTo-Json -Depth 5))
```
4. Запусти Obsidian (путь бери из реестра, не хардкодь — установка бывает в нестандартной папке):
```powershell
$u = (Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\Obsidian' -ErrorAction SilentlyContinue).UninstallString
if ($u) { $exe = Join-Path (Split-Path ($u.Trim('"') -replace ' /currentuser','')) 'Obsidian.exe' } else { $exe = "$env:LOCALAPPDATA\Programs\Obsidian\Obsidian.exe" }
Start-Process $exe
```
После первого запуска работает и URI: `Start-Process "obsidian://open?vault=ClaudeVault"`.

### macOS
1. Установка + снятие карантина (Obsidian подписан и нотаризован — снятие карантина убирает единственный GUI-диалог первого запуска, поток становится полностью автоматическим):
```bash
brew install --cask obsidian
xattr -dr com.apple.quarantine /Applications/Obsidian.app
```
2. Создай vault. Именно `~/Vaults` — НЕ ~/Documents и НЕ ~/Desktop (там iCloud-синхронизация и TCC-диалог «разрешить доступ к папке», ломающие автоматику):
```bash
V="$HOME/Vaults/ClaudeVault"
mkdir -p "$V/.obsidian" "$V/Inbox" "$V/Projects" "$V/Knowledge" "$V/Archive" "$V/Templates"
printf '{}' > "$V/.obsidian/app.json"
printf '# Home\n\nAI-managed vault. Поток: Inbox -> Projects/Knowledge -> Archive.\n' > "$V/Home.md"
printf '# {{title}}\n\n## Контекст\n\n## Заметки\n' > "$V/Templates/note.md"
```
3. Зарегистрируй vault (Obsidian закрыт; merge существующего конфига, идемпотентно):
```bash
pkill -x Obsidian 2>/dev/null || true; sleep 2
VAULT="$V" node -e 'const fs=require("fs"),p=require("path"),os=require("os");const dir=p.join(os.homedir(),"Library","Application Support","obsidian");const f=p.join(dir,"obsidian.json");fs.mkdirSync(dir,{recursive:true});let d={};try{d=JSON.parse(fs.readFileSync(f,"utf8"))}catch(e){}d.vaults=d.vaults||{};const t=p.resolve(process.env.VAULT);if(!Object.values(d.vaults).some(v=>v.path===t)){d.vaults[require("crypto").randomBytes(8).toString("hex")]={path:t,ts:Date.now(),open:true}}fs.writeFileSync(f,JSON.stringify(d))'
```
4. Запусти:
```bash
open -a Obsidian
sleep 5
open "obsidian://open?vault=ClaudeVault"
```
(URI-схема obsidian:// регистрируется при первом запуске приложения, поэтому сначала `open -a`, потом URI.)

### Обе ОС
5. Vault без community-плагинов — диалога «Do you trust the author» не будет. Свяжи vault с Claude: допиши в `~/.claude/CLAUDE.md` (создай, если нет) строку с фактическим путём:
```
Obsidian vault: <абсолютный путь к ClaudeVault> — все заметки/базу знаний веди там обычными файловыми инструментами (Inbox = входящее, Projects = активное, Knowledge = справочное, Archive = завершённое).
```

## ЭТАП 6 — MarkItDown как скилл

1. Отдельный venv + установка:

**Windows:**
```powershell
$py = "$env:LOCALAPPDATA\Programs\Python\Python312\python.exe"
& $py -m venv "$env:USERPROFILE\.claude\skills\markitdown\venv"
& "$env:USERPROFILE\.claude\skills\markitdown\venv\Scripts\python.exe" -m pip install --upgrade pip
& "$env:USERPROFILE\.claude\skills\markitdown\venv\Scripts\python.exe" -m pip install "markitdown[all]"
& "$env:USERPROFILE\.claude\skills\markitdown\venv\Scripts\markitdown.exe" --version
```

**macOS** (кавычки вокруг 'markitdown[all]' обязательны — zsh иначе падает на скобках):
```bash
VENV="$HOME/.claude/skills/markitdown/venv"
python3 -m venv "$VENV"
"$VENV/bin/pip" install --upgrade pip
"$VENV/bin/pip" install 'markitdown[all]'
"$VENV/bin/markitdown" --version
```

2. Создай инструментом Write файл `~/.claude/skills/markitdown/SKILL.md` ровно с этим содержимым (description обязан быть в двойных кавычках — незакавыченное двоеточие ломает YAML-парсер, и скилл молча не загрузится):

```markdown
---
name: markitdown
description: "Конвертация документов в Markdown через Microsoft MarkItDown — PDF, Word (docx), PowerPoint (pptx), Excel (xlsx/xls), HTML, CSV, JSON, XML, Outlook .msg, EPub, ZIP, изображения (EXIF). Используй при запросах вида конвертни в markdown, извлеки текст из pdf/word/excel/pptx, распарси документ, markitdown. НЕ для транскрибации аудио."
---

# markitdown — документы в Markdown

Отдельный venv, глобальный Python не тронут. Исполняемый файл:
- Windows (PowerShell): & "$env:USERPROFILE\.claude\skills\markitdown\venv\Scripts\markitdown.exe"
- Windows (Bash): /c/Users/<имя>/.claude/skills/markitdown/venv/Scripts/markitdown.exe
- macOS: ~/.claude/skills/markitdown/venv/bin/markitdown

## Использование
Всегда передавай -o (без него вывод идёт в stdout; на Windows кириллица в stdout ломается кодировкой консоли):
  markitdown "вход.pdf" -o "выход.md"
Если пользователь не указал путь вывода — сам подставь <папка исходника>/<имя>.md.
Windows: для stdout-предпросмотра сначала $env:PYTHONUTF8='1'; никогда не используй PowerShell-редирект >. macOS: UTF-8 по умолчанию, доп. настроек не нужно.

## Чек-лист
1. Конвертируй с -o.
2. Прочитай первые строки .md — файл не пустой, кириллица цела.
3. Сообщи пользователю абсолютный путь результата.

## Известные отказы
- Пустой вывод из PDF = скан без текстового слоя; офлайн-OCR в комплект не входит — так и скажи.
- Кракозябры (Windows) = stdout без PYTHONUTF8; повтори с -o.
- FileNotFoundError (Windows) = перепутаны формы пути /c/... (bash) и C:\... (PowerShell).
```

## ЭТАП 7 — Финальная проверка и отчёт

Прогони (общие команды + свой вариант путей):
```
claude plugin list
npx -y claude-mem@latest status
```
**Windows:**
```powershell
& "$env:USERPROFILE\.claude\skills\markitdown\venv\Scripts\markitdown.exe" --version
Test-Path "$env:USERPROFILE\Vaults\ClaudeVault\.obsidian\app.json"
Get-ChildItem "$env:USERPROFILE\.claude\skills" -Directory | Select-Object Name
```
**macOS:**
```bash
"$HOME/.claude/skills/markitdown/venv/bin/markitdown" --version
ls "$HOME/Vaults/ClaudeVault/.obsidian"
ls "$HOME/.claude/skills"
```

Выведи финальный отчёт:
1. Таблица: Компонент | Статус | Версия/детали. Строки: bypass permissions (постоянный), железное правило русского языка (~/.claude/CLAUDE.md), Git, Node, Python, caveman (плагин + режим ultra), скиллы caveman (7 шт.), superpowers (14 скиллов), claude-mem (worker running?), Obsidian + vault, markitdown.
2. Если были ❌ — по каждому: что упало, точная ошибка, что попробовать руками.
3. Блок «ОСТАЛОСЬ СДЕЛАТЬ РУКАМИ» — ровно один пункт: перезапустить Claude Code (закрыть сессию и открыть новую; Windows — из PowerShell, macOS — из Terminal). После перезапуска активируются caveman ultra (проверка: в начале сессии видно «CAVEMAN MODE ACTIVE — level: ultra»), superpowers и память claude-mem (покажет таймлайн прошлых сессий).
4. Предложи пользователю смоук-тест: написать `проверка` — и тогда в новой сессии продемонстрируй ultra-стиль ответа, вызови /superpowers:brainstorming на пробную тему одной строкой и сконвертируй любой найденный на диске PDF в markdown.
