---
name: answer-analyzer
description: >
  Анализирует ответы стейкхолдеров на ранее заданные вопросы. Принимает
  исходный список вопросов и сырой текст ответов (из любого канала —
  Redmine, чат, email, диалог). Соотносит ответы с вопросами по смыслу,
  оценивает полноту, выявляет пробелы, противоречия и неожиданные данные.
  Формирует оценку готовности к переходу к формулировке задачи для BA.
metadata:
  short-description: Анализ ответов стейкхолдеров на вопросы
activation:
  - Запрос на анализ ответов стейкхолдеров / заказчика / клиента
  - Запрос вида «проанализируй ответы на вопросы», «разбери ответ», «соотнеси ответы с вопросами»
  - Запрос на проверку полноты ответов, выявление пробелов в требованиях
  - Ситуация: есть список вопросов и есть ответ (текст), нужно понять, что прояснилось, а что нет
  - Не активируется: на чистую генерацию вопросов (для этого есть questions-for-client)
  - Не активируется: на формирование бизнес-требований (для этого есть business-analyst)
  - Не активируется: на формулировку задачи (для этого будет task-formulator)
---

# Навык «Answer Analyzer» (Анализ ответов стейкхолдеров)

## Как это работает

1. Пользователь передаёт **два входных блока**:
   - **Вопросы** — список вопросов, которые были заданы (можно текстом, можно ссылкой на результат работы `questions-for-client`)
   - **Ответы** — сырой текст ответа на естественном языке из любого канала (Redmine, Telegram, email, диалог с Bud, устная расшифровка)

   Каналы и форматы ответов могут быть любыми:
   - Структурированный ответ по пунктам
   - Сплошной текст без деления на вопросы
   - Поток сознания с перескоками между темами
   - Несколько комментариев от разных людей
   - Ответ, в котором часть вопросов проигнорирована

2. Ты **анализируешь ответный текст**:
   - Разбиваешь на смысловые блоки (по темам, не по формальным маркерам)
   - Соотносишь каждый блок с заданными вопросами по смыслу (не по ключевым словам)
   - Определяешь статус: вопрос раскрыт / частично / не затронут
   - Отмечаешь, если ответ содержит новую информацию, которую не спрашивали

3. Формируешь структурированный результат.

## Структура результата

### 1. Сводка покрытия
Краткая статистика: сколько вопросов из скольких получили ответ, с разбивкой по группам стейкхолдеров (заказчик / администратор / пользователь, если применимо). Процент готовности.

### 2. Карта соответствия «вопрос → ответ»
Таблица, где каждый вопрос (или группа вопросов) соотносится с фрагментом ответа:

| Вопрос | Фрагмент ответа (цитата или пересказ) | Статус |
|---|---|---|
| *текст вопроса* | *что сказано в ответе* | ✓ / ~ / ✗ |

- **✓** — ответ получен, конкретный, можно использовать
- **~** — ответ частичный, размытый, требует уточнения
- **✗** — вопрос не затронут в ответе

Сопоставление происходит **по смыслу**, а не по формальному совпадению.

### 3. Новая информация (незапрошенные данные)
То, что всплыло в ответе, но не покрывается заданными вопросами. Если информация важная — выделить и объяснить, почему это релевантно.

### 4. Противоречия
Если в ответе одного стейкхолдера есть внутренние противоречия, или ответы от разных людей не сходятся. Таблица:

| Тема | Позиция 1 | Позиция 2 | Риск |
|---|---|---|---|
| *что противоречит* | *что сказано* | *что сказано в другом месте* | *к чему может привести* |

### 5. Критические пробелы
Вопросы из топ-критических (помеченные ⭐), которые остались без ответа или с неудовлетворительным ответом. Если пользователь не выделял топ-вопросы — определить их самостоятельно по контексту задачи.

### 6. Оценка готовности к следующему шагу
Общий вердикт:

- **Готово** — можно переходить к формулировке задачи для BA
- **Требует доработки** — есть критические пробелы, нужно дозадать вопросы
- **Не готово** — слишком много белых пятен, требуется повторное интервью

В любом случае — краткое обоснование, почему такой вердикт.

## Принципы работы

- **Не додумывать**. Если ответ двусмысленный или неполный — писать «неоднозначно, требуется уточнение». Не интерпретировать в пользу какой-либо версии.
- **Смысловое, не ключевое сопоставление**. Ответ может быть сформулирован иначе, чем вопрос. Уметь связывать «у нас нет бюджета на это» с вопросом «кто финансирует».
- **Канало-независимость**. Навык не привязан к Redmine, чату или email. Он работает с текстом как есть.
- **Прозрачность**. В карте соответствия показывать фрагмент ответа (цитату), чтобы пользователь мог проверить логику сопоставления.
- **Приоритизация пробелов**. Не все пропущенные вопросы одинаково важны. В первую очередь подсвечивать те, что влияют на архитектуру, объём и стоимость решения.

## Примеры активации

Подходящие запросы:
- «Вот вопросы, которые я задавал, и вот ответ заказчика — проанализируй»
- «Разбери комментарий из Redmine по нашей задаче, соотнеси с вопросами»
- «Заказчик ответил в чате, проверь полноту ответа»
- «У меня есть ответы от трёх стейкхолдеров, определи пробелы»
- «Проанализируй переписку и скажи, можно ли уже составлять ТЗ»

Неподходящие запросы (не активировать навык):
- «Составь вопросы для интервью» (для этого есть questions-for-client)
- «Сделай бизнес-анализ по описанию задачи» (для этого есть business-analyst)
- «Сформулируй задачу для BA на основе описания» (для этого будет task-formulator)
