**Назначение:** правила выбора плагина при работе в brain repo (`c:/моя/проекты/claude-brain/`).
**Scope:** только сам brain repo. Для consumer-проектов (Liderra и будущие) действуют их собственные правила (PSR template, который brain копирует в consumer).
**Связано:**
- [CLAUDE.md](../CLAUDE.md) — оперативная карта brain'а, содержит ссылку сюда
- [project-files/docs/Plugin_stack_rules.template.md](../project-files/docs/Plugin_stack_rules.template.md) — PSR для consumer'а; **НЕ применяется** к brain'у
- [docs/superpowers/specs/2026-05-11-brain-plugin-routing-design.md](superpowers/specs/2026-05-11-brain-plugin-routing-design.md) — design spec этого документа
---
## §1. Принципы
**Brain ≠ consumer.** PSR template (916 строк) описывает координацию плагинов в consumer'е c Vue/Vuetify/Forest стеком. Эти правила НЕ применяются к работе в самом brain — у brain нет UI-задач, нет TDD-кода, нет фаз 1-7 UI-фичи. Brain — это «инфраструктурный distributor», и правила выбора плагина здесь другие.
**Один путь поиска.** Все вопросы про плагины в brain'е (какой использовать, как поставить новый, что отключить) — решаются по этому документу. Если документ не покрывает — добавь сюда строку через bump v1.x, не плоди ad-hoc решения.
**Реалистично, без чрезмерности.**В brain'е работает один человек + Claude. Не нужны R0-R15 как в PSR. Достаточно: реестр, routing, disabled-in-brain, categorization, install checklist, update procedure.
| **claude-md-management** | `anthropics/claude-plugins-official` | `meta` | любая правка CLAUDE.md (brain или consumer template); session-learnings через revise-claude-md | правка Pravila/PSR/Tooling template'ов (другой инструмент — прямой Edit + writing-skills pressure если структурная) |
| **skill-creator** | `anthropics/claude-plugins-official` | `meta` | создание custom skill для brain с**verifiable output** (codegen, transform, validation) | создание discipline-enforcing скила — там `superpowers:writing-skills` |
| **claude-code-setup***(claude-automation-recommender)* | `anthropics/claude-plugins-official` | `meta` | анализ «какие плагины/хуки ещё поставить в brain» при росте репо | каждодневная работа |
| **plugin-dev** | `anthropics/claude-plugins-official` | `meta` | создание нового plugin'а в brain'е (agents/commands/hooks/MCP integration); тест-bed для будущих brain плагинов | каждодневная UI/code работа |
| **hookify** | `anthropics/claude-plugins-official` | `meta` | создание нового hook'а в brain by analyzing conversation patterns; complement к 10 ручным .py hook'ам в `user-level-files/hooks/` | каждодневная работа |
| **frontend-design** | `anthropics/claude-plugins-official` | `consumer-UI` | ❌ **не использовать в brain'е** (см. §2.2) | весь brain |
| **ui-ux-pro-max** | `nextlevelbuilder/ui-ux-pro-max-skill` | `consumer-UI` | ❌ **не использовать в brain'е** (см. §2.2) | весь brain |
### §2.2. Disabled-in-brain (soft-rule)
`frontend-design` и `ui-ux-pro-max` остаются `enabledPlugins: true` на user-level — нужны:
1. при работе в Liderra (там UI-задачи, регламентирует PSR R10),
2. как template'ные зависимости для будущих consumer'ов.
**Но в самом brain repo они не используются.** Модель самостоятельно их игнорирует, не инвокирует Skill tool на их скилы. Технически плагины активны — в brain mental model выключены.
**Триггер soft-rule:** рабочий путь начинается с `c:/моя/проекты/claude-brain/`. При этой проверке — FD/UPM «вне scope».
**Edge case — структурная правка visualization HTML** (`project-files/docs/visualizations/hooks-skills-plugins-map.html`):
- маленькая правка (узел, цвет, текст) — прямой Edit без FD
- структурная (новая раскладка, новое представление) — открыть новый чат, явно сказать «использую FD для этой правки visualization», и считать FD активным только на этот один файл
---
## §3. Routing table
### §3.1. Disambiguation overlap'ов
| Задача в brain | Default | Допустимый override + триггер | Почему default |
|---|---|---|---|
| Создание custom skill — **verifiable output** (codegen, transform, validation) | `skill-creator` | `superpowers:writing-skills` если discipline-составляющая преобладает | eval-loop с train/test 60/40 + iterative refinement работает на проверяемых outputs |
| Создание custom skill — **discipline-enforcing** (TDD-like, review-like, verify-like) | `superpowers:writing-skills` | `skill-creator` если output становится явно verifiable (hook generator и т.п.) | RED-GREEN-REFACTOR pressure scenarios + bulletproofing |
| Создание custom skill — **hybrid** | `superpowers:brainstorming` → определить ведущий тип → дальше по строкам выше | — | brainstorming сам решает тип |
| Правка `CLAUDE.md` (brain или consumer template) | `claude-md-management:claude-md-improver` | прямой Edit **только** для: cross-ref bump, version-bump, опечатка | формально требуется по [CLAUDE.md §5 п.10 (template)](../project-files/CLAUDE.md.template); тривиал-override снимает overkill |
| Capture session-learnings → CLAUDE.md | `claude-md-management:revise-claude-md` | — | специально под эту задачу |
| Правка `Pravila`/`PSR`/`Tooling` template'ов | прямой Edit (template — не CLAUDE.md, claude-md-improver неприменим) + `superpowers:writing-skills` pressure если структурная | — | улучшитель для не-CLAUDE.md в brain отсутствует |
| Анализ «что ещё поставить в brain» | `claude-code-setup:claude-automation-recommender` | ручной анализ если recommender дал «не знаю» | внешняя валидация ручного shortlist'а; уже доказал value (нашёл #17 plugin-dev + #18 hookify) |
| Создание нового **plugin'а** для brain (agents/commands/hooks/MCP integration) | `plugin-dev` | прямое создание `.claude-plugin/plugin.json` + skills если plugin тривиальный (1 skill, без агентов и hooks) | guided plugin scaffolding с Anthropic best practices |
| Создание нового **hook'а** в brain (PreToolUse/PostToolUse/Stop/SessionStart/UserPromptSubmit) | `hookify` | прямой Edit .py файла в `user-level-files/hooks/` если простой port существующего паттерна или hook тривиален | guided hook generation by analyzing conversation patterns |
| Debug (hook не работает, install.sh fails, MCP не отвечает) | `superpowers:systematic-debugging` (≥3 гипотезы, falsify каждую) | — | hard-required по economy 0% |
| Планирование multi-step задачи в brain | `superpowers:writing-plans` (после brainstorming) | прямой Edit с TodoWrite **только** для ≤2 шагов | для длинных задач — full spec в `docs/superpowers/specs/` |
| Закрытие задачи (commit, tag, push) | `superpowers:verification-before-completion` | — | hard-rule перед claim 'готово' по economy 0%; economy-verifier hook это проверит |
| Параллельная работа (независимые исследования) | `superpowers:dispatching-parallel-agents` | — | один tool |
| TDD на код hook'а / скрипта | `superpowers:test-driven-development` (failing test first) | — | hard-required по economy 0% |
| «Запутался — какой плагин брать» (meta-question) | прочитать этот документ; если строки нет — спросить + добавить через bump v1.x (см. §6.1) | — | self-referential: правила указывают на самих себя |
### §3.2. Tie-breakers
1.**Несколько строк подходят одновременно** — побеждает более конкретная по задаче. Equal confidence → спросить пользователя.
2.**Economy mode 0% триггер требует skill X, default говорит Y** — побеждает economy 0% (live-override).
3.**User написал `/skill-name` явно** — выполнить именно его (live-override на одно действие).
---
## §4. Categorization
Решает «куда ставить плагин» и «где какой плагин относится».
### §4.1. Категории
| Категория | Где ставить | Где НЕ ставить | Признак |
|---|---|---|---|
| `meta` | brain `enabledPlugins` + brain `plugins-manifest.json` (target = `user-level`) | consumer | работает над plugin/skill/hook инфраструктурой Claude Code |
| `consumer-universal` | template install для любого consumer'а через `scripts/install.sh` (target = `consumer`) | brain | Claude Code workflow tool, не зависит от стека |
| `consumer-stack-gated` | template install только для consumer'а с подходящим стеком | brain + consumer без стека | привязан к Vercel/Supabase/Figma/HuggingFace/Vue+spec |
| `consumer-UI` | user-level `enabledPlugins` (нужен в Liderra) + brain manifest target = `user-level+consumer` | внутри brain — soft-ignore по §2.2 | UI/UX domain plugin |
| `skip` | нигде | везде | не подходит по результату анализа |
**Brain runtime не меняется.** Плагин **не активен** в `~/.claude/settings.json` brain'а. Если плагин нужен также пользователю — он отдельно edit'ит свой `settings.json`.
### §5.3. Категория `consumer-stack-gated`
Аналогично §5.2 + шаг 4а: фиксировать в `docs/consumer-projects.md` для каких стеков подходит.
### §5.4. Категория `consumer-UI`
Подвариант §5.2: установлен на user-level (нужен в Liderra), но в brain'е по §2.2 — игнорируется. Brain manifest target = `"user-level+consumer"`. Brain `settings-fragment.json`**содержит** этот плагин (как сейчас FD, UPM).
### §5.5. Категория `skip`
| # | Действие | Артефакт |
|---|---|---|
| 1 | Запись причины пропуска | `docs/rejected-plugins.md` (создаётся при первой такой записи) или раздел «Rejected» в этом документе |
| 2 | Ничего больше не трогать | — |
---
## §6. Update procedure
### §6.1. Когда менять документ
| Событие | Что обновить |
|---|---|
| Новый плагин в shortlist / установлен | §2.1 + §4.2 + §3.1 (если новый класс задач) + bump v1.x |
| Новый класс задачи в brain'е, решающийся неоднозначно | §3.1 + bump v1.x |
| Старый плагин deprecated / удалён | §2.1 mark «deprecated», §4.2 → `skip`, §3.1 — заменить default'ы; bump v1.x или v2.0 |
### §6.3. Согласованность с другими документами brain'а
При bump этого документа:
- если меняется категория плагина или add'ится новый → обновить `user-level-files/plugins-manifest.json`, `marketplaces.json`, `settings-fragment.json` в **том же commit'е** (см. §5.1 шаги 5-7).
- если изменения структурные → bump `CLAUDE.md` brain'а (короткая запись о новой структуре).
- ссылка из `CLAUDE.md` на этот документ — всегда `v1.x+` (forward-compat).
### §6.4. Edge case — старая категория не подходит для нового плагина
Если новый плагин не вписывается ни в одну из 5 категорий (`meta` / `consumer-universal` / `consumer-stack-gated` / `consumer-UI` / `skip`):
1. Не пытаться «подогнать» под существующую.
2. Сделать `superpowers:brainstorming` — обдумать что это за класс.
3. Если нужна новая категория — bump v2.0 + явный раздел в changelog почему.
---
## §7. Финальная формула + свойства
### §7.1. TL;DR
```
Задача в brain → §3.1 routing-table → найди строку → default или override.
Не нашёл строки → спроси пользователя + добавь строку через bump v1.x (§6.1).
Установка нового плагина → §5 по категории.
В сомнениях про категорию → §4.1 признаки → §6.4 если ни одна не подходит.
При работе в brain repo → frontend-design + ui-ux-pro-max игнорируются (§2.2).
Закрытие задачи → всегда `superpowers:verification-before-completion` перед claim 'готово'.
```
**Применять немедленно:** этот документ загружается через CLAUDE.md brain'а; при сомнении про любой плагин — открыть §3.1 первым шагом.
### §7.2. Свойства документа
- **Полнота:** каждая задача brain'а маршрутизируется через §3.1; каждый плагин имеет категорию из §4.1; каждый install имеет процедуру из §5.
- **Соразмерность:** ~275 строк, в 4× меньше PSR template (916); brain — инфраструктурный distributor, не consumer с UI/TDD/brand.
- **Самоподдержка:** §6 описывает как обновлять документ при изменениях.
- **Независимость:** не пересекается с PSR template (тот для consumer'ов) и не дублирует CLAUDE.md (там короткая ссылка сюда).