Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13 KiB
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как образец): StatusAccepted/ Date 2026-05-18 / Deciders Дмитрий; Context (зачем discovery-interview, коллизия с C10process-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 —
gitleaksfull-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).