Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b40f2c8ffb | |||
| 63337b418d | |||
| 2ebc776cc9 | |||
| a0691e8857 | |||
| 50fc188f01 | |||
| 14f92d5147 | |||
| 802cda1b34 |
@@ -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 почему» до настоящей причины.
|
||||
@@ -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), не про общую методологию и не про
|
||||
|
||||
@@ -1407,3 +1407,16 @@ czlonkowski
|
||||
|
||||
# C10 normative sync vocabulary (2026-05-17)
|
||||
линтуются
|
||||
|
||||
# discovery-interview integration — spec/plan/skill (2026-05-18)
|
||||
JTBD
|
||||
триггерится
|
||||
фичу
|
||||
фичей
|
||||
гипотетика
|
||||
гипотетику
|
||||
гипотетики
|
||||
хэндофф
|
||||
тулчейне
|
||||
пинами
|
||||
evals
|
||||
|
||||
@@ -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 по `/имя`)
|
||||
|
||||
@@ -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.3–14: 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.3–14: 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.3–14: 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 (DI1–DI6). Связано: 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.3–14: 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
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 секции «Границы».
|
||||
@@ -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 наполняется
|
||||
|
||||
@@ -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).
|
||||
Reference in New Issue
Block a user