feat(инструменты): #90 grilling — допрос по готовому решению + нормативная синхронизация
Зарегистрирован вендоренный скил 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) <noreply@anthropic.com>
This commit is contained in:
@@ -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`.
|
||||
|
||||
@@ -2447,3 +2447,13 @@ Qrator
|
||||
ОПФ
|
||||
опросится
|
||||
тенантные
|
||||
mattpocock
|
||||
апстрима
|
||||
задвоение
|
||||
[INFO] Recording command outcome: cd
|
||||
|
||||
[OK] Command outcome recorded
|
||||
задвоения
|
||||
[INFO] Recording command outcome: cd
|
||||
|
||||
[OK] Command outcome recorded
|
||||
|
||||
@@ -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 <command>`; артефакты `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: <channel>:<id>`). Содержательных изменений R0–R16: 0. Связано: Pravila v1.42, Tooling v2.23, CLAUDE.md v2.28.
|
||||
|
||||
@@ -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: <channel>:<id>` рядом с первым tool-вызовом или в начале текста. 6 каналов: `skill:` / `node:` / `chain:` / `hook:` / `agent:` / `direct:<exempt-класс>`. 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: <channel>:<id>` (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 <command>`; артефакты `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`.
|
||||
|
||||
+26
-5
File diff suppressed because one or more lines are too long
@@ -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`
|
||||
@@ -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": ["не осталось незаданных развилок, и это объявлено вслух", "заказчик подтвердил общее понимание до начала работы"]
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
@@ -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).
|
||||
|
||||
---
|
||||
|
||||
+180
-56
@@ -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"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user