Product Discovery по методологии из 18 задач — от анализа рынка до финплана для инвестора. Используй когда человек хочет провести Product Discovery, верифицировать стартап, оценить рыночную гипотезу, подготовиться к инвест-раунду, или упоминает смежные темы: валидация идеи, оценка ниши, разбор конкурентов, product-market fit, подготовка питча, unit-экономика стартапа, географическая экспансия в новую страну, go-to-market для рынков SEA / Asia / MENA. Часто люди не называют это PD явно — говор...
Scanned 5/27/2026
Install via CLI
openskills install ipavelm/ultimate-product-discovery-skill---
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](references/block-1-market.md) | Карточка рынка, тренды, feature matrix, TAM/SAM/SOM, PESTEL |
| II. Потребители | 7–9 | [references/block-2-customers.md](references/block-2-customers.md) | JTBD, Job Map, OS, CJM, таблица инсайтов, интервью-гайд |
| III. Стратегия | 10–14 | [references/block-3-strategy.md](references/block-3-strategy.md) | Lean Canvas / BMC + PAC, SWOT, OST, скоринг сценариев, RICE |
| IV. Валидация | 15–17 | [references/block-4-validation.md](references/block-4-validation.md) | Пул гипотез, план rapid testing, PMF-индикаторы |
| V. Главный сценарий | 18a | [references/block-5-main-scenario.md](references/block-5-main-scenario.md) | Параметры для финплана |
| VI. Артефакты | 18b–d | [references/block-6-artifacts.md](references/block-6-artifacts.md) | One-pager, финплан, презентация |
Дополнительные материалы:
- [references/glossary.md](references/glossary.md) — термины PD. Прочитай перед первой задачей или точечно при встрече незнакомого термина
- [references/examples.md](references/examples.md) — сквозные примеры заполнения BMC, Lean Canvas, PAC, OST, Job Map. Читай перед заполнением холстов, чтобы сохранить уровень детализации
- [references/customer-development.md](references/customer-development.md) — альтернативный путь для нового рынка (читай, если в задаче 1 тип рынка классифицирован как «Новый»)
- [references/strategic-pivot.md](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 после выбора режима установи переменную окружения:
```bash
export PD_MODE=light # или full
```
Это нужно, чтобы скрипты `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](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
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.
**Что делать:**
```bash
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](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](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
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](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, телефоны реальных клиентов не нужны. Если они есть в файле — человеку стоит их удалить перед отправкой; скил не блокирует обработку файлов с персональными данными, но честно отметит риск.
После ответов:
1. **Запусти pre-flight check:** `bash scripts/preflight_check.sh`. Он за 10 секунд проверит `extract-text`, Python-библиотеки (`openpyxl`, `python-pptx`, `python-docx`), доступ к шаблонам в `assets/`. Если что-то недоступно — смотри таблицу fallback ниже.
2. **Составь план выполнения** — список задач, сроки, порядок.
3. **Если загружен предыдущий финплан (вопрос 14):** прочитай его через `extract-text` или `openpyxl`, определи, какие блоки устарели (обычно блок I — рынок/конкуренты, задачи 15–16 — гипотезы). Предложи: «Вижу предыдущий PD от [дата]. Обновим только блоки I и IV (~45 мин) или проведём полный PD?»
4. **Выбери режим** — Light, Full или Geographic Expansion — по ответу пользователя.
5. **Проверь совместимость горизонта и типа рынка:** если тип рынка «Новый» и горизонт 12 мес., предложи 24 мес. — на новом рынке 6 мес. уходит на Customer Discovery (см. `references/customer-development.md`), выручка первых 6 мес. близка к нулю, 12 мес. не хватит для Runway.
6. **Инициализируй Knowledge Base:** `python3 scripts/init_kb.py --project "Название" --mode Light|Full|GeoExpansion`. Скрипт также создаст `/home/claude/.pd_env` с экспортом `PD_MODE` — `source /home/claude/.pd_env` перед запуском скриптов из Правила 1.
7. Подтверди план с человеком и начинай с Задачи 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 и:
1. Проверь режим в шапке (`mode: Light` или `mode: Full`). Если плейсхолдер не заполнен конкретным значением — KB повреждён, запроси режим у человека.
2. Проверь `skill-version` — если она старее текущей, предупреди и отметь, что формат может отличаться.
3. Найди последнюю запись `done`, скажи: «Последний завершённый шаг: [задача N] в режиме [M]. Следующий шаг: [задача N+1]. Продолжаем или нужно пересмотреть?»
4. После подтверждения — продолжай с 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, артефакты и диалог. Поэтому:
1. **Сразу после `web_search`** — извлекай только конкретные цифры и факты, которые нужны для текущей задачи: объём рынка, CAGR, имя конкурента, цена, доля. Записывай их в KB или в ответ агента.
2. **Не держи полный текст поисковой выдачи в контексте** между задачами. Один раз извлёк цифру, зафиксировал источник (URL + дата), забыл про сам текст.
3. **Для `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 или пропуске задач — явно сообщай, какие задачи и почему
- Общайся на русском языке
No comments yet. Be the first to comment!