Compare commits

..

7 Commits

Author SHA1 Message Date
Дмитрий b40f2c8ffb feat(map): discovery_interview node — discovery-tooling, E5 section
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 07:35:36 +03:00
Дмитрий 63337b418d docs(discovery): process-analysis — reciprocal SKIP boundary to discovery-interview
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 07:28:34 +03:00
Дмитрий 2ebc776cc9 docs(discovery): register discovery-tooling — Tooling/PSR/Pravila/CLAUDE.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 06:37:16 +03:00
Дмитрий a0691e8857 docs(discovery): ADR-009 — discovery-interview tooling decision
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 06:24:51 +03:00
Дмитрий 50fc188f01 feat(discovery): add docs/discovery — README + brief/snapshot templates
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 06:23:42 +03:00
Дмитрий 14f92d5147 feat(discovery): add discovery-interview skill — FEATURE + SYSTEM modes
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 06:22:08 +03:00
Дмитрий 802cda1b34 docs(discovery): brainstorming spec + integration plan
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 05:28:58 +03:00
16 changed files with 725 additions and 15 deletions
+142
View File
@@ -0,0 +1,142 @@
---
name: discovery-interview
description: Структурированное интервью-discovery ПЕРЕД проектированием. Два режима. FEATURE — заказчик описывает проблему, боль или цель без готового решения («менеджеры жалуются на…», «сделки теряются», «хочу чтобы…»): JTBD-интервью вскрывает проблему до решения и отдаёт discovery-brief в brainstorming. SYSTEM — запрос ориентации по проекту («сориентируй», «где мы сейчас», «что в тулчейне / на карте», «catch-up по…»): синтез по мета-слою (карта, CLAUDE.md, MEMORY, Открытые_вопросы, Tooling, git log). SKIP — чёткий директив на реализацию («интегрируй X», «закрой находку Y», «поправь Z»): это не discovery. SKIP — анализ бизнес-процесса из кода или диагностика просадки измеримой метрики/конверсии («как устроен процесс X», «process discovery», «где узкое место», «почему просела конверсия»): это skill process-analysis. Используй при «discovery interview», «проведи discovery», «сориентируй по проекту» и при расплывчатом проблемном запросе, даже если слово «discovery» не названо.
---
# Discovery Interview
Структурированное интервью, которое вскрывает **проблему** прежде, чем кто-либо
начнёт проектировать решение. Два режима — FEATURE (интервью заказчика перед
фичей) и SYSTEM (интервью-ориентация по состоянию проекта).
Зачем скил существует: запрос вида «менеджеры жалуются на X» или «хочу, чтобы Y» —
это симптом, не задача. Уйдёшь сразу в дизайн — спроектируешь решение не той
проблемы. Discovery interview удерживает разговор в проблемном поле ровно столько,
сколько нужно, чтобы понять *настоящую* потребность, и только потом передаёт
эстафету проектированию.
## Когда какой режим
| Запрос | Действие |
|---|---|
| Заказчик описал проблему / боль / цель без решения | режим **FEATURE** |
| Заказчик просит сориентировать по проекту | режим **SYSTEM** |
| Заказчик дал чёткий директив («сделай X», «интегрируй Y») | скил не нужен — работай напрямую |
| Вопрос про устройство бизнес-процесса из кода | скил `process-analysis`, не этот |
## Несущий принцип — три слоя-источника
Этот скил соседствует со скилом `process-analysis` (раздел C10 карты). Чтобы не
дублировать его, способности разведены по **слою данных**, с которым работают:
| Способность | Слой-источник | Метод |
|---|---|---|
| `process-analysis` | app-код — `routes/`, `app/Jobs`, `audit_*` | реконструкция бизнес-процесса из кода |
| discovery-interview **FEATURE** | голова заказчика | интервью человека |
| discovery-interview **SYSTEM** | мета-слой — карта, CLAUDE.md, MEMORY, Открытые_вопросы, Tooling, git log | интервью + синтез |
Правило разведения: если ответ добывается **чтением кода** — это `process-analysis`.
Если ответ лежит в голове заказчика или в управляющих документах — это
discovery-interview.
## Режим FEATURE
### Триггер
Заказчик описывает проблему, боль, раздражение или цель — но НЕ готовое решение.
Признаки: «менеджеры жалуются…», «X теряется», «неудобно делать Y», «хочу, чтобы…»,
«было бы хорошо, если…».
### SKIP
Не запускай FEATURE, если запрос — чёткий директив на реализацию: «интегрируй X»,
«закрой находку Y», «поправь Z», «добавь endpoint». Проблема уже понята заказчиком,
discovery только затормозит. Работай напрямую — или через `brainstorming`, если
дизайн решения нетривиален.
Не запускай FEATURE и если запрос — **диагностика просадки измеримой метрики или
конверсии** («почему падает конверсия B2», «где теряем в воронке», «почему лиды не
доходят до оплаты»). Ответ там добывается анализом кода и audit-данных — это скил
`process-analysis`. FEATURE — про UX-боль и желаемые возможности, не про диагностику
чисел.
### Процесс
1. **Один вопрос за раз.** Не вываливай список — это интервью, не анкета. Ответ на
первый вопрос определяет второй.
2. **Спрашивай про прошлое поведение, не про гипотетику.** «Расскажи, как ты делал
это в последний раз» сильнее, чем «как бы ты хотел». Люди плохо предсказывают
своё поведение и точно помнят прошлое.
3. **Копай до корня — «5 почему».** Первая названная проблема обычно симптом.
4. **Не задавай наводящих вопросов.** «Тебе мешает отсутствие фильтра?» подсказывает
ответ. Спроси открыто: «что именно замедляет тебя на этом экране?».
5. **Поняв проблему — собери discovery-brief и остановись.** Не проектируй решение —
это работа `brainstorming`.
Банк вопросов по шагам JTBD — `references/jtbd-questions.md`.
### Артефакт — discovery-brief
Проблема · JTBD (какую работу заказчик «нанимает» решение сделать) · Текущий обходной
путь · Цена боли (время / деньги / частота) · Сигнал успеха (как поймём, что закрыто)
· Ограничения. Шаблон — `docs/discovery/templates/discovery-brief.md`.
### Хэндофф
discovery-brief — это вход для `brainstorming`. Передай brief как готовую проблемную
секцию: `brainstorming` берёт её и переходит к решению — он **не перезадаёт** уже
выясненные вопросы. discovery-interview отвечает за «что за проблема», brainstorming —
за «что построим». Отдельным файлом FEATURE-brief не сохраняется — он вливается в
спеку brainstorming.
## Режим SYSTEM
### Триггер
Заказчик просит сориентировать его по состоянию проекта: «сориентируй», «где мы
сейчас», «что у нас по X», «что в тулчейне / на карте», «catch-up».
### SKIP
Не запускай SYSTEM, если вопрос про устройство **бизнес-процесса** («как устроен
процесс сделок», «process discovery», «где узкое место в воронке») — это скил
`process-analysis`, он читает код. SYSTEM отвечает на «где мы в проекте», не «как
работает процесс X».
### Процесс
1. **Короткое уточнение scope** — что именно ориентировать? Весь проект, конкретный
раздел, тулчейн, открытые вопросы? Без scope ответ будет рыхлым.
2. **Синтез по мета-слою:** карта `docs/automation-graph.html`, `CLAUDE.md`, MEMORY,
`docs/Открытые_вопросы_*.md`, `docs/Tooling_*.md`, `git log`.
3. **Запрет:** не читай `app/`-код для реконструкции процессов — это исключительный
метод `process-analysis`. SYSTEM работает только с мета-слоем.
4. **Выдай синтез**, а не пересказ документа целиком — ответ на запрос ориентации с
пинами на источники.
### Артефакт — system-snapshot
Если ориентация существенная — сохрани `docs/discovery/YYYY-MM-DD-<тема>.md` по
шаблону `docs/discovery/templates/system-snapshot.md`. Мелкий устный ответ файла не
требует.
## JTBD-дисциплина (общая для обоих режимов)
- **Один вопрос за раз** — интервью, не анкета.
- **Прошлое, не гипотетика** — «когда это случилось в последний раз?».
- **«5 почему»** — корень, не симптом.
- **Не наводи** — открытые вопросы, без подсказанного ответа.
- **Слушай, не защищай** — если заказчик критикует существующее, не оправдывай его,
копай дальше.
## Границы
- **`brainstorming`** — проектирование решения. discovery-interview вскрывает проблему
и передаёт brief; brainstorming проектирует. Не дублируй его вопросы.
- **`process-analysis`** (раздел C10) — анализ as-is бизнес-процесса из кода и
диагностика метрик/конверсии. Если ответ требует чтения `routes/` / `app/Jobs` /
`audit_*` или расчёта метрик процесса — это `process-analysis`, не этот скил.
- **`audit-portal`** — качественный вердикт о здоровье портала. SYSTEM даёт
ориентацию («где мы»), не вердикт («здорово ли»).
- **Интервью конечных пользователей Лидерры** — вне этого скила (defer post-Б-1; для
методологии user research — `design:user-research`).
@@ -0,0 +1,26 @@
{
"skill_name": "discovery-interview",
"note": "Триггер-eval: should_trigger=true → должен вызваться discovery-interview; false → должен сработать другой инструмент (expected_skill). Особое внимание — near-miss к process-analysis (C10).",
"evals": [
{ "id": 1, "should_trigger": true, "expected_skill": "discovery-interview/FEATURE", "prompt": "менеджеры жалуются что не видят, какие сделки сегодня надо обзвонить — каждое утро роются в фильтрах вручную" },
{ "id": 2, "should_trigger": false, "expected_skill": "process-analysis", "prompt": "у меня ощущение что лиды из B2 проседают по конверсии, но не пойму почему — хочу разобраться" },
{ "id": 3, "should_trigger": true, "expected_skill": "discovery-interview/FEATURE", "prompt": "хочу чтобы поставщики сами видели свой баланс, а то постоянно пишут в поддержку спрашивают" },
{ "id": 4, "should_trigger": true, "expected_skill": "discovery-interview/FEATURE", "prompt": "проведи discovery interview по идее напоминаний — я пока сам не уверен что именно нужно" },
{ "id": 5, "should_trigger": true, "expected_skill": "discovery-interview/FEATURE", "prompt": "не нравится как сейчас сделана выгрузка отчётов, неудобно, давай покопаем что не так" },
{ "id": 6, "should_trigger": true, "expected_skill": "discovery-interview/FEATURE", "prompt": "клиенты часто отваливаются на этапе оплаты, надо понять что там за проблема" },
{ "id": 7, "should_trigger": true, "expected_skill": "discovery-interview/SYSTEM", "prompt": "сориентируй меня — где мы сейчас по проекту, что закрыто что нет" },
{ "id": 8, "should_trigger": true, "expected_skill": "discovery-interview/SYSTEM", "prompt": "что у нас вообще в тулчейне по безопасности, я запутался" },
{ "id": 9, "should_trigger": true, "expected_skill": "discovery-interview/SYSTEM", "prompt": "вернулся после недели отсутствия, сделай catch-up что произошло по проекту" },
{ "id": 10, "should_trigger": true, "expected_skill": "discovery-interview/SYSTEM", "prompt": "что там на карте в разделе биллинга, какие узлы" },
{ "id": 11, "should_trigger": false, "expected_skill": "process-analysis", "prompt": "как устроен процесс обработки сделки от создания до закрытия — пройди по коду" },
{ "id": 12, "should_trigger": false, "expected_skill": "process-analysis", "prompt": "где узкое место в воронке лидов, какой шаг тормозит" },
{ "id": 13, "should_trigger": false, "expected_skill": "process-analysis", "prompt": "сделай process discovery по джобам импорта лидов" },
{ "id": 14, "should_trigger": false, "expected_skill": "process-analysis", "prompt": "посчитай метрики процесса: cycle time по статусам сделок" },
{ "id": 15, "should_trigger": false, "expected_skill": "directive (no skill)", "prompt": "интегрируй openapi-mcp-server в .mcp.json" },
{ "id": 16, "should_trigger": false, "expected_skill": "directive (no skill)", "prompt": "закрой находку аудита G7 по AdminBillingController" },
{ "id": 17, "should_trigger": false, "expected_skill": "systematic-debugging", "prompt": "поправь падающий тест RlsSmokeTest, он валится на teardown" },
{ "id": 18, "should_trigger": false, "expected_skill": "directive (no skill)", "prompt": "добавь endpoint POST /api/deals/{id}/archive" },
{ "id": 19, "should_trigger": false, "expected_skill": "write-spec / brainstorming", "prompt": "напиши спеку для фичи мультивалютного биллинга" },
{ "id": 20, "should_trigger": false, "expected_skill": "audit-portal", "prompt": "проведи полный аудит портала перед релизом" }
]
}
@@ -0,0 +1,45 @@
# Банк вопросов JTBD — режим FEATURE
Вопросы для discovery-интервью. Задавать **по одному**, адаптируя формулировку под
контекст. Все вопросы — про прошлое поведение, без подсказанного ответа.
## 1. Вскрыть проблему
- Расскажи, что произошло в последний раз, когда [ситуация]?
- Что именно тебя в этом раздражало или замедляло?
- Как часто это случается?
## 2. Текущий обходной путь
- Как ты решаешь это сейчас?
- Что делаешь, когда [проблема] происходит?
- Кто ещё это делает и как?
## 3. Цена боли
- Сколько времени это съедает за неделю?
- Что случается, если не сделать это вовремя?
- Были случаи, когда из-за этого что-то сорвалось?
## 4. JTBD — какую работу «нанимают» решение сделать
- Если бы это работало идеально — что бы ты перестал делать руками?
- Какого результата ты на самом деле добиваешься?
## 5. Сигнал успеха
- Как ты поймёшь, что проблема закрыта?
- Что должно стать видимо иначе?
## 6. Ограничения
- Что нельзя ломать или менять?
- Есть ли срок?
## Антипаттерны
- **Наводящий вопрос** («тебе мешает отсутствие X?») — подсказывает ответ; заказчик
согласится из вежливости.
- **Гипотетика** («как бы ты хотел?») — люди плохо предсказывают своё поведение.
- **Список вопросов разом** — это анкета, не интервью; теряется ветвление по ответам.
- **Принять первый ответ за корень** — копай «5 почему» до настоящей причины.
+6
View File
@@ -56,6 +56,12 @@ description: Анализ и оптимизация существующего
`analysis:bottleneck-detect` (PA1).
- **Продуктовые метрики** — плагин `product-management`.
- **Документ / change-request процесса** — плагин `operations`.
- **Интервью заказчика про будущую фичу / ориентация по проекту** — скил
`discovery-interview`. Тот вскрывает проблему до решения через интервью человека
(режим FEATURE) и синтезирует мета-слой проекта (режим SYSTEM); этот скил — про
вскрытие as-is процесса из app-кода. «process discovery», «как устроен процесс X»,
«где узкое место» — сюда; «проведи discovery interview», «сориентируй по проекту» —
в `discovery-interview`.
- **Генерик-методология оптимизации процесса** — скил `process-optimization`
плагина `operations`. Этот скил — про code-grounded discovery конкретного
процесса Лидерры (вскрытие as-is), не про общую методологию и не про
+12 -7
View File
File diff suppressed because one or more lines are too long
+13
View File
@@ -1407,3 +1407,16 @@ czlonkowski
# C10 normative sync vocabulary (2026-05-17)
линтуются
# discovery-interview integration — spec/plan/skill (2026-05-18)
JTBD
триггерится
фичу
фичей
гипотетика
гипотетику
гипотетики
хэндофф
тулчейне
пинами
evals
+5 -1
View File
@@ -1,8 +1,10 @@
# Plugin Stack Rules — Superpowers + Frontend Design (v3.11)
# Plugin Stack Rules — Superpowers + Frontend Design (v3.12)
**Дата:** 17.05.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).
**v3.12** — discovery-interview: R10.1 Блок 1 +note (v3.12) — **discovery-interview** (Tooling #55, self-authored project-скил `.claude/skills/discovery-interview/`, как process-modeling/process-analysis; режимы FEATURE + SYSTEM). Новая 12-я off-phase подкатегория **discovery-tooling** (§4.30) — не UI → вне R6.0/R6.1/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.13, Pravila v1.26, CLAUDE.md v2.13; план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`.
**v3.11** — C10 business-process: R10.1 Блок 1 +1 строка **operations** (`operations@knowledge-work-plugins` v1.2.0, Anthropic Verified, 9 скилов, marketplace-плагин) + Блок 1 note (v3.11) — **process-modeling** + **process-analysis** (self-authored project-скилы `.claude/skills/`) + Блок 3 +1 строка **n8n-mcp** (DEFERRED — workflow-движок n8n, у портала нет n8n). Новая 11-я off-phase подкатегория **business-process** (Tooling #51-54, раздел C10 карты) — не UI → вне R6.0/R6.1/R14, как architecture-tooling/audit-security/ml-ai-tooling. Содержательных изменений R0–R14: 0. Связано: Tooling v2.12, Pravila v1.25, CLAUDE.md v2.12; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`.
**v3.10** — A11 ml-ai-tooling: R10.1 Блок 3 +1 строка **Jupyter MCP** (DEFERRED — требует Python ML-окружения; ml-ai-tooling, off-phase, раздел A11 карты) + Блок 1 note (v3.10) — **promptfoo** (npm devDependency `promptfoo`, CLI-eval LLM-промптов) + **Data Scientist skill** (вендоренный сторонний скил `.claude/skills/data-scientist/`). Десятая off-phase подкатегория ml-ai-tooling. Не UI → вне R6/R14. Содержательных изменений R0–R14: 0. Связано: Tooling v2.10, Pravila v1.24, CLAUDE.md v2.10; план `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`.
@@ -427,6 +429,8 @@ Stack — **головной**. Все плагины вне stack'а — **ин
**Блок 1 — note (v3.11):** **process-modeling** (Tooling #52) + **process-analysis** (Tooling #53) — self-authored project-скилы в `.claude/skills/process-modeling/` и `.claude/skills/process-analysis/`, **не** вендоренные сторонние и **не** через marketplace; написаны проектом (паттерн project-скилов `audit-portal`/`regression`). В отличие от вендоренных mermaid-skill/CCPM/Data Scientist — **линтуются** lefthook'ом (cspell+markdownlint), **не** в `cspell.json` `ignorePaths` / `.markdownlintignore` (конфликт-аудит LINT1). Категория **business-process** (раздел C10 карты), вне R6.0/R6.1/R14.
**Блок 1 — note (v3.12):** **discovery-interview** (Tooling #55) — self-authored project-скил в `.claude/skills/discovery-interview/`, **не** вендоренный сторонний и **не** через marketplace; написан проектом (паттерн project-скилов `audit-portal`/`regression`/`process-modeling`/`process-analysis`). **Линтуется** lefthook'ом (cspell+markdownlint), **не** в `cspell.json` `ignorePaths` / `.markdownlintignore` (LINT1). Категория **discovery-tooling** (12-я off-phase подкатегория), вне R6.0/R6.1/R14.
**Отмена:** через удаление из `enabledPlugins` в `~/.claude/settings.json` или через live-override `/имя-плагина` (R0.4.B) на одно действие.
#### Блок 2: Built-in skills Claude Code (всегда доступны через `Skill` tool по `/имя`)
+7 -2
View File
@@ -1,10 +1,12 @@
# Правила работы Claude в проекте «Лидерра»
**Версия:** v1.25 (17.05.2026)
**Дата:** 17.05.2026
**Версия:** v1.26 (18.05.2026)
**Дата:** 18.05.2026
**Назначение:** настройки проекта (Project instructions) — Claude читает этот файл в каждом чате и следует правилам ниже.
**Статус документа:** ✅ утверждён. Содержимое скопировано в поле "Project instructions" Claude.ai. Файл хранится в архиве как служебный документ.
**Что изменилось в v1.26 относительно v1.25:** §13.2 +абзац «Off-phase discovery-tooling» — формализован скил `discovery-interview` (Tooling #55; self-authored project-скил `.claude/skills/discovery-interview/`, режимы FEATURE+SYSTEM) как двенадцатая off-phase подкатегория; как проектный скил регистрируется в §13.2, не §12.2. Границы — ADR-009 (DI1–DI6, разрез по слою-источнику с process-analysis #53). Связано: Tooling v2.13 / PSR_v1 v3.12 / CLAUDE.md v2.13. План `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`.
**Что изменилось в v1.25 относительно v1.24:** §13.2 +абзац «Off-phase business-process» — формализованы инструменты раздела C10 карты «Бизнес-процессы (общее)» (#51 operations — marketplace-плагин 9 скилов; #52 process-modeling, #53 process-analysis — self-authored project-скилы; #54 n8n-mcp — DEFERRED, у портала нет n8n) как одиннадцатая off-phase подкатегория. Границы — ADR-008. Связано: Tooling v2.12 / PSR_v1 v3.11 / CLAUDE.md v2.12. План `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`.
**Что изменилось в v1.24 относительно v1.23:** §13.2 +абзац «Off-phase ml-ai-tooling» — формализованы инструменты раздела A11 карты «ML / AI-разработка» (#48 promptfoo, #49 Data Scientist skill, #50 Jupyter MCP DEFERRED) как десятая off-phase подкатегория; promptfoo делает платные LLM-вызовы — только вручную/CI, никогда в хук (ML1). Границы — ADR-007. Связано: Tooling v2.10 / PSR_v1 v3.10 / CLAUDE.md v2.10. План `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`.
@@ -582,6 +584,7 @@ P0 = блокер старта спринта или регуляторного
| **v1.23** | **17.05.2026** | A3 integration-tooling: §13.2 +абзац «Off-phase integration-tooling» — формализованы инструменты раздела A3 карты «Программирование — интеграции (API, вебхуки)» (#47 `openapi-mcp-server`, Tooling §4.22; `api-docs` agent, claude-flow, без Tooling-номера) как девятая off-phase подкатегория, отдельная от всех предыдущих; не UI → вне R6.0/R6.1/R14. READ-ONLY introspection. Регулируются PSR_v1 R10.1 Блок 3. Связано: Tooling v2.9 / PSR_v1 v3.9 / CLAUDE.md v2.9. План `docs/superpowers/plans/2026-05-17-a3-integration-tooling-integration.md`. Архитектурных изменений в §§1–12 + §§13.1, 13.314: 0. |
| **v1.24** | **17.05.2026** | A11 ml-ai-tooling: §13.2 +абзац «Off-phase ml-ai-tooling» — формализованы инструменты раздела A11 карты «ML / AI-разработка» (#48 promptfoo — npm devDependency, CLI-eval LLM-промптов; #49 Data Scientist skill — вендоренный сторонний скил; #50 Jupyter MCP — DEFERRED, требует Python ML-окружения) как десятая off-phase подкатегория, отдельная от всех предыдущих; не UI → вне R6.0/R6.1/R14. promptfoo делает платные LLM-вызовы — только вручную/CI, никогда в хук (ML1). Границы — ADR-007. Связано: Tooling v2.10 / PSR_v1 v3.10 / CLAUDE.md v2.10. Через manual Edit всех 4 нормативных файлов (claude-md-management неприменим — исполнение в worktree, §5 п.10 worktree-constraint эксцепшн). План `docs/superpowers/plans/2026-05-17-a11-ml-ai-tooling-integration.md`. Архитектурных изменений в §§1–12 + §§13.1, 13.314: 0. |
| **v1.25** | **17.05.2026** | C10 business-process: §13.2 +абзац «Off-phase business-process» — формализованы инструменты раздела C10 карты «Бизнес-процессы (общее)» (#51 operations — marketplace-плагин 9 скилов; #52 process-modeling — self-authored BPMN-скил; #53 process-analysis — self-authored discovery-скил; #54 n8n-mcp — DEFERRED, workflow-движок, у портала нет n8n) как одиннадцатая off-phase подкатегория, отдельная от всех предыдущих; не UI → вне R6.0/R6.1/R14. Границы — ADR-008. Связано: Tooling v2.12 / PSR_v1 v3.11 / CLAUDE.md v2.12. Через manual Edit всех 4 нормативных файлов (claude-md-management неприменим — исполнение в worktree, §5 п.10 worktree-constraint эксцепшн — как v1.24). План `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`. Архитектурных изменений в §§1–12 + §§13.1, 13.314: 0. |
| **v1.26** | **18.05.2026** | discovery-interview: §13.2 +абзац «Off-phase discovery-tooling» — формализован скил `discovery-interview` (Tooling #55, §4.30; self-authored project-скил `.claude/skills/discovery-interview/`, режимы FEATURE+SYSTEM — интервью-discovery до проектирования) как двенадцатая off-phase подкатегория, отдельная от всех предыдущих; не UI → вне R6.0/R6.1/R14. Как проектный скил регистрируется в §13.2, **не** в §12.2 (карта Superpowers-скилов); триггер-eval 20/20. Границы — ADR-009 (DI1DI6). Связано: Tooling v2.13 / PSR_v1 v3.12 / CLAUDE.md v2.13. Через manual Edit всех 4 нормативных файлов (claude-md-management неприменим — исполнение в worktree, §5 п.10 worktree-constraint эксцепшн — как v1.24/v1.25). План `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`. Архитектурных изменений в §§1–12 + §§13.1, 13.314: 0. |
---
@@ -730,6 +733,8 @@ Frontend Design и `obra/superpowers` (v5.1.0, 14 skills) — **парный sta
**Off-phase business-process (C10, v1.25, 17.05.2026):** Инструменты раздела C10 карты «Бизнес-процессы (общее)» — #51 `operations` (Tooling §4.26; marketplace-плагин `operations@knowledge-work-plugins` v1.2.0, Anthropic Verified, 9 скилов — документирование/оптимизация/change-management/capacity бизнес-процессов; 0 lifecycle-хуков), #52 `process-modeling` (Tooling §4.27; self-authored project-скил `.claude/skills/process-modeling/` — BPMN 2.0 моделирование to-be, рендер делегируется скилу `mermaid`), #53 `process-analysis` (Tooling §4.28; self-authored project-скил `.claude/skills/process-analysis/` — as-is discovery из кода Laravel, узкие места, трассировка, метрики), #54 `n8n-mcp` (Tooling §4.29; **DEFERRED** — workflow-движок платформы n8n; стек Лидерры не содержит n8n: движок процессов = очередь Laravel + события/джобы; принятие n8n = отдельное архитектурное решение; зарегистрирован как pending-слот, как Figma MCP #44 / Jupyter MCP #50). Плюс 5 reuse-кросс-ссылок (mermaid #37, architecture-patterns #38, CCPM #41, product-management #42, superpowers writing-plans) — surface в C10 через `NODE_SECTION_SECONDARY`, без новых номеров. **Одиннадцатая** off-phase подкатегория. Off-phase, не UI → вне R6.0/R6.1/R14 PSR_v1. self-authored скилы process-modeling/process-analysis **линтуются** (cspell+markdownlint), **не** в ignorePaths — в отличие от вендоренных mermaid-skill/CCPM/Data Scientist (конфликт-аудит LINT1). Границы — ADR-008. Регулируются PSR_v1 R10.1 (Блок 1 — operations + note self-authored скилы; Блок 3 — n8n-mcp). Установлены 17.05.2026 на ветке `worktree-c10-business-process-tooling`; план `docs/superpowers/plans/2026-05-17-c10-business-process-tooling-integration.md`.
**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`.
### 13.3. Скоуп
| Тип задачи | Кто отвечает |
+20 -4
View File
File diff suppressed because one or more lines are too long
@@ -0,0 +1,59 @@
# ADR-009: Discovery-interview tooling
- **Status:** Accepted
- **Date:** 2026-05-18
- **Deciders:** Дмитрий
## Context
Запрос вида «менеджеры жалуются на X» или «хочу, чтобы Y» — симптом, не задача.
`brainstorming` уходит в проектирование решения, не удерживая разговор в проблемном
поле; для расплывчатых проблемных запросов нет слоя, который вскрывает проблему до
решения (JTBD / customer discovery). Аналогично у заказчика нет способа получить
синтезированную ориентацию по состоянию проекта — CLAUDE.md и MEMORY грузятся
пассивно, `audit-portal` даёт качественный вердикт, не ориентацию.
Параллельно 17.05.2026 раздел C10 карты ввёл скил `process-analysis`, чей режим 1 —
«process discovery» (реконструкция as-is бизнес-процесса из кода). Это создаёт риск
дубля (§5 п.6 CLAUDE.md) и коллизии триггеров по слову «discovery».
## Decision
Вводится проектный vendored-скил `discovery-interview` (`.claude/skills/`), два
режима:
- **FEATURE** — интервью заказчика перед фичей: JTBD вскрывает проблему, отдаёт
discovery-brief в `brainstorming`.
- **SYSTEM** — интервью-ориентация по состоянию проекта: синтез по мета-слою (карта,
CLAUDE.md, MEMORY, Открытые_вопросы, Tooling, git log).
Режим «интервью конечных пользователей» — **defer** post-Б-1 (нет живых
пользователей; дублировал бы `design:user-research`).
Дубль с `process-analysis` исключён **разрезом по слою-источнику**: `process-analysis`
работает с app-кодом (`routes/`, `app/Jobs`, `audit_*`); discovery-interview — с
головой заказчика (FEATURE) и мета-слоем управления (SYSTEM). Триггер-коллизия по
слову «discovery» снята лексическим разведением описаний + взаимными SKIP-блоками;
проверено триггер-eval'ом 20/20 (`.claude/skills/discovery-interview/evals/`) —
переименование скила (fallback) не понадобилось.
discovery-interview — *проектный* скил (как `audit-portal`, `regression`), не
Superpowers-скил → регистрируется в Pravila §13.2; §12.2 (карта Superpowers-скилов)
не трогается. Категория — новая 12-я off-phase подкатегория `discovery-tooling`,
вне UI-пула PSR_v1; реестр Tooling — #55.
## Consequences
- Положительно: расплывчатый проблемный запрос получает дисциплину discovery до
проектирования; заказчик получает синтез-ориентацию on-demand; дубля с C10
`process-analysis` нет (разрез по слою), коллизия триггеров снята (eval 20/20).
- Риск: скил self-authored — принадлежит проекту, без upstream-зависимости (это
смягчение, не риск).
- Defer: режим «интервью конечных пользователей» — до появления живых пользователей
(блокер Б-1).
## Enforcement
None — discovery-interview advisory; корректность срабатывания проверяется
триггер-eval'ом (`evals/evals.json`) и code review. Границы с `process-analysis`,
`brainstorming` и `audit-portal` зафиксированы в SKILL.md секции «Границы».
+24 -1
View File
@@ -290,6 +290,8 @@ const NODES = [
{ id: 'ops_plugin', label: 'operations\n(plugin)', group: 'plugins', size: 20, ring: 2, ...pos(2, 385) },
{ id: 'process_modeling', label: 'process-modeling\n(skill)', group: 'skills_proj', size: 18, ring: 3, ...pos(3, 367) },
{ id: 'process_analysis', label: 'process-analysis\n(skill)', group: 'skills_proj', size: 18, ring: 3, ...pos(3, 377) },
// discovery-tooling (18.05.2026) — self-authored скил интервью-discovery
{ id: 'discovery_interview', label: 'discovery-interview\n(skill)', group: 'skills_proj', size: 18, ring: 3, ...pos(3, 387) },
// ── ХУКИ (12) — S+infra + E (economy/skill) ───
{ id: 'hk_session', label: 'SessionStart:\ncontext-inject', group: 'hooks', size: 24, ring: 4, ...pos(4, 100) },
@@ -560,6 +562,12 @@ const EDGES = [
E('tooling', 'process_modeling', '§4.27 #52 — реестр'),
E('tooling', 'process_analysis', '§4.28 #53 — реестр'),
// ── DISCOVERY-TOOLING 18.05.2026 — связи узла discovery-interview ──
E('tooling', 'discovery_interview', '§4.30 #55 — реестр'),
E('psr_v1', 'discovery_interview', 'R10.1 блок 1 note:\ndiscovery-tooling'),
E('discovery_interview', 'sk_brainstorm', 'хэндофф:\nFEATURE-brief'),
E('discovery_interview', 'process_analysis', 'граница: слой-источник\n(ADR-009 DI2)'),
// ══════════════════════════════════════════════════
// КОНФЛИКТЫ — 3-color classification (iter2 §4)
// 🔴 не закрыт правилом / ⚫ возник на практике / 🟢 закрыт правилом
@@ -921,6 +929,16 @@ const NODE_DETAILS = {
[{ name: 'process-modeling', cond: 'as-is ↔ to-be пара' }]
),
// ── DISCOVERY-TOOLING (18.05.2026) ────────────
discovery_interview: nd(
'Self-authored скил: структурированное интервью-discovery до проектирования — FEATURE (JTBD-интервью заказчика) + SYSTEM (ориентация по мета-слою проекта).',
'При расплывчатом проблемном запросе — провести JTBD-интервью, отдать discovery-brief в brainstorming; при «сориентируй по проекту» — синтез по карте/CLAUDE.md/MEMORY/Открытые_вопросы/Tooling.',
'Свой project-скил в .claude/skills/discovery-interview/ (не вендоренный → линтуется, LINT1). Не UI → вне фильтров R6.0/R6.1/R14. Триггер-eval 20/20. Tooling §4.30 #55, CLAUDE.md §3.3 #55, ADR-009.',
[{ name: 'PSR_v1', cond: 'R10.1 блок 1 note: discovery-tooling' }, { name: 'Tooling', cond: '§4.30 #55 — реестр' }],
[{ name: 'DI2', cond: 'разрез по слою-источнику с process-analysis (ADR-009)' }],
[{ name: 'process-analysis', cond: 'граница: app-код ↔ голова заказчика/мета-слой' }, { name: 'brainstorming', cond: 'хэндофф FEATURE-brief' }]
),
// ── СКИЛЫ SUPERPOWERS ────────────────────────────
sk_brainstorm: nd(
'Продумывает задачу вместе с заказчиком, формулирует варианты A/B/C и согласует дизайн до написания кода.',
@@ -2028,6 +2046,9 @@ const NODE_META = {
ops_plugin: { since: '17.05.2026', changed: '—', uses: null, usesSrc: 'плагин' },
process_modeling: { since: '17.05.2026', changed: '—', uses: null, usesSrc: 'скил' },
process_analysis: { since: '17.05.2026', changed: '—', uses: null, usesSrc: 'скил' },
// ── DISCOVERY-TOOLING (18.05.2026) ──
discovery_interview: { since: '18.05.2026', changed: '—', uses: null, usesSrc: 'скил' },
};
// Явные парные дубли (Фича 3) — попадают в кнопку «⧉ Дубли».
@@ -2110,7 +2131,7 @@ const SECTIONS = [
{ id: 'E7', bucket: 'E', label: 'Исследования' },
{ id: 'E8', bucket: 'E', label: 'Самообучение Claude' },
];
// Узел -> раздел. Покрывает все 124 узлов карты.
// Узел -> раздел. Покрывает все 125 узлов карты.
const NODE_SECTION = {
// правила (4)
pravila: 'E1', claude_md: 'E1', psr_v1: 'E1', tooling: 'E1',
@@ -2166,6 +2187,8 @@ const NODE_SECTION = {
claude_api: 'A11', promptfoo: 'A11', data_scientist: 'A11',
// C10 business-process 17.05.2026 — раздел «Бизнес-процессы (общее)» наполнен
ops_plugin: 'C10', process_modeling: 'C10', process_analysis: 'C10',
// discovery-interview 18.05.2026 — раздел E5 «Стратегия и принятие решений» (рядом с brainstorming)
discovery_interview: 'E5',
};
// Вторичная классификация: узел первично в NODE_SECTION, дополнительно — в этих
// разделах (кросс-реф). Введено A3-интеграцией 17.05.2026 — раздел A3 наполняется
+21
View File
@@ -0,0 +1,21 @@
# docs/discovery — артефакты discovery interview
Home раздела `discovery-tooling` карты. Каталог хранит артефакты скила
`discovery-interview` (`.claude/skills/discovery-interview/`).
## Что здесь лежит
- **SYSTEM-snapshot'ы**`YYYY-MM-DD-<тема>.md`, результаты режима SYSTEM
(синтез-ориентация по состоянию проекта). Шаблон — `templates/system-snapshot.md`.
## Чего здесь НЕ лежит
- **FEATURE-brief** (режим FEATURE) отдельным файлом не сохраняется — он вливается
проблемной секцией в спеку `brainstorming` (`docs/superpowers/specs/`). Шаблон
`templates/discovery-brief.md` задаёт структуру этой секции.
## Связано
- Скил — `../../.claude/skills/discovery-interview/SKILL.md`
- Дизайн — `../superpowers/specs/2026-05-18-discovery-interview-design.md`
- ADR — `../adr/ADR-009-discovery-interview-tooling.md`
@@ -0,0 +1,30 @@
# Discovery-brief — шаблон (режим FEATURE)
Структура проблемной секции, которую `discovery-interview` FEATURE отдаёт в
`brainstorming`. Заполняется по итогам интервью. Отдельным файлом не коммитится —
вливается в спеку brainstorming как готовая проблемная секция.
## Проблема
<Что именно болит — одно-два предложения, формулировкой заказчика.>
## JTBD
<Какую работу заказчик «нанимает» решение сделать. Формат: «Когда <ситуация>, я хочу
<мотив>, чтобы <результат>».>
## Текущий обходной путь
<Как заказчик решает это сейчас — вручную или другим инструментом.>
## Цена боли
<Время / деньги / частота. Сколько стоит НЕ решать проблему.>
## Сигнал успеха
<Как поймём, что проблема закрыта — наблюдаемый признак.>
## Ограничения
<Что нельзя ломать или менять; сроки; технические и процессные рамки.>
@@ -0,0 +1,26 @@
# System-snapshot — шаблон (режим SYSTEM)
Результат режима SYSTEM скила `discovery-interview` — синтез-ориентация по состоянию
проекта. Сохраняется как `docs/discovery/YYYY-MM-DD-<тема>.md`.
## Запрос ориентации
<Что просили сориентировать. Scope: весь проект / конкретный раздел / тулчейн /
открытые вопросы.>
## Состояние
<Синтез: где проект сейчас по запрошенному срезу.>
## Что открыто
<Незакрытые вопросы, блокеры, недоделанное в рамках scope.>
## Источники
<Пины на мета-слой: карта, CLAUDE.md, MEMORY, Открытые_вопросы, Tooling, git log —
конкретные файлы, секции, коммиты.>
## Следующий шаг
<Что логично сделать дальше, если применимо.>
@@ -0,0 +1,156 @@
# Discovery Interview Skill — Integration Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** Интегрировать проектный vendored-скил `discovery-interview` (режимы FEATURE + SYSTEM) в «мозг» Лидерры с полной «Тяжёлой» церемонией.
**Architecture:** Vendored-скил в `.claude/skills/`, триггерится по `description`. Два режима разведены с C10-скилом `process-analysis` по слою-источнику (app-код / голова заказчика / мета-слой). Полная нормативная регистрация: Tooling #55, PSR_v1 R10.1, Pravila §13.2, CLAUDE.md, ADR-009, узел automation-graph.
**Tech Stack:** Markdown skill-файлы, `skill-creator` (авторинг + eval триггера), проектная нормативка, vis.js automation-graph.
**Спека:** `docs/superpowers/specs/2026-05-18-discovery-interview-design.md`. Все границы DI1–DI6 — §5 спеки.
---
## File Structure
**Create:**
- `.claude/skills/discovery-interview/SKILL.md` — скил, 2 режима, триггер-описание.
- `.claude/skills/discovery-interview/references/jtbd-questions.md` — банк JTBD-вопросов.
- `docs/discovery/README.md` — назначение каталога.
- `docs/discovery/templates/discovery-brief.md` — шаблон FEATURE-артефакта.
- `docs/discovery/templates/system-snapshot.md` — шаблон SYSTEM-артефакта.
- `docs/adr/ADR-009-discovery-interview-tooling.md` — ADR (формат Nygard, 7 секций).
**Modify:**
- `docs/Tooling_v8_3.md` — §4.30 (#55) + §0 счётчики + шапка v2.13.
- `docs/Plugin_stack_rules_v1.md` — R10.1 строка + версия v3.12.
- `docs/Pravila_raboty_Claude_v1_1.md` — §13.2 абзац + версия v1.26.
- `CLAUDE.md` — §3 title-counter, §1 row 2b, §3.3 строка, §6 абзац, §9 запись, §0 cross-refs, шапка v2.13.
- `docs/CHANGELOG_claude_md.md` — запись v2.13.
- `.claude/skills/process-analysis/SKILL.md` — +1 строка взаимного SKIP в «Границы».
- `docs/automation-graph.html` — узел `discovery_interview` + рёбра.
- `cspell-words.txt` — новые термины при необходимости.
---
## Task 1 — Skill `discovery-interview` (SKILL.md + references) + eval
**Files:**
- Create: `.claude/skills/discovery-interview/SKILL.md`
- Create: `.claude/skills/discovery-interview/references/jtbd-questions.md`
- [ ] **Step 1: SKILL.md frontmatter**`name: discovery-interview` + `description` (зафиксировано, изменять только по результату eval):
```
Структурированное интервью-discovery ПЕРЕД проектированием. Два режима. FEATURE — заказчик описывает проблему/боль/цель без готового решения («менеджеры жалуются на…», «сделки теряются», «хочу чтобы…»): JTBD-интервью вскрывает проблему до решения, отдаёт discovery-brief в brainstorming. SYSTEM — запрос ориентации по проекту («сориентируй», «где мы сейчас», «что в тулчейне/карте», «catch-up по…»): синтез по мета-слою (карта, CLAUDE.md, MEMORY, Открытые_вопросы, Tooling, git log). SKIP — чёткий директив на реализацию («интегрируй X», «закрой находку Y», «поправь Z»): это не discovery. SKIP — анализ бизнес-процесса из кода («как устроен процесс X», «process discovery», «где узкое место»): это skill process-analysis. Триггеры — «discovery interview», «проведи discovery», «сориентируй по проекту», расплывчатый проблемный запрос.
```
- [ ] **Step 2: SKILL.md тело** — секции: «Несущий принцип — 3 слоя-источника» (таблица из §2.1 спеки); «Режим FEATURE» (триггер/SKIP/JTBD-процесс/discovery-brief/хэндофф в brainstorming); «Режим SYSTEM» (триггер/SKIP/scope-интервью/синтез/запрет читать `app/`-код/system-snapshot); «JTBD-дисциплина» (прошлое поведение, один вопрос, 5×почему, не наводящие); «Границы» (DI1–DI4 + взаимный SKIP с `process-analysis`).
- [ ] **Step 3: references/jtbd-questions.md** — банк вопросов: проблема, текущий обходной путь, цена боли (время/деньги/частота), сигнал успеха, ограничения; формулировки в прошедшем времени.
- [ ] **Step 4 (eval — тест триггера):** через `skill-creator` собрать кейс-сет «должен сработать / не должен» (вкл. спорные: «сделай discovery» → должен; «как устроен процесс сделок» → НЕ должен, process-analysis; «интегрируй openapi-mcp» → НЕ должен, директив; «сориентируй по карте» → должен SYSTEM). Прогнать eval, замерить точность.
- [ ] **Step 5:** при промахах — итерировать `description` (Step 1) и повторить eval, пока точность чистая. Если коллизия с `process-analysis` не уходит — fallback: переименовать скил (имя без «discovery»), зафиксировать в ADR-009.
- [ ] **Step 6: Commit**`git add .claude/skills/discovery-interview/``feat(discovery): add discovery-interview skill — FEATURE + SYSTEM modes`.
---
## Task 2 — `docs/discovery/` каталог + шаблоны
**Files:**
- Create: `docs/discovery/README.md`
- Create: `docs/discovery/templates/discovery-brief.md`
- Create: `docs/discovery/templates/system-snapshot.md`
- [ ] **Step 1: README.md** — назначение каталога: home SYSTEM-snapshot'ов (`YYYY-MM-DD-*.md`); FEATURE-brief здесь не хранится — он вливается секцией в спеку brainstorming. Ссылка на скил и спеку.
- [ ] **Step 2: templates/discovery-brief.md** — разделы: Проблема · JTBD · Текущий обходной путь · Цена боли · Сигнал успеха · Ограничения.
- [ ] **Step 3: templates/system-snapshot.md** — разделы: Запрос ориентации (scope) · Состояние · Что открыто · Источники (пины) · Следующий шаг.
- [ ] **Step 4: Commit**`git add docs/discovery/``feat(discovery): add docs/discovery — README + brief/snapshot templates`.
---
## Task 3 — ADR-009
**Files:**
- Create: `docs/adr/ADR-009-discovery-interview-tooling.md`
- [ ] **Step 1:** Написать ADR в формате существующих (см. `ADR-008-business-process-tooling.md` как образец): Status `Accepted` / Date 2026-05-18 / Deciders Дмитрий; Context (зачем discovery-interview, коллизия с C10 `process-analysis`); Decision (2 режима, 3-слойный разрез, `discovery-tooling` категория, §12.2 — не трогается, режим «пользователи» defer); Consequences; Enforcement (None — advisory, проверяется eval'ом и code review).
- [ ] **Step 2: Commit**`git add docs/adr/ADR-009-discovery-interview-tooling.md``docs(discovery): ADR-009 — discovery-interview tooling decision`.
---
## Task 4 — Нормативная регистрация (Tooling + PSR_v1 + Pravila + CLAUDE.md)
Один логический change → один коммит (паттерн C10 `1a49d7b`).
**Files:**
- Modify: `docs/Tooling_v8_3.md` — новый `### 4.30. discovery-interview` (#55, off-phase, discovery-tooling) по образцу §4.28; §0 счётчик 54→55 (74→75), off-phase row +24→+25, итоговая строка; шапка → v2.13 + запись; футер-строка Прил. Н.
- Modify: `docs/Plugin_stack_rules_v1.md` — R10.1 (блок проектных скилов) +строка `discovery-interview`; версия → v3.12 + запись.
- Modify: `docs/Pravila_raboty_Claude_v1_1.md` — §13.2 +абзац «Off-phase discovery-tooling» (как проектный скил, не §12.2); версия → v1.26 + запись.
- Modify: `CLAUDE.md` — §3 title-counter 54→55; §1 priority-chain row 2b counter; §3.3 +строка #55 + footer-счётчик; §6 +абзац discovery-interview; §9 +запись v2.13; §0 cross-refs Tooling v2.13 / PSR_v1 v3.12 / Pravila v1.26; шапка → v2.13. Прямой Edit — worktree-constraint эксцепшн §5 п.10.
- Modify: `docs/CHANGELOG_claude_md.md` — запись v2.13.
- [ ] **Step 1:** re-Read `docs/Pravila_raboty_Claude_v1_1.md` §13.2 (актуальная версия в worktree — v1.25 после C10) перед правкой.
- [ ] **Step 2:** Tooling §4.30 + §0 счётчики + шапка.
- [ ] **Step 3:** PSR_v1 R10.1 + версия.
- [ ] **Step 4:** Pravila §13.2 + версия.
- [ ] **Step 5:** CLAUDE.md 6 точек + шапка; CHANGELOG запись.
- [ ] **Step 6: Verify** — счётчики сходятся во всех 4 файлах (55 формализованных / 75 total / off-phase +25 / 12 off-phase подкатегорий); cross-refs версий взаимно согласованы.
- [ ] **Step 7: Commit**`git add docs/Tooling_v8_3.md docs/Plugin_stack_rules_v1.md docs/Pravila_raboty_Claude_v1_1.md CLAUDE.md docs/CHANGELOG_claude_md.md``docs(discovery): register discovery-tooling — Tooling/PSR/Pravila/CLAUDE.md`.
---
## Task 5 — Граница в `process-analysis` (взаимный SKIP)
**Files:**
- Modify: `.claude/skills/process-analysis/SKILL.md` — секция «Границы», +1 строка.
- [ ] **Step 1:** В «Границы» добавить строку: `**Интервью заказчика про будущую фичу / ориентация по проекту** — скил discovery-interview (вскрытие проблемы до решения; этот скил — про вскрытие as-is процесса из кода).`
- [ ] **Step 2: Commit**`git add .claude/skills/process-analysis/SKILL.md``docs(discovery): process-analysis — reciprocal SKIP boundary to discovery-interview`.
---
## Task 6 — Узел карты `automation-graph.html`
**Files:**
- Modify: `docs/automation-graph.html`
- [ ] **Step 1:** Добавить узел `discovery_interview` в раздел off-phase / discovery-tooling (по образцу узлов C10 из коммита `afcff10`); Паспорт узла (дата внедрения 18.05.2026, использований 0).
- [ ] **Step 2:** Рёбра: `discovery_interview → brainstorming` (хэндофф), `discovery_interview → process_analysis` (ребро-граница), рёбра к governing-правилам (CLAUDE.md / Pravila §13.2).
- [ ] **Step 3: Smoke** — открыть карту через Playwright MCP, проверить 0 JS-ошибок, узел отрисован, нет перекрытий; обновить метрики узлов/рёбер в легенде.
- [ ] **Step 4: Commit**`git add docs/automation-graph.html``feat(map): discovery_interview node — discovery-tooling section`.
---
## Task 7 — Регрессия, push, memory
- [ ] **Step 1:** `/regression quick` (lint/format/type-check) — трогаем markdown/skill/html, код не меняем. Ожидание: GREEN. Failure'ы — выписать с file:line.
- [ ] **Step 2:** invoke `superpowers:verification-before-completion` перед claim «готово».
- [ ] **Step 3:** pre-push — `gitleaks` full-history + `lychee` вручную в worktree (квирк 97 — lefthook не в PATH).
- [ ] **Step 4:** Push — `git push origin worktree-discovery-interview:main`.
- [ ] **Step 5: Memory** — topic-файл `project_discovery_interview.md` + строка в `MEMORY.md` (≤200 символов, следить за лимитом 24.4 КБ).
---
## Порядок и зависимости
Task 1 → 2 → 3 → 4 → 5 → 6 → 7. Task 1 — критический путь (eval-гейт). Tasks 4–6 механические — допустимы субагенты (Haiku/Sonnet, raw output), контроллер верифицирует счётчики и git-базу после каждого. Task 3 (ADR) зависит от результата eval Task 1 (фиксирует rename-fallback, если он сработал).
## Не входит
Режим «интервью конечных пользователей» — defer post-Б-1. Реальный прогон интервью. Переименование скила — только fallback по eval (Task 1 Step 5).
@@ -0,0 +1,133 @@
# Discovery Interview — интеграция skill: дизайн
**Дата:** 18.05.2026
**Статус:** Принят (brainstorming-сессия 18.05.2026 — заказчик одобрил «Тяжёлый» вариант + режимы FEATURE & SYSTEM)
**Раздел карты:** новая 12-я off-phase подкатегория `discovery-tooling`
**Связано:** ADR-009, план `docs/superpowers/plans/2026-05-18-discovery-interview-integration.md`
## 1. Контекст и проблема
При запросе новой фичи Claude склонен сразу уходить в решение (`brainstorming`
solution-leaning). Расплывчатые/проблемные запросы заказчика («менеджеры
жалуются на X», «сделки теряются») требуют сначала вскрыть **проблему** — JTBD,
текущий обходной путь, цену боли — до проектирования.
Аналогично у заказчика нет быстрого способа получить **синтезированную
ориентацию** по состоянию проекта (карта / тулчейн / открытые вопросы):
CLAUDE.md и MEMORY грузятся пассивно, `audit-portal` даёт тяжёлый качественный
вердикт, не ориентацию, карта — статичный граф.
discovery interview — техника продуктового / customer discovery: структурированное
интервью, вскрывающее проблему до решения (Blank — customer development, Torres —
continuous discovery, JTBD).
## 2. Решение
Skill `discovery-interview` — проектный vendored-скил в `.claude/skills/`, два режима:
- **FEATURE** — интервью заказчика перед фичей.
- **SYSTEM** — интервью-ориентация по мета-слою проекта.
Режим «интервью конечных пользователей» — **не входит**, defer post-Б-1 (нет живых
пользователей Лидерры; дублировал бы `design:user-research` /
`product-management:synthesize-research`).
### 2.1. Несущий принцип — разрез по трём слоям-источникам
Параллельная сессия 17.05.2026 закрыла раздел C10 карты и создала skill
`process-analysis` (#53), чей режим 1 называется «process discovery». Чтобы
`discovery-interview` не стал дублем (§5 п.6 CLAUDE.md), способности разведены по
**слою-источнику данных**:
| Способность | Слой-источник | Метод |
|---|---|---|
| `process-analysis` (C10 #53) | app-код — `routes/`, `app/Jobs`, `audit_*` | реконструкция бизнес-процесса из кода |
| discovery-interview **FEATURE** | голова заказчика | интервью человека |
| discovery-interview **SYSTEM** | мета-слой — карта, CLAUDE.md, MEMORY, Открытые_вопросы, Tooling, git log | интервью + синтез |
Три непересекающихся слоя-источника → метод не дублируется → §5 п.6 соблюдён.
Объединяющая нить скила — структурированное интервью **человека**;
`process-analysis` человека не интервьюирует вообще.
## 3. Режим FEATURE
- **Триггер:** запрос проблемной формы — боль / жалоба / цель без готового решения.
- **SKIP:** чёткий директив («интегрируй X», «закрой находку Y», «поправь Z»).
- **Процесс:** JTBD-интервью — прошлое поведение вместо гипотетики, один вопрос за
раз, 5׫почему» до корня, не наводящие вопросы.
- **Артефакт:** discovery-brief — проблема / JTBD / текущий обходной путь / цена
боли / сигнал успеха / ограничения.
- **Хэндофф:** brief → `brainstorming` как проблемная секция спеки; brainstorming
забирает её и **не перезадаёт** уже выясненные вопросы.
## 4. Режим SYSTEM
- **Триггер:** запрос ориентации — «сориентируй по проекту», «где мы сейчас», «что
в тулчейне / карте», «catch-up по X».
- **SKIP:** «как устроен процесс …», «process discovery», «где узкое место» — это
`process-analysis`.
- **Процесс:** короткое интервью — уточнить, что именно ориентировать (scope) →
синтез по мета-слою → ответ.
- **Запрет:** SYSTEM **не читает `app/`-код** — это исключительный метод
`process-analysis`. Источники SYSTEM — только мета-слой.
- **Артефакт:** system-snapshot → `docs/discovery/YYYY-MM-DD-*.md`.
## 5. Границы (конфликт-аудит)
- **DI1** FEATURE ↔ `brainstorming` — FEATURE покрывает только проблемное поле,
условный триггер + SKIP на директив, чистый хэндофф.
- **DI2** SYSTEM ↔ `process-analysis` — разрез по слою-источнику; SYSTEM запрещено
читать `app/`-код.
- **DI3** SYSTEM ↔ `audit-portal` / карта — SYSTEM = активный синтез-ответ на запрос
ориентации, не качественный вердикт (`audit-portal`) и не статичный дамп
(карта / MEMORY).
- **DI4** триггер-коллизия слова «discovery» — лексическое разведение триггеров
(мои триггеры не используют голое «discovery» / «процесс») + взаимный SKIP в
«Границах» `discovery-interview` и `process-analysis`.
- **DI5** over-firing от «1%-правила» using-superpowers — консервативные триггеры,
явные SKIP-примеры, eval триггер-описания через `skill-creator`.
- **DI6** режим «интервью пользователей» — defer post-Б-1.
- **§12.2:** discovery-interview — *проектный* скил (как `audit-portal`,
`regression`), не Superpowers-скил → регистрируется в Pravila §13.2, **не** в
§12.2 (§12.2 — карта Superpowers-скилов). Триггерится штатным механизмом
using-superpowers по `description`.
## 6. Эффективность
«Максимальная эффективность в использовании» = скил точно срабатывает в нужный
момент и молчит в ненужный. Рычаги:
1. Консервативный триггер — FEATURE срабатывает только на проблемных запросах.
2. Явные SKIP-примеры в `description` — против «1%-правила».
3. Чистый хэндофф в `brainstorming` — без дубля вопросов.
4. JTBD-дисциплина зашита в теле SKILL.md.
5. Персистентные артефакты — FEATURE-brief в спеке, SYSTEM-snapshot в `docs/discovery/`.
Контроль — eval триггер-описания через `skill-creator`: кейс-сет «должен / не
должен сработать», включая спорные («сделай discovery», «как у нас дела») →
итерировать описание, пока точность чистая. Fallback при остаточной коллизии с
`process-analysis` — переименование скила (имя без слова «discovery»).
## 7. Интеграционный footprint («Тяжёлый» вариант)
- Skill `.claude/skills/discovery-interview/``SKILL.md` + `references/`.
- `docs/discovery/` — home SYSTEM-snapshot'ов + `README.md` + шаблоны.
- `docs/adr/ADR-009-discovery-interview-tooling.md`.
- Tooling Прил. Н **v2.13** — инструмент **#55**, **§4.30**, новая 12-я off-phase
подкатегория `discovery-tooling`; счётчик 54→55 формализованных (74→75 total),
off-phase row +24→+25.
- PSR_v1 **v3.12** — R10.1.
- Pravila **v1.26** — §13.2 (как проектный скил; §12.2 не трогается — см. DI §12.2).
- CLAUDE.md **v2.13** — §3 title-counter, §1 row 2b counter, §3.3 строка, §6 абзац,
§9 запись, §0 cross-refs. Правка прямым Edit — worktree-constraint эксцепшн §5
п.10 (прецедент A11 v2.10 / ADR-006 v2.11).
- `docs/automation-graph.html` — узел `discovery_interview`, рёбра к
`brainstorming` + governing-правилам + ребро-граница к `process-analysis`.
- `.claude/skills/process-analysis/SKILL.md` — +1 строка в «Границы» (взаимный
SKIP) как разрешение реального overlap.
## 8. Не входит
- Режим «интервью конечных пользователей» — defer post-Б-1.
- Реальный прогон интервью при интеграции (скил создаётся, не исполняется).
- Переименование скила — только fallback по результату eval (Фаза 2).