VibeWise: Claude Code, который сначала спрашивает, а потом пишет код
📂 Исходный код на GitHubПлагин для Claude Code с двумя скиллами (learn и reset): он переводит работу в режим обучения, где Claude сначала спрашивает ваш подход, разбирает варианты, а потом пишет код по вашему решению и объясняет, что изменил.
Обычный вайб-кодинг выглядит так: вы описываете задачу, ИИ пишет код, вы смотрите на результат. Плагин VibeWise меняет порядок шагов. Сначала Claude спрашивает, как вы собираетесь решить задачу. Потом помогает разобрать варианты и объясняет незнакомые термины. Код появляется только после того, как вы сами утвердите решение.
Слоган проекта — «You build. AI writes». Плагин рассчитан на тех, кто хочет разбираться в коде, а не только получать его: на начинающего разработчика, джуна и опытного инженера, который впервые работает с незнакомым стеком. Решение остаётся за человеком, а Claude Code делает то, о чём вы договорились.
Что внутри репозитория
Плагин сделан для Claude Code. В репозитории есть каталог .claude-plugin с описанием плагина, каталог skills с двумя скиллами, каталог hooks, каталог assets с иконкой, документация и тесты. Лицензия — MIT.
Два скилла отвечают за две задачи:
learn— включает режим обучения. Это основной скилл, он переводит Claude Code в особый порядок работы.reset— начинает знакомство с проектом заново, если проект уже изучен и хочется пройти его второй раз.
Для установки нужны Claude Code и Python 3. Python нужен, чтобы восстанавливать контекст обучения и сбрасывать заметки. Дополнительные пакеты ставить не нужно. Своих серверов и телеметрии у плагина нет.
Установка
Плагин прошёл проверку каталога Anthropic, но в общем маркетплейсе пока не опубликован. Поэтому ставьте его через маркетплейс автора на GitHub.
В Claude Code выполните одну команду и дождитесь её завершения:
/plugin marketplace add nykooi1/vibe-wise
Потом поставьте сам плагин:
/plugin install vibe-wise@vibe-wise
Дальше перезапустите Claude Code в нужном проекте и запустите скилл:
/vibe-wise:learn
Настройка задаёт по одному вопросу. Ответы выбираются стрелками и Enter. Если варианты подходят, можно выбрать Use defaults и пропустить настройку. После этого просто попросите Claude что-нибудь собрать. Работать можно и с нуля, и внутри незнакомого репозитория: во втором случае Claude сначала посмотрит на код и нарисует небольшую карту проекта.
Чекпоинты: три точки, где вы решаете
Плагин передаёт управление не одним махом, а через отдельные остановки — чекпоинты. Их три.
| Чекпоинт | Что происходит |
|---|---|
| Build | Вы разбираете вместе с Claude, как подступиться к задаче |
| Design | Вы смотрите на предложенное решение. Confirm and continue записывает его и продолжает планирование — кода ещё нет |
| Implementation | Вы смотрите на конкретные изменения в коде. Implement this step разрешает Claude их написать |
Это не три обязательных остановки. Когда вы готовы писать код, чекпоинт Implementation подтверждает и решение тоже, поэтому отдельный Design можно пропустить.
У обоих подтверждений есть вторая опция — Discuss. Она нужна, если что-то непонятно или хочется обсудить альтернативы до того, как вы примете решение.
Обычный запрос вида «сделай мне такую-то функцию» даёт требования, а не решение архитектуры. Именно чекпоинт Build заставляет вас разобраться, как функция должна вести себя.
Как выглядит диалог
Разберём сокращённый пример из README. Вы делаете приложение для заметок в стиле Notion: есть пользователи, заметки и папки.
Вы пишете, что заметка может лежать в нескольких папках, а удаление папки должно удалять её заметки.
Claude замечает проблему: заметка «Trip ideas» лежит и в Travel, и в Summer. Удаление папки Travel удалит и заметку, а вместе с ней и запись в Summer. Claude спрашивает, что должно произойти с этой заметкой в Summer.
Вы отвечаете: оставить в Summer. Если папок больше нет, заметка остаётся вообще без папки.
Claude фиксирует, что удаление папки и удаление заметки теперь разные вещи, и задаёт следующий вопрос: как хранить принадлежность заметки к папкам, не копируя саму заметку.
Вы предлагаете таблицу связей с полями note_id и folder_id. Удаление папки убирает связи, а не заметки.
Дальше идёт чекпоинт Design с коротким описанием решения: заметки хранятся один раз, принадлежность папкам живёт в таблице связей. Одна связь — одна принадлежность, на заметку их может быть много, заметка без связей лежит вне папок.
Вариантов два:
1. Confirm and continue
Этот подход мне понятен, переходим к следующей части.
2. Discuss
Задать вопросы или уточнить непонятное до того, как решить.
После вашего согласия Claude всё ещё не пишет код. Он уточняет, что правила доступа и выбор технологий обсуждаются позже, и предлагает отдельный чекпоинт Implementation: добавить согласованные таблицы и удаление папки, а затем проверить, что заметка не пострадала и осталась в других папках.
Код появляется только после ответа Implement this step. Claude пишет изменения, запускает тесты и коротко отчитывается: какая миграция добавлена, как работает удаление папки, какие тесты добавлены и что они проверяют.
Отвечать можно обычными словами. Если нужна помощь или хочется пропустить вопрос, скажите об этом прямо.
Уровень и частота остановок
Уровень опыта меняет подачу, а не вашу роль.
| Уровень | Как Claude подаёт материал |
|---|---|
| Начинающий | Объясняет незнакомые части, рисует схемы, задаёт более простые вопросы |
| Средний | Меньше вводных, больше разбора взаимодействий и компромиссов |
| Продвинутый | Добирается до сложных ограничений, способов отказа и предположений дизайна |
Частота чекпоинтов настраивается отдельно: Light, Normal или Frequent. Плагин понимает и простые просьбы вроде «делай меньше остановок», «сосредоточься на бэкенде», «задавай вопросы с вариантами ответа», «просто сделай этот пункт». Есть команда «Pause learning» — она ставит режим на паузу, а /vibe-wise:learn возвращает его обратно.
Что лежит в .vibe-wise/
Настройки, заметки обучения и карта проекта хранятся в каталоге .vibe-wise/ внутри вашего проекта. Режим обучения продолжается в следующих сессиях и переживает сжатие контекста. Сам каталог в Git не попадает: его нужно добавить в .gitignore вручную, плагин молча этого не делает.
Заметки подставляются в контекст Claude Code, поэтому обычные настройки данных Claude Code продолжают действовать.
Если хотите изучить проект с нуля, запустите /vibe-wise:reset. Плагин покажет проект и спросит: Cancel или Reset learning. После подтверждения он сохранит профиль, прогресс и карту проекта в подкаталоге backups/, а затем начнёт знакомство заново. Исходный код и другие проекты не затрагиваются. Сменить уровень или настройки можно и без сброса — просто скажите об этом Claude.
Обновление
Автообновление для сторонних маркетплейсов выключено по умолчанию. Включите его так: откройте /plugin, перейдите в Marketplaces, найдите vibe-wise и включите Enable auto-update. После обновления Claude Code предлагает перезапуститься.
Вручную это делается в терминале:
claude plugin marketplace update vibe-wise
claude plugin update vibe-wise@vibe-wise
Затем перезапустите Claude Code. Заметки обучения сохраняются, сброс не нужен. Текущую версию показывает claude plugin list. Подробнее об обновлениях — в документации Claude Code.
Лицензия
MIT. Программу можно использовать, менять и распространять, в том числе в коммерческих целях. Условие одно: сохраняйте уведомление об авторских правах. Гарантий нет. Текст лицензии — в файле LICENSE.
Источник: https://github.com/nykooi1/vibe-wise