From 05c22b33649278d45fbc54c3b2888a4f79e26b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Tue, 28 Jul 2026 16:16:25 +0300 Subject: [PATCH] =?UTF-8?q?feat(=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D1=8B):=20#90=20grilling=20=E2=80=94=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BF=D1=80=D0=BE=D1=81=20=D0=BF=D0=BE=20=D0=B3?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=B2=D0=BE=D0=BC=D1=83=20=D1=80=D0=B5=D1=88?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8E=20+=20=D0=BD=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D0=B2=D0=BD=D0=B0=D1=8F=20=D1=81=D0=B8=D0=BD=D1=85?= =?UTF-8?q?=D1=80=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Зарегистрирован вендоренный скил grilling из mattpocock/skills, MIT, skills/productivity/grilling. Установлен user-level ~/.claude/skills/grilling/ — вне репозитория, единственная копия: проектная удалена во избежание задвоения. Роль — безжалостный допрос по УЖЕ имеющемуся плану или решению: обход дерева развилок ветка за веткой, по одному вопросу за раз, к каждому вопросу свой рекомендуемый ответ, факты ищутся самостоятельно, работа не начинается до явного подтверждения заказчика. Надстройка проекта поверх немодифицированного тела апстрима, отделена заголовком: - протокол docs/grilling/ГГГГ-ММ-ДД-тема.md — разделы Решили / Отрезали и почему / Осталось открытым; пишется по ходу, перечитывается после компакта контекста. Закрывает класс «договорённость сгорела при компакте» - порядок обхода «сначала необратимое» — деньги, схема БД, что уходит клиенту - критерий остановки: пустой фронт развилок с объявлением вслух - «слушай, не защищай» Граница ADR-021 GR1 с #55 discovery-interview — разрез по наличию решения: grilling куёт решение, которое у заказчика уже есть, поэтому наводящий рекомендуемый ответ обязателен; discovery-interview вскрывает проблему, когда решения ещё нет, и там наводящие ответы запрещены. GR2 — граница с brainstorming #19. GR3 — вендоринг без модификации апстрима. Реестр: узел #90 + контракт, связка L1 между brainstorming и writing-plans, классификация planning вес 0.8 — ниже первичных решателей. Автотаблицы перегенерированы через registry-render, карта цепочек дополнена. Нормативная синхронизация квинтета: - Tooling Прил. Н v2.26 — новый §4.63, счётчик 87→88 и 107→108, off-phase +57→+58, футер - Pravila v1.45 — §13.2 новый абзац, запись в истории версий - PSR_v1 v3.25 — R10.1 Блок 1 note, запись в истории версий - CLAUDE.md v2.49 — через плагин claude-md-management, §0 версии квинтета, §3.4 +#90, §9 запись Попутно снят застарелый рассинхрон шапки Tooling: числа 84/104 остались от майской версии, приведены к 88/108, дописаны research-tooling и узлы #87–#90. Проверки: registry-render --check зелёный на обоих файлах, observer-chain-map-checker OK 17 chains in sync, загрузчик видит 90 узлов, markdownlint 0 ошибок, cspell 0 ошибок. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 12 +- cspell-words.txt | 10 + docs/Plugin_stack_rules_v1.md | 10 +- docs/Pravila_raboty_Claude_v1_1.md | 9 +- docs/Tooling_v8_3.md | 31 ++- docs/adr/ADR-021-grilling-tooling.md | 123 +++++++++ .../registry/contracts/grilling.contract.json | 11 + docs/registry/nodes.yaml | 27 ++ docs/routing-off-phase.md | 4 +- tools/observer-chain-map.json | 236 +++++++++++++----- 10 files changed, 402 insertions(+), 71 deletions(-) create mode 100644 docs/adr/ADR-021-grilling-tooling.md create mode 100644 docs/registry/contracts/grilling.contract.json diff --git a/CLAUDE.md b/CLAUDE.md index 85e4aa40..950ab037 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -19,7 +19,7 @@ # CLAUDE.md — техконтекст Лидерры -**Версия:** 2.48 от 01.07.2026 — в §ГЛАВНОЕ добавлен горящий баннер «БОЕВОЙ ПРОД» (доступ только с разрешения владельца, БД по умолчанию только чтение, ЛК поставщика на проде = crm.lead.store, снос базы только по PROD-DESTROY-OK); прод очищен «с нуля» и взведён для боевой работы 01.07.2026 (см. `ПИЛОТ.md` + план `docs/superpowers/plans/2026-07-01-prod-cleanup-supplier-lk-swap.md`). Прежняя запись: 2.47 от 15.06.2026 — структурная компактизация: история версий и журнал фаз вынесены в [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md); разделы про «мозг» (router / наставник / observer / enforcement / разработка реестра инструментов) убраны — управляющий слой выделен в отдельный репозиторий **claude-brain** (ADR-020). Правила, нормативка и состав продукта **не изменены** — только структура файла. Полная история — в CHANGELOG. (Прежняя ремарка про рассинхрон cross-ref квинтета на 2.47 снята — закрыто в PSR v3.24 / Tooling v2.25 от 14.06.2026.) +**Версия:** 2.49 от 28.07.2026 — зарегистрирован инструмент **#90 `grilling`** (вендоренный скил `mattpocock/skills`, MIT, user-level `~/.claude/skills/grilling/` — вне репозитория): безжалостный допрос по **уже имеющемуся** решению, обход дерева развилок по одному вопросу с рекомендуемым ответом на каждый, протокол `docs/grilling/` (Решили / Отрезали и почему / Осталось открытым — переживает компакт контекста). Вторая позиция подкатегории discovery-tooling рядом с #55 `discovery-interview`; граница ADR-021 GR1 — **по наличию решения**: grilling куёт готовое, discovery-interview вскрывает проблему. §0 версии квинтета синхронизированы (Pravila v1.45 / PSR_v1 v3.25 / Прил. Н v2.26), §3.4 +#90. Счётчики не дублируются — канон в Прил. Н §0. Прежняя запись: 2.48 от 01.07.2026 — в §ГЛАВНОЕ добавлен горящий баннер «БОЕВОЙ ПРОД» (доступ только с разрешения владельца, БД по умолчанию только чтение, ЛК поставщика на проде = crm.lead.store, снос базы только по PROD-DESTROY-OK); прод очищен «с нуля» и взведён для боевой работы 01.07.2026 (см. `ПИЛОТ.md` + план `docs/superpowers/plans/2026-07-01-prod-cleanup-supplier-lk-swap.md`). Прежняя запись: 2.47 от 15.06.2026 — структурная компактизация: история версий и журнал фаз вынесены в [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md); разделы про «мозг» (router / наставник / observer / enforcement / разработка реестра инструментов) убраны — управляющий слой выделен в отдельный репозиторий **claude-brain** (ADR-020). Правила, нормативка и состав продукта **не изменены** — только структура файла. Полная история — в CHANGELOG. (Прежняя ремарка про рассинхрон cross-ref квинтета на 2.47 снята — закрыто в квинтете 14.06.2026.) **Назначение:** оперативная карта для Claude Code. Не первоисточник — первоисточники указаны в §0. **Владелец и режим правок:** все изменения этого файла — **только** через плагин `claude-md-management` (skills `/claude-md-management:claude-md-improver` для audit/targeted-updates и `/claude-md-management:revise-claude-md` для capture session-learnings). Прямые правки запрещены — см. §5 п.11. @@ -32,9 +32,9 @@ | Тема | Документ (текущая версия) | |---|---| -| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (v1.44 от 14.06.2026) | -| Правила совместного использования плагинов Claude | [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) (v3.24 от 14.06.2026) | -| Полный реестр позиций тулчейна (счётчики — канон в Прил. Н §0) | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (Прил. Н v2.25 от 14.06.2026) | +| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (v1.45 от 28.07.2026) | +| Правила совместного использования плагинов Claude | [docs/Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) (v3.25 от 28.07.2026) | +| Полный реестр позиций тулчейна (счётчики — канон в Прил. Н §0) | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (Прил. Н v2.26 от 28.07.2026) | | Главное ТЗ | [docs/CRM_bp-gr_Инструкция_v8_5.md](docs/CRM_bp-gr_Инструкция_v8_5.md) (v8.5 от 07.05.2026) | | Схема БД | [db/schema.sql](db/schema.sql) — метрики и версия схемы **канон в header файла** + [db/CHANGELOG_schema.md](db/CHANGELOG_schema.md); CLAUDE.md числа не дублирует | | Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (v1.83 от 13.05.2026) | @@ -145,7 +145,7 @@ | 24 | Каталог компонентов | Histoire (НЕ Storybook) | `npm run story` | | 30 | Доменная база UI (компоненты, паттерны, состояния, a11y-принципы) | **Frontend Design plugin** (Anthropic, paired со Superpowers) | автоматически через `~/.claude/settings.json`; **обязательный стек-фильтр** Vue+Vuetify (см. [Plugin_stack_rules_v1.md](docs/Plugin_stack_rules_v1.md) Правило 6) | -**Off-phase инструменты (#31–#89, 20 подкатегорий)** — полный реестр, команды, конфликты и счётчики — канон в [Tooling Прил. Н §0](docs/Tooling_v8_3.md). Routing-аид «триггер задачи → off-phase узел» + канонические связки — [docs/routing-off-phase.md](docs/routing-off-phase.md). Ключевые: #33 `claude-md-management` (обязательный канал правок CLAUDE.md, §5 п.10), #34 Sentry MCP / #35 Redis MCP (READ-ONLY отладка прод-runtime), #60 context7 (актуальная документация библиотек), #86 graphifyy (граф проекта, §5 п.14), #87–89 perplexity/exa/firecrawl (веб-разведка, READ-ONLY). +**Off-phase инструменты (#31–#90, 20 подкатегорий)** — полный реестр, команды, конфликты и счётчики — канон в [Tooling Прил. Н §0](docs/Tooling_v8_3.md). Routing-аид «триггер задачи → off-phase узел» + канонические связки — [docs/routing-off-phase.md](docs/routing-off-phase.md). Ключевые: #33 `claude-md-management` (обязательный канал правок CLAUDE.md, §5 п.10), #34 Sentry MCP / #35 Redis MCP (READ-ONLY отладка прод-runtime), #60 context7 (актуальная документация библиотек), #86 graphifyy (граф проекта, §5 п.14), #87–89 perplexity/exa/firecrawl (веб-разведка, READ-ONLY), #55 `discovery-interview` / #90 `grilling` (интервью: вскрыть проблему, когда решения нет — vs обстрелять решение, которое уже есть; граница ADR-021 GR1). ### 3.4. Фаза 3 — pre-production (+5, итого 29) @@ -291,4 +291,6 @@ trivy image liderra:latest Полная история — [docs/CHANGELOG_claude_md.md](docs/CHANGELOG_claude_md.md) (туда же 15.06.2026 дописан полный снимок прежнего CLAUDE.md перед компактизацией — без потерь). Здесь — последняя запись: +- **v2.49 от 28.07.2026 — регистрация #90 `grilling`** — вендоренный скил из `mattpocock/skills` (MIT, `skills/productivity/grilling`), установлен user-level `~/.claude/skills/grilling/SKILL.md` — вне репозитория, единственная копия (проектная удалена во избежание задвоения). Роль: допрос по **уже имеющемуся** плану/решению — обход дерева развилок по одному вопросу за раз, к каждому вопросу свой рекомендуемый ответ, факты ищутся самостоятельно, работа не начинается до подтверждения заказчика. Надстройка проекта поверх немодифицированного апстрима: протокол `docs/grilling/ГГГГ-ММ-ДД-<тема>.md` (Решили / Отрезали и почему / Осталось открытым — пишется по ходу, перечитывается после компакта, закрывает класс «договорённость сгорела при компакте»), порядок «сначала необратимое», остановка по пустому фронту развилок с объявлением вслух. Новой подкатегории не заводит — вторая позиция 12-й (discovery-tooling) рядом с #55 `discovery-interview`; разрез ADR-021 GR1 по **наличию решения**. Врезан в связку L1 между `brainstorming` и `writing-plans`, классификация `planning` вес 0.8. Синхронизировано: Прил. Н v2.26 (§4.63 #90, §0 счётчик 87→88), Pravila v1.45 (§13.2), PSR_v1 v3.25 (R10.1 Блок 1 note), реестр `docs/registry/nodes.yaml` + контракт, `docs/routing-off-phase.md`, `tools/observer-chain-map.json`, ADR-021. Через `claude-md-management`. NB: запись о v2.48 в этом разделе отсутствует (пропущена 01.07.2026) — содержание v2.48 сохранено в строке версии в шапке. + - **v2.47 от 15.06.2026 — структурная компактизация** — история версий (v1.80…v2.46), цепочки «наследие» (строка версии + ячейки §0) и журнал фаз (§6) вынесены в CHANGELOG; вырезаны разделы про «мозг» (router / наставник / observer / enforcement / разработка реестра инструментов) — управляющий слой выделен в отдельный репозиторий **claude-brain** (ADR-020). Правила (§1, §5), нормативка (§0 квинтет, версии не тронуты) и состав продукта (§2, §7) **не изменены** — только структура. Файл сокращён с 347 КБ (точный новый размер — командой `wc -c` после применения). Cross-ref версии CLAUDE.md в Pravila/PSR/Tooling указывают 2.46 — синхронизация квинтета на 2.47 — отдельный follow-up. Через `claude-md-management`. diff --git a/cspell-words.txt b/cspell-words.txt index 568f755b..7950020d 100644 --- a/cspell-words.txt +++ b/cspell-words.txt @@ -2447,3 +2447,13 @@ Qrator ОПФ опросится тенантные +mattpocock +апстрима +задвоение +[INFO] Recording command outcome: cd + +[OK] Command outcome recorded +задвоения +[INFO] Recording command outcome: cd + +[OK] Command outcome recorded diff --git a/docs/Plugin_stack_rules_v1.md b/docs/Plugin_stack_rules_v1.md index 28f4073d..7ef8115d 100644 --- a/docs/Plugin_stack_rules_v1.md +++ b/docs/Plugin_stack_rules_v1.md @@ -1,8 +1,10 @@ -# Plugin Stack Rules — Superpowers + Frontend Design (v3.24) +# Plugin Stack Rules — Superpowers + Frontend Design (v3.25) -**Дата:** 14.06.2026 +**Дата:** 28.07.2026 **Назначение:** свод правил совместного использования плагинов Claude Code в проекте Лидерра — paired-stack ядро `obra/superpowers` (14 skills) + `anthropics/frontend-design`, плюс расширенный пул UI-инструментов `ui-ux-pro-max` (skill, marketplace `nextlevelbuilder/ui-ux-pro-max-skill`) и `21st.dev Magic MCP` (MCP-сервер `magic`), плюс инфраструктурный `claude-md-management` (skills, marketplace `anthropics/claude-plugins-official`), плюс **debug-runtime MCP** `@sentry/mcp-server` + `@modelcontextprotocol/server-redis` (v2.1+, R10.1 Блок 3). **17 правил R0–R16** (R15 off-phase routing введён в v3.14 на освободившийся после v2.0 R15-motion слот; R16 brain evidence loop введён в v3.16). +**v3.25** — grilling: R10.1 Блок 1 note +**grilling** #90 (вендоренный скил `mattpocock/skills`, MIT, user-level `~/.claude/skills/grilling/SKILL.md` — единственная копия, проектная удалена во избежание задвоения; только Markdown, без кода/хуков/сети → gate-постура не требуется; тело апстрима не модифицируется, надстройка проекта отделена заголовком). Категория **discovery-tooling** — не новая подкатегория, вторая позиция 12-й рядом с #55 discovery-interview; вне R6.0/R6.1/R14. ADR-021 (GR1 разрез с #55 по наличию решения; GR2 ↔ brainstorming #19; GR3 вендоринг). Связано: Tooling Прил. Н v2.26 (§4.63, §0 счётчик 87→88), Pravila v1.45 (§13.2), CLAUDE.md v2.49. + **v3.24** — research-tooling (Perplexity Pack): R10.1 Блок 3 +3 MCP-сервера **perplexity** #87 / **exa** #88 / **firecrawl** #89 (внешняя веб-разведка, READ-ONLY, платные API — ключи только в env, gate read_only `bfc1f575`). Новая 20-я off-phase подкатегория **research-tooling**; R15.6 +research-tooling. ADR-019 (RT1–RT9). User-level/external MCP, не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R16: 0. Связано: Tooling v2.25 (§4.60–§4.62 + §0 счётчик 84→87), Pravila v1.44 (§13.2 +абзац), CLAUDE.md v2.47 (§3.3 +#87-89; §0 cross-refs); план `docs/superpowers/plans/2026-06-14-perplexity-pack-plan3-router-registry.md`. **v3.23** — knowledge-graph-tooling: R10.1 Блок 1 note +**graphifyy** #86 (user-level скил `~/.claude/skills/graphify/SKILL.md`, CLI `graphifyy`, строит knowledge graph портала; активация `/graphify `; артефакты `graphify-out*/` gitignored). Новая 19-я off-phase подкатегория **knowledge-graph-tooling** (раздел A12/graph карты). User-level скил, не project-level → вне R6.0/R6.1/R14. R15.6 +knowledge-graph-tooling. ADR-017 (KG1–KG5). Содержательных изменений R0–R16: 0. Связано: Tooling v2.24 (§4.59 + §0 счётчик 83→84), Pravila v1.43 (§13.2 +абзац), CLAUDE.md v2.31 (§3.3 +#86; §0 cross-refs). @@ -477,6 +479,8 @@ Stack — **головной**. Все плагины вне stack'а — **ин **Блок 1 — note (v3.23):** **graphifyy** (Tooling #86) — user-level скил `~/.claude/skills/graphify/SKILL.md` (`/graphify` активация), CLI `graphifyy` (npm, строит knowledge graph из docs+code); **не** project-level и **не** в `enabledPlugins` (user-level — вне `enabledPlugins` проекта). Артефакты `graphify-out*/` в корне — gitignored. Категория **knowledge-graph-tooling** (19-я off-phase подкатегория), вне R6.0/R6.1/R14. ADR-017 (KG1–KG5: границы ↔ context7 #60 / Boost #10 / openapi-mcp #47 / Sentry #34 / adr-kit #36 + mermaid #37). +**Блок 1 — note (v3.25):** **grilling** (Tooling #90) — **вендоренный** сторонний скил из `mattpocock/skills` (MIT, `skills/productivity/grilling`), установлен **user-level** `~/.claude/skills/grilling/SKILL.md`; **не** project-level, **не** через marketplace и **не** в `enabledPlugins` (user-level — вне `enabledPlugins` проекта). Единственная копия: проектная удалена, чтобы скил не задваивался в списке (предупреждение самого апстрима о параллельной установке плагином и файлами). Только Markdown, исполняемого кода/хуков/сети нет — gate-постура не требуется. Тело апстрима **не модифицируется**, надстройка проекта отделена заголовком «Добавлено нами» (протокол `docs/grilling/`, «сначала необратимое», остановка по пустому фронту развилок); обновления апстрима — ручной сверкой (GR3). Как вендоренный — **в ignorePaths** линтеров (паттерн mermaid-skill/CCPM/Data Scientist/marketingskills), а физически лежит вне репозитория, поэтому lefthook его и не видит. Категория **discovery-tooling** (12-я off-phase подкатегория, вторая позиция рядом с #55), вне R6.0/R6.1/R14. ADR-021 (GR1 ↔ discovery-interview #55 по наличию решения; GR2 ↔ brainstorming #19; GR3 вендоринг). + **Отмена:** через удаление из `enabledPlugins` в `~/.claude/settings.json` или через live-override `/имя-плагина` (R0.4.B) на одно действие. #### Блок 2: Built-in skills Claude Code (всегда доступны через `Skill` tool по `/имя`) @@ -923,6 +927,8 @@ R16 — evidence-сбор, не правило выбора. R0–R15 продо ## История версий +- **v3.25 (2026-07-28)** — grilling: R10.1 Блок 1 note +grilling #90 (вендоренный скил `mattpocock/skills` MIT, user-level `~/.claude/skills/grilling/`, допрос по уже имеющемуся решению). Не новая подкатегория — вторая позиция discovery-tooling рядом с #55. ADR-021 (GR1–GR3). Связано: Tooling v2.26, Pravila v1.45, CLAUDE.md v2.49. + - **v3.23 (2026-05-27)** — knowledge-graph-tooling: R10.1 Блок 1 note +graphifyy #86 (user-level скил, CLI `graphifyy`, knowledge graph портала, активация `/graphify`, артефакты `graphify-out*/` gitignored); R15.6 +knowledge-graph-tooling; 19-я off-phase подкатегория; user-level → вне R6.0/R6.1/R14. ADR-017 (KG1–KG5). Содержательных изменений R0–R16: 0. Связано: Tooling v2.24 (§4.59 + §0 83→84), Pravila v1.43 (§13.2), CLAUDE.md v2.31 (§3.3 +#86). - **v3.22 (2026-05-25, cross-ref update)** — §0 cross-ref string Pravila v1.39+→**v1.42+** (Pravila §17.7 «Coverage announcement» добавлена — правило аннотировать каждую non-conversation задачу `coverage: :`). Содержательных изменений R0–R16: 0. Связано: Pravila v1.42, Tooling v2.23, CLAUDE.md v2.28. diff --git a/docs/Pravila_raboty_Claude_v1_1.md b/docs/Pravila_raboty_Claude_v1_1.md index 074c0e14..5a285de9 100644 --- a/docs/Pravila_raboty_Claude_v1_1.md +++ b/docs/Pravila_raboty_Claude_v1_1.md @@ -1,10 +1,12 @@ # Правила работы Claude в проекте «Лидерра» -**Версия:** v1.44 (14.06.2026) -**Дата:** 14.06.2026 +**Версия:** v1.45 (28.07.2026) +**Дата:** 28.07.2026 **Назначение:** настройки проекта (Project instructions) — Claude читает этот файл в каждом чате и следует правилам ниже. **Статус документа:** ✅ утверждён. Содержимое скопировано в поле "Project instructions" Claude.ai. Файл хранится в архиве как служебный документ. +**Что изменилось в v1.45 относительно v1.44:** grilling — **§13.2 +абзац «Off-phase discovery-tooling — вторая позиция»**: #90 `grilling` (вендоренный скил `mattpocock/skills`, MIT, user-level `~/.claude/skills/grilling/SKILL.md`, вне репозитория — единственная копия). Безжалостный допрос по **уже имеющемуся** решению: обход дерева решений, один вопрос за раз, рекомендуемый ответ на каждый, факты ищутся самостоятельно, работа не начинается до подтверждения. Не новая подкатегория — вторая позиция 12-й (discovery-tooling) рядом с #55. Как **вендоренный** скил регистрируется здесь в §13.2, **не** в §12.2 (карта Superpowers-скилов). Границы — ADR-021 (GR1 ↔ #55 discovery-interview по наличию решения; GR2 ↔ #19 brainstorming; GR3 вендоринг). Связка L1: #55 → brainstorming → **#90** → writing-plans → subagent-driven-development. Архитектурных изменений §§1–17: 0. Связано: Tooling v2.26+, PSR_v1 v3.25+, CLAUDE.md v2.49+. + **Что изменилось в v1.43 относительно v1.42:** knowledge-graph-tooling integration — **§13.2 +абзац «Off-phase knowledge-graph-tooling»**: #86 graphifyy (CLI, установка `uv tool install graphifyy`, user-level skill `~/.claude/skills/graphify/SKILL.md` через `/graphify install --platform claude`; активация через `/graphify <команда>` — query / path / explain / update / build; артефакты `graphify-out*/` обязательно в `.gitignore`). 19-я off-phase подкатегория, не UI → вне R6.0/R6.1/R14. Границы — ADR-017 (KG1–KG5: ↔ context7 #60 / Boost #10 / openapi-mcp #47 / Sentry MCP #34 / adr-kit #36 / mermaid #37). Архитектурных изменений §§1–17: 0. Связано: Tooling v2.24+, PSR_v1 v3.23+, CLAUDE.md v2.32+. **Что изменилось в v1.42 относительно v1.41:** LLM-first router overhaul Phase 3 deferred follow-up #1 — **§17.7 «Coverage announcement» добавлен**. Правило: в каждом ответе на non-conversation задачу Claude обязан показать coverage-пометку в формате `coverage: :` рядом с первым tool-вызовом или в начале текста. 6 каналов: `skill:` / `node:` / `chain:` / `hook:` / `agent:` / `direct:`. Observability layer (не enforcement) — фиксирует **намерение** выбора канала, дополняет машинный гейт `tools/router-tool-gate.mjs` который ловит **факт**. Отсутствие пометки на non-conversation эпизоде — сигнал для C5 контролёра в STATUS.md, не блокирует коммит. Граница с routing-тегом §16.7: routing-тег только для `user_directed_method`, coverage-пометка — всегда для non-conversation. Cross-ref: реестр узлов `docs/registry/nodes.yaml`, цепочки `docs/routing-off-phase.md`, парсер `tools/observer-transcript-parser.mjs` (schema v4.4+ — реализация следующим коммитом). Архитектурных изменений §§1–16: 0. Связано: §17.1–17.6 (база §17 из v1.41), §16.4 (missed-activation = симметричный отчёт о пропусках §17), spec `docs/superpowers/specs/2026-05-24-llm-first-router-overhaul-design.md`, memory `project_brain_overhaul.md`. @@ -649,6 +651,7 @@ P0 = блокер старта спринта или регуляторного | **v1.33** | **19.05.2026** | Observer factor-analysis phase 1.1 (ADR-011 amend): §16.2 — `decision_provenance.kind` расширен до 3 значений (`autonomous` \| `user_directed_method` \| `user_chose_from_options`); 3-й kind — collaborative-choice case (заказчик выбирает один из вариантов, предложенных Claude в предыдущем ходе). §16.7 +абзац «Граница `user_chose_from_options`»: routing-gate НЕ блокирует этот kind — выбор из choice-space, сформулированного самим Claude, не навязанный извне метод; routing-тег не обязателен (детектор `tools/observer-choice-detector.mjs` детерминированный). Spec §11 `docs/superpowers/specs/2026-05-19-observer-factor-analysis-design.md` v1.1, plan `docs/superpowers/plans/2026-05-19-observer-factor-analysis-phase-1-1.md`. Связано: CLAUDE.md v2.20. Архитектурных изменений в §§1–15: 0. | | **v1.42** | **25.05.2026** | LLM-first router overhaul Phase 3 deferred follow-up #1: **+§17.7 «Coverage announcement»** — правило аннотировать каждую non-conversation задачу coverage-пометкой `coverage: :` (6 каналов: skill/node/chain/hook/agent/direct). Observability layer (не enforcement) — фиксирует **намерение** выбора канала, дополняет машинный гейт §17.4 который ловит **факт**. Граница с routing-тегом §16.7: routing-тег только для `user_directed_method`, coverage-пометка — всегда для non-conversation. C5 controller фиксирует отсутствие пометки в STATUS.md, не блокирует коммит. Cross-ref: реестр `docs/registry/nodes.yaml`, цепочки `docs/routing-off-phase.md`, парсер `tools/observer-transcript-parser.mjs` (schema v4.4+ — реализация следующим коммитом deferred #2). Связано: spec `docs/superpowers/specs/2026-05-24-llm-first-router-overhaul-design.md`, memory `project_brain_overhaul.md`. NB: записи таблицы v1.34–v1.41 не дотянуты предыдущими сессиями (известный дрейф); шапка `«Что изменилось в v1.NN»` авторитетна для этого периода. Архитектурных изменений §§1–16: 0. | | **v1.43** | **27.05.2026** | knowledge-graph-tooling: §13.2 +абзац «Off-phase knowledge-graph-tooling» — формализован узел #86 graphifyy (user-level скил `~/.claude/skills/graphify/SKILL.md`, CLI `graphifyy`, строит knowledge graph портала из docs+code; активация `/graphify `; артефакты `graphify-out*/` gitignored) как девятнадцатая off-phase подкатегория, отдельная от всех предыдущих; источник — user-level скил, не project-level → вне PSR_v1 R6.0/R6.1/R14; границы ADR-017 (KG1–KG5: ↔ context7 #60 / Boost #10 / openapi-mcp #47 / Sentry #34 / adr-kit #36 + mermaid #37). Связано: Tooling Прил.Н v2.24 (§4.59 + §0 счётчик 83→84), PSR_v1 v3.23 (R10.1 Блок 1 note +graphifyy; R15.6 +knowledge-graph-tooling), CLAUDE.md v2.31 (§3.3 +#86; §0 cross-refs). Через прямой Edit — worktree-эксцепшн §5 п.10. Архитектурных изменений в §§1–17 (кроме §13.2): 0. | +| **v1.45** | **28.07.2026** | grilling: §13.2 +абзац «Off-phase discovery-tooling — вторая позиция» — формализован узел #90 `grilling` (вендоренный скил `mattpocock/skills`, MIT, user-level `~/.claude/skills/grilling/SKILL.md` вне репозитория; допрос по УЖЕ имеющемуся решению — дерево решений, один вопрос за раз, рекомендуемый ответ на каждый). Новой подкатегории не заводит — вторая позиция 12-й (discovery-tooling) рядом с #55. Разрез с #55 по **наличию решения** (ADR-021 GR1); GR2 ↔ #19 brainstorming; GR3 вендоринг без модификации тела апстрима. Надстройка проекта: протокол `docs/grilling/` (Решили / Отрезали и почему / Осталось открытым, переживает компакт), «сначала необратимое», остановка по пустому фронту развилок. Связка L1 между brainstorming и writing-plans; классификация `planning` вес 0.8. Связано: Tooling Прил.Н v2.26 (§4.63 + §0 счётчик 87→88), PSR_v1 v3.25, CLAUDE.md v2.49, ADR-021. Архитектурных изменений в §§1–17 (кроме §13.2): 0. | --- @@ -736,6 +739,8 @@ Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный sta **Off-phase discovery-tooling (v1.26, 18.05.2026):** скил `discovery-interview` (Tooling #55, §4.30; self-authored project-скил `.claude/skills/discovery-interview/` — как `audit-portal`/`regression`/`process-modeling`/`process-analysis`) — структурированное интервью-discovery до проектирования: режим FEATURE (JTBD-интервью заказчика — вскрывает проблему, отдаёт discovery-brief в `brainstorming`), режим SYSTEM (интервью-ориентация по мета-слою проекта — карта/CLAUDE.md/MEMORY/Открытые_вопросы/Tooling/git log). **Двенадцатая** off-phase подкатегория. Не UI → вне R6.0/R6.1/R14 PSR_v1. Как **проектный** скил (не Superpowers-скил) регистрируется здесь в §13.2, **не** в §12.2 (карта Superpowers-скилов) — триггерится штатным механизмом using-superpowers по `description` (триггер-eval 20/20). Дубль с `process-analysis` #53 исключён разрезом по слою-источнику; границы — ADR-009 (DI1–DI6). Регулируется PSR_v1 R10.1 Блок 1 note (self-authored project-скил). Установлен 18.05.2026 на ветке `worktree-discovery-interview`; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. +**Off-phase discovery-tooling — вторая позиция (v1.45, 28.07.2026):** скил `grilling` (Tooling #90, §4.63; **вендоренный** скил из `mattpocock/skills`, MIT, `skills/productivity/grilling`; установлен user-level `~/.claude/skills/grilling/SKILL.md` — вне репозитория, единственная копия: проектная удалена во избежание задвоения) — безжалостный допрос по **уже имеющемуся** плану/решению: обход дерева решений ветка за веткой, по одному вопросу за раз, **с рекомендуемым ответом на каждый вопрос**, факты ищутся самостоятельно в окружении, работа не начинается до явного подтверждения общего понимания. Новой подкатегории **не заводит** — вторая позиция 12-й (discovery-tooling) рядом с #55. Не UI → вне R6.0/R6.1/R14 PSR_v1. Как **вендоренный** скил регистрируется здесь в §13.2, **не** в §12.2 (карта Superpowers-скилов). Дубль с #55 `discovery-interview` исключён разрезом по **наличию решения**: grilling куёт решение, которое у заказчика уже есть (наводящий рекомендуемый ответ обязателен), discovery-interview вскрывает проблему, когда решения ещё нет (наводящие ответы там запрещены). Надстройка проекта поверх немодифицированного тела апстрима (отделена заголовком «Добавлено нами»): протокол `docs/grilling/ГГГГ-ММ-ДД-<тема>.md` — Решили / Отрезали и почему / Осталось открытым, пишется по ходу и перечитывается после компакта; порядок обхода «сначала необратимое»; критерий остановки — пустой фронт развилок с объявлением вслух; «слушай, не защищай». Связка L1: #55 → `brainstorming` → **#90** → `writing-plans` → `subagent-driven-development`; классификация `planning` вес 0.8 (ниже первичных решателей). Как вендоренный — **в ignorePaths линтеров** (прецедент mermaid-skill/CCPM/Data Scientist, LINT1) и живёт вне репозитория, поэтому в резервную копию проекта не попадает. Границы — ADR-021 (GR1–GR3). Регулируется PSR_v1 R10.1 Блок 1. Установлен 28.07.2026; ADR `docs/adr/ADR-021-grilling-tooling.md`. + **Off-phase authoring-tooling + dev-support (v1.28, 18.05.2026):** 5 Anthropic dev-плагинов из marketplace `anthropics/claude-plugins-official`, уже включённых в `~/.claude/settings.json` `enabledPlugins` user-level — формализованы 18.05.2026 после аудита «мозга» (L1-паттерн «плагин фактически включён без формализации в правилах» — повтор UPM/21st 10.05 и Sentry/Redis 13.05). Подкатегория **authoring-tooling** (тринадцатая, создание Claude-артефактов): #56 `skill-creator` (Tooling §4.31; конструктор standalone-скилов), #57 `plugin-dev` (§4.32; конструктор marketplace-плагинов — 8 sub-skills + 3 агента), #58 `hookify` (§4.33; генератор хуков). Подкатегория **dev-support** (четырнадцатая, поддержка/документация Claude-разработки): #59 `claude-code-setup` (§4.34; рекомендатель Claude Code automations, read-only), #60 `context7` (§4.35; актуальная документация библиотек). Off-phase, не UI → вне R6.0/R6.1/R14 PSR_v1. **hookify** — особое правило: вызов только по явному `/hookify`, перед генерацией хука обязательный pre-check на коллизию с уже-зарегистрированными хуками в `~/.claude/settings.json` (перезапись 6-компонентной economy/skill-discipline архитектуры запрещена — конфликт-аудит HK1; закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`). Границы D2–D5 — ADR-010. Регулируется PSR_v1 R10.1 Блок 1. Установлены 18.05.2026 на ветке `feat/anthropic-dev-tooling`; план `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`. **Off-phase finance-tooling (C6+C7, v1.34, 20.05.2026):** Инструменты разделов C6 «Финансы — биллинг и тарификация» и C7 «Финансы — бухгалтерия и налоги» карты — #61 `finance` plugin (Tooling §4.36; marketplace `finance@knowledge-work-plugins`, Anthropic Verified, 8 скилов; homed C7, cross-ref C6; РФ-применимость: ✅ reconciliation/variance, ⚠️ US-GAAP-скилы частично, ❌ SOX-скилы not-applicable, warehouse-MCP DEFERRED), #62 `billing-audit` (Tooling §4.37; self-authored project-скил `.claude/skills/billing-audit/` — денежные инварианты биллинга C6: сохранение суммы bcmath, идемпотентность, tier-резолюция, дрейф reconcile, charge_source), #63 `ru-tax-accounting` (Tooling §4.38; self-authored project-скил `.claude/skills/ru-tax-accounting/` — РСБУ/НК РФ контекст C7: НДС/УСН, налоговая база, выгрузки бухгалтеру; закрывает РФ-gap US-плагина). Плюс reuse-классификация существующих узлов в C6/C7 через `NODE_SECTION_SECONDARY` (Boost/Pest/Larastan/Sentry/Redis/PM metrics-review/data-scientist/operations/process-*/context7) — без новых номеров. **Пятнадцатая** off-phase подкатегория. Off-phase, не UI → вне R6.0/R6.1/R14 PSR_v1. self-authored скилы billing-audit/ru-tax-accounting **линтуются** (не в ignorePaths, LINT1). Границы — ADR-012 (граница C6↔C7: начисление клиенту vs учёт/налоги компании; FIN1–FIN8). Регулируется PSR_v1 R10.1 Блок 1 (finance plugin) + note (2 self-authored скила). Установлено 20.05.2026 на ветке `worktree-finance-tooling-c6-c7`; план `docs/superpowers/plans/2026-05-20-finance-tooling-c6-c7.md`. diff --git a/docs/Tooling_v8_3.md b/docs/Tooling_v8_3.md index 3916fff3..682e49f7 100644 --- a/docs/Tooling_v8_3.md +++ b/docs/Tooling_v8_3.md @@ -1,10 +1,10 @@ # Приложение Н — Tooling, скиллы и плагины Claude (v8.3) -**Дата:** 27.05.2026 -**Версия:** 2.25 (Прил. Н v2.25 — research-tooling (Perplexity Pack): §4.60 #87 perplexity MCP + §4.61 #88 exa MCP + §4.62 #89 firecrawl MCP — новая **20-я off-phase подкатегория research-tooling** (внешние MCP веб-разведки, READ-ONLY, платные API — ключи только в env); §0 счётчик 84→87 (104→107 total), off-phase row +54→+57; cross-ref Pravila v1.44+ / PSR_v1 v3.24+ / CLAUDE.md v2.47+; ADR-019 (RT1–RT9). Узлы: #87 perplexity (`@perplexity-ai/mcp-server` — ранжированный ответ-с-источниками sonar) + #88 exa (`exa-mcp-server` — семантическое/нейро обнаружение) + #89 firecrawl (`firecrawl-mcp` — глубокое чтение/обход). Gate-постура read_only зафиксирована в коде (commit `bfc1f575`, `tools/mcp-tool-classifier.mjs` +тест); IS9-вет `docs/research/research-vet.md` — все три ПРИНЯТ; связка L17 (research chain). Plan `docs/superpowers/plans/2026-06-14-perplexity-pack-plan3-router-registry.md`. **Прил. Н v2.24 наследие** — knowledge-graph-tooling: §4.59 (#86) graphifyy — 19-я off-phase подкатегория **knowledge-graph-tooling** (skill-based CLI, user-level `~/.claude/skills/graphify/`); §0 счётчик 83→84 (103→104 total), off-phase row +53→+54; cross-ref Pravila v1.43+ / PSR_v1 v3.23+ / CLAUDE.md v2.32+; ADR-017 (KG1–KG5). Граничные правила: KG1 ↔ context7 #60 (внутренний codebase vs внешние SDK-доки), KG2 ↔ Boost #10 (static graph vs runtime queries), KG3 ↔ openapi-mcp #47 (весь проект vs один спек), KG4 ↔ Sentry MCP #34 (структурные связи vs runtime errors), KG5 ↔ adr-kit #36 / mermaid #37 (auto-discovery vs manual authoring). Spike `spike/graphify-2026-05-27`: 3 фазы (docs/ + .claude/ + app/) → ultimate combined граф 6305 узлов / 6753 рёбер / 1009 communities (93% EXTRACTED / 7% INFERRED). Артефакты `graphify-out*/` обязательно gitignored. **Прил. Н v2.23 наследие** — C1 marketing-tooling: §4.49–§4.58 (#74–#83) — 18-я off-phase подкатегория **marketing-tooling** (раздел C1 «Маркетинг и лидогенерация»); §0 счётчик 73→83 (93→103 total), off-phase row +43→+53; cross-ref Pravila v1.42+ / PSR_v1 v3.22+ / CLAUDE.md v2.28+; ADR-015 (MKT1–MKT10). Узлы: #74 marketing plugin (Anthropic, 8 скилов — первичный решатель C1) + #75 marketingskills (вендоренный скил-набор, MIT, 40 скилов — материал, модель UPM) + #76 brand-voice (Anthropic partner Tribe AI, 3 скила — вербальный бренд) + #77 marketing-ru (self-authored project-скил, РФ-специфика C1) + #78 Яндекс.Метрика MCP (`atomkraft/yandex-metrika-mcp`, MIT, READ-ONLY, выбран по IS9-вету из 3 кандидатов) + #79 Яндекс.Директ+Wordstat MCP (`SvechaPVL/yandex-mcp`, MIT — **только Wordstat-инструменты; Direct-мутации НЕ активированы** per IS9) + #80 Telegram MCP (`chigwell/telegram-mcp`, Apache-2.0, выделенный аккаунт) + #81 Postiz (`gitroomhq/postiz-app`, AGPL-3.0, внутренний self-host без модификаций и дистрибуции) + #82 DataForSEO MCP (**DEFERRED** — платный, после Б-1) + #83 Unisender Go MCP (**DEFERRED** — нет готового upstream-сервера, своя обёртка по потребности). IS9-вет выполнен: `docs/security/marketing-vet.md` — все 5 внешних PASS/PASS-with-conditions; VK standalone MCP отброшен (0★, право тратить бюджет). Plan `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`. **Прил. Н v2.22 наследие** — pg_audit #28 + pg_anonymizer #29 **установлены на боевом liderra.ru 22.05.2026** (расширения PostgreSQL фазы 3, ранее недоступные на dev native-Windows): §5.1 attribute-блоки #28/#29 + §6 compliance-таблица + §10.4 шаг 2 → ✅ прод; setup-док `docs/security/pgaudit-anonymizer-setup.md`; cross-ref Pravila v1.38 / PSR_v1 v3.21 / CLAUDE.md v2.26; счётчики без изменений (#28/#29 уже в phase-3). **Прил. Н v2.21 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 **установлены портативно 21.05.2026** (без choco — Go 1.26.3/Temurin JRE 17 zip с проверкой SHA256, всё в `bin/*` gitignored) → статус PENDING INSTALL снят в §4.43/§4.45 (dormant true→false) + §4.48 уточнён; setup-доки `docs/security/zap-setup.md` + `docs/security/ward-setup.md`; счётчики/состав реестра без изменений (73 формализованных / 93 total); cross-ref Pravila v1.38 / PSR_v1 v3.21 / CLAUDE.md v2.25; план `docs/superpowers/plans/2026-05-21-a8-infosec-tooling.md`. **v2.20 наследие:** Прил. Н v2.20 — A8 infosec-tooling: §4.43 #68 OWASP ZAP (MCP add-on, глубокая боевая DAST — **PENDING INSTALL**: нет Java) + §4.44 #69 Nuclei (CLI-бинарь `bin/nuclei.exe` v3.8.0, известные уязвимости — УСТАНОВЛЕН+verified; CLI не MCP) + §4.45 #70 Ward (CLI Go-бинарь, безопасность настроек Laravel — ЗАМЕНИЛ Enlightn abandoned/L13, **PENDING INSTALL**: нет Go) + §4.46 #71 pdn-152fz-audit + §4.47 #72 threat-model + §4.48 #73 security-go-live (self-authored project-скилы) — 17-я off-phase подкатегория **infosec-tooling**, раздел A8; §0 счётчик 67→73 (87→93 total), off-phase row +37→+43; cross-ref Pravila v1.37 / PSR_v1 v3.20 / CLAUDE.md v2.24; ADR-014 (IS1–IS9). **v2.19 наследие:** A1 backend-tooling: §4.39 #64 Rector + rector-laravel (Composer dev-dep, авто-рефакторинг/version-upgrade, manual/CI постура — dry-run baseline 16 файлов, не блокирующий) + §4.40 #65 PHP Insights (Composer dev-dep, метрики complexity/architecture, on-demand/CI, SyntaxCheck removed — Windows subprocess-краш) + §4.41 #66 laravel-backend-patterns (self-authored project-скил, backend-конвенции Лидерры) + §4.42 #67 NightOwl (self-hosted runtime-телеметрия — **DEFERRED**: native-Windows нет pcntl/posix, OSS без MCP, hosted 152-ФЗ) — 16-я off-phase подкатегория **backend-tooling**, раздел A1; §0 счётчик 63→67 (83→87 total), off-phase row +33→+37; cross-ref Pravila v1.35 / PSR_v1 v3.19 / CLAUDE.md v2.22; ADR-013. **v2.18 наследие:** finance-tooling (C6+C7): §4.36 #61 finance plugin (homed C7, cross-ref C6; US-GAAP частично, SOX not-applicable РФ, warehouse-MCP DEFERRED) + §4.37 #62 billing-audit (C6, self-authored) + §4.38 #63 ru-tax-accounting (C7, self-authored) — 15-я off-phase подкатегория finance-tooling; §0 счётчик 60→63 (80→83 total), off-phase row +30→+33; cross-ref Pravila v1.34 / PSR_v1 v3.18 / CLAUDE.md v2.21; ADR-012. **v2.17 наследие:** applied 9-attribute row template per ADR-011 brain-governance spec §4.1. §0.1 row template +Атрибуты blocks для 58 узлов: §2.4 dump phase-0 (9 nodes #1-9 incl. dormant #1 PG MCP), §3.5 dump phase-1 (9 nodes #10-18 incl. dormant #17 pg_partman), §4.1-§4.4 inline phase-2 (7 nodes #19-23+#24+#30), §5.1 dump phase-3 (5 nodes #25-29), §4.5-§4.17 inline off-phase #31-42 incl. ruflo §4.10 dormant, §4.18-§4.35 inline off-phase #43-60. Структурный реестр для router procedure step 3 (`docs/router-procedure.md` v1.0). Связано: ADR-011, spec/plan brain-governance, Pravila v1.33 / PSR_v1 v3.17 / CLAUDE.md v2.20. **v2.16 наследие:** компакция «мозга» — SYSTEM-аудит 18.05.2026 findings 2/3/6/7: §0 +«КАНОН СЧЁТЧИКОВ» anchor — Прил. Н §0 объявлен единственным источником числовых счётчиков тулчейна, CLAUDE.md / Pravila §13.2 / PSR_v1 R10.1 переведены на пин-ссылку (finding 3 — устранение дрейфа счётчиков); §12 заголовок «вне 35 формализованных позиций» → «вне реестра» — убран stale-счётчик. Счётчики тулчейна без изменений — 60 формализованных + 20 ruflo = 80 total. План `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`. **v2.15 наследие:** ruflo isolation — §4.10 +status block: ruflo отключён от активного потока Claude 18.05.2026 без удаления артефактов; live-связи hooks/MCP/daemon выключены; план реактивации в Pravila §14.9 + memory `feedback_ruflo_isolated.md`; счётчики тулчейна без изменений — 60 формализованных позиций + 20 ruflo plugins = 80 total. Rec2 SYSTEM-аудита 18.05.2026. **v2.14 наследие:** authoring-tooling + dev-support — формализованы 5 Anthropic dev-плагинов уже включённых в `~/.claude/settings.json` user-level: #56 skill-creator / #57 plugin-dev / #58 hookify (новая 13-я off-phase подкатегория authoring-tooling — §4.31/§4.32/§4.33) + #59 claude-code-setup / #60 context7 (новая 14-я off-phase подкатегория dev-support — §4.34/§4.35); §0 счётчик 55→60 (75→80 total), off-phase row +25→+30. hookify HK1 — hard-rule pre-check на коллизию с economy/skill-discipline хуками, закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. Конфликт-аудит — ADR-010 (SC1–SC3 / PD1–PD3 / HK1–HK3 / CCS1 / CTX1–CTX2). Связано: PSR_v1 v3.13, Pravila v1.28, CLAUDE.md v2.15; план `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`. **v2.13 наследие:** discovery-tooling — формализован #55 discovery-interview (self-authored project-скил `.claude/skills/discovery-interview/`, два режима — FEATURE интервью заказчика перед фичей + SYSTEM ориентация по мета-слою) как новая 12-я off-phase подкатегория discovery-tooling — §4.30; §0 счётчик 54→55 (74→75 total), off-phase row +24→+25. Триггер-eval 20/20. Конфликт-аудит — ADR-009 DI1–DI6: разрез по слою-источнику с process-analysis #53. Связано: PSR_v1 v3.12, Pravila v1.26, CLAUDE.md v2.13; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. **v2.12 наследие:** C10 business-process — формализованы #51 operations (Claude Code marketplace-плагин `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified — 9 скилов process-doc/process-optimization/change-request/capacity-plan/compliance-tracking/risk-assessment/runbook/status-report/vendor-review, 0 lifecycle-хуков) + #52 process-modeling + #53 process-analysis (self-authored project-скилы `.claude/skills/`, BPMN-моделирование to-be + as-is discovery) + #54 n8n-mcp (`czlonkowski/n8n-mcp`, MIT, workflow-движок — **DEFERRED**, у портала нет n8n) как новая 11-я off-phase подкатегория business-process — §4.26/§4.27/§4.28/§4.29; §0 счётчик 50→54 (70→74 total), off-phase row +20→+24. Конфликт-аудит — OPS1 (process-doc↔mermaid рендер-SoT), OPS5 (operations generic ↔ self-authored stack-grounded), N8N1 (n8n-mcp DEFERRED — n8n не в стеке портала), LINT1 (self-authored скилы линтуются, не в ignorePaths). Связано: PSR_v1 v3.11, Pravila v1.25, CLAUDE.md v2.12; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`. **v2.11 наследие:** ADR-006 Decision-4 icon-path boundary mirror — §4.20 +UI3: Lucide-иконки канонически через `lucide-vue-next` + Vuetify `IconSet` (CTO-19), raw-SVG `get_icon` Universal Icons MCP — только для не-Lucide коллекций; источник — ADR-006 поправка 17.05.2026. Счётчики без изменений — 50 формализованных позиций / 70 total. Связано: CLAUDE.md v2.11, ADR-006. **v2.10 наследие:** A11 ml-ai-tooling — формализованы #48 promptfoo (npm devDependency `promptfoo` v0.121.11, MIT — CLI-eval LLM-промптов) + #49 Data Scientist skill (вендоренный сторонний скил `.claude/skills/data-scientist/`, классический ML-воркфлоу, код MIT / контент CC BY 4.0) + #50 Jupyter MCP (`datalayer/jupyter-mcp-server`, исполняемые ноутбуки — **DEFERRED**, требует Python ML-окружения) как новая 10-я off-phase подкатегория ml-ai-tooling — §4.23/§4.24/§4.25; §0 счётчик 47→50 (67→70 total), off-phase row +17→+20. Конфликт-аудит — ML1 (promptfoo платные вызовы → только вручную/CI, никогда в хук), ML3 (Data Scientist skill вендорен → lefthook exclude), ML7 (bus-factor → вендоринг). Связано: PSR_v1 v3.10, Pravila v1.24, CLAUDE.md v2.10; план `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`. **v2.9 наследие:** A3 integration-tooling — формализован #47 openapi-mcp-server (`@ivotoby/openapi-mcp-server`, npm, v1.14.0, MIT) как 9-я off-phase подкатегория integration-tooling — §4.22; §0 счётчик 46→47 (66→67 total), off-phase row +16→+17. Связано: PSR_v1 v3.9, Pravila v1.23, CLAUDE.md v2.9; план `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`. **v2.8 наследие:** A4 design-tooling — формализованы #44 Figma MCP (remote MCP, extract-only, DEFERRED — нет Figma-аккаунта) + #45 Universal Icons MCP (`mcp-universal-icons`, MIT) + #46 Design plugin (Anthropic Verified) как новая 8-я off-phase подкатегория design-tooling — §4.19/§4.20/§4.21; §0 счётчик 43→46 (63→66 total), off-phase row +13→+16. Связано: PSR_v1 v3.8, Pravila v1.22, CLAUDE.md v2.8; план `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`. **v2.7 наследие:** A6-расширение — deptrac: формализован #43 deptrac (Composer dev-dependency `deptrac/deptrac` v4.6.1, BSD-3-Clause) как 4-й инструмент off-phase подкатегории architecture-tooling — архитектурный fitness-гейт направления зависимостей / границ слоёв; врезан как lefthook pre-commit job 10; конфиг `app/deptrac.yaml` (13 слоёв), первый прогон 0 нарушений → baseline-файл не нужен (red-green доказан); §4.18 новый; §0 счётчик 42→43 (62→63 total), off-phase row +12→+13. Связано: PSR_v1 v3.7, Pravila v1.21, CLAUDE.md v2.7; план `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`. **v2.6 наследие:** C9 project-management — формализованы #41 CCPM (vendored standalone skill) + #42 product-management (Anthropic-verified marketplace plugin) как новая 7-я off-phase подкатегория «project-management» — §4.16/§4.17; §0 счётчик 40→42 (60→62 total); off-phase row +10→+12. Связано: PSR_v1 v3.6, Pravila v1.20, CLAUDE.md v2.6; план `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`. **v2.5 наследие:** фактическая правка #40 Security Guidance — это **блокирующий** PreToolUse-хук (`sys.exit(2)`), не warn-only: при первом за сессию срабатывании уязвимого паттерна блокирует правку (одноразовый speed-bump, retry проходит). §4.15 переписан, SG1 уточнён, +SG2 — Windows-починка python3-резолва (`python3.exe`-шим). Счётчики не меняются — 40 позиций. Связано: PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5; план `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. **v2.4 наследие:** D3 audit-security — формализованы #39 Trail of Bits Skills (субсет 8 audit-плагинов, marketplace `trailofbits`, CC-BY-SA-4.0) + #40 Security Guidance (Anthropic PreToolUse-хук) как новая 6-я off-phase подкатегория «audit-security» — §4.14/§4.15; §0 счётчик 38→40 (58→60 total); off-phase row +8→+10. Связано: PSR_v1 v3.4, Pravila v1.18, CLAUDE.md v2.4; план `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. **v2.3 наследие:** A6 architecture-tooling — формализованы 3 инструмента раздела A6 карты «Архитектура систем»: **#36 adr-kit** (ADR-решения + `adr-judge` gate), **#37 mermaid-skill** (C4-диаграммы), **#38 architecture-patterns** (паттерны) — новые §4.11–4.13, новая пятая off-phase подкатегория «architecture-tooling»; §0 счётчик 35→38 формализованных позиций (55→58 total), §0 table row off-phase +5→+8. Связано: PSR_v1 v3.3, Pravila v1.17, CLAUDE.md v2.3; план `docs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md`. **v2.2 наследие:** §4.10 реколлаж — ruflo переописан из «entry-point иерархии» в «advisory/automation-подсистему» (декларация приведена к рантайму: рой idle, 0 задач); заголовок §4.10 + «Архитектурная роль» переписаны; §0 table row + «Категории off-phase tools» + «Назначение» обновлены; §13 +v2.2 entry. Связано: Pravila v1.16, PSR_v1 v3.2, CLAUDE.md v2.2; spec `docs/superpowers/specs/2026-05-16-ruflo-hierarchy-factual-recollage-design.md`. **v2.1 наследие:** §4.10 +абзац «Queen trigger»: триггер queen/королева → безусловный route через ruflo Queen (`hive-mind spawn --claude`), explicit hard-rule Pravila §14, enforcement-хук `tools/ruflo-queen-hook.mjs`. Связано: spec/plan `docs/superpowers/{specs,plans}/2026-05-15-ruflo-queen-trigger-and-delegation*`, Pravila v1.15, CLAUDE.md v2.1, PSR_v1 v3.1. **v2.0 наследие:** Ruflo big-bang — major bump: добавлен **orchestration layer (ruflo)** как четвёртая off-phase подкатегория. §0 +ruflo orchestration row: 35 формализованных позиций + 20 ruflo plugins = 55 total; новая §4.10 «Orchestration layer (ruflo)». Связано: spec/plan 2026-05-15, Pravila v1.14, PSR_v1 v3.0, CLAUDE.md v2.0.) +**Дата:** 28.07.2026 +**Версия:** 2.26 (Прил. Н v2.26 — grilling: §4.63 #90 grilling — вендоренный скил допроса по готовому решению (`mattpocock/skills`, MIT, user-level `~/.claude/skills/grilling/`), вторая позиция 12-й off-phase подкатегории **discovery-tooling** рядом с #55 discovery-interview; новой подкатегории не заводит; §0 счётчик 87→88 (107→108 total), off-phase row +57→+58; cross-ref Pravila v1.45+ / PSR_v1 v3.25+ / CLAUDE.md v2.48+; ADR-021 (GR1–GR3). Разрез GR1 ↔ #55 по **наличию решения**: grilling куёт уже имеющееся решение (рекомендуемый ответ на каждый вопрос обязателен), discovery-interview вскрывает проблему (наводящие ответы запрещены). Надстройка проекта поверх немодифицированного оригинала: протокол `docs/grilling/` (Решили / Отрезали и почему / Осталось открытым, пишется по ходу, перечитывается после компакта), порядок «сначала необратимое», остановка по пустому фронту развилок с объявлением вслух. Врезан в связку L1 между brainstorming и writing-plans; классификация `planning` вес 0.8 (ниже первичных решателей). Без кода/хуков/сети — gate-постура не требуется. **Прил. Н v2.25 наследие** — research-tooling (Perplexity Pack): §4.60 #87 perplexity MCP + §4.61 #88 exa MCP + §4.62 #89 firecrawl MCP — новая **20-я off-phase подкатегория research-tooling** (внешние MCP веб-разведки, READ-ONLY, платные API — ключи только в env); §0 счётчик 84→87 (104→107 total), off-phase row +54→+57; cross-ref Pravila v1.44+ / PSR_v1 v3.24+ / CLAUDE.md v2.47+; ADR-019 (RT1–RT9). Узлы: #87 perplexity (`@perplexity-ai/mcp-server` — ранжированный ответ-с-источниками sonar) + #88 exa (`exa-mcp-server` — семантическое/нейро обнаружение) + #89 firecrawl (`firecrawl-mcp` — глубокое чтение/обход). Gate-постура read_only зафиксирована в коде (commit `bfc1f575`, `tools/mcp-tool-classifier.mjs` +тест); IS9-вет `docs/research/research-vet.md` — все три ПРИНЯТ; связка L17 (research chain). Plan `docs/superpowers/plans/2026-06-14-perplexity-pack-plan3-router-registry.md`. **Прил. Н v2.24 наследие** — knowledge-graph-tooling: §4.59 (#86) graphifyy — 19-я off-phase подкатегория **knowledge-graph-tooling** (skill-based CLI, user-level `~/.claude/skills/graphify/`); §0 счётчик 83→84 (103→104 total), off-phase row +53→+54; cross-ref Pravila v1.43+ / PSR_v1 v3.23+ / CLAUDE.md v2.32+; ADR-017 (KG1–KG5). Граничные правила: KG1 ↔ context7 #60 (внутренний codebase vs внешние SDK-доки), KG2 ↔ Boost #10 (static graph vs runtime queries), KG3 ↔ openapi-mcp #47 (весь проект vs один спек), KG4 ↔ Sentry MCP #34 (структурные связи vs runtime errors), KG5 ↔ adr-kit #36 / mermaid #37 (auto-discovery vs manual authoring). Spike `spike/graphify-2026-05-27`: 3 фазы (docs/ + .claude/ + app/) → ultimate combined граф 6305 узлов / 6753 рёбер / 1009 communities (93% EXTRACTED / 7% INFERRED). Артефакты `graphify-out*/` обязательно gitignored. **Прил. Н v2.23 наследие** — C1 marketing-tooling: §4.49–§4.58 (#74–#83) — 18-я off-phase подкатегория **marketing-tooling** (раздел C1 «Маркетинг и лидогенерация»); §0 счётчик 73→83 (93→103 total), off-phase row +43→+53; cross-ref Pravila v1.42+ / PSR_v1 v3.22+ / CLAUDE.md v2.28+; ADR-015 (MKT1–MKT10). Узлы: #74 marketing plugin (Anthropic, 8 скилов — первичный решатель C1) + #75 marketingskills (вендоренный скил-набор, MIT, 40 скилов — материал, модель UPM) + #76 brand-voice (Anthropic partner Tribe AI, 3 скила — вербальный бренд) + #77 marketing-ru (self-authored project-скил, РФ-специфика C1) + #78 Яндекс.Метрика MCP (`atomkraft/yandex-metrika-mcp`, MIT, READ-ONLY, выбран по IS9-вету из 3 кандидатов) + #79 Яндекс.Директ+Wordstat MCP (`SvechaPVL/yandex-mcp`, MIT — **только Wordstat-инструменты; Direct-мутации НЕ активированы** per IS9) + #80 Telegram MCP (`chigwell/telegram-mcp`, Apache-2.0, выделенный аккаунт) + #81 Postiz (`gitroomhq/postiz-app`, AGPL-3.0, внутренний self-host без модификаций и дистрибуции) + #82 DataForSEO MCP (**DEFERRED** — платный, после Б-1) + #83 Unisender Go MCP (**DEFERRED** — нет готового upstream-сервера, своя обёртка по потребности). IS9-вет выполнен: `docs/security/marketing-vet.md` — все 5 внешних PASS/PASS-with-conditions; VK standalone MCP отброшен (0★, право тратить бюджет). Plan `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md`. **Прил. Н v2.22 наследие** — pg_audit #28 + pg_anonymizer #29 **установлены на боевом liderra.ru 22.05.2026** (расширения PostgreSQL фазы 3, ранее недоступные на dev native-Windows): §5.1 attribute-блоки #28/#29 + §6 compliance-таблица + §10.4 шаг 2 → ✅ прод; setup-док `docs/security/pgaudit-anonymizer-setup.md`; cross-ref Pravila v1.38 / PSR_v1 v3.21 / CLAUDE.md v2.26; счётчики без изменений (#28/#29 уже в phase-3). **Прил. Н v2.21 наследие** — A8 infosec-tooling install-sync: ZAP #68 + Ward #70 **установлены портативно 21.05.2026** (без choco — Go 1.26.3/Temurin JRE 17 zip с проверкой SHA256, всё в `bin/*` gitignored) → статус PENDING INSTALL снят в §4.43/§4.45 (dormant true→false) + §4.48 уточнён; setup-доки `docs/security/zap-setup.md` + `docs/security/ward-setup.md`; счётчики/состав реестра без изменений (73 формализованных / 93 total); cross-ref Pravila v1.38 / PSR_v1 v3.21 / CLAUDE.md v2.25; план `docs/superpowers/plans/2026-05-21-a8-infosec-tooling.md`. **v2.20 наследие:** Прил. Н v2.20 — A8 infosec-tooling: §4.43 #68 OWASP ZAP (MCP add-on, глубокая боевая DAST — **PENDING INSTALL**: нет Java) + §4.44 #69 Nuclei (CLI-бинарь `bin/nuclei.exe` v3.8.0, известные уязвимости — УСТАНОВЛЕН+verified; CLI не MCP) + §4.45 #70 Ward (CLI Go-бинарь, безопасность настроек Laravel — ЗАМЕНИЛ Enlightn abandoned/L13, **PENDING INSTALL**: нет Go) + §4.46 #71 pdn-152fz-audit + §4.47 #72 threat-model + §4.48 #73 security-go-live (self-authored project-скилы) — 17-я off-phase подкатегория **infosec-tooling**, раздел A8; §0 счётчик 67→73 (87→93 total), off-phase row +37→+43; cross-ref Pravila v1.37 / PSR_v1 v3.20 / CLAUDE.md v2.24; ADR-014 (IS1–IS9). **v2.19 наследие:** A1 backend-tooling: §4.39 #64 Rector + rector-laravel (Composer dev-dep, авто-рефакторинг/version-upgrade, manual/CI постура — dry-run baseline 16 файлов, не блокирующий) + §4.40 #65 PHP Insights (Composer dev-dep, метрики complexity/architecture, on-demand/CI, SyntaxCheck removed — Windows subprocess-краш) + §4.41 #66 laravel-backend-patterns (self-authored project-скил, backend-конвенции Лидерры) + §4.42 #67 NightOwl (self-hosted runtime-телеметрия — **DEFERRED**: native-Windows нет pcntl/posix, OSS без MCP, hosted 152-ФЗ) — 16-я off-phase подкатегория **backend-tooling**, раздел A1; §0 счётчик 63→67 (83→87 total), off-phase row +33→+37; cross-ref Pravila v1.35 / PSR_v1 v3.19 / CLAUDE.md v2.22; ADR-013. **v2.18 наследие:** finance-tooling (C6+C7): §4.36 #61 finance plugin (homed C7, cross-ref C6; US-GAAP частично, SOX not-applicable РФ, warehouse-MCP DEFERRED) + §4.37 #62 billing-audit (C6, self-authored) + §4.38 #63 ru-tax-accounting (C7, self-authored) — 15-я off-phase подкатегория finance-tooling; §0 счётчик 60→63 (80→83 total), off-phase row +30→+33; cross-ref Pravila v1.34 / PSR_v1 v3.18 / CLAUDE.md v2.21; ADR-012. **v2.17 наследие:** applied 9-attribute row template per ADR-011 brain-governance spec §4.1. §0.1 row template +Атрибуты blocks для 58 узлов: §2.4 dump phase-0 (9 nodes #1-9 incl. dormant #1 PG MCP), §3.5 dump phase-1 (9 nodes #10-18 incl. dormant #17 pg_partman), §4.1-§4.4 inline phase-2 (7 nodes #19-23+#24+#30), §5.1 dump phase-3 (5 nodes #25-29), §4.5-§4.17 inline off-phase #31-42 incl. ruflo §4.10 dormant, §4.18-§4.35 inline off-phase #43-60. Структурный реестр для router procedure step 3 (`docs/router-procedure.md` v1.0). Связано: ADR-011, spec/plan brain-governance, Pravila v1.33 / PSR_v1 v3.17 / CLAUDE.md v2.20. **v2.16 наследие:** компакция «мозга» — SYSTEM-аудит 18.05.2026 findings 2/3/6/7: §0 +«КАНОН СЧЁТЧИКОВ» anchor — Прил. Н §0 объявлен единственным источником числовых счётчиков тулчейна, CLAUDE.md / Pravila §13.2 / PSR_v1 R10.1 переведены на пин-ссылку (finding 3 — устранение дрейфа счётчиков); §12 заголовок «вне 35 формализованных позиций» → «вне реестра» — убран stale-счётчик. Счётчики тулчейна без изменений — 60 формализованных + 20 ruflo = 80 total. План `docs/superpowers/plans/2026-05-18-brain-compaction-findings-2-3-6-7.md`. **v2.15 наследие:** ruflo isolation — §4.10 +status block: ruflo отключён от активного потока Claude 18.05.2026 без удаления артефактов; live-связи hooks/MCP/daemon выключены; план реактивации в Pravila §14.9 + memory `feedback_ruflo_isolated.md`; счётчики тулчейна без изменений — 60 формализованных позиций + 20 ruflo plugins = 80 total. Rec2 SYSTEM-аудита 18.05.2026. **v2.14 наследие:** authoring-tooling + dev-support — формализованы 5 Anthropic dev-плагинов уже включённых в `~/.claude/settings.json` user-level: #56 skill-creator / #57 plugin-dev / #58 hookify (новая 13-я off-phase подкатегория authoring-tooling — §4.31/§4.32/§4.33) + #59 claude-code-setup / #60 context7 (новая 14-я off-phase подкатегория dev-support — §4.34/§4.35); §0 счётчик 55→60 (75→80 total), off-phase row +25→+30. hookify HK1 — hard-rule pre-check на коллизию с economy/skill-discipline хуками, закрывает 🔴-конфликт карты `hookify_plugin ↔ hk_pre_claude`. Конфликт-аудит — ADR-010 (SC1–SC3 / PD1–PD3 / HK1–HK3 / CCS1 / CTX1–CTX2). Связано: PSR_v1 v3.13, Pravila v1.28, CLAUDE.md v2.15; план `docs/superpowers/plans/2026-05-18-anthropic-dev-tooling-formalization.md`. **v2.13 наследие:** discovery-tooling — формализован #55 discovery-interview (self-authored project-скил `.claude/skills/discovery-interview/`, два режима — FEATURE интервью заказчика перед фичей + SYSTEM ориентация по мета-слою) как новая 12-я off-phase подкатегория discovery-tooling — §4.30; §0 счётчик 54→55 (74→75 total), off-phase row +24→+25. Триггер-eval 20/20. Конфликт-аудит — ADR-009 DI1–DI6: разрез по слою-источнику с process-analysis #53. Связано: PSR_v1 v3.12, Pravila v1.26, CLAUDE.md v2.13; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. **v2.12 наследие:** C10 business-process — формализованы #51 operations (Claude Code marketplace-плагин `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified — 9 скилов process-doc/process-optimization/change-request/capacity-plan/compliance-tracking/risk-assessment/runbook/status-report/vendor-review, 0 lifecycle-хуков) + #52 process-modeling + #53 process-analysis (self-authored project-скилы `.claude/skills/`, BPMN-моделирование to-be + as-is discovery) + #54 n8n-mcp (`czlonkowski/n8n-mcp`, MIT, workflow-движок — **DEFERRED**, у портала нет n8n) как новая 11-я off-phase подкатегория business-process — §4.26/§4.27/§4.28/§4.29; §0 счётчик 50→54 (70→74 total), off-phase row +20→+24. Конфликт-аудит — OPS1 (process-doc↔mermaid рендер-SoT), OPS5 (operations generic ↔ self-authored stack-grounded), N8N1 (n8n-mcp DEFERRED — n8n не в стеке портала), LINT1 (self-authored скилы линтуются, не в ignorePaths). Связано: PSR_v1 v3.11, Pravila v1.25, CLAUDE.md v2.12; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`. **v2.11 наследие:** ADR-006 Decision-4 icon-path boundary mirror — §4.20 +UI3: Lucide-иконки канонически через `lucide-vue-next` + Vuetify `IconSet` (CTO-19), raw-SVG `get_icon` Universal Icons MCP — только для не-Lucide коллекций; источник — ADR-006 поправка 17.05.2026. Счётчики без изменений — 50 формализованных позиций / 70 total. Связано: CLAUDE.md v2.11, ADR-006. **v2.10 наследие:** A11 ml-ai-tooling — формализованы #48 promptfoo (npm devDependency `promptfoo` v0.121.11, MIT — CLI-eval LLM-промптов) + #49 Data Scientist skill (вендоренный сторонний скил `.claude/skills/data-scientist/`, классический ML-воркфлоу, код MIT / контент CC BY 4.0) + #50 Jupyter MCP (`datalayer/jupyter-mcp-server`, исполняемые ноутбуки — **DEFERRED**, требует Python ML-окружения) как новая 10-я off-phase подкатегория ml-ai-tooling — §4.23/§4.24/§4.25; §0 счётчик 47→50 (67→70 total), off-phase row +17→+20. Конфликт-аудит — ML1 (promptfoo платные вызовы → только вручную/CI, никогда в хук), ML3 (Data Scientist skill вендорен → lefthook exclude), ML7 (bus-factor → вендоринг). Связано: PSR_v1 v3.10, Pravila v1.24, CLAUDE.md v2.10; план `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`. **v2.9 наследие:** A3 integration-tooling — формализован #47 openapi-mcp-server (`@ivotoby/openapi-mcp-server`, npm, v1.14.0, MIT) как 9-я off-phase подкатегория integration-tooling — §4.22; §0 счётчик 46→47 (66→67 total), off-phase row +16→+17. Связано: PSR_v1 v3.9, Pravila v1.23, CLAUDE.md v2.9; план `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`. **v2.8 наследие:** A4 design-tooling — формализованы #44 Figma MCP (remote MCP, extract-only, DEFERRED — нет Figma-аккаунта) + #45 Universal Icons MCP (`mcp-universal-icons`, MIT) + #46 Design plugin (Anthropic Verified) как новая 8-я off-phase подкатегория design-tooling — §4.19/§4.20/§4.21; §0 счётчик 43→46 (63→66 total), off-phase row +13→+16. Связано: PSR_v1 v3.8, Pravila v1.22, CLAUDE.md v2.8; план `docs/superpowers/plans/2026-05-17-a4-design-tooling-integration.md`. **v2.7 наследие:** A6-расширение — deptrac: формализован #43 deptrac (Composer dev-dependency `deptrac/deptrac` v4.6.1, BSD-3-Clause) как 4-й инструмент off-phase подкатегории architecture-tooling — архитектурный fitness-гейт направления зависимостей / границ слоёв; врезан как lefthook pre-commit job 10; конфиг `app/deptrac.yaml` (13 слоёв), первый прогон 0 нарушений → baseline-файл не нужен (red-green доказан); §4.18 новый; §0 счётчик 42→43 (62→63 total), off-phase row +12→+13. Связано: PSR_v1 v3.7, Pravila v1.21, CLAUDE.md v2.7; план `docs/superpowers/plans/2026-05-17-deptrac-architecture-fitness-integration.md`. **v2.6 наследие:** C9 project-management — формализованы #41 CCPM (vendored standalone skill) + #42 product-management (Anthropic-verified marketplace plugin) как новая 7-я off-phase подкатегория «project-management» — §4.16/§4.17; §0 счётчик 40→42 (60→62 total); off-phase row +10→+12. Связано: PSR_v1 v3.6, Pravila v1.20, CLAUDE.md v2.6; план `docs/superpowers/plans/2026-05-17-c9-project-management-tooling-integration.md`. **v2.5 наследие:** фактическая правка #40 Security Guidance — это **блокирующий** PreToolUse-хук (`sys.exit(2)`), не warn-only: при первом за сессию срабатывании уязвимого паттерна блокирует правку (одноразовый speed-bump, retry проходит). §4.15 переписан, SG1 уточнён, +SG2 — Windows-починка python3-резолва (`python3.exe`-шим). Счётчики не меняются — 40 позиций. Связано: PSR_v1 v3.5, Pravila v1.19, CLAUDE.md v2.5; план `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. **v2.4 наследие:** D3 audit-security — формализованы #39 Trail of Bits Skills (субсет 8 audit-плагинов, marketplace `trailofbits`, CC-BY-SA-4.0) + #40 Security Guidance (Anthropic PreToolUse-хук) как новая 6-я off-phase подкатегория «audit-security» — §4.14/§4.15; §0 счётчик 38→40 (58→60 total); off-phase row +8→+10. Связано: PSR_v1 v3.4, Pravila v1.18, CLAUDE.md v2.4; план `docs/superpowers/plans/2026-05-17-d3-audit-risk-tooling-integration.md`. **v2.3 наследие:** A6 architecture-tooling — формализованы 3 инструмента раздела A6 карты «Архитектура систем»: **#36 adr-kit** (ADR-решения + `adr-judge` gate), **#37 mermaid-skill** (C4-диаграммы), **#38 architecture-patterns** (паттерны) — новые §4.11–4.13, новая пятая off-phase подкатегория «architecture-tooling»; §0 счётчик 35→38 формализованных позиций (55→58 total), §0 table row off-phase +5→+8. Связано: PSR_v1 v3.3, Pravila v1.17, CLAUDE.md v2.3; план `docs/superpowers/plans/2026-05-17-a6-architecture-tooling-integration.md`. **v2.2 наследие:** §4.10 реколлаж — ruflo переописан из «entry-point иерархии» в «advisory/automation-подсистему» (декларация приведена к рантайму: рой idle, 0 задач); заголовок §4.10 + «Архитектурная роль» переписаны; §0 table row + «Категории off-phase tools» + «Назначение» обновлены; §13 +v2.2 entry. Связано: Pravila v1.16, PSR_v1 v3.2, CLAUDE.md v2.2; spec `docs/superpowers/specs/2026-05-16-ruflo-hierarchy-factual-recollage-design.md`. **v2.1 наследие:** §4.10 +абзац «Queen trigger»: триггер queen/королева → безусловный route через ruflo Queen (`hive-mind spawn --claude`), explicit hard-rule Pravila §14, enforcement-хук `tools/ruflo-queen-hook.mjs`. Связано: spec/plan `docs/superpowers/{specs,plans}/2026-05-15-ruflo-queen-trigger-and-delegation*`, Pravila v1.15, CLAUDE.md v2.1, PSR_v1 v3.1. **v2.0 наследие:** Ruflo big-bang — major bump: добавлен **orchestration layer (ruflo)** как четвёртая off-phase подкатегория. §0 +ruflo orchestration row: 35 формализованных позиций + 20 ruflo plugins = 55 total; новая §4.10 «Orchestration layer (ruflo)». Связано: spec/plan 2026-05-15, Pravila v1.14, PSR_v1 v3.0, CLAUDE.md v2.0.) **Предыдущая версия:** 1.17 (13.05.2026 day +1 — формализация retrospective двух off-phase MCP debug-инструментов установленных на feat/claude-automation `6f7e7d7` + `bd4ec48` после merge PR #3 в main `cc5f63b`: §0 счётчик off-phase 3 → 5, итого 33 → 35; §4.8 новый — #34 Sentry MCP; §4.9 новый — #35 Redis MCP. Категория debug-runtime, отдельная от UI-пула.) **Адресат:** Claude + разработчики проекта Лидерра -**Назначение:** единый источник истины по 84 формализованным позициям тулчейна + 20 ruflo orchestration plugins = 104 total (29 «активных» номеров фаз + 54 off-phase инструментов-резерв в категориях UI-пул, инфраструктура, debug-runtime, architecture-tooling, audit-security, project-management, design-tooling, integration-tooling, ml-ai-tooling, business-process, discovery-tooling, authoring-tooling, dev-support, finance-tooling, backend-tooling, infosec-tooling, marketing-tooling, knowledge-graph-tooling — UPM, 21st, claude-md-management, Sentry MCP, Redis MCP, adr-kit, mermaid-skill, architecture-patterns, Trail of Bits Skills, Security Guidance, CCPM, product-management, deptrac, Figma MCP, Universal Icons MCP, Design plugin, openapi-mcp-server, promptfoo, Data Scientist skill, Jupyter MCP, operations, process-modeling, process-analysis, n8n-mcp, discovery-interview, skill-creator, plugin-dev, hookify, claude-code-setup, context7, finance plugin, billing-audit, ru-tax-accounting, Rector, PHP Insights, laravel-backend-patterns, NightOwl, OWASP ZAP, Nuclei, Ward, pdn-152fz-audit, threat-model, security-go-live, marketing plugin, marketingskills, brand-voice, marketing-ru, Яндекс.Метрика MCP, Яндекс.Директ+Wordstat MCP, Telegram MCP, Postiz, DataForSEO MCP, Unisender Go MCP, graphifyy; +1 заменённый PG MCP исторически; +ruflo advisory/automation-подсистема — 20 plugins, см. §4.10), скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент. +**Назначение:** единый источник истины по 88 формализованным позициям тулчейна + 20 ruflo orchestration plugins = 108 total (29 «активных» номеров фаз + 58 off-phase инструментов-резерв в категориях UI-пул, инфраструктура, debug-runtime, architecture-tooling, audit-security, project-management, design-tooling, integration-tooling, ml-ai-tooling, business-process, discovery-tooling, authoring-tooling, dev-support, finance-tooling, backend-tooling, infosec-tooling, marketing-tooling, knowledge-graph-tooling, research-tooling — UPM, 21st, claude-md-management, Sentry MCP, Redis MCP, adr-kit, mermaid-skill, architecture-patterns, Trail of Bits Skills, Security Guidance, CCPM, product-management, deptrac, Figma MCP, Universal Icons MCP, Design plugin, openapi-mcp-server, promptfoo, Data Scientist skill, Jupyter MCP, operations, process-modeling, process-analysis, n8n-mcp, discovery-interview, skill-creator, plugin-dev, hookify, claude-code-setup, context7, finance plugin, billing-audit, ru-tax-accounting, Rector, PHP Insights, laravel-backend-patterns, NightOwl, OWASP ZAP, Nuclei, Ward, pdn-152fz-audit, threat-model, security-go-live, marketing plugin, marketingskills, brand-voice, marketing-ru, Яндекс.Метрика MCP, Яндекс.Директ+Wordstat MCP, Telegram MCP, Postiz, DataForSEO MCP, Unisender Go MCP, graphifyy, perplexity MCP, exa MCP, firecrawl MCP, grilling; +1 заменённый PG MCP исторически; +ruflo advisory/automation-подсистема — 20 plugins, см. §4.10), скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент. > **Связано:** > @@ -81,10 +81,10 @@ | **1 — старт Laravel** | `composer create-project laravel/laravel` | **17** | +9 новых, −1 заменённый (PostgreSQL MCP → Laravel Boost) | | **2 — старт frontend** | первый коммит в `resources/js/` (Vue 3 + Vuetify 3) | **24** | +7 (включая #30 Frontend Design plugin, добавлен post-MVP в v1.10) | | **3 — pre-production** | ~спринт 12, перед публичным релизом | **29** | +5 | -| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` / `.mcp.json` / `.claude/skills/` / `composer.json` / `package.json` | **+57** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits), #34 Sentry MCP (debug self-hosted Sentry в Yandex Cloud), #35 Redis MCP (debug Memurai/Redis runtime), #36 adr-kit (ADR-решения, architecture-tooling), #37 mermaid-skill (C4-диаграммы), #38 architecture-patterns (паттерны), #39 Trail of Bits Skills (8 audit-плагинов, audit-security), #40 Security Guidance (inline security warn-hook), #41 CCPM (PRD→эпик→issue→код трассируемость, project-management), #42 product-management (product-strategy церемонии, project-management), #43 deptrac (архитектурный fitness-гейт, architecture-tooling), #44 Figma MCP (извлечение дизайн-токенов, design-tooling, DEFERRED), #45 Universal Icons MCP (SVG-иконки, design-tooling), #46 Design plugin (дизайн-критика/UX, design-tooling), #47 openapi-mcp-server (introspection OpenAPI/REST, integration-tooling), #48 promptfoo (CLI-eval LLM-промптов, ml-ai-tooling), #49 Data Scientist skill (классический ML-воркфлоу, ml-ai-tooling), #50 Jupyter MCP (исполняемые ноутбуки, ml-ai-tooling, DEFERRED), #51 operations (документирование/оптимизация/change-mgmt бизнес-процессов, business-process), #52 process-modeling (BPMN-моделирование to-be, business-process), #53 process-analysis (as-is discovery/узкие места, business-process), #54 n8n-mcp (workflow-движок, business-process, DEFERRED), #55 discovery-interview (интервью-discovery FEATURE/SYSTEM, discovery-tooling), #56 skill-creator (конструктор скилов, authoring-tooling), #57 plugin-dev (конструктор плагинов, authoring-tooling), #58 hookify (генератор хуков, authoring-tooling), #59 claude-code-setup (рекомендатель автоматизаций, dev-support), #60 context7 (документация библиотек, dev-support), #61 finance plugin (финансы/бухгалтерия US-GAAP, finance-tooling), #62 billing-audit (денежные инварианты биллинга, finance-tooling), #63 ru-tax-accounting (РСБУ/НК РФ контекст, finance-tooling), #64 Rector (авто-рефакторинг/version-upgrade PHP, backend-tooling), #65 PHP Insights (метрики качества/сложности кода, backend-tooling), #66 laravel-backend-patterns (backend-конвенции Лидерры, backend-tooling), #67 NightOwl (runtime-телеметрия self-hosted, backend-tooling, DEFERRED), #68 OWASP ZAP (глубокая боевая DAST, infosec-tooling, MCP, установлен 21.05), #69 Nuclei (известные уязвимости, infosec-tooling, CLI), #70 Ward (безопасность настроек Laravel, infosec-tooling, CLI, установлен 21.05), #71 pdn-152fz-audit (аудит ПДн/152-ФЗ, infosec-tooling), #72 threat-model (STRIDE угрозы going-public, infosec-tooling), #73 security-go-live (go-live security-gate, infosec-tooling), #74 marketing plugin (первичный решатель C1, marketing-tooling), #75 marketingskills (резерв-библиотека фреймворков, marketing-tooling), #76 brand-voice (вербальный бренд, marketing-tooling), #77 marketing-ru (РФ-специфика маркетинга, marketing-tooling), #78 Яндекс.Метрика MCP (веб-аналитика READ-ONLY, marketing-tooling), #79 Яндекс.Директ+Wordstat MCP (Wordstat only, marketing-tooling), #80 Telegram MCP (постинг/управление каналами, marketing-tooling), #81 Postiz (планировщик соцсетей self-hosted, marketing-tooling), #82 DataForSEO MCP (SEO-данные РФ, marketing-tooling, DEFERRED), #83 Unisender Go MCP (email-рассылки обёртка, marketing-tooling, DEFERRED), #86 graphifyy (knowledge graph портала docs+code, knowledge-graph-tooling), #87 perplexity MCP (веб-разведка/ранжированный ответ sonar, research-tooling), #88 exa MCP (семантическое обнаружение, research-tooling), #89 firecrawl MCP (глубокое чтение/обход, research-tooling) | +| **off-phase tools** | по факту включения в `~/.claude/settings.json` / `~/.claude.json` / `.mcp.json` / `.claude/skills/` / `composer.json` / `package.json` | **+58** | #31 UPM (UI-резерв), #32 21st Magic MCP (UI-генератор), #33 claude-md-management (инфраструктура CLAUDE.md edits), #34 Sentry MCP (debug self-hosted Sentry в Yandex Cloud), #35 Redis MCP (debug Memurai/Redis runtime), #36 adr-kit (ADR-решения, architecture-tooling), #37 mermaid-skill (C4-диаграммы), #38 architecture-patterns (паттерны), #39 Trail of Bits Skills (8 audit-плагинов, audit-security), #40 Security Guidance (inline security warn-hook), #41 CCPM (PRD→эпик→issue→код трассируемость, project-management), #42 product-management (product-strategy церемонии, project-management), #43 deptrac (архитектурный fitness-гейт, architecture-tooling), #44 Figma MCP (извлечение дизайн-токенов, design-tooling, DEFERRED), #45 Universal Icons MCP (SVG-иконки, design-tooling), #46 Design plugin (дизайн-критика/UX, design-tooling), #47 openapi-mcp-server (introspection OpenAPI/REST, integration-tooling), #48 promptfoo (CLI-eval LLM-промптов, ml-ai-tooling), #49 Data Scientist skill (классический ML-воркфлоу, ml-ai-tooling), #50 Jupyter MCP (исполняемые ноутбуки, ml-ai-tooling, DEFERRED), #51 operations (документирование/оптимизация/change-mgmt бизнес-процессов, business-process), #52 process-modeling (BPMN-моделирование to-be, business-process), #53 process-analysis (as-is discovery/узкие места, business-process), #54 n8n-mcp (workflow-движок, business-process, DEFERRED), #55 discovery-interview (интервью-discovery FEATURE/SYSTEM, discovery-tooling), #56 skill-creator (конструктор скилов, authoring-tooling), #57 plugin-dev (конструктор плагинов, authoring-tooling), #58 hookify (генератор хуков, authoring-tooling), #59 claude-code-setup (рекомендатель автоматизаций, dev-support), #60 context7 (документация библиотек, dev-support), #61 finance plugin (финансы/бухгалтерия US-GAAP, finance-tooling), #62 billing-audit (денежные инварианты биллинга, finance-tooling), #63 ru-tax-accounting (РСБУ/НК РФ контекст, finance-tooling), #64 Rector (авто-рефакторинг/version-upgrade PHP, backend-tooling), #65 PHP Insights (метрики качества/сложности кода, backend-tooling), #66 laravel-backend-patterns (backend-конвенции Лидерры, backend-tooling), #67 NightOwl (runtime-телеметрия self-hosted, backend-tooling, DEFERRED), #68 OWASP ZAP (глубокая боевая DAST, infosec-tooling, MCP, установлен 21.05), #69 Nuclei (известные уязвимости, infosec-tooling, CLI), #70 Ward (безопасность настроек Laravel, infosec-tooling, CLI, установлен 21.05), #71 pdn-152fz-audit (аудит ПДн/152-ФЗ, infosec-tooling), #72 threat-model (STRIDE угрозы going-public, infosec-tooling), #73 security-go-live (go-live security-gate, infosec-tooling), #74 marketing plugin (первичный решатель C1, marketing-tooling), #75 marketingskills (резерв-библиотека фреймворков, marketing-tooling), #76 brand-voice (вербальный бренд, marketing-tooling), #77 marketing-ru (РФ-специфика маркетинга, marketing-tooling), #78 Яндекс.Метрика MCP (веб-аналитика READ-ONLY, marketing-tooling), #79 Яндекс.Директ+Wordstat MCP (Wordstat only, marketing-tooling), #80 Telegram MCP (постинг/управление каналами, marketing-tooling), #81 Postiz (планировщик соцсетей self-hosted, marketing-tooling), #82 DataForSEO MCP (SEO-данные РФ, marketing-tooling, DEFERRED), #83 Unisender Go MCP (email-рассылки обёртка, marketing-tooling, DEFERRED), #86 graphifyy (knowledge graph портала docs+code, knowledge-graph-tooling), #87 perplexity MCP (веб-разведка/ранжированный ответ sonar, research-tooling), #88 exa MCP (семантическое обнаружение, research-tooling), #89 firecrawl MCP (глубокое чтение/обход, research-tooling), #90 grilling (допрос по готовому решению, discovery-tooling) | | **ruflo advisory/automation-подсистема** (off-phase, post-MVP 2026-05-15) | `npx ruflo@latest init` + `.mcp.json` ruflo entry | **+20 plugins** | `ruflo` v3.7.0-alpha.38+ + 20 plugins (`@claude-flow/*`, IPFS-registry) — advisory/automation-подсистема; orchestration подкатегория off-phase (см. §4.10) | -**Итого формализованных позиций:** 87 (29 активных по фазам + 57 off-phase + 1 заменённый PG MCP исторически) + 20 ruflo orchestration plugins = **107 total**. Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7/§4.8/§4.9/§4.11/§4.12/§4.13/§4.14/§4.15/§4.16/§4.17/§4.18/§4.19/§4.20/§4.21/§4.22/§4.23/§4.24/§4.25/§4.26/§4.27/§4.28/§4.29/§4.30/§4.31/§4.32/§4.33/§4.34/§4.35/§4.36/§4.37/§4.38/§4.39/§4.40/§4.41/§4.42/§4.43/§4.44/§4.45/§4.46/§4.47/§4.48/§4.49/§4.50/§4.51/§4.52/§4.53/§4.54/§4.55/§4.56/§4.57/§4.58/§4.59/§4.60/§4.61/§4.62 (off-phase) + §4.10 (ruflo orchestration). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9. +**Итого формализованных позиций:** 88 (29 активных по фазам + 58 off-phase + 1 заменённый PG MCP исторически) + 20 ruflo orchestration plugins = **108 total**. Полный перечень — §2–§5 (по фазам) + §4.5/§4.6/§4.7/§4.8/§4.9/§4.11/§4.12/§4.13/§4.14/§4.15/§4.16/§4.17/§4.18/§4.19/§4.20/§4.21/§4.22/§4.23/§4.24/§4.25/§4.26/§4.27/§4.28/§4.29/§4.30/§4.31/§4.32/§4.33/§4.34/§4.35/§4.36/§4.37/§4.38/§4.39/§4.40/§4.41/§4.42/§4.43/§4.44/§4.45/§4.46/§4.47/§4.48/§4.49/§4.50/§4.51/§4.52/§4.53/§4.54/§4.55/§4.56/§4.57/§4.58/§4.59/§4.60/§4.61/§4.62/§4.63 (off-phase) + §4.10 (ruflo orchestration). Карта «когда что использовать» — §7. Что НЕ ставим и почему — §9. **КАНОН СЧЁТЧИКОВ.** Числовые счётчики формализованных позиций и off-phase подкатегорий тулчейна каноничны здесь — в Прил. Н §0. CLAUDE.md, Pravila §13.2 и PSR_v1 R10.1 ссылаются сюда формулировкой «реестр и счётчики — Tooling Прил. Н §0» и не дублируют числа. Введено SYSTEM-аудитом 18.05.2026 (finding 3) для устранения класса «арифметический дрейф счётчиков» (ловился аудитами v1.85/v1.86). @@ -457,6 +457,7 @@ Existing prose follows the table. | #87 | perplexity MCP | off-phase | active | | #88 | exa MCP | off-phase | active | | #89 | firecrawl MCP | off-phase | active | +| #90 | grilling | off-phase | active | @@ -1697,6 +1698,22 @@ Existing prose follows the table. **Граница research-tooling (ADR-019, RT1–RT9):** открытый веб (практики/нормы/конкуренты); ≠ context7 #60 (SDK-доки) / openapi #47 (наш REST) / Boost #10 (Laravel) / Sentry #34 + Redis #35 (runtime прод) / graphify #86 (внутренний граф) / GitHub #3 (репо). Внутри пака: perplexity #87 (ответ) → exa #88 (обнаружение) → firecrawl #89 (чтение) — связка L17. Платные API, ключи только в env, без авто-трат (RT8). IS9-вет `docs/research/research-vet.md` — все три ПРИНЯТ. +### 4.63. grilling — допрос по готовому решению (off-phase, discovery-tooling) + +**Атрибуты:** + +| id | name | kind | phase | subcategory | triggers | boundaries | dormant | last-touched | +|---|---|---|---|---|---|---|---|---| +| #90 | grilling | skill | off-phase | discovery-tooling | «погрилль меня», «grill me», «grilling», «обстреляй план», «прожарь идею», «допроси меня», «проверь моё решение вопросами» | ADR-021 (GR1 ↔ discovery-interview #55 / GR2 ↔ superpowers:brainstorming #19 / GR3 вендоринг) | false | 2026-07-28 | + +**Роль:** инструмент **#90**. Вендоренный скил из [mattpocock/skills](https://github.com/mattpocock/skills) (MIT, `skills/productivity/grilling`), установлен user-level — `~/.claude/skills/grilling/SKILL.md`, вне репозитория. Безжалостный допрос по **уже имеющемуся** плану или решению: обход дерева решений ветка за веткой, **по одному вопросу за раз**, к каждому вопросу — свой рекомендуемый ответ (заказчику достаточно подтвердить или поправить). Факты ищет сам в окружении, к заказчику несёт только решения. Не приступает к работе до явного подтверждения общего понимания. + +**Надстройка проекта** (тело оригинала не модифицируется, всё добавленное — отдельным блоком): протокол на диске `docs/grilling/ГГГГ-ММ-ДД-<тема>.md` с тремя разделами — **Решили** / **Отрезали и почему** / **Осталось открытым**, пишется по ходу после каждого подтверждённого ответа и перечитывается после компакта контекста; порядок обхода «сначала необратимое» (деньги и списания, схема БД, что уходит клиенту) — косметика в конец очереди; критерий остановки — **не осталось незаданных развилок**, объявляется вслух (собственное ощущение «вроде всё ясно» основанием не является); «слушай, не защищай» — критику существующего не оправдывать. + +**Категория:** off-phase, discovery-tooling — вторая позиция 12-й off-phase подкатегории (рядом с #55 discovery-interview), новой подкатегории не заводит. Не UI → вне R6.0/R6.1/R14 PSR_v1. PSR_v1 R10.1 Блок 3. Локальный текстовый скил: без кода, хуков, субагентов и сетевых обращений — gate-постура не требуется. + +**Граница discovery-tooling (ADR-021, GR1–GR3):** GR1 ↔ #55 discovery-interview — разрез по **наличию решения**: grilling куёт решение, которое у заказчика **уже есть** (рекомендуемый ответ на каждый вопрос обязателен), discovery-interview вскрывает **проблему**, когда решения ещё нет (наводящие ответы там прямо запрещены). GR2 ↔ #19 superpowers:brainstorming — brainstorming порождает варианты решения, grilling обстреливает выбранный до пустого фронта развилок; связка L1 (`#55` → brainstorming → **#90** → writing-plans → subagent-driven-development). GR3 — вендоринг: апстрим MIT, обновления подтягиваются вручную сверкой с `skills/productivity/grilling/SKILL.md`; надстройка проекта отделена заголовком, чтобы происхождение всегда было различимо. + --- ## 5. Фаза 3 — pre-production (+5 новых, итого 29 активных) @@ -2041,6 +2058,10 @@ Vuetify-тема — `liderraLight` и `liderraDark` — определена в --- +*Прил. Н v2.26 от 28.07.2026 — grilling: §4.63 #90 grilling — вендоренный скил «безжалостного допроса» по УЖЕ имеющемуся плану/решению (`mattpocock/skills`, MIT, `skills/productivity/grilling`), установлен user-level `~/.claude/skills/grilling/` — вне репозитория, единственная копия (проектная удалена во избежание задвоения). Вторая позиция 12-й off-phase подкатегории **discovery-tooling** рядом с #55 discovery-interview; новой подкатегории не заводит. §0 счётчик 87→88 (107→108 total), off-phase row +57→+58. ADR-021 (GR1–GR3): GR1 разрез с #55 по **наличию решения** — grilling куёт готовое решение (рекомендуемый ответ на каждый вопрос обязателен), discovery-interview вскрывает проблему (наводящие ответы запрещены); GR2 ↔ #19 brainstorming (порождение вариантов vs обстрел выбранного); GR3 вендоринг — тело апстрима не модифицируется, надстройка проекта отделена заголовком. Надстройка: протокол `docs/grilling/ГГГГ-ММ-ДД-<тема>.md` (Решили / Отрезали и почему / Осталось открытым; пишется по ходу, перечитывается после компакта — закрывает класс «договорённость сгорела при компакте»), порядок обхода «сначала необратимое», критерий остановки — пустой фронт развилок с объявлением вслух, «слушай, не защищай». Врезан в связку L1 между brainstorming и writing-plans; классификация `planning` вес 0.8 (ниже первичных решателей #19/#41/#42). Без кода, хуков, субагентов и сети — gate-постура не требуется. Попутно снят застарелый рассинхрон шапки «Назначение» (числа 84/104 от v2.24 → 88/108, дописаны research-tooling и #87–#90). Cross-ref Pravila v1.45 / PSR_v1 v3.25 / CLAUDE.md v2.49.* + +--- + *Прил. Н v2.24 от 27.05.2026 — knowledge-graph-tooling: §4.59 #86 graphifyy (CLI `uv tool install graphifyy`, user-level skill `~/.claude/skills/graphify/`, activation `/graphify <команда>`, артефакты `graphify-out*/` gitignored) — 19-я off-phase подкатегория **knowledge-graph-tooling**; §0 счётчик 83→84 (103→104 total), off-phase row +53→+54; «Назначение» 83→84 позиции + +knowledge-graph-tooling + graphifyy. ADR-017 (KG1–KG5). Spike `spike/graphify-2026-05-27`: 3 фазы → combined граф 6305 узлов / 6753 рёбер / 1009 communities (93% EXTRACTED / 7% INFERRED). cross-ref Pravila v1.43+ / PSR_v1 v3.23+ / CLAUDE.md v2.32+.* *Прил. Н v2.23 от 25.05.2026 (cross-ref update) — §0 cross-ref string Pravila v1.41+→**v1.42+** (Pravila §17.7 «Coverage announcement» добавлена). Счётчики #1-#83 без изменений. Связано: Pravila v1.42, CLAUDE.md v2.28, PSR_v1 v3.22.* diff --git a/docs/adr/ADR-021-grilling-tooling.md b/docs/adr/ADR-021-grilling-tooling.md new file mode 100644 index 00000000..5d51baa2 --- /dev/null +++ b/docs/adr/ADR-021-grilling-tooling.md @@ -0,0 +1,123 @@ +# ADR-021: Grilling — допрос по готовому решению (discovery-tooling, #90) + +- **Status:** Accepted +- **Date:** 2026-07-28 +- **Deciders:** Дмитрий + +## Context + +Заказчик 27.07.2026 сформулировал повторяющуюся боль (память +`feedback-priemochnyy-list-i-limit-konteksta`): «фичу доделываешь, но откидываешь +90% функционала, потом пилим косяки, скрытые хрен найдёшь». Механизм боли — +список требований живёт **только в контексте сессии**, проверяется тем, что +контроллер сам же и написал; «скрытые» дефекты = места, где ожидание не было +записано заранее. Компакт контекста — тот же спусковой крючок: пересказ +выживает, мелочи пропадают. + +В экосистеме скилов нашёлся готовый инструмент под эту задачу — **grilling** из +[mattpocock/skills](https://github.com/mattpocock/skills) (MIT, +`skills/productivity/grilling`, 843 байта). Он предписывает: обход дерева +решений ветка за веткой, по одному вопросу за раз, **с рекомендуемым ответом на +каждый вопрос**, факты искать самостоятельно, не приступать к работе до явного +подтверждения общего понимания. Файл `grill-me` в том же репозитории — заглушка, +делегирующая в `grilling`; вся суть в `grilling`. + +Инструмент внешне похож на существующий #55 `discovery-interview` — оба ведут +интервью по одному вопросу за раз. Нужно решение о границе, иначе два +интервьюера будут толкаться (нарушение CLAUDE.md §5 п.6 — «не два инструмента +на одну задачу»). + +Проверка апстрима перед принятием: репозиторий 192k★, активная разработка, +лицензия MIT, скил — чистый текст без кода, хуков, субагентов и сетевых +обращений. Отдельно рассматривался и **отклонён** Understand-Anything +(76,5k★) — дубль к #86 graphify, плюс хуки, впрыскивающие «не спрашивай +подтверждения у пользователя», 7 открытых Windows-заявок и известные проблемы +с не-ASCII путями (у нас путь проекта кириллический). + +## Decision + +Формализовать **grilling** как узел **#90**, вторая позиция 12-й off-phase +подкатегории **discovery-tooling** (новой подкатегории не заводим — +это интервью-инструмент, как и #55). + +Установка — **user-level**, `~/.claude/skills/grilling/SKILL.md`, единственная +копия. Проектная копия сознательно удалена: две копии одного скила дают +задвоение в списке и рассинхрон при правках. + +### GR1 — граница с #55 discovery-interview: разрез по наличию решения + +| | **#90 grilling** | **#55 discovery-interview** | +|---|---|---| +| Вход | у заказчика **уже есть** план/решение | есть только боль, решения нет | +| Метод | обход дерева решений | JTBD, «5 почему», прошлое поведение | +| Рекомендуемый ответ | **обязателен** на каждый вопрос | **запрещён** (правило «не наводи») | +| Артефакт | протокол `docs/grilling/` | discovery-brief / system-snapshot | +| Выход | решение выковано, фронт развилок пуст | проблема вскрыта, brief в brainstorming | + +Правило разведения одной фразой: **grilling куёт решение, которое уже есть; +discovery-interview вскрывает проблему, когда решения ещё нет.** Подсказанный +ответ в первом случае ускоряет (заказчику достаточно подтвердить), во втором — +отравляет (заказчик согласится из вежливости). + +### GR2 — граница с #19 superpowers:brainstorming + +brainstorming **порождает** варианты решения; grilling **обстреливает** +выбранный до пустого фронта развилок. Порядок в связке L1: + +`#55 discovery-interview` → `brainstorming` → `#90 grilling` → `writing-plans` +→ `subagent-driven-development` + +Классификация `planning`, вес **0.8** — ниже первичных решателей #19/#41/#42, +чтобы grilling не перехватывал обычные планировочные задачи. + +### GR3 — вендоринг и надстройка проекта + +Тело апстрима **не модифицируется**. Всё добавленное проектом вынесено ниже +разделителя «Добавлено нами», чтобы происхождение всегда было различимо, а +обновления апстрима подтягивались ручной сверкой. + +Надстройка (мотив — боль из Context): + +1. **Протокол на диске** `docs/grilling/ГГГГ-ММ-ДД-<тема>.md`, три раздела: + **Решили** / **Отрезали и почему** / **Осталось открытым**. Пишется по ходу + после каждого подтверждённого ответа (обрыв сессии не должен съедать + сделанное), перечитывается первым делом после компакта контекста. Раздел + «Отрезали» — это и есть запрошенный заказчиком **видимый список + отрезанного**: обход дерева решений естественно порождает отброшенные ветки, + оригинал их нигде не фиксирует. +2. **Порядок обхода «сначала необратимое»** — деньги и списания, схема БД, что + уходит наружу клиенту; косметика в конец очереди. +3. **Критерий остановки** — не «кажется, понятно», а **пустой фронт развилок**, + объявляемый вслух, чтобы заказчик мог возразить «а про это не спросил». + Уточняет расплывчатое оригинальное «shared understanding». +4. **«Слушай, не защищай»** — заимствовано из #55: критику существующего не + оправдывать. + +Сознательно **не** заимствовано из #55: запрет наводящих вопросов (убил бы +главную механику grilling), JTBD/«5 почему» (метод про вскрытие боли, не про +выбор из вариантов), режим SYSTEM. + +## Consequences + +**Плюсы.** Закрывается класс «договорённость сгорела при компакте» — впервые у +приёмочного листа появляется файловый носитель. Появляется проверяемый критерий +завершённости обсуждения вместо ощущения контроллера. Отброшенные варианты +перестают быть невидимыми. + +**Минусы и риски.** Ещё один интервью-инструмент рядом с #55 — риск путаницы +снят только границей GR1, её нужно соблюдать. Скил живёт вне репозитория +(user-level), поэтому **не попадает в резервную копию проекта** и не +версионируется вместе с ним; при переезде на другую машину его нужно ставить +руками. Обновления апстрима не приезжают автоматически — сверка ручная (GR3). + +**Не сделано намеренно.** Тесты триггеров (как 20/20 для #55) не прогонялись — +скил ручного вызова, авто-инвокация не критична. Отдельный хук/enforcement не +заводился: инструмент рекомендательный, принуждение к нему не предполагается. + +## Связано + +- Реестр: `docs/Tooling_v8_3.md` Прил. Н §4.63 (#90), v2.26 +- Узел: `docs/registry/nodes.yaml` #90, контракт `docs/registry/contracts/grilling.contract.json` +- Routing: `docs/routing-off-phase.md` — связка L1, граница #90 ↔ #55 +- Соседи: ADR-009 (discovery-interview #55), ADR-017 (graphify #86 — отклонённый Understand-Anything был дублем к нему) +- Память: `feedback-priemochnyy-list-i-limit-konteksta` diff --git a/docs/registry/contracts/grilling.contract.json b/docs/registry/contracts/grilling.contract.json new file mode 100644 index 00000000..6994e384 --- /dev/null +++ b/docs/registry/contracts/grilling.contract.json @@ -0,0 +1,11 @@ +{ + "skill": "grilling", + "kind": "vendored", + "needs": ["готовый план, решение или идея заказчика, которые надо обстрелять до реализации"], + "produces": ["протокол docs/grilling/ГГГГ-ММ-ДД-<тема>.md: Решили / Отрезали и почему / Осталось открытым"], + "constraints": ["вендорен из mattpocock/skills (MIT), user-level ~/.claude/skills/grilling/; тело оригинала не модифицируется", "ADR-021 GR1 граница с discovery-interview (#55): готовое решение vs невскрытая проблема", "порядок обхода — сначала необратимое (деньги, схема БД, что уходит клиенту)"], + "preview-form": "outline", + "defaults": ["один вопрос за раз с рекомендуемым ответом; факты ищутся самостоятельно, решения — за заказчиком"], + "key-decisions": ["каждая развилка дерева решений — отдельным вопросом заказчику"], + "acceptance-criteria": ["не осталось незаданных развилок, и это объявлено вслух", "заказчик подтвердил общее понимание до начала работы"] +} diff --git a/docs/registry/nodes.yaml b/docs/registry/nodes.yaml index 74eb85e4..6bd2d869 100644 --- a/docs/registry/nodes.yaml +++ b/docs/registry/nodes.yaml @@ -1787,12 +1787,39 @@ nodes: tooling_section: "§4.62 #89" install: "npx -y firecrawl-mcp (в .mcp.json; FIRECRAWL_API_KEY в env)" + - id: "#90" + name: "grilling" + slug: "grilling" + category: "off-phase" + subcategory: "discovery-tooling" + status: "active" + dormancy_reason: null + capabilities: "Скил безжалостного допроса по УЖЕ имеющемуся плану/решению: обход дерева решений ветка за веткой, по одному вопросу за раз, с рекомендуемым ответом на каждый; факты ищет сам, решения оставляет заказчику. Протокол на диске docs/grilling/ — Решили / Отрезали и почему / Осталось открытым. Остановка — только когда не осталось незаданных развилок." + triggers: + - {keyword: "погрилль меня", weight: 1.0} + - {keyword: "grill me", weight: 1.0} + - {keyword: "grilling", weight: 1.0} + - {keyword: "обстреляй план", weight: 1.0} + - {keyword: "прожарь идею", weight: 1.0} + - {keyword: "допроси меня", weight: 1.0} + - {keyword: "проверь моё решение вопросами", weight: 1.0} + - {classification: "planning", weight: 0.8} + boundaries: + - {adr: "ADR-021", role: "GR1 — граница с #55 discovery-interview: grilling куёт решение, которое у заказчика УЖЕ есть (наводящий рекомендуемый ответ обязателен); discovery-interview вскрывает проблему, когда решения ещё нет (наводящие ответы запрещены)"} + - {adr: "ADR-021", role: "GR2 — граница с superpowers:brainstorming: brainstorming порождает варианты решения, grilling обстреливает выбранный до неразрешённых развилок"} + - {adr: "ADR-021", role: "GR3 — вендорен из mattpocock/skills (MIT), user-level ~/.claude/skills/grilling/; тело оригинала не модифицируется, надстройка проекта — отдельным блоком"} + chain_membership: ["L1"] + attributes: + tooling_section: "§4.63 #90" + install: "user-level ~/.claude/skills/grilling/SKILL.md (вендорен вручную из mattpocock/skills, MIT)" + chains: L1: name: "feature discovery & implementation chain" sequence: - "#55" - "superpowers:brainstorming" + - "#90" - "superpowers:writing-plans" - "superpowers:subagent-driven-development" triggers: diff --git a/docs/routing-off-phase.md b/docs/routing-off-phase.md index 2a43a50c..bef66bd4 100644 --- a/docs/routing-off-phase.md +++ b/docs/routing-off-phase.md @@ -48,6 +48,7 @@ | `planning` | #19 Superpowers v5.1.0 | 1 | | `planning` | #41 CCPM | 1 | | `planning` | #42 product-management | 1 | +| `planning` | #90 grilling | 0.8 | | `prod_deploy_imminent` | #85 prod-deploy-validator | 1 | | `refactor` | #11 Laravel Pint | 1 | | `refactor` | #12 Larastan | 1 | @@ -83,7 +84,7 @@ | # | Цепочка | Зачем | |---|---|---| -| L1 | `discovery-interview` (FEATURE) → `brainstorming` → `writing-plans` → `subagent-driven-development` | Полный цикл от боли заказчика до атомарных коммитов. Передаёт discovery-brief в brainstorming без re-asking; план потом исполняется параллельными субагентами. | +| L1 | `discovery-interview` (FEATURE) → `brainstorming` → `grilling` (#90) → `writing-plans` → `subagent-driven-development` | Полный цикл от боли заказчика до атомарных коммитов. Передаёт discovery-brief в brainstorming без re-asking; выбранное решение обстреливается grilling'ом до пустого фронта развилок (протокол `docs/grilling/`); план потом исполняется параллельными субагентами. | | L2 | `discovery-interview` (SYSTEM) + `audit-portal` | Ориентация по состоянию (где мы) + вердикт здоровья портала. Snapshot 18.05 — пример L2 в действии. | | L3 | `process-analysis` (#53) ↔ `process-modeling` (#52) | As-is из кода ↔ to-be BPMN. Парная работа: #53 вскрывает узкое место, #52 моделирует целевую схему. Разрез по слою-источнику — ADR-009. | | L4 | `mermaid-skill` (#37) ← `adr-kit` (#36) / `process-modeling` (#52) / `operations` (#51) | Mermaid рендерит C4 / BPMN / process-doc для трёх потребителей. Single source of truth для диаграмм. | @@ -125,6 +126,7 @@ 5. **Hard-rules (Pravila §12 / §14 / §15)** перевешивают этот routing-аид при коллизии. 6. **Граничные случаи между похожими узлами** — кросс-ссылки в Tooling §4.X (например #53 process-analysis ↔ #55 discovery-interview через слой-источник ADR-009; + #90 grilling ↔ #55 discovery-interview через наличие решения ADR-021 GR1; #39 ToB ↔ #25 Semgrep MCP через scope TB1). --- diff --git a/tools/observer-chain-map.json b/tools/observer-chain-map.json index 8fcfeb6e..a27ed55b 100644 --- a/tools/observer-chain-map.json +++ b/tools/observer-chain-map.json @@ -1,59 +1,183 @@ { "_note": "node_chosen -> L-цепочки. Только узлы, входящие хотя бы в одну L1-L13. Узлы вне цепочек (direct, прочее) НЕ включаются -> chainsFor вернёт null. Имена ключей = реальные значения primary_rationale.node_chosen (skill-id из skill_invoked). MCP/agent-узлы (laravel-boost, openapi-mcp-server, api-docs, sentry-mcp, redis-mcp, pest, github-mcp) в node_chosen не появляются, но включены для полноты покрытия цепочек L1-L13 (контролёр C6 требует, чтобы каждая L из routing-off-phase.md была покрыта). Синхронизируется с docs/routing-off-phase.md через tools/observer-chain-map-checker.mjs.", - "discovery-interview": ["L1", "L2"], - "superpowers:brainstorming": ["L1", "L16", "L17"], - "superpowers:writing-plans": ["L1"], - "superpowers:subagent-driven-development": ["L1"], - "audit-portal": ["L2"], - "process-analysis": ["L3"], - "process-modeling": ["L3", "L4"], - "mermaid": ["L4"], - "adr-kit:adr": ["L4", "L5"], - "adr-kit:judge": ["L5"], - "operations": ["L4"], - "architecture-patterns:architecture-patterns": ["L5"], - "deptrac": ["L5", "L14"], - "rector": ["L14"], - "php-insights": ["L14"], - "larastan": ["L14"], - "laravel-backend-patterns": ["L14"], - "security-review": ["L6"], - "openapi-mcp-server": ["L7"], - "api-docs": ["L7"], - "laravel-boost": ["L7", "L13"], - "superpowers:systematic-debugging": ["L8"], - "sentry-mcp": ["L8", "L13"], - "redis-mcp": ["L8", "L13"], - "ccpm": ["L9"], - "product-management:brainstorm": ["L9"], - "github-mcp": ["L9"], - "promptfoo": ["L10"], - "data-scientist": ["L10"], - "claude-api": ["L10"], - "skill-creator:skill-creator": ["L11"], - "hookify:hookify": ["L11"], - "plugin-dev:create-plugin": ["L11"], - "claude-md-management:claude-md-improver": ["L12"], - "claude-md-management:revise-claude-md": ["L12"], - "billing-audit": ["L13"], - "pest": ["L13"], - "ru-tax-accounting": ["L13"], - "security-go-live": ["L15"], - "pdn-152fz-audit": ["L15"], - "threat-model": ["L15"], - "nuclei": ["L15"], - "ward": ["L15"], - "owasp-zap": ["L15"], - "gitleaks": ["L15"], - "semgrep": ["L15"], - "trailofbits": ["L15"], - "marketing": ["L16"], - "marketing-ru": ["L16"], - "yandex-metrika-mcp": ["L16"], - "yandex-wordstat-mcp": ["L16"], - "telegram-mcp": ["L16"], - "postiz": ["L16"], - "perplexity-mcp": ["L17"], - "exa-mcp": ["L17"], - "firecrawl-mcp": ["L17"] + "discovery-interview": [ + "L1", + "L2" + ], + "superpowers:brainstorming": [ + "L1", + "L16", + "L17" + ], + "grilling": [ + "L1" + ], + "superpowers:writing-plans": [ + "L1" + ], + "superpowers:subagent-driven-development": [ + "L1" + ], + "audit-portal": [ + "L2" + ], + "process-analysis": [ + "L3" + ], + "process-modeling": [ + "L3", + "L4" + ], + "mermaid": [ + "L4" + ], + "adr-kit:adr": [ + "L4", + "L5" + ], + "adr-kit:judge": [ + "L5" + ], + "operations": [ + "L4" + ], + "architecture-patterns:architecture-patterns": [ + "L5" + ], + "deptrac": [ + "L5", + "L14" + ], + "rector": [ + "L14" + ], + "php-insights": [ + "L14" + ], + "larastan": [ + "L14" + ], + "laravel-backend-patterns": [ + "L14" + ], + "security-review": [ + "L6" + ], + "openapi-mcp-server": [ + "L7" + ], + "api-docs": [ + "L7" + ], + "laravel-boost": [ + "L7", + "L13" + ], + "superpowers:systematic-debugging": [ + "L8" + ], + "sentry-mcp": [ + "L8", + "L13" + ], + "redis-mcp": [ + "L8", + "L13" + ], + "ccpm": [ + "L9" + ], + "product-management:brainstorm": [ + "L9" + ], + "github-mcp": [ + "L9" + ], + "promptfoo": [ + "L10" + ], + "data-scientist": [ + "L10" + ], + "claude-api": [ + "L10" + ], + "skill-creator:skill-creator": [ + "L11" + ], + "hookify:hookify": [ + "L11" + ], + "plugin-dev:create-plugin": [ + "L11" + ], + "claude-md-management:claude-md-improver": [ + "L12" + ], + "claude-md-management:revise-claude-md": [ + "L12" + ], + "billing-audit": [ + "L13" + ], + "pest": [ + "L13" + ], + "ru-tax-accounting": [ + "L13" + ], + "security-go-live": [ + "L15" + ], + "pdn-152fz-audit": [ + "L15" + ], + "threat-model": [ + "L15" + ], + "nuclei": [ + "L15" + ], + "ward": [ + "L15" + ], + "owasp-zap": [ + "L15" + ], + "gitleaks": [ + "L15" + ], + "semgrep": [ + "L15" + ], + "trailofbits": [ + "L15" + ], + "marketing": [ + "L16" + ], + "marketing-ru": [ + "L16" + ], + "yandex-metrika-mcp": [ + "L16" + ], + "yandex-wordstat-mcp": [ + "L16" + ], + "telegram-mcp": [ + "L16" + ], + "postiz": [ + "L16" + ], + "perplexity-mcp": [ + "L17" + ], + "exa-mcp": [ + "L17" + ], + "firecrawl-mcp": [ + "L17" + ] }