Proboi discovery
Open-source Claude Code skills by the Proboi team — humanizer-ru, discovery, and more.
npx -y skills add Proboi-ai/proboi-skills --skill proboi-discoveryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Используй этот скилл когда юзер ставит крупную или неоднозначную задачу, где «сделать наугад» = переделывать. Триггеры — «сделай проект», «нужна стратегия», «разработай план», «помоги разобраться в теме», «подготовь материал по», «сделай как лучше», «не знаю с чего начать», «сделай красиво/качественно», а также любой запрос, где не хватает контекста чтобы выдать сильный результат с первого раза (тема размыта, нет деталей, много развилок). НЕ запускай на простых однозначных задачах (см. Шаг 0). Скилл сначала спрашивает разрешение на исследование, затем изучает память и файлы юзера, при необходимости ищет в интернете, задаёт 2-4 уточняющих вопроса кнопками, отправляет спеку проекта txt-файлом на утверждение и только после «да» начинает работу.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
16.9 KB, as published. Nobody here has run it
proboi-discovery — глубокое исследование перед большой задачей
Этот скилл нужен, чтобы на крупных и размытых задачах не угадывать, а сначала разобраться: что юзер уже делал (память), что у него есть (файлы), что говорит мир (интернет) — и зафиксировать спеку, которую юзер утвердит, ПРЕЖДЕ чем тратить время и кредиты на сам результат.
Принцип один: дорогую процедуру запускает сам юзер. Бот только предлагает. Без явного «да» — никакого исследования.
Главное про среду (прочитай, иначе сломаешь поток)
Ты работаешь внутри Telegram-бота. Три инструмента ведут весь диалог:
- Кнопки юзеру:
mcp__ask-user__ask_user(question, options[]). Это 2-6 вариантов. После вызова немедленно остановись и закончи ход. Ничего не пиши после вызова. Ответ юзера придёт как его СЛЕДУЮЩЕЕ сообщение — то есть в новом ходе. Скилл из-за этого работает по шагам через несколько ходов, а не за один проход. - Поиск в интернете:
mcp__batch-research__search(принимает массивqueries) +mcp__batch-research__fetchдля чтения конкретной страницы.WebSearchНЕДОСТУПЕН. Не качай через curl/wget — RU-IP часто ловит 429. - Отправка файла:
mcp__send-file__send_file(file_path, caption). Fire-and-forget — можно продолжать после вызова. Файл клади в vault юзера.
Память юзера: MEMORY.md и папка memory/ в его рабочей директории (vault). Там — кто он, что делал, его форматы и предпочтения.
Файлы юзера: его vault (рабочая директория). Читай через Read/Glob/Grep.
Поток скилла — машина состояний
SKILL.md перечитывается каждый ход. Определи, на каком ты этапе, по истории диалога, и сделай ровно один шаг.
Этап A: Шаг 0 (фильтр) → если задача простая, выйти из скилла
Этап B: спросить разрешение на исследование (кнопки) → СТОП
├─ юзер «Нет» → делать задачу обычно, скилл закончен
└─ юзер «Да» → Этап C
Этап C: изучить память + файлы → решить, нужен ли интернет
├─ интернет нужен → искать (batch-research), затем Этап D
└─ не нужен → сразу Этап D
Этап D: задать 2-4 уточняющих вопроса (кнопками, по одному) → СТОП
(повторяется, пока не хватит данных на точную спеку)
Этап E: собрать спеку → отправить txt-файлом → спросить «утверждаешь?» (кнопки) → СТОП
├─ юзер «Да» → Этап F
├─ юзер «Поправить» → вернуться к Этапу D с правкой
└─ юзер «Отмена» → закончить, ничего не делать
Этап F: выполнить задачу строго по утверждённой спеке
Этап A — Шаг 0: а нужно ли вообще исследование?
НЕ запускай скилл (делай задачу сразу, молча) когда:
- Простой однозначный запрос: «переведи это», «сократи текст», «посчитай», «что это за файл».
- Чтение / объяснение: «покажи», «расскажи как работает», «что такое X».
- Мелкое действие: «поправь опечатку», «поменяй заголовок», «добавь строку».
- Команда: «отправь файл», «сохрани», «запусти».
- Юзер уже дал полное ТЗ со всеми деталями — исследовать нечего, переходи к работе.
- Юзер явно просит «быстро / просто / без вопросов / сделай уже».
Запускай скилл когда задача крупная ИЛИ размытая: проект, стратегия, большой документ, разбор темы, «сделай как лучше», «не знаю с чего начать», много неизвестных и развилок.
Сомневаешься между «простая» и «крупная»? Считай простой — лучше не навязываться. Скилл всегда можно предложить одной кнопкой (Этап B), а не тащить через всю процедуру.
Этап B — спросить разрешение
Никогда не начинай исследование без согласия. Один вызов кнопок:
mcp__ask-user__ask_user(
question: "Это большая задача. Хочешь, я проведу исследование по теме — изучу твои прошлые материалы, поищу в интернете и соберу точную спеку, чтобы сделать лучший результат с первого раза? Это займёт пару дополнительных шагов.",
options: ["Да, исследуй", "Нет, делай сразу"]
)
После вызова — СТОП, конец хода. Ничего не дописывай.
В следующем ходе придёт ответ:
- «Нет, делай сразу» → выполни задачу обычным способом, скилл завершён.
- «Да, исследуй» → переходи к Этапу C.
Этап C — изучить контекст (внутри задачи)
Исследуй ТИХО, не заваливая юзера статусами. Один короткий статус допустим («Изучаю твои материалы…»), не больше.
- Память. Прочитай
MEMORY.mdюзера. Если есть релевантные записи — открой нужные файлы изmemory/. Ищи: похожие прошлые задачи, его форматы, тон, предпочтения, прошлые решения по этой теме. - Файлы. Glob/Grep по vault: есть ли уже наработки по теме (черновики, прошлые версии, данные, брендбук). Прочитай то, что прямо относится к задаче.
- Реши, нужен ли интернет. Нужен, если в задаче есть внешние факты: рынок, конкуренты, актуальные данные, незнакомая предметка, «как делают другие». НЕ нужен, если задача чисто про материалы юзера (доделать его отчёт, переоформить его данные).
Интернет (если нужен):
mcp__batch-research__searchс массивом из 2-4 точных запросов. Не один общий — несколько узких.mcp__batch-research__fetchтолько для 1-3 самых релевантных ссылок. Не читай всё подряд.- Обработка ошибок поиска: на
search_unavailable— скажи юзеру, что поиск временно недоступен, и предложи продолжить без интернета. Наno_results— переформулируй запрос один раз, потом иди дальше без него. - Держи дисциплину по бюджету: глубокое ≠ бесконечное. 2-4 запроса + 1-3 fetch — потолок на этом этапе, если юзер не просил больше.
Собери из этого 3-5 ключевых фактов, которые повлияют на результат. Они пойдут в спеку и помогут задать умные вопросы.
Этап D — уточняющие вопросы (2-4)
Цель — закрыть развилки, которые НЕ закрылись после изучения контекста. Не спрашивай то, что уже знаешь из памяти/файлов/поиска.
Правила:
-
2-4 вопроса максимум за всю задачу. Лучше меньше.
-
Задавай по одному вопросу за ход через
mcp__ask-user__ask_user(механика кнопок: один вопрос = один вызов = СТОП). Получил ответ в следующем ходе → следующий вопрос. -
Каждый вопрос — кнопками с 2-4 готовыми вариантами. Юзеру проще ткнуть, чем печатать. Всегда можно добавить вариант с самым вероятным значением по умолчанию и пометить его.
-
Язык — простой человеческий. Никаких имён файлов, функций, технических терминов. Описывай результат и смысл, а не реализацию.
Плохо: «Какой формат экспорта — PDF через reportlab или HTML?» Хорошо: «Готовый результат тебе удобнее получить файлом-документом или ссылкой на страницу?»
Что закрывать вопросами (бери только релевантное):
- Цель — что юзер хочет получить и зачем, для кого это.
- Объём/глубина — коротко и по делу или развёрнуто и подробно.
- Формат — как удобнее получить результат.
- Тон/стиль — если уместно (деловой / живой / строгий).
- Развилка подхода — если есть два разумных пути, дай выбрать.
Останавливайся, как только можешь написать спеку без догадок. Если после изучения контекста всё и так ясно — хватит и одного вопроса, а то и сразу к спеке.
Этап E — спека на утверждение
Собери всё в короткую спеку. Это не роман. Один экран, на языке юзера.
Структура спеки (txt):
СПЕКА: <название задачи>
Что делаем:
<1-3 предложения — суть результата>
Что я узнал:
- <факт из памяти/файлов>
- <факт из интернета, если искал>
- <ещё 1-2 ключевых>
Твои ответы:
- <вопрос>: <выбор юзера>
- ...
Что войдёт в результат:
- <пункт>
- <пункт>
- ...
Формат: <как отдадим>
Чего НЕ делаем: <явные границы, если есть>
- Запиши спеку в файл vault, например
<vault>/spec-<краткое-имя>.txt. - Отправь её юзеру:
mcp__send-file__send_file( file_path: "<полный путь>/spec-<имя>.txt", caption: "Вот спека проекта. Посмотри — всё верно? После твоего «да» начну делать." ) - Спроси утверждение кнопками:
После вызова — СТОП.mcp__ask-user__ask_user( question: "Утверждаешь спеку? После «да» начну делать результат.", options: ["Да, делай", "Поправить", "Отмена"] )
В следующем ходе:
- «Да, делай» → Этап F.
- «Поправить» → спроси кнопками или текстом, что именно поправить, обнови спеку, отправь заново, снова спроси утверждение. Не зацикливайся: после 2-3 правок предложи начать на текущей версии.
- «Отмена» → закончи, ничего не делай. Спросить, нужно ли что-то ещё.
Этап F — выполнение
Делай результат строго по утверждённой спеке. Не расширяй scope, не добавляй то, чего в спеке нет, — это нарушает уговор с юзером.
- Если по ходу всплывает развилка, которой не было в спеке и которую нельзя решить здраво по умолчанию — задай один короткий вопрос кнопками, не выдумывай молча.
- Подключай профильные скиллы под формат результата (лендинг →
proboi-landing, презентация →proboi-pptx, документ →proboi-docx, таблица →proboi-xlsx, PDF →proboi-pdf, карусель →proboi-carousel). - Готовый результат отдай через
mcp__send-file__send_file. - Если задача из тех, что стоит запомнить (повторяемый формат, важное предпочтение) — предложи юзеру сохранить это в память на будущее.
Бюджет и тактичность
- Не навязывайся. Скилл — это предложение на Этапе B, а не принуждение. «Нет» уважается мгновенно.
- Не болтай статусами. Юзер не должен читать поток «сейчас открываю файл… теперь ищу…». Один короткий статус на этап — максимум.
- Глубокое, но не бесконечное. Поиск ограничен 2-4 запросами + 1-3 fetch. Вопросов — 2-4. Спека — один экран. Цель — лучший результат с первого раза, а не самое долгое исследование.
- Язык наружу — русский, простой, человеческий. Никаких технических терминов в вопросах и спеке.