Бесплатный интерактивный курс · aicoding.space
Разбор компании в playbook запуска
Практический курс по пакету @dzhechkov/skills-reverse-engineering для того, кто впервые видит его в Claude Code. Вместе с Ликой ты поставишь пакет, пройдёшь конвейер из шести модулей от разведки до плана на 90 дней, выберешь режим глубины, научишься писать «НЕ НАЙДЕНО» вместо правдоподобной цифры, разберёшь две оси доверия к факту, соберёшь три варианта пути клиента, выберешь мотион и петлю роста независимо, разрешишь противоречие без компромисса и поставишь критерии остановки с числом и датой.
Содержание курса
1. Зачем разбирать чужую компанию?
Что делает пакет одной фразой — и почему сорок вкладок в браузере его не заменяют.
Ключевая мысль: разбор компании в playbook запуска
Лика получила задание в пятницу: «к следующей пятнице — playbook запуска аналога Calendly в России». Её первая мысль была такой же, как у тебя: «открою десять вкладок, почитаю и напишу».
Через два дня у неё было сорок вкладок и ни одной цифры, которой она доверяла бы. Тут и пригодился пакет.
@dzhechkov/skills-reverse-engineering — это составной навык для Claude Code, который разбирает любую компанию в playbook запуска — пошаговый план запуска её аналога. Разбор идёт не «по вдохновению», а по конвейеру из шести модулей: разведка, продукт и клиенты, рынок, экономика, рост, синтез. На выходе — документ с планом на 90 дней, а в глубоком режиме ещё и кликабельный прототип пути клиента (CJM).
Где он живёт:
- страница пакета на npm — версия 0.3.4 на момент написания курса;
- исходники в публичном зеркале на GitHub.
Чем разбор через пакет отличается от сорока вкладок Лики:
- Порядок. Модули идут строго друг за другом, и каждый следующий питается выходом предыдущего — нельзя считать экономику, не зная сегментов.
- Честность к фактам. У каждого факта есть ссылка-источник, а «НЕ НАЙДЕНО» — законный ответ. Об этом будет целая секция.
- Остановки. После каждого модуля конвейер ждёт твоего «ок» — ты правишь курс, пока ошибка дешёвая.
Компромисс: ты платишь временем — сам пакет оценивает быстрый прогон примерно в 70 минут — и получаешь документ, в котором каждая цифра либо подписана источником, либо честно помечена как гипотеза.
💬 Просто попроси. Команды учить не надо: в Claude Code достаточно сказать «разбери бизнес-модель Calendly» — это одна из фраз-триггеров пакета, и оркестратор запустится сам.
2. Установка: init, doctor и сухой прогон
Одна команда npx — и в проекте оркестратор, три навыка и slash-команда. Плюс как проверить, что всё на месте.
Ключевая мысль: команда init разворачивает пакет в проект
Хватит читать — Лика уже открыла терминал в папке проекта, открывай и ты.
Пакет живёт на npm: @dzhechkov/skills-reverse-engineering. Ставится одной командой, без глобальной установки:
npx @dzhechkov/skills-reverse-engineering init— разворачивает пакет в текущий проект (init— команда по умолчанию, можно и без слова).npx @dzhechkov/skills-reverse-engineering doctor— проверяет здоровье установки: все ли файлы из манифеста на месте.npx @dzhechkov/skills-reverse-engineering list— показывает установленные компоненты.
Что именно init кладёт в проект:
- оркестратор
reverse-engineering-unicorn— сам навык с шестью модулями; - три зависимых навыка:
explore,goap-research-ed25519,problem-solver-enhanced; - slash-команду
/reverse-engineering-unicorn.
Грабли Лики — не повторяй. У неё в проекте уже стоял @dzhechkov/keysarium, и init это заметил: файл .keysarium.json на месте, папки .claude/commands и навыки — общие. А когда она запустила init второй раз, он остановился: установка уже есть — нужен update, а перезаписать поверх можно только с флагом --force. Хочешь сначала посмотреть, что изменится, ничего не трогая — добавь --dry-run.
Ещё две команды на потом: update обновляет пакет до свежей версии, remove убирает его из проекта. Если у тебя стоит @dzhechkov/harness-cli, то же самое делается через dz init --select reverse-engineering-unicorn, а dz info reverse-engineering-unicorn покажет карточку навыка.
Компромисс: init за один вызов делает многое — быстро, но пока не знаешь, ЧТО разложил, стоит прогнать --dry-run и list. Глубокие режимы тянут ещё навыки, которых в пакете нет, — про это в последней секции.
💬 Просто попроси. В Claude Code достаточно сказать «поставь пакет reverse-engineering в этот проект» — ассистент выполнит init сам; «проверь, что пакет цел» → doctor.
3. Конвейер: шесть модулей и чекпоинты
От разведки до плана на 90 дней: что делает каждый модуль и почему их нельзя переставлять.
Ключевая мысль: конвейер из шести модулей с чекпоинтами
Партнёр спрашивает про деньги, поэтому Лика хотела начать с экономики. Оркестратор не дал — и правильно. Посмотри на схему выше: это конвейер из шести модулей, и каждый следующий питается выходом предыдущего.
- M1 Разведка — верифицированный Fact Sheet о компании: финансирование, продукт, масштаб, технологии. У каждой строки — ссылка.
- M2 Продукт и клиенты — one-liner, сегменты по методу Jobs-to-be-Done (какую «работу» клиент нанимает продукт выполнить: функциональную, эмоциональную, социальную), голос клиента из настоящих отзывов.
- M2.5 Прототип CJM (только DEEP) — три варианта пути клиента как кликабельное приложение; выбранный вариант
{CHOSEN_CJM}идёт дальше по конвейеру. - M3 Рынок и конкуренция — размер рынка, теория игр, TRIZ-позиционирование.
- M4 Бизнес и финансы — юнит-экономика, P&L, чувствительность.
- M5 Двигатель роста — петля роста, каналы, рвы.
- M6 Синтез — playbook запуска: план на 90 дней и проверка на пустословие.
Почему нельзя прыгать: M4 берёт цены из M1, сегменты из M2 и долю рынка из M3. Начни с M4 — и будешь считать экономику продукта, которого ещё не описал. Именно это случилось с первым черновиком Лики.
Перед M1 стоит ещё модуль 0 — предполётная проверка: если переменные {COMPANY}, {URL}, {INDUSTRY}, {GEOGRAPHY}, {MODE} неясны, оркестратор зовёт навык explore. А после КАЖДОГО модуля — чекпоинт: оркестратор показывает результат и ждёт твоей команды.
Компромисс: жёсткий порядок защищает от «экономики без сегментов», но не даёт срезать путь, когда половину ты уже знаешь; лечится командой пропусти на чекпоинте — осознанно, не по умолчанию.
💬 Просто попроси. «Разбери Calendly, начни с разведки» — и оркестратор сам пойдёт по конвейеру, останавливаясь на чекпоинтах.
4. Три режима глубины: QUICK, DEEP, VERIFIED
Когда хватит быстрого прогона, когда нужна формула уверенности, а когда — подписи Ed25519.
Ключевая мысль: три режима глубины
Прежде чем читать дальше, реши за Лику сам. Ей нужно: в четверг вечером понять, есть ли вообще бизнес; к пятнице принести партнёру цифры, за каждую из которых он спросит; а юрист фонда хочет через полгода доказать, что журнал фактов не редактировали. Сколько это режимов и каких? Запомни ответ — сейчас сверим.
У навыка три режима глубины, и различаются они не «качеством», а тем, откуда берётся уверенность:
- QUICK — статический список поисковых запросов, шаблоны, уверенность ты ставишь руками по шкале X/5. Пакет оценивает прогон примерно в 70 минут.
- DEEP — адаптивная разведка GOAP (планирование от цели: состояние → действия → путь A*) с петлёй OODA; добавляются теория игр, TRIZ, мышление второго порядка, прототип CJM и BS-check; уверенность считается по формуле. Около 140 минут.
- VERIFIED — всё из DEEP плюс подписи Ed25519: у каждого факта — журнал провенанса и защита от подмены. Около 170 минут.
Вот подвох, на который Лика попалась: подпись Ed25519 доказывает, КТО подписал и что байты не менялись после подписи. Она не доказывает, что факт правдив. И ещё честнее: доверенных издателей с закреплёнными ключами в пакете по умолчанию нет — реестр пуст, ключи добавляются явно. Так что VERIFIED — это про неизменяемый журнал, а не про «комитет поверит».
Сверь свой ответ: четверг — QUICK; цифры для партнёра — DEEP, потому что там уверенность по формуле, а не «на глаз»; юрист — VERIFIED, и только ради него. Переключаться можно на ходу: команда чекпоинта переключи на DEEP пересобирает текущий модуль глубже.
Компромисс: каждый следующий режим примерно вдвое дороже по времени, но платишь за конкретное свойство — формулу уверенности или неизменяемый журнал; если свойство никто не спросит, режим выбран зря.
💬 Просто попроси. «Разбери Calendly в режиме DEEP» — режим передаётся словами; «переключи на VERIFIED» работает прямо на чекпоинте.
5. «НЕ НАЙДЕНО» лучше правдоподобной цифры
Пять правил доказательности, шкала надёжности источников и почему честный пробел ценнее выдумки.
Ключевая мысль: правило НЕ НАЙДЕНО вместо выдумки
В первом черновике Лики стояла оценка Calendly — красивая, круглая, по памяти. Партнёр спросил: «откуда?» — и черновик умер на месте. Вот пять правил доказательности, которые действуют во ВСЕХ режимах и которые Лика теперь знает наизусть:
- Сначала поиск. Факты никогда не берутся из памяти модели.
- У каждого факта — URL. Нет ссылки — нет факта.
- «НЕ НАЙДЕНО» лучше выдумки. Нет данных — так и пишется, в разделе «Пробелы и непроверенные данные».
- Гипотезы помечены. Непроверенное утверждение несёт тег
[H]. - Оценка уверенности — в конце каждого модуля.
Неожиданное здесь — правило 3. Кажется, что пустая ячейка в Fact Sheet — это провал. На деле честный пробел — информация: партнёр знает, куда копать. А правдоподобная цифра — ловушка: её понесут на комитет, и никто не проверит. Модуль разведки в DEEP формулирует это как шаг петли OODA: «если данных о финансировании нет после трёх попыток — пометить НЕ НАЙДЕНО, не гадать».
Откуда в DEEP берётся уверенность по формуле:
confidence = base_reliability × recency_factor
base_reliability— уровень источника делить на 5: уровень 5 — отчётность SEC, верифицированный Crunchbase, официальный пресс-релиз; 4 — Reuters, Bloomberg, TechCrunch; 3 — отраслевые отчёты; 2 — блоги и соцсети; 1 — форумы.recency_factor— свежесть: 1.0 для данных моложе полугода, 0.9 до года, 0.7 до двух лет, 0.5 старше.
Свежий пост в блоге даст 0.4 × 1.0 = 0.4; двухлетний отчёт SEC — 1.0 × 0.7 = 0.7. Шкала на схеме — именно этот base_reliability.
Компромисс: правила замедляют разбор — каждую цифру надо найти, а не вспомнить; зато в документе нет ни одной строки, которую нельзя защитить вопросом «откуда?».
💬 Просто попроси. Если в отчёте попалась цифра без ссылки, скажи ассистенту: «найди источник или пометь НЕ НАЙДЕНО» — правило 3 он знает.
6. Модуль 0: предполётное уточнение через explore
Как навык explore превращает «сделай аналог Calendly» в бриф задачи — по одному вопросу за ход.
Ключевая мысль: предполётное уточнение по одному вопросу
«Аналог Calendly в России» — звучит конкретно, пока не спросишь: для кого? Для фрилансеров, которым нужна ссылка на календарь, или для отделов продаж с квотами? Это два разных продукта, и Лика сама не знала, какой имел в виду партнёр.
Для этого перед M1 стоит модуль 0 — предполётное уточнение. Если переменные разбора ({COMPANY}, {URL}, {INDUSTRY}, {GEOGRAPHY}, {MODE}) неясны, оркестратор зовёт навык explore. Его девиз: не решай, пока не понял. Большинство провальных решений решают не ту задачу.
Как он работает:
- Классифицирует задачу — продукт, проблема, решение, исследование — и выбирает 3–5 измерений для вопросов.
- Задаёт один вопрос за ход, начиная с реальной цели: «если это сработает идеально — что изменится?». Потом ограничения, потом критерии успеха.
- Через 3–7 ходов собирает бриф задачи: цель, контекст, критерии успеха, ограничения, ресурсы, срок, допущения, что вне рамок. И спрашивает: «так? что добавить или поправить?».
Открытый вопрос, над которым стоит подумать до того, как читать дальше: почему один вопрос за ход, а не анкета из десяти? Ответ в анти-паттернах навыка: «режим допроса», «преждевременные решения», «переспрашивать то, что уже сказано». Анкета — допрос; диалог — уточнение. И ещё: заявленная цель редко бывает настоящей, а ограничения раскрывают возможности.
Лике первый вопрос explore задал про исход: «что изменится для фонда, если playbook сработает?». Ответ — «партнёр решит, входить ли в сделку» — и сразу стало ясно, что нужен DEEP и сегмент «отделы продаж».
Компромисс: предполётное уточнение стоит 3–7 ходов диалога — это цена; выигрыш в том, что конвейер не потратит 140 минут на разбор не того продукта.
💬 Просто попроси. Если сомневаешься в постановке, скажи ассистенту «сначала уточни задачу» — он включит explore до запуска модулей.
7. Разведка GOAP и две оси доверия
Как goap-research-ed25519 планирует поиск и почему подписанный факт может стоить ноль.
Ключевая мысль: слабое звено решает уверенность
В DEEP и VERIFIED разведку M1–M5 ведёт навык goap-research-ed25519. Две идеи, и обе Лика сначала поняла неправильно.
Идея 1 — GOAP, планирование от цели. Вместо статического списка запросов навык описывает состояние («знаем компанию и URL, не знаем финансирование») и цель («пять блоков Fact Sheet заполнены, у каждого факта URL»). Действия имеют предусловия и эффекты: «поиск Crunchbase» требует имя компании и даёт данные о раундах. Путь ищется алгоритмом A*: стоимость g — сколько запросов сделано, эвристика h — сколько ячеек ещё пусто. Сверху — петля OODA: наблюдай результат, ориентируйся («Crunchbase пуст → компания ранняя, идём в LinkedIn»), решай, действуй.
Идея 2 — у факта две независимые оси, и слабое звено решает.
- Ось доверия отвечает на вопрос «менялась ли запись после подписи?»:
ISSUER_SIGNED(подпись сходится с закреплённым ключом издателя) — потолок 0.95;SELF_ATTESTED(подписал сам исследователь) — 0.60;UNVERIFIED— 0. - Ось evidence отвечает на другой вопрос — «открывал ли кто-нибудь источник?»:
FETCH_VERIFIED(запрос реально ушёл, тело получено, хеш записан) — 1.0;LISTING_ONLY(URL известен из выдачи, страницу не открывали) — 0.50;ASSERTED(сказано по памяти) — 0. - Третий потолок — класс источника: A 0.90 (ВОЗ, реестры), B 0.80 (рецензируемая литература), C 0.60, D 0.40 (всё остальное).
confidence = min(потолок доверия, потолок evidence, потолок класса). Минимум, не среднее. Вот почему опасная комбинация — ISSUER_SIGNED + ASSERTED: криптографически безупречная запись того, что кто-то вспомнил. Её уверенность — 0.
Лика думала, что подпись = правда. Навык говорит прямо: подпись — это провенанс, а не истина. И FETCH_VERIFIED нельзя объявить руками — его выдаёт только функция, которой скормили запись реального HTTP-запроса. Перед отчётом стоит гейт check_report_evidence.py: ASSERTED в отчёте — код выхода 1.
Честная оговорка из самого навыка: строгие режимы планирования (strict/paranoid) требуют реальных ключей издателей, а у обычных источников их нет — так что «из коробки» они недостижимы, и навык честно возвращает GOAL_UNREACHABLE, а не выдумывает план.
Компромисс: две оси и три потолка — больше полей на каждый факт; зато «подписано, но никто не читал» перестаёт выглядеть как доказательство.
💬 Просто попроси. «Покажи по каждому факту обе оси — доверие и evidence» — навык обязан выводить их в отчёте.
8. M2.5: три развилки прототипа пути клиента
Как из сегментов M2 рождаются три варианта пути клиента, и куда уходит выбранный.
Ключевая мысль: три развилки прототипа пути клиента
Теперь ты играешь роль. В DEEP после M2 конвейер делает шаг, которого Лика не ждала: генерирует кликабельный прототип пути клиента (CJM — карта того, как человек идёт от первого касания до оплаты) — и не один, а три варианта.
Откуда берутся варианты — из данных M2, не из головы. Модуль вынимает строительные блоки: сегменты с их «работами» (функциональной, эмоциональной, социальной), Aha-момент, жалобы, то, что хвалят, тарифы. Потом задаёт три развилки:
- Aha-момент — что создаёт «вау»: основной из M2; альтернативный из жалоб («а если главная боль не та, что думает компания?»); радикальный из смежной индустрии.
- Точка входа — как формулируем ценность: от функциональной работы сегмента 1, от эмоциональной сегмента 2, от социальной сегмента 3.
- Момент paywall — когда просим денег: сразу после Aha; после N дней привычки; после первого результата.
Три развилки дают таблицу вариантов A/B/C — с гипотезой и главным риском у каждого. Оркестратор показывает таблицу и ждёт «ок». Потом пишет НОВЫЙ файл .jsx с переключателем вариантов, сравнением и конструктором. Правило модуля крупными буквами: генерация, не копирование — пример с Noom в examples/ показывает структуру кода, а не контент.
Ты исследуешь варианты, сравниваешь, собираешь свой — и фиксируешь победителя. Он становится {CHOSEN_CJM} и питает всё дальше: M3 сравнивает его Aha с конкурентами, M4 берёт момент paywall в модель выручки, M5 — его основную петлю, M6 — его экраны как объём MVP.
Команды этого чекпоинта: выбираю A, собираю свой, объедини A+C, ещё вариант: [идея], другой Aha в B: [что], перерисуй [экран], без overlay — чистый прототип для показа клиентам.
Лика хотела «взять прототип Noom и переименовать». Модуль это прямо запрещает — и правильно: в прототипе Noom paywall стоит там, где работает психология похудения, а не продаж по календарю.
Компромисс: три варианта вместо одного — больше экранов и решений на тебе; взамен спор «какой Aha правильный» переносится из презентации в кликабельный прототип, где его можно потрогать. Навык frontend-design для дизайна прототипа — необязательный и внешний; без него модуль работает по запасному пути.
💬 Просто попроси. «Объедини вход из A и paywall из C» — оркестратор понимает такие команды на чекпоинте 2.5.
9. Чекпоинт: команды, которыми ты правишь курс
Восемь команд после каждого модуля — и почему ошибка на чекпоинте 2 стоит один модуль, а на шестом — пять.
Ключевая мысль: чекпоинт после каждого модуля
После каждого модуля оркестратор останавливается и показывает блок вроде этого — из шаблона финального чекпоинта:
⏸️ CHECKPOINT 6: PLAYBOOK COMPLETE ✅
📋 90-Day Plan: 24 действия с инструментами
✅ BS-Check: X/7 passed (DEEP/VERIFIED)Дальше он ждёт твоей команды. Их восемь, и Лика выучила их за один прогон:
ок/далее— следующий модуль;глубже [тема]— дополнительная разведка по теме;скорректируй [что]— исправить вывод;переключи на DEEP/переключи на VERIFIED— пересобрать модуль глубже;пропусти— к следующему модулю;стоп— сохранить состояние;сначала— перезапустить текущий модуль.
Зачем останавливаться семь раз? Считай стоимость ошибки. Сегменты в M2 построены по шести отзывам — множитель размера выборки в формуле уверенности даёт 0.5. Если заметить это на чекпоинте 2, цена — один модуль: глубже отзывы B2B. Если заметить в M6 — переделывать M3, M4, M5 и M6, потому что каждый из них взял эти сегменты за основу. Чекпоинт — это место, где ошибка ещё дешёвая.
Именно так Лика и поступила: на чекпоинте 2 увидела «Sources used: 1 platform», сказала глубже отзывы на G2 и Capterra — и только потом отпустила конвейер к экономике.
Ещё одна деталь: стоп — не «отмена», а сохранение состояния. Разбор в DEEP длится больше двух часов, и уходить с середины без потери — штатный сценарий.
Компромисс: семь остановок — семь раз, когда нужно прочитать и ответить, а не уйти пить кофе; зато ни одна ошибка не доезжает до playbook незамеченной, и переделка стоит один модуль, а не пять.
💬 Просто попроси. Команды чекпоинта — обычные слова: «углуби конкурентов», «поправь сегмент 2» ассистент поймёт как глубже и скорректируй.
10. M5: мотион и петля — два независимых выбора
Как компания доходит до покупателя и что заставляет использование порождать использование — и почему «нет петли» честный ответ.
Ключевая мысль: мотион и петля роста выбираются независимо
Взвесь сама, как взвешивала Лика. Calendly растёт так: человек получает ссылку на календарь, бронирует встречу — и видит продукт. Это самообслуживание без разговора с продавцом И одновременно петля: результат работы продукта приводит следующего пользователя. А аналог для отделов продаж в России — сделку закрывает человек. Значит, петли нет? Не торопись.
Модуль M5 с версии 0.2.0 разделяет два независимых вопроса, которые раньше стояли одним списком «выбери одно»:
- Мотион — как компания доходит до покупателя: контент и SEO; платный маркетинг; продажи через людей (sales-led); партнёры; самообслуживание (product-led).
- Петля роста — что заставляет использование порождать использование: нет петли; продуктовая (результат продукта приводит следующего); сообщество; значок или встраивание на чужой странице; поощряемая реферальная (одно- или двусторонняя); сетевой эффект.
Один список делал невыразимым самый обычный случай: компания продаёт через отдел продаж И крутит реферальную петлю. Теперь это два выбора — по одному из каждой таблицы. И нет петли — полноценный ответ, а не пропуск: линейный рост меняет всю экономику, и написать это прямо честнее, чем оставить пустую строку.
Ответ Лики: мотион — sales-led, петля — продуктовая, потому что ссылку на встречу всё равно получает клиент клиента. Согласен? Если нет — у тебя другие данные из M2, и это не ошибка.
Дальше M5 делает то, чего раньше не делал — переводит анализ в обязательства:
- Чеклист допустимости — семь вопросов ДО того, как приём станет требованием: отзывы настоящие? отписка так же проста, как подписка? рассылки по согласию? реферальная программа не скрытая оплата? Ссылка на норму и где её смотреть — и ни одной суммы: цифры устаревают за год. Ответ «нет» — находка, записывается рядом с приёмом.
- Growth Requirements Seed — таблица
FR-GROWTH-nnn: одно требование в строке, блок-источник (A–F), уверенность ДОСЛОВНО из блока, итог чеклиста и статус:ЧЕРНОВИК,SPECULATIVE(источник помечен[H]или НЕ НАЙДЕНО) илиЗАБЛОКИРОВАНО(есть «нет» в чеклисте).
Две честные оговорки самого модуля: строка FR-GROWTH-nnn — черновик, а не «построено»; и допустимость спрошена, не установлена — «вопросы пройдены» значит «человек не увидел препятствия», а не «это законно».
Компромисс: две оси и таблица требований — больше клеток, чем в старом списке; взамен sales-led с реферальной петлёй наконец можно записать, а приём роста не попадёт в спецификацию, минуя вопрос о допустимости.
💬 Просто попроси. «Какой мотион и какая петля у Calendly?» — ассистент ответит двумя строками, по одной из каждой таблицы.
11. Теория игр и TRIZ: противоречие без компромисса
Что problem-solver-enhanced добавляет в M3–M5 и почему «средняя цена» — признак непонятой задачи.
Ключевая мысль: противоречие разрешается без компромисса
В модели M4 у Лики стояло: «цена должна быть высокой для юнит-экономики и низкой для входа на рынок — берём среднюю». В DEEP конвейер подключает навык problem-solver-enhanced, и тот отвечает цитатой из своей философии: если решение требует компромисса, ты не понял противоречие.
Одна и та же мысль — тремя способами.
Общая картина. Навык — девять модулей от первых принципов до плана действий; конвейер берёт из него четыре: в M3 — теорию игр (игроки, матрица выигрышей, равновесие), в M4 — первые принципы («что знаем, что предполагаем, во что верим») и TRIZ, в M5 — мышление второго порядка (петли обратной связи, точки перелома, реакция конкурентов).
По шагам — как TRIZ разбирает противоречие:
- Сначала идеальный конечный результат (IFR): функция выполняется сама, без затрат и вреда — и только потом ограничения.
- Назови тип. Техническое противоречие: улучшаем A — портим B (дешевле трафик — хуже LTV). Физическое: один элемент должен быть A и не-A одновременно (цена высокая И низкая).
- Техническое разрешают изобретательскими принципами: сегментация, посредник, самообслуживание, предварительное действие. Физическое — принципами разделения: во времени, в пространстве, по условию, по уровню системы, через переход, через посредника.
Конкретный артефакт — матрица выигрышей из M3. Наш аналог выбирает низкую или премиальную цену; инкумбент отвечает войной, сосуществованием или игнорированием. В шаблоне модуля клетка «низкая цена → война» даёт (−2, +1), «премиум → игнорирует» — (+3, +1). Матрица заставляет записать реакцию противника, а не надеяться, что её не будет.
Вернёмся к цене Лики. Это физическое противоречие, и разделение по условию решает его без средней: высокая цена для отделов продаж с квотами, низкая — для фрилансеров, и это два тарифа, а не один компромисс. Именно так Лика и переписала M4.
Компромисс (да, здесь он всё-таки есть): TRIZ и теория игр — ещё два слоя рассуждений в модулях, которые и без того длинные; зато «средняя цена» перестаёт быть ответом по умолчанию, а реакция конкурента записана до запуска, а не после.
💬 Просто попроси. «Какое здесь противоречие и как его разделить?» — ассистент применит TRIZ-модуль навыка к твоей модели.
12. M6: playbook, критерии остановки и BS-check
План на 90 дней, семь вопросов проверки на пустословие и почему «если не зайдёт» — не критерий.
Ключевая мысль: критерии остановки с числовыми порогами
Финальный модуль собирает всё в playbook запуска. Правило M6 — конкретика важнее абстракции: не «разработать маркетинговую стратегию», а «запустить три рекламные кампании по 50 долларов в день через Ads Manager на сегмент 1, конверсия выше 2%». Каждое действие отвечает: КТО, ЧТО, каким инструментом, за сколько, как измеряем.
Из чего состоит playbook: тезис в три предложения, сводная бизнес-модель из M1–M5, план на 90 дней (недели 1–2 — валидация, 3–4 — MVP, месяц 2 — первые пользователи, месяц 3 — сигналы product-market fit), команда, бюджет на полгода, матрица рисков, табло метрик и — вот на чём споткнулась Лика — критерии остановки (Kill Criteria).
Её первый вариант: «если не зайдёт — остановимся». Шаблон модуля выглядит иначе:
- неделя 2: меньше 5 из 20 интервью подтверждают боль → стоп;
- неделя 4: меньше 3% регистраций с лендинга → стоп;
- месяц 2: 0 из 10 бета-пользователей вернулись на 7-й день → стоп;
- месяц 3: меньше 500 долларов MRR и меньше 20 платящих → стоп.
Разница в одном слове: порог. Критерий остановки — это число и момент проверки; «если не зайдёт» проверить нельзя, значит, остановиться по нему нельзя тоже.
В DEEP перед показом playbook проходит BS-check — проверку на пустословие через необязательный навык brutal-honesty-review. Семь вопросов режима Бах: 1) есть ли действие без инструмента? 2) есть ли «значительный рост» без числа? 3) сделают ли это 2–3 человека за 90 дней? 4) можно ли по критериям остановки РЕАЛЬНО принять решение «стоп»? 5) хватает ли бюджета? 6) не противоречит ли рост из M5 экономике из M4? 7) не копируем ли стратегию компании на миллиарды для стартапа на ноль — ошибка выжившего? Итог — BS-Score X/7, и он встраивается в playbook как раздел Quality Gate. Режим Рамзи добивает стандартами: «NPS < 30», а не «пользователи недовольны».
Остановись на минуту и подумай о собственных планах: сколько в них критериев остановки с числом и датой, а сколько — «посмотрим, как пойдёт»? Этот вопрос и есть главный вынос секции.
Компромисс: порог можно поставить неправильно, и он остановит живой проект; но критерий без порога не остановит ничего — а это дороже. Лика поставила пороги из шаблона и пометила их [H] до первых интервью.
💬 Просто попроси. «Прогони playbook через BS-check» — если brutal-honesty-review установлен, ассистент выдаст X/7 с найденными пробелами.
13. Что в коробке: канон, копии и подпись
Какие навыки едут с пакетом, какие нет, почему оркестратор — канонический артефакт и что подписывает манифест.
Ключевая мысль: канонический артефакт и отслеживаемая копия
Это «боковая» секция — но без неё Лика потеряла полдня, так что читай её как основную.
Что едет в пакете. Ядро конвейера самодостаточно: оркестратор reverse-engineering-unicorn, три навыка explore, goap-research-ed25519, problem-solver-enhanced и slash-команда. А вот режимы DEEP и шаги после M6 ссылаются на навыки, которых в пакете нет — их ставишь отдельно:
frontend-design— дизайн прототипа CJM в M2.5;brutal-honesty-review— BS-check в M6, живёт в@dzhechkov/skills-qe;presentation-storyteller,idea2prd-manual,md2pptx— питч, PRD и конвертация после M6.
Канонический артефакт. Оркестратор раньше существовал в двух расходящихся копиях — в keysarium и в p-replicator. Копия из keysarium ссылалась на несуществующий навык goap-research без суффикса; именно на неё наткнулась Лика: «навык не найден». Решение по ADR-0001 (запись об архитектурном решении): у навыка одно каноническое место — этот пакет. Взято тело из p-replicator (правильные ссылки на goap-research-ed25519) плюс заголовок trust_tier из keysarium; пути /mnt/skills/... переписаны на .claude/skills/<id>. Потребители ссылаются на навык по идентификатору, а не носят свои копии.
Отслеживаемая копия. Тройка explore / goap / problem-solver — не канон этого пакета, а копия из @dzhechkov/skills-analyst-manual. Отслеживаемая — значит, файл sources.json записывает, откуда она пришла, и dz sync-upstream пересинхронизирует её с каноном вместо тихого дрейфа.
Что подписано. Файл .dz-manifest.json подписывает ровно те файлы, что уходят в тарбол npm pack, — не всё, что лежит в рабочей папке автора. Раньше в подпись попадал CHANGELOG.md, который поле files[] из тарбола исключает, и у каждого получателя проверка сообщала «в манифесте есть, файла нет» — пакет читался как подменённый. Переподписать раньше не помогло бы: файла в тарболе не было никогда. Содержимое не менялось — изменилось только то, что подпись описывает. Проверить у себя: dz verify-pack из @dzhechkov/harness-cli, если он стоит.
Компромисс: канон в одном месте плюс отслеживаемые копии — ещё один файл учёта и ещё одна команда синхронизации; взамен «навык не найден» из-за чужой устаревшей копии больше не повторяется.
💬 Просто попроси. «Какие навыки для DEEP у меня не установлены?» — ассистент сверит список с проектом и назовёт, что поставить.
Частые вопросы
- Нужно ли ставить что-то кроме самого пакета, чтобы пройти конвейер?
Для QUICK — нет: ядро самодостаточно, четыре навыка и команда едут в пакете. Для DEEP понадобятся внешние навыки: frontend-design (прототип CJM в M2.5) и brutal-honesty-review (BS-check в M6, из @dzhechkov/skills-qe); для шагов после M6 — presentation-storyteller, idea2prd-manual, md2pptx. Без них модуль скажет об этом и пойдёт по запасному пути.
- Можно ли начать с QUICK и потом углубить, не переделывая всё?
Да: на любом чекпоинте команда «переключи на DEEP» или «переключи на VERIFIED» пересобирает текущий модуль глубже. Переделывать с M1 не нужно — но помни, что модули ниже по конвейеру уже взяли за основу старый вывод.
- Подпись Ed25519 в VERIFIED доказывает, что факты правдивы?
Нет. Подпись доказывает, кто подписал каноническое сообщение и что байты после подписи не менялись — провенанс и защиту от подмены. Правдивость проверяется обычной оценкой источников, а «открывал ли кто-нибудь источник» — отдельной осью evidence. И реестр доверенных издателей по умолчанию пуст: ключи добавляются явно.
- Что делать, если данные о компании не находятся?
Писать НЕ НАЙДЕНО в разделе «Пробелы и непроверенные данные». Это правило 3 из пяти правил доказательности, и оно действует во всех режимах: честный пробел — информация, правдоподобная выдумка — ловушка.
- Как убедиться, что пакет не подменили?
Если стоит @dzhechkov/harness-cli — dz verify-pack проверит подпись .dz-manifest.json. С этого релиза манифест подписывает ровно те файлы, что уходят в тарбол npm pack, поэтому ложное «подменено» из-за CHANGELOG.md, которого в тарболе никогда не было, больше не возникает.
- Разбор идёт долго. Можно прерваться и вернуться?
Да: команда чекпоинта «стоп» сохраняет состояние, «сначала» перезапускает текущий модуль. DEEP-прогон сам пакет оценивает примерно в 140 минут, VERIFIED — в 170, так что пауза посреди — штатный сценарий.
- Строка FR-GROWTH-nnn в M5 значит, что функция роста уже спроектирована?
Нет. Это черновик обязательства: одно требование, блок-источник, уверенность дословно из блока, итог чеклиста допустимости и статус. Черновик не равен «построено», а «вопросы пройдены» не равно «законно» — заключение даёт юрист, не шаблон.