| name | product-discovery |
| description | Product Discovery по методологии из 18 задач — от анализа рынка до финплана для инвестора. Используй когда человек хочет провести Product Discovery, верифицировать стартап, оценить рыночную гипотезу, подготовиться к инвест-раунду, или упоминает смежные темы: валидация идеи, оценка ниши, разбор конкурентов, product-market fit, подготовка питча, unit-экономика стартапа, географическая экспансия в новую страну, go-to-market для рынков SEA / Asia / MENA. Часто люди не называют это PD явно — говорят 'помоги понять есть ли рынок', 'оцени идею', 'нужна презентация для ангела', 'выходим в Таиланд/Сингапур/UAE, как оценить рынок?'. Используй скил и в этих случаях. Три режима: Light (~45 мин, idea-стадия), Full (~2–3 часа, MVP с клиентами), Geographic Expansion (~2 часа, продукт в новой гео). Результат — 3–4 артефакта в /mnt/user-data/outputs/: one-pager.pptx, financial-plan.xlsx, presentation.pptx, опционально interview-guide.docx. |
| metadata | {"version":"3.8"} |
Product Discovery
Скил проводит структурное исследование рыночной гипотезы стартапа. Объединяет методологии: Jobs-to-be-Done (Ulwick/Christensen), Opportunity Solution Tree (Teresa Torres), Customer Development (Steve Blank), The Mom Test (Rob Fitzpatrick), Lean Canvas (Ash Maurya), PESTEL, SWOT, Business Model Canvas.
Результат — четыре артефакта в /mnt/user-data/outputs/:
one-pager-[slug].pptx — краткая выжимка для CEO / инвестора
financial-plan-[slug].xlsx — финансовая модель на основе главного сценария
presentation-[slug].pptx — презентация этапа Verification
interview-guide-[slug].docx — гайд для живых интервью (только в Full-режиме, из задачи 9)
Как устроен скил
Методология разбита на 18 задач в 6 блоках. Детальные инструкции по блокам вынесены в references/ — читай соответствующий файл перед стартом блока, чтобы не держать все 1500 строк в контексте сразу.
| Блок | Задачи | Файл | Что получится |
|---|
| I. Анализ рынка | 1–6 | references/block-1-market.md | Карточка рынка, тренды, feature matrix, TAM/SAM/SOM, PESTEL |
| II. Потребители | 7–9 | references/block-2-customers.md | JTBD, Job Map, OS, CJM, таблица инсайтов, интервью-гайд |
| III. Стратегия | 10–14 | references/block-3-strategy.md | Lean Canvas / BMC + PAC, SWOT, OST, скоринг сценариев, RICE |
| IV. Валидация | 15–17 | references/block-4-validation.md | Пул гипотез, план rapid testing, PMF-индикаторы |
| V. Главный сценарий | 18a | references/block-5-main-scenario.md | Параметры для финплана |
| VI. Артефакты | 18b–d | references/block-6-artifacts.md | One-pager, финплан, презентация |
Дополнительные материалы:
- references/glossary.md — термины PD. Прочитай перед первой задачей или точечно при встрече незнакомого термина
- references/examples.md — сквозные примеры заполнения BMC, Lean Canvas, PAC, OST, Job Map. Читай перед заполнением холстов, чтобы сохранить уровень детализации
- references/customer-development.md — альтернативный путь для нового рынка (читай, если в задаче 1 тип рынка классифицирован как «Новый»)
- references/strategic-pivot.md — альтернативный путь для действующего бизнеса, рассматривающего стратегический pivot (Service → Product, новая гео, новый сегмент). Читай, если стадия = «есть выручка», бизнес работает ≥ 1 года, и вопрос не «есть ли рынок», а «стоит ли менять курс»
Скрипты в scripts/ для повторяющихся технических операций:
preflight_check.sh — проверка доступности инструментов перед стартом PD
init_kb.py — создание Knowledge Base со стандартным шаблоном + /home/claude/.pd_env с PD_MODE
delete_light_slides.py — удаление пустых слайдов в Light-режиме (из 34 → 21)
reorder_summary_first.py — перемещение листа Summary первым в финплане, если после openpyxl-операций он сместился
add_competitor_comparison_slide.py — вставка слайда «Сравнение конкурентов» в презентацию (применяется к шаблону один раз; если шаблон уже обновлён — пропускает)
finalize_pptx.sh — финальный шаг презентации: pack.py → LibreOffice round-trip → верификация через python-pptx (Правило 3)
finalize_docx.sh — финальный шаг интервью-гайда: LibreOffice round-trip → верификация через python-docx (Правило 6). Обязателен для Word-совместимости
roll_formulas.py — раскатывает формулы мес. 1 → мес. 2–12 в P&L и Cash Flow финплана (Правило 4)
Критические правила безопасности
Эти правила защищают артефакты от типовых ошибок, обнаруженных в продакшене. Нарушение любого — непригодный для инвестора результат.
Правило 1 — Зафиксируй режим PD_MODE перед запуском скриптов
В Шаге 0 после выбора режима установи переменную окружения:
export PD_MODE=light
Это нужно, чтобы скрипты scripts/*.py могли отказаться работать в неверном режиме.
Таблица соответствия:
| Скрипт | Запускать в режиме | НИКОГДА не запускать в |
|---|
delete_light_slides.py | Light | Full / Geographic Expansion — удалит 13 нужных слайдов (тренды, PESTEL, CJM, альтернативный сценарий, RICE, PMF) |
add_competitor_comparison_slide.py | Light / Full / Geographic Expansion | — |
reorder_summary_first.py | Light / Full / Geographic Expansion | — |
roll_formulas.py | Light / Full / Geographic Expansion | — |
Перед каждым python3 scripts/X.py проговаривай: «Режим проекта: [light/full] → этот скрипт [допустим/недопустим]».
Правило 2 — НИКОГДА не используй pack.py --validate false
Флаг --validate false отключает проверки целостности OOXML. Файл пройдёт pack.py без ошибок, но PowerPoint откажется его открывать. Типичная причина — дублированные ссылки на notesSlides после копирования слайдов.
Если pack.py падает с ошибкой валидации — читай сообщение и устраняй корневую причину. Типичные ошибки и решения: references/block-6-artifacts.md раздел «Troubleshooting pack.py».
Правило 3 — PowerPoint round-trip как финальный шаг (STOP-GATE)
Когда срабатывает: перед любым cp *.pptx /mnt/user-data/outputs/.
Что делать: ВМЕСТО cp запусти finalize_pptx.sh. Скрипт сам копирует файл в outputs после round-trip:
bash scripts/finalize_pptx.sh /home/claude/presentation.pptx /mnt/user-data/outputs/presentation-[slug].pptx
Этот скрипт делает за один вызов: валидную упаковку → LibreOffice round-trip через Impress Office Open XML filter → верификацию через python-pptx.
Failure mode без этого шага: презентация открывается в LibreOffice и Google Slides, но PowerPoint отказывается её открывать из-за особенностей OOXML-манифестов (дублированные notesSlides-ссылки, некорректные relationships). Для инвестора это критично.
Как понять, что правило соблюдено: если ты собираешься скопировать .pptx в outputs через cp или present_files без предварительного finalize_pptx.sh — СТОП. Вернись к скрипту.
Ручной round-trip через soffice --convert-to pptx тоже работает в базовом случае, но finalize_pptx.sh дополнительно прогоняет python-pptx верификацию и ловит 4 класса ошибок (неправильные slide-references, sparse shapes, сломанные relationships, dangling notesSlides) — эти проверки не происходят при ручном soffice-вызове.
Правило 4 — Раскатай формулы финплана на мес. 2–12 (STOP-GATE)
Когда срабатывает: сразу после того, как заполнил лист «Допущения» финплана значениями проекта. До того, как заполнять P&L или Cash Flow.
Что делать:
python3 scripts/roll_formulas.py /home/claude/financial-plan.xlsx
Скрипт находит формулы в колонке C (мес. 1) на листах P&L и Cash Flow и раскатывает их в D–N (мес. 2–12) со сдвигом ссылок. Особые случаи (план роста клиентов, накопительные итоги) описаны в references/block-6-artifacts.md Шаг 2.5.
Failure mode без этого шага: финплан покажет выручку только за 1 месяц — инвестор откроет файл, увидит GMV = 147K руб в одной ячейке и пустые колонки D–N. Вывод: «модель не доделана». Доверие потеряно.
Как понять, что правило соблюдено: после roll_formulas.py открой P&L и проверь — колонки D–N (мес. 2–12) содержат формулы, значения после recalc.py растут от мес. 1 к мес. 12. Если ручное раскатывание через shift_formula в собственном скрипте — ок технически, но теряешь защиту скрипта от типовых ошибок (например, некорректный сдвиг $-зафиксированных ссылок).
Правило 5 — Очисти сегменты-плейсхолдеры в шаблоне финплана
Начиная с v3.7 шаблон financial-plan-template.xlsx содержит нейтральные сегменты-плейсхолдеры: «Сегмент 1», «Сегмент 2», «Сегмент 3», «Сегмент 4» (ранее были одежные «Блогеры», «Локальные бренды» и т.п.). Формулы «Модели» ссылаются на структуру сегментов.
Что делать: замени «Сегмент 1–4» на реальные имена твоих сегментов (из Lean Canvas / BMC). Если сегментов меньше 4 — оставь лишние как неиспользуемые, либо обнули их значения.
Рекомендуемый подход — сделать P&L автономным от «Модели»: задать план роста клиентов и GMV напрямую в P&L, не ссылаясь на ='Модель'!.... Это называется «Вариант A» в references/block-6-artifacts.md Шаг 2.6. Плюс: если ошибся в «Модели» — Summary всё равно корректный.
Failure mode: если оставить "Сегмент 1–4" как есть без замены на реальные, но при этом подключить P&L через ='Модель'!... — Summary покажет выручку по несуществующим сегментам. Инвестор не поймёт, о чём модель.
Правило 6 — Word round-trip для docx-артефактов (STOP-GATE)
Когда срабатывает: перед любым cp *.docx /mnt/user-data/outputs/.
Что делать: вместо cp запусти finalize_docx.sh:
bash scripts/finalize_docx.sh /home/claude/interview-guide.docx /mnt/user-data/outputs/interview-guide-[slug].docx
Скрипт делает LibreOffice round-trip через Microsoft Word 2007 XML filter + верификацию через python-docx. Гарантирует, что файл откроется в Word.
Failure mode без этого шага: библиотеки типа docx npm package создают технически валидные .docx файлы, которые LibreOffice, python-docx и Google Docs открывают без проблем, но Word отказывается открывать из-за битых ссылок на стили (≈30% параграфов с style: None при парсинге). Обнаруживается только когда пользователь открывает файл в Word и видит ошибку — слишком поздно.
Рекомендация по инструментам: лучше использовать python-docx вместо docx npm package для генерации интервью-гайдов и других docx-артефактов. python-docx создаёт гарантированно валидную структуру для Word. Если npm используется для совместимости с другими частями pipeline — всегда прогоняй через finalize_docx.sh в конце.
Как понять, что правило соблюдено: вывод finalize_docx.sh содержит all styles resolved. Если скрипт падает с 🚩 N paragraphs with broken style references — docx реально поломан, нужно пересоздать через python-docx (извлечь текст из битого файла, вставить в новый doc через python-docx).
Границы скила
PD делает: верифицирует рыночную гипотезу, находит целевой сегмент и Job-to-be-Done, формирует финансовую модель на основе допущений, выявляет рисковые гипотезы, создаёт план rapid testing, синтезирует данные из интервью или суррогатов.
PD не делает: не строит продуктовый роадмап, не проводит A/B тесты на живом продукте, не заменяет бухгалтерский учёт, не делает технический due diligence, не проводит юридическую проверку рынка, не заменяет живые интервью (только суррогат через G2/отзовики).
Если человек просит что-то из второго списка — объясни, где проходит граница, и предложи подходящую альтернативу.
Режимы работы: Light, Full, Geographic Expansion
PD адаптируется под ситуацию. Это не «тарифы» — это разные глубины исследования под разный контекст.
Light (~45 минут) — для idea-стадии, когда ещё нет ни MVP, ни клиентов. Задачи: 1, 3, 5, 7, 10, 11, 12, 14 (адаптированная), 18a, 18b/c/d (адаптированные). Пропускаются: тренды (2), ключевой конкурент (4), PESTEL (6), CJM (8), интервью (9), альтернативные сценарии (13), пул гипотез (15), rapid testing (16), PMF-индикаторы (17).
Full (~2–3 часа) — для MVP со стадии первых клиентов или подготовки к инвест-раунду. Все 18 задач.
Geographic Expansion (~2 часа) — для продукта, который уже работает в одной гео и выходит в новую (другая страна, другой язык, другой регулятор). Все 18 задач, но с модификацией инвест-трекера и критериев:
- Трекшн из «домашней» гео засчитывается с дисконтом 0.5× (клиенты и LOI из старой гео — половинная валидация для новой).
- В Шаге 0 обязательно уточни у человека: «Продукт уже работает где-то? Сколько платящих клиентов? В каком диапазоне ARR?» → записывай это в KB отдельной секцией «Home-geo baseline».
- Задача 1 (тип рынка) почти всегда = «Существующий» для целевой гео (потому что переносите известный продукт), но валидация нужна, что конкретный сегмент в новой гео готов покупать.
- Задача 9 (интервью) — обязательна. Нельзя опираться на интервью из «домашней» гео — культурные и регуляторные различия критичны.
- Задача 16 (rapid testing) — стартует с тест-маркетинга в новой гео через суррогат (Telegram/LinkedIn native speakers), не со Smoke Test на существующую аудиторию.
- Красный флаг SAM смягчается, если в Шаге 0 озвучен multi-geo roadmap с TAM всей Phase 2 ≥ стандартного SAM-порога. Пример Bittrace Thailand: SAM TH $6.3M < 1 млрд ₽, но SEA-5 Phase 2 даёт $95M — красный флаг становится «жёлтым».
Как выбрать режим: сигналы для каждого:
- Light: «быстро посмотреть», «оценить идею», нет MVP
- Full: «нужна презентация для ангела», «есть клиенты, готовлю seed», MVP работает
- Geographic Expansion: «продукт работает в РФ, хотим выйти в TH/UAE/SEA», «запускаем в новой стране», уже есть traction где-то
Если пользователь описывает «идею продукта, который мы хотим сделать для нового рынка» — это Full, не Geographic Expansion. GE применяется только когда продукт уже работает.
Красные флаги: когда прерывать PD
PD может обнаружить сигналы, что продолжать нет смысла без перестройки гипотезы. Смысл их в том, что дальнейшая работа по исходной гипотезе даст артефакты, которые не отражают реальность — инвестору они покажутся неправдоподобными, команде дадут ложное чувство уверенности.
| Сигнал | Порог | Почему важно | Действие |
|---|
| SAM мал (Product/Service/Marketplace) | < 1 млрд ₽ | Даже 10% доли → 100 млн выручки — недостаточно для венчурной модели роста | Расширить сегмент или регион |
| SAM мал (Hardware) | < 500 млн ₽ | У hardware ниши обычно уже, но и чек выше — 500 млн приемлемый порог | Расширить сегмент или регион |
| OS низкий у всех outcomes | < 8 у всех | Нет ни одной болевой точки, за решение которой готовы платить — рынка нет | Пересмотреть JTBD и сегменты |
| Интервью не подтверждают боль | < 5 из 10 | Боль воображаемая или сегмент не тот — продукт будет решать несуществующую проблему | Пересмотреть гипотезу потребности |
| LTV/CAC не сходится даже в оптимисте | < 1.5x | Экономика unit-модели принципиально не складывается | Pivot по монетизации |
| Нет дифференциации от 4 типов конкурентов | Все 4 закрыты | Продукт — копия существующих, без устойчивого преимущества | Пересмотреть Value Proposition |
| Модель требует лицензии / сертификации, которой нет | PESTEL Legal: угроза c «Высокой» вероятностью | Инвестор проверяет regulatory compliance первым делом. Без лицензии/сертификации сделка не состоится ни на каком раунде — это блокер, а не риск | Перестроить модель (B2B вместо B2C с физлицами, лицензирование, партнёрство с лицензированным игроком) |
Регуляторный красный флаг подробнее. Возникает чаще всего в FoodTech, MedTech, FinTech, EdTech, LegalTech — там, где государство исторически активно регулирует. Примеры блокирующих ситуаций: продажа еды от частных поваров без санэпидлицензии кухни (Роспотребнадзор), финансовые услуги без лицензии ЦБ, медицинские советы без статуса медорганизации, образование без лицензии Минпросвещения/Рособрнадзора для дипломов. В задаче 6 (PESTEL) выдели Legal-фактор: если угроза «Лицензирование обязательно» имеет Значимость 3 и Вероятность 4+, и у команды нет лицензии / плана её получения — это автоматически блокирующий флаг, не просто риск. Запиши в главный вывод.
При появлении красного флага — прерви работу и сообщи человеку. Продолжать без его решения нельзя: артефакты получатся отражением нежизнеспособной гипотезы.
Pivot vs. Корректировка
| Ситуация | Рекомендация |
|---|
| SAM мал + OS < 8 у всех сегментов | Pivot: смени целевой сегмент или проблему |
| SAM мал, но OS ≥ 10 в одном сегменте | Корректировка: сузь фокус на этом сегменте |
| Интервью не подтверждают боль + OS < 8 | Pivot: вернись к Шагу 0, пересмотри проблему |
| Интервью не подтверждают боль, но OS ≥ 10 | Корректировка: замени гипотезу потребности, не продукт |
| LTV/CAC < 1.5x везде | Pivot: смени модель монетизации или целевой сегмент |
| LTV/CAC < 1.5x только в пессимисте | Корректировка: оптимизируй CAC или повысь чек |
| Нет дифференциации | Корректировка: пересмотри Value Proposition, не рынок |
Шаг 0: Сбор исходных данных
Перед стартом PD нужны ответы на 16 вопросов. Используй ask_user_input_v0 для структурированного сбора — группируй по 3 связанных вопроса в один вызов, чтобы человек отвечал потоком, а не 16 отдельными тапами.
Готовые JSON-шаблоны опросов: references/step-0-questions.md. Там разбивка на 4 вызова ask_user_input_v0 с готовыми options, плюс список вопросов в свободной форме. Бери оттуда, не пересобирай структуру вопросов с нуля.
Обязательные (1–8): название проекта, описание (что предлагает и какую проблему решает), рынок (страна/регион), сегменты (кто клиент), конкуренты (2–3 названия), бизнес-модель (подписка/комиссия/разовые), B2B или B2C, бюджет на тестирование гипотез (в рублях).
Для финплана (9–12): стадия (idea/MVP/клиенты/выручка), горизонт планирования (12 или 24 мес.), инвестиции (сумма или «нет»), первые клиенты/продажи.
Для обновления PD (13–14): данные из CRM/аналитики (если есть — приложит файл), проводился ли PD раньше (если да — приложит прошлый финплан).
Контекстные (15–16):
- Тип рынка (если человек знает): существующий / ресегментированный / новый / «определим в задаче 1»
- Тип бизнеса: Product (SaaS, приложение) / Service (консалтинг, агентство) / Marketplace / Hardware — используется в задачах 10, 18c и инвест-трекере для выбора правильных шаблонов и порогов
Про данные из CRM (вопрос 13): для расчётов достаточно агрегированных метрик — количество клиентов, средний чек по сегменту, конверсии по этапам, churn по когортам. Имена, email, телефоны реальных клиентов не нужны. Если они есть в файле — человеку стоит их удалить перед отправкой; скил не блокирует обработку файлов с персональными данными, но честно отметит риск.
После ответов:
- Запусти pre-flight check:
bash scripts/preflight_check.sh. Он за 10 секунд проверит extract-text, Python-библиотеки (openpyxl, python-pptx, python-docx), доступ к шаблонам в assets/. Если что-то недоступно — смотри таблицу fallback ниже.
- Составь план выполнения — список задач, сроки, порядок.
- Если загружен предыдущий финплан (вопрос 14): прочитай его через
extract-text или openpyxl, определи, какие блоки устарели (обычно блок I — рынок/конкуренты, задачи 15–16 — гипотезы). Предложи: «Вижу предыдущий PD от [дата]. Обновим только блоки I и IV (~45 мин) или проведём полный PD?»
- Выбери режим — Light, Full или Geographic Expansion — по ответу пользователя.
- Проверь совместимость горизонта и типа рынка: если тип рынка «Новый» и горизонт 12 мес., предложи 24 мес. — на новом рынке 6 мес. уходит на Customer Discovery (см.
references/customer-development.md), выручка первых 6 мес. близка к нулю, 12 мес. не хватит для Runway.
- Инициализируй Knowledge Base:
python3 scripts/init_kb.py --project "Название" --mode Light|Full|GeoExpansion. Скрипт также создаст /home/claude/.pd_env с экспортом PD_MODE — source /home/claude/.pd_env перед запуском скриптов из Правила 1.
- Подтверди план с человеком и начинай с Задачи 1.
Fallback при провале pre-flight
| Что отсутствует | Последствия | Что делать |
|---|
extract-text | Нельзя быстро читать текст из .pptx/.xlsx | Использовать openpyxl / python-pptx напрямую. Для 18c Шаг 1: openpyxl.load_workbook() + ws.iter_rows(). Для 18b: цикл по slide.shapes |
openpyxl | Задача 18c (финплан) невозможна | Остановить PD, сообщить человеку: «Без openpyxl финплан не создать. Могу сделать one-pager и презентацию — финплан опишу в markdown как inputs для ручного заполнения» |
python-pptx | Задачи 18b, 18d невозможны | Вернуть результаты в markdown, человек соберёт презентацию сам |
python-docx | Задача 9 упрощается | Вывести гайд как markdown в /mnt/user-data/outputs/ |
assets/ недоступны | Нет шаблонов | PD невозможен как дизайнерский результат. Остановить, уточнить путь к скилу |
Формат summary после каждого блока
После завершения блока (I–V) показывай человеку структурированное резюме и жди подтверждения перед переходом к следующему. Это две вещи сразу: даёт человеку точку контроля (можно прервать без потери результатов) и фиксирует прогресс для Knowledge Base.
✅ БЛОК [N] ЗАВЕРШЁН — [Название блока]
─────────────────────────────────────────
📊 Ключевые находки:
• [Факт 1 с конкретными цифрами]
• [Факт 2 с конкретными цифрами]
• [Факт 3 с конкретными цифрами]
📎 Сгенерированные артефакты:
• [Имя файла или «нет артефактов в этом блоке»]
🚩 Красные флаги: [нет / описание если есть]
⚠️ Достоверность данных: [Высокая / Средняя / Низкая]
Причина: [источники, на которые опирались]
💡 Рекомендация перед следующим блоком:
[Конкретное действие или уточнение]
▶️ Продолжить → Блок [N+1]: [Название]? Да / Нет / Скорректировать
─────────────────────────────────────────
Knowledge Base и сохранение прогресса
PD может длиться 2–3 часа и прерваться в любом месте. Knowledge Base в /home/claude/pd-knowledge-base.md — память скила, она же позволяет возобновить работу после паузы и передать контекст.
Два уровня сохранения:
- После каждой задачи (инкрементально): короткая запись в «Журнал выполнения» — название задачи, 3–5 ключевых находок, статус
done / partial / blocked. Занимает 30 секунд и страхует от потери контекста в середине блока.
- После каждого блока (полное): обновляй раздел блока по шаблону из
init_kb.py.
Возобновление:
Если человек возвращается к прерванному PD («давай продолжим»), прочитай KB и:
- Проверь режим в шапке (
mode: Light или mode: Full). Если плейсхолдер не заполнен конкретным значением — KB повреждён, запроси режим у человека.
- Проверь
skill-version — если она старее текущей, предупреди и отметь, что формат может отличаться.
- Найди последнюю запись
done, скажи: «Последний завершённый шаг: [задача N] в режиме [M]. Следующий шаг: [задача N+1]. Продолжаем или нужно пересмотреть?»
- После подтверждения — продолжай с N+1 в том же режиме.
Смена режима посреди PD:
- Light → Full — редкий случай, но реалистичный: человек увидел результаты Light и захотел глубже. Добери задачи 2, 4, 6, 8, 9, 13, 15, 16, 17 в порядке блоков. Артефакты пересоздай. Добавь в KB строку «Режим обновлён до Full: [дата]».
- Full → Light — обычно означает, что человек спешит. Закрой PD текущим состоянием, создай артефакты из собранного, в финальной сводке пометь пропущенные задачи.
Работа с неопределённостью
Когда данных мало или рынок новый — несколько приёмов, которые помогают сохранить честность оценок без ухода в «ну, я ничего не знаю».
Метод аналогий (для нового рынка). Ищи похожий рынок в другой стране или другом временном периоде: нет данных по РФ → бери Бразилию/Польшу/Турцию с поправкой на ВВП и численность; новый технологический рынок → смотри, как развивался похожий 3–5 лет назад в США; новая ниша внутри существующей вертикали → бенчмарки из соседней вертикали (например, FinTech for nurses → FinTech for teachers). Фиксируй аналогию явно: «Используем данные по рынку X в стране Y как прокси, коэффициент Z».
Индикатор достоверности (🟢/🟡/🔴) — присваивай каждой ключевой цифре. 🟢 — первичный источник, верифицирован через web_fetch. 🟡 — агрегатор (Statista), оценки аналитиков. 🔴 — экспертная оценка без подтверждения. В финплане ячейки с 🔴 помечай жёлтым фоном.
Когда ставить 🔴 на весь блок, а не отдельные цифры: нет ни одного отраслевого отчёта, нет конкурентов с публичными данными, менее 3 интервью, рынок существует менее 2 лет. В таком случае пиши в KB явно: «Блок N: достоверность 🔴 — данных недостаточно, все цифры требуют проверки после 10+ интервью».
Диапазоны вместо точных цифр: «TAM 2–8 млрд ₽ (разброс 4x — данных мало)» лучше, чем «TAM 4.7 млрд ₽» без источника. Инвесторы ценят честность в оценках больше, чем псевдоточность.
Для нового рынка — читай references/customer-development.md. Там описан протокол Customer Development (Steve Blank) как альтернатива стандартному Smoke Test + Pre-sale, который на новом рынке работает плохо.
Бюджет tool calls
PD не должен уходить в «глубокое исследование» без конца. Ориентируйся на лимиты:
| Блок | Лимит web_search + web_fetch |
|---|
| I. Рынок (задачи 1–6) | До 12 вызовов на блок, 3 на задачу |
| II. Потребители (7–9) | До 6 вызовов (основной расход — задача 9C, суррогат интервью) |
| III. Стратегия (10–14) | До 4 вызовов (проверка конкурентов в OST) |
| IV. Валидация (15–17) | До 3 вызовов (бенчмарки по отрасли) |
| Всего на полный PD | ~25 вызовов |
Если лимит близок к исчерпанию — суммаризируй собранное в KB, переходи дальше с пометкой достоверности 🟡 или 🔴. Дополнительные поиски «для полноты картины» обычно не меняют выводов. Исключение: человек явно просит углублённый анализ — тогда лимиты снимаются, но уведоми о возможном превышении.
Работа с результатами web_search: каждый поиск возвращает ~1500 слов × 10 источников. Если оставлять их в контексте целиком, за 25 вызовов накопится ~50k токенов только от поисковиков — это съедает бюджет контекста, который нужен под KB, артефакты и диалог. Поэтому:
- Сразу после
web_search — извлекай только конкретные цифры и факты, которые нужны для текущей задачи: объём рынка, CAGR, имя конкурента, цена, доля. Записывай их в KB или в ответ агента.
- Не держи полный текст поисковой выдачи в контексте между задачами. Один раз извлёк цифру, зафиксировал источник (URL + дата), забыл про сам текст.
- Для
web_fetch — если статья длинная, читай только те секции, где упомянуты нужные цифры; остальное не загружай в контекст.
Это не формальное правило, а практическая оптимизация: при 2–3 часах PD контекст — главный дефицит, и мусор от поисков оттесняет полезные данные (JTBD, интервью, финплан).
Завершение PD
Когда все три (или четыре в Full) артефакта созданы — не заканчивай разговор молча. Executive summary в чат нужен для того, чтобы человек за 30 секунд понял результат и следующие шаги.
Алгоритм определения главного вывода: посчитай активированные критерии.
| Условие | Счёт |
|---|
| Красных флагов из STOP/PIVOT-таблицы активировано | 0 / 1-2 / ≥3 |
| Инвест-готовность (трекер после PD) | ≥ 6/8 / 4-5/8 / < 4/8 |
| OS главной возможности | ≥ 15 / 10-14 / < 10 |
| LTV/CAC в базовом сценарии | ≥ 3x / 1.5-3x / < 1.5x |
Правила:
- Автоматический No-go (regulatory blocker): если активирован красный флаг «Модель требует лицензии, которой нет», то главный вывод — No-go независимо от остальных метрик. Даже идеальный OS, LTV/CAC и трекшн не компенсируют юридическую невозможность. Предложи 2–3 пути перестройки модели (B2B вместо B2C, лицензирование, партнёрство с лицензированным игроком) и возврат к Шагу 0.
- Go — 0 красных флагов И инвест-готовность ≥ 6/8 И LTV/CAC ≥ 3x
- Go с рисками — 1–2 красных флага (кроме LTV/CAC < 1.5x и regulatory blocker) И инвест-готовность ≥ 4/8. Указать риски и план их закрытия.
- Pivot — 1–2 красных флага, включая LTV/CAC или отсутствие дифференциации, но OS ≥ 10 и SAM достаточный. Предложи конкретное направление pivot'а по таблице «Pivot vs. Корректировка».
- No-go — ≥ 3 красных флагов ИЛИ SAM ниже порога ИЛИ OS < 8 у всех сегментов ИЛИ regulatory blocker. Рекомендуй остановку проекта или возврат к Шагу 0 с другой гипотезой.
Честность важнее оптимизма. Если данные говорят No-go — так и скажи, не смягчая. Но даже при No-go предлагай альтернативу, если видишь сигнал: «B2C не подтвердился, но в интервью есть сигнал для B2B SMB — стоит проверить отдельной гипотезой».
Шаблон сводки:
✅ PRODUCT DISCOVERY ЗАВЕРШЁН — [Название проекта]
═══════════════════════════════════════════════
📋 Выполнено: [N]/18 задач в режиме [Light/Full]
📁 Артефакты:
• one-pager-[slug].pptx
• financial-plan-[slug].xlsx
• presentation-[slug].pptx
• interview-guide-[slug].docx (если Full)
🎯 Главный вывод: [Go / Go с рисками / Pivot / No-go]
Обоснование: [сколько красных флагов, инвест-готовность N/8, LTV/CAC, OS]
💡 Вердикт по ценности:
Value Proposition: «[из задачи 10]»
Главный сегмент: [из задачи 18a]
Монетизация: [модель, чек в ₽]
📊 Ключевые метрики (базовый сценарий):
• TAM / SAM / SOM: [X / Y / Z]
• LTV / CAC: [N.Nx]
• Runway: [N мес.]
• Break-even: [мес. N]
🚩 Топ-3 риска:
1. [Гипотеза] — проверить методом: [метод] за [срок]
2. ...
3. ...
🎯 Инвест-готовность: [N/8 ✅]
Закрыть до раунда: [⚠️ и ❌ пункты из трекера]
▶️ Следующие 3 шага (на 2 недели):
1. [Действие] — владелец [роль] — срок [+N дней]
2. ...
3. ...
═══════════════════════════════════════════════
Если блоки пропущены (Light), пометь явно: «NPS/Retention требует верификации — задача 17 пропущена в Light-режиме».
Трекер инвест-готовности
Пороги зависят от двух параметров: тип бизнеса (вопрос 16 из Шага 0) и этап раунда, к которому человек готовится. Инвесторы pre-seed/seed смотрят на валидацию гипотезы и ранний traction, Series A — на proof of scalable GTM и метрики роста, Series B — на operational efficiency и готовность к масштабу. Метрики одни, а пороги для каждого этапа радикально разные.
Определение этапа раунда: в Шаге 0 агент должен уточнить у человека (если не ясно из контекста): «Какой раунд планируете — pre-seed/seed, Series A, Series B или позже?». Сигналы из первого сообщения: «готовлюсь к ангелу», «seed-раунд» → pre-seed/seed; «раунд A», «~$5M ARR», «расширяемся на новые рынки» → Series A; «уже есть $10M+ ARR», «масштабируем команду», «международный выход» → Series B.
Пороги для pre-seed / seed
Это основной сценарий использования скила — стартапы, которые ищут первых-вторых чеков. Цель: доказать, что продукт решает реальную боль и есть ранний спрос.
| # | Критерий | Product | Service | Marketplace | Hardware | Geographic Expansion | Источник |
|---|
| 1 | Боль подтверждена, OS ≥ 12 | ✅/⚠️/❌ | ✅/⚠️/❌ | ✅/⚠️/❌ (обе стороны) | ✅/⚠️/❌ | OS ≥ 12 в новой гео (не засчитывается OS из home-geo) | Задачи 7, 9 |
| 2 | TAM ≥ 5 млрд ₽, SAM ≥ 1 млрд ₽ | Стандарт | Стандарт | Стандарт | SAM ≥ 500 млн ₽ | SAM новой гео может быть < 1B ₽, ЕСЛИ multi-geo roadmap даёт combined SAM ≥ 3B ₽ | Задача 5 |
| 3 | LTV/CAC ≥ 3x (базовый) | ≥ 3x | ≥ 3x от проекта | ≥ 3x по сторонам | ≥ 2x | ≥ 3x в home-geo или проектная модель новой гео | Финплан |
| 4 | Retention 3-й мес. (когортный) | ≥ 30% B2C / ≥ 50% B2B | Repeat rate ≥ 40% | ≥ 40% liquidity | Repeat rate ≥ 20% | Из home-geo (Full-credit: данные уже есть) | Задача 17 |
| 5 | Команда с релевантным опытом | Обязательно | +продажи B2B | +operations | +production & supply chain | +local BDM / лицензия / Thai entity + партнёр-лоббист | Задача 10 |
| 6 | Трекшн | ≥ 10 платящих или LOI | ≥ 3 оплаченных | ≥ 20 + 5 транзакций | ≥ 50 pre-order | ≥ 2 платящих в новой гео ИЛИ ≥ 10 в home-geo × 0.5 + LOI в новой | Задача 16 |
| 7 | Break-even в базовом | ≤ 18 мес. | ≤ 12 мес. | ≤ 24 мес. | ≤ 36 мес. | ≤ 24 мес. (длиннее — setup local team + subsidiary) | Финплан P&L |
| 8 | Уникальный канал / advantage | Обязательно | Экспертиза/бренд | Якорные партнёры | IP/патенты | Local reference / endorsement (регулятор, крупный клиент) | Задача 10 |
Интерпретация: 7–8 ✅ → готов к pre-seed/seed. 5–6 ✅ → закрой ⚠️ за 1–2 мес. до раунда. < 5 ✅ → рано, фокус на валидации (задачи 15–17).
Для Geographic Expansion: если 4+ критериев из 8 зелёные, и хотя бы один из критериев 6 или 8 зелёный — можно идти на pre-seed/seed для расширения. Home-geo traction как base, target-geo validation как promise. Цена раунда обычно дисконтируется на 20–30% vs. clean-idea стартап, потому что риск ниже.
Пороги для Series A
Здесь инвесторы уже не проверяют «есть ли боль» — это должно быть доказано к моменту раунда. Их вопрос: «масштабируется ли ваш канал продаж при кратном увеличении затрат». Пороги не просто выше, а качественно другие.
| # | Критерий | Product (SaaS) | Service | Marketplace | Hardware | Источник |
|---|
| 1 | ARR / годовая выручка | ≥ $1M ARR (или ₽-эквивалент) | ≥ ₽100 млн/год | ≥ $1M GMV в мес. | ≥ 1000 шт. продано | Финплан |
| 2 | Рост MoM / YoY | ≥ 10–15% MoM или 3x YoY | 2x YoY | 2x YoY GMV | 2–3x YoY | Финплан |
| 3 | Gross Margin | ≥ 70% | ≥ 60% | ≥ 50% (после take rate) | ≥ 40% | Финплан |
| 4 | Net Revenue Retention (NRR) | ≥ 110% B2B, ≥ 90% B2C | ≥ 80% repeat clients | ≥ 60% MAU retention | N/A — замеряй repeat rate | Задача 17 |
| 5 | Payback period | ≤ 12 мес. | ≤ 6 мес. | ≤ 18 мес. | ≤ 18 мес. | Финплан |
| 6 | Команда — закрыты key hires | CEO + CTO + VP Sales | CEO + Head of Delivery | CEO + Head of Ops + Growth | CEO + Head of Supply Chain | Задача 10 |
| 7 | Воспроизводимый канал приобретения | ≥ 2 канала с предсказуемым CAC | Outbound SDR-процесс | Referral loop или paid acquisition | Retail-партнёры или DTC-канал | Задача 16 |
| 8 | International / multi-market потенциал | Product-led expansion возможен | Replicable в другом регионе | Либо глубокий рынок, либо 2+ гео | SKU-расширение или гео | Задача 5, 12 |
Интерпретация: 6–8 ✅ → готов к Series A. 4–5 ✅ → закрой пробелы за 3–6 мес. до раунда. < 4 ✅ → рано, фокус на скейле pre-seed/seed-результатов.
Пороги для Series B и позже
Series B редко обслуживается через PD — обычно у компании уже есть внутренний финансовый контроллер и стратеги. Но если PD нужен (для проверки нового сегмента, геоэкспансии или приобретения) — пороги ориентировочно: ARR ≥ $5–10M, рост ≥ 2x YoY, выход в EBITDA-break-even в горизонте 12–18 мес., операционная эффективность (Rule of 40: рост % + EBITDA margin % ≥ 40). Детальнее — заглядывай в индустриальные бенчмарки (a16z, Bessemer Cloud Index).
Если этап раунда не указан
По умолчанию используй пороги pre-seed/seed — это покрывает большинство кейсов PD. В финальной сводке явно напиши: «Инвест-трекер оценён по критериям pre-seed/seed. Если готовитесь к Series A/B — пересмотри по соответствующей таблице».
Следующие шаги после PD
| Действие | Владелец | Срок |
|---|
| 3–5 дополнительных интервью по уточнённым гипотезам | — | +1 нед. |
| Smoke test / pre-sale по топ-1 гипотезе из OST | — | +1 нед. |
| Разослать OS-опросник 20–50 респондентам | — | +2 нед. |
| Заполнить финплан мес. 2–12 (или 2–24) | — | +2 нед. |
| Синхронизировать команду по главному сценарию | — | +3 дня |
Типичное распределение ролей:
| Задача | Обычный владелец | Участники |
|---|
| Интервью и рекрутинг | CEO / CPO | Маркетинг |
| Smoke Test, лендинг | Маркетинг | CEO |
| Pre-sale, outreach | CEO / Sales | Маркетинг |
| Финплан (мес. 2+) | CFO / CEO | — |
| OST и гипотезы | CPO / CEO | Команда |
| Разработка MVP | CTO | CPO |
В команде 1–2 человек — по умолчанию CEO для всех блоков.
Источники данных
Подбирай источники по географии проекта. Приоритет: локальные первичные источники → глобальные отчёты для контекста.
| Категория | Источники |
|---|
| Глобальные отчёты | Mary Meeker Internet Trends, Gartner Hype Cycle, CB Insights, PitchBook |
| Консалтинг | McKinsey, BCG, Bain, Deloitte |
| Статистика (мир) | Statista, SimilarWeb, World Bank Open Data, OECD Data |
| Статистика (США) | US Census Bureau, Bureau of Labor Statistics, FRED |
| Статистика (EU) | Eurostat, национальные статистические ведомства |
| Статистика (РФ) | Росстат, РБК, Ведомости, АКРА, ЦБ РФ, Data Insight, «Яндекс», «Сбер» |
| Статистика (Азия) | China Stats, India NSO, ASEAN Stats |
| Классификаторы | G2, Capterra (мир); TAdviser, CNews (РФ) |
| Новости / тренды | Product Hunt, TechCrunch, The Information, VC.ru, Habr |
| Венчур | YCombinator, a16z, Sequoia, Index Ventures, ФРИИ |
| Суррогат интервью (мир) | G2, App Store, Google Play, Reddit, Quora, Trustpilot |
| Суррогат интервью (РФ) | Хабр, VC.ru, отзовики, Wildberries/Ozon |
| Методологии | Continuous Discovery Habits (Torres), JTBD (Ulwick/Christensen), Lean Canvas (Maurya), Four Steps to the Epiphany (Blank), The Mom Test (Fitzpatrick) |
Коммуникация с пользователем
- Пиши план перед стартом, жди подтверждения
- После каждой задачи — короткое резюме ключевых находок
- Обновляй прогресс-трекер в начале ответа. Короткий формат лучше длинного списка:
🔄 Прогресс: 7/18 задач (39%) · Режим: Full · Блок II · Текущая: Задача 8 CJM
- При красном флаге — немедленно сообщай и жди решения
- Используй
ask_user_input_v0 для структурированного сбора ответов с вариантами
- При Early exit или пропуске задач — явно сообщай, какие задачи и почему
- Общайся на русском языке