Готовые формулировки под конкретные задачи: собрать проект, найти баг, отрефакторить, написать тесты. Копируйте целиком — они рассчитаны на агентные режимы Cursor, Claude Code и Windsurf. У каждого промпта написано, зачем в нём та или иная строка.
Ты работаешь в пустой папке. Собери проект: {стек}.
Структура: минимальная, без лишних абстракций.
Добавь README на русском и .env.example.
Не устанавливай зависимости, которых нет в задаче.
Базовый промпт для первого запроса в пустой папке. Чем точнее описан стек, тем меньше придётся переделывать.
Каркас по описанию продукта
Любой агент
Продукт: {одно предложение, что он делает}.
Один главный сценарий: {описать по шагам}.
Собери каркас только под этот сценарий.
Всё остальное не реализуй, а перечисли списком
в конце как «отложено».
Помогает не расползтись на десять функций в первый же день.
Выбор стека под задачу
Любой агент
Задача: {описание}. Мои ограничения: {хостинг,
опыт, бюджет, сроки}.
Предложи три варианта стека с плюсами и минусами.
Не пиши код. В конце дай одну рекомендацию
и объясни, почему именно она.
Полезно до начала работы: агент часто предлагает неочевидный вариант, который проще в поддержке.
Разбить задачу на шаги
Любой агент
Вот задача целиком: {описание}.
Разбей её на шаги так, чтобы каждый шаг
можно было проверить отдельно.
Для каждого шага укажи признак готовности.
Код не пиши.
Первый шаг любого крупного проекта: без разбивки агент делает всё сразу и посредственно.
Добавить функцию в существующий проект
Cursor · агент
Проект уже существует. Нужно добавить: {функция}.
Сначала изучи, как в проекте сделаны похожие вещи,
и опиши найденный подход.
Потом предложи реализацию в том же стиле.
Код пиши только после моего подтверждения.
Заставляет агента следовать существующим конвенциям вместо того, чтобы приносить свои.
Оценить объём работы
Любой агент
Задача: {описание}. Стек: {…}.
Оцени: какие файлы придётся создать, какие изменить,
что может пойти не так.
Дай грубую оценку в часах для человека,
который работает с агентом. Код не пиши.
Черновая оценка перед тем, как обещать срок заказчику.
Найти причину бага
Любой агент
Вот ошибка: {текст ошибки}.
Сначала объясни причину словами, не правь код.
Потом предложи минимальную правку и скажи,
какие ещё места в проекте она затронет.
Главный отладочный промпт. Запрет сразу править код резко повышает шанс, что найдут настоящую причину.
Баг без сообщения об ошибке
Любой агент
Ожидаю: {что должно происходить}.
Получаю: {что происходит на самом деле}.
Ошибок в консоли нет.
Перечисли пять возможных причин по убыванию
вероятности и скажи, как проверить каждую.
Код не правь.
Для случаев, когда ничего не падает, но работает не так.
Разобрать чужой стектрейс
Любой агент
Вот стектрейс: {вставить}.
Объясни по-русски: что произошло, в какой строке
настоящая причина, а какие строки — просто
передача ошибки выше.
Правку предложи отдельно, после объяснения.
Экономит время на длинных трейсах, где настоящая причина в середине.
Баг воспроизводится не всегда
Любой агент
Баг: {описание}. Воспроизводится примерно
в {доля} случаев.
Предположи, что может быть источником
недетерминированности: время, гонки, кэш,
внешние сервисы, порядок данных.
Предложи, как поймать это в логах.
Плавающие баги: направляет агента в сторону типовых причин вместо угадывания.
После правки сломалось другое
Любой агент
После правки {что меняли} перестало работать
{что сломалось}.
Найди связь между этими местами.
Объясни её словами. Верни рабочее поведение,
не откатывая исходную правку целиком.
Частая ситуация после агентных правок: помогает не откатывать всё подряд.
Медленно работает
Любой агент
Это место работает медленно: {файл или функция}.
Найди, что именно занимает время: запросы в базу,
циклы, обращения по сети, лишние пересчёты.
Сначала покажи анализ и цифры, потом правку.
Не оптимизируй то, что не является узким местом.
Запрет на преждевременную оптимизацию: без него агент переписывает всё подряд.
Рефакторинг без сюрпризов
Claude Code
Отрефактори {файл/модуль}, не меняя поведение.
Перед правками покажи план списком.
Каждое изменение — отдельным шагом.
Публичные интерфейсы не трогай.
Основной промпт для рефакторинга. План до правок — самая ценная строка.
Разбить большой файл
Cursor · агент
Файл {путь} разросся. Предложи, как разбить его
на части по зонам ответственности.
Сначала — только план: что куда переезжает.
Импорты и вызовы поправь после подтверждения.
Поведение не меняем.
Разделение god-файла: без явного «сначала план» агент перекраивает всё за один заход.
Убрать дублирование
Любой агент
Найди в {папка/модуль} повторяющуюся логику.
Покажи списком: где повторяется и насколько похоже.
Не объединяй то, что похоже случайно, —
только то, что меняется по одной причине.
Правки — после подтверждения.
Оговорка про случайное сходство спасает от вредных абстракций.
Переименовать сущность во всём проекте
Claude Code
Переименуй {старое} в {новое} по всему проекту:
код, тесты, миграции, тексты интерфейса, документация.
Сначала покажи полный список мест.
Отдельно отметь места, где название совпадает
случайно и трогать его не нужно.
Задача, где терминальный агент сильнее плагинов: он видит весь проект.
Обновить зависимость
Любой агент
Обнови {библиотека} с {версия} до {версия}.
Сначала прочитай changelog и перечисли
ломающие изменения, которые касаются нашего кода.
Потом правь. После правок запусти тесты
и покажи вывод.
Заставляет агента посмотреть на реальные breaking changes, а не чинить наугад.
Разобраться в чужом коде
Claude Code
Объясни, как устроен {модуль}: что он делает,
кто его вызывает, от чего зависит.
Начни с общей картины в пять предложений,
потом детали.
Ничего не правь — я разбираюсь, а не чиню.
Первое, что стоит спросить при входе в незнакомый проект.
Тесты на существующий код
Любой агент
Напиши тесты для {модуль}. Сначала перечисли
сценарии, которые собираешься покрыть, и жди
подтверждения. Моки только там, где без них
тест невозможен.
Базовый промпт для тестов. Список сценариев до кода экономит переписывание.
Тест на конкретный баг
Любой агент
Баг: {описание}. Он уже исправлен.
Напиши один тест, который падал бы до исправления
и проходит после.
Больше ничего не добавляй.
Регрессионный тест: один точный тест ценнее десяти общих.
Проверить, что тесты не врут
Любой агент
Вот тесты: {файл}.
Проверь, действительно ли они проверяют поведение,
а не повторяют реализацию.
Найди тесты, которые пройдут даже при
сломанной логике. Объясни, почему.
Ловит бесполезные тесты, которые агенты пишут особенно охотно.
Покрыть крайние случаи
Любой агент
Для {функция} перечисли крайние случаи:
пустой ввод, максимальные значения, некорректный
тип, одновременный доступ, отсутствие сети.
Сначала список, потом тесты — после подтверждения.
Крайние случаи агент почти никогда не додумывает сам.
Тесты для API
Любой агент
Напиши тесты для эндпоинта {путь}.
Покрой: успешный ответ, некорректные данные,
отсутствие авторизации, чужой ресурс.
Проверяй код ответа и структуру тела,
а не точный текст сообщений.
Проверка структуры вместо текста делает тесты устойчивыми.
Починить падающий тест
Любой агент
Тест {имя} падает: {вывод}.
Сначала определи, кто неправ: тест или код.
Если неправ код — чини код.
Если неправ тест — объясни почему,
и только потом правь тест.
Не подгоняй тест под текущее поведение молча.
Ключевая оговорка: без неё агент чаще всего просто подгоняет ожидания под баг.
Правила проекта для агента
Кладётся в репозиторий
Стек: {языки, фреймворки}. Пакетный менеджер: {…}.
Стиль: без комментариев-очевидностей, имена по-английски.
Не добавляй зависимости без явной просьбы.
Не переписывай файлы целиком — правь точечно.
Перед большой правкой показывай план списком.
Главный файл проекта. Кладётся в корень репозитория и работает во всех сессиях.
Правила: процесс работы
Кладётся в репозиторий
Перед большой правкой показывай план списком
и жди подтверждения.
После правок запускай тесты и показывай вывод.
Если задача непонятна — задай вопрос, не угадывай.
Если задача требует новой зависимости — спроси.
Раздел про процесс: превращает «агент что-то сделал» в согласованные шаги.
Правила: запреты
Кладётся в репозиторий
Не удаляй существующие тесты.
Не меняй публичные интерфейсы без предупреждения.
Не создавай документацию, если её не просили.
Не трогай файлы миграций, которые уже применены.
Не коммить и не пушь без явной просьбы.
Запреты работают лучше пожеланий: их агент выполняет буквально.
Правила для команды
Кладётся в репозиторий
Тексты интерфейса — по-русски, имена в коде —
по-английски.
Форматирование: {инструмент}, запускать после правок.
Коммиты: {формат}.
Новые файлы клади по существующей структуре,
новые папки не создавай без согласования.
Выравнивает поведение агента у всех разработчиков команды.
Проверить, что правила работают
Любой агент
Прочитай файл правил проекта и перескажи
своими словами: что тебе запрещено делать
и что ты должен делать перед большой правкой.
Если какие-то правила противоречат друг другу —
укажи на это.
Проверка, что файл прочитан и понят, а не просто лежит в репозитории.
Контекст проекта для нового диалога
Любой агент
Кратко о проекте: {что это, для кого, стек}.
Сейчас работаю над: {задача}.
Уже сделано: {список}.
Не трогай: {файлы или области}.
Начни с того, что прочитаешь {файлы} и скажешь,
что понял.
Шаблон первого сообщения в новом диалоге, когда контекст сброшен.
Свёрстать блок по описанию
v0 · Cursor
Свёрстай {блок}: {описание содержимого}.
Стек: {…}. Существующие компоненты переиспользуй,
новые создавай только если без них никак.
Адаптив: {точки перелома}.
Цвета и шрифты бери из существующих переменных.
Указание на переиспользование не даёт агенту наплодить дубли компонентов.
Починить адаптивную вёрстку
Любой агент
На экране шириной {ширина} ломается {что именно}.
Покажи причину: какое свойство даёт переполнение.
Почини минимальной правкой, не переписывая
всю раскладку блока.
Локальная правка вместо переписывания всего блока.
Привести к дизайн-системе
Любой агент
Вот компонент: {файл}. Вот наши токены: {файл}.
Замени захардкоженные цвета, отступы и размеры
на переменные из дизайн-системы.
Если для значения нет подходящего токена —
не придумывай, а выпиши его списком.
Оговорка про отсутствующие токены не даёт агенту изобретать новые значения.
Доступность интерфейса
Любой агент
Проверь {компонент} на доступность:
семантика тегов, фокус с клавиатуры, подписи
к полям и кнопкам, контраст, состояния
для скринридера.
Выдай список проблем с приоритетом.
Правки — после подтверждения.
Доступность агент делает хорошо, но только если попросить явно.
Оптимизировать загрузку страницы
Любой агент
Страница {путь} грузится медленно.
Проверь: размер и формат картинок, блокирующие
скрипты и стили, шрифты, лишние запросы.
Выдай список с оценкой выигрыша по каждому пункту.
Начни с того, что даёт наибольший эффект.
Приоритизация по выигрышу вместо длинного списка мелочей.
Состояния интерфейса
Любой агент
Для {компонент} реализуй состояния:
загрузка, пусто, ошибка, успех.
Для каждого — что видит пользователь и что
может сделать дальше.
Сначала опиши текстом, потом код.
Состояния «пусто» и «ошибка» забывают чаще всего.
Спроектировать структуру данных
Любой агент
Нужно хранить: {описание предметной области}.
Предложи структуру таблиц: поля, типы, связи,
индексы.
Отдельно укажи, что придётся менять, если
понадобится {вероятное изменение}.
Миграции пока не пиши.
Вопрос про будущие изменения выявляет слабые места схемы заранее.
Написать миграцию
Любой агент
Нужна миграция: {что меняем}.
Напиши up и down. В down — реальный откат,
а не заглушка.
Если миграция теряет данные — скажи об этом
явно перед кодом.
Предупреждение о потере данных — то, о чём агент обычно молчит.
Ускорить запрос
Любой агент
Запрос {код или описание} работает медленно
на {объём} записей.
Покажи, что именно медленно: полный перебор,
отсутствие индекса, запрос в цикле.
Предложи правку и скажи, какой индекс нужен.
Не меняй логику выборки.
Классический N+1 и отсутствующие индексы агент находит хорошо.
Спроектировать эндпоинт
Любой агент
Нужен эндпоинт: {что делает}.
Опиши: метод, путь, параметры, тело запроса,
формат ответа, коды ошибок, права доступа.
Сначала только описание, без кода.
Следуй тому, как устроены существующие эндпоинты.
Договориться о контракте до реализации дешевле, чем переделывать.
Обработка внешнего сервиса
Любой агент
Интеграция с {сервис}.
Обработай: таймаут, недоступность, некорректный
ответ, превышение лимита запросов.
Повторы — с задержкой и ограничением попыток.
Ни одна ошибка не должна ронять наш процесс.
Внешние сервисы падают всегда; агент об этом не думает без напоминания.
Фоновая задача
Любой агент
Нужна фоновая задача: {что делает, как часто}.
Учти: задача может запуститься дважды одновременно,
может упасть на середине, может выполняться
дольше интервала запуска.
Опиши, как это обработано, перед кодом.
Идемпотентность и перекрытие запусков — типовые грабли фоновых задач.
Ревью своего кода
Любой агент
Проверь эти изменения: {diff или файлы}.
Ищи: ошибки логики, необработанные случаи,
утечки данных, проблемы с производительностью.
Не предлагай стилистические правки.
По каждой находке — чем именно это грозит.
Запрет на стилистику отсекает шум и оставляет только существенное.
Ревью кода, написанного агентом
Любой агент
Этот код написал другой агент: {файлы}.
Проверь особенно: выдуманные функции и методы,
обработку ошибок, соответствие задаче
«{исходная задача}».
Скажи прямо, если код решает не ту задачу.
Проверка чужой агентной работы — самая частая операция в вайбкодинге.
Безопасность
Любой агент
Проверь {модуль} на типовые проблемы:
внедрение в запросы, небезопасный вывод данных,
секреты в коде, отсутствие проверки прав,
доверие данным от пользователя.
По каждой находке — как эксплуатируется
и как чинится.
Базовая проверка перед выкаткой. Не заменяет аудит, но ловит очевидное.
README для проекта
Любой агент
Напиши README на русском для этого проекта.
Разделы: что это, как запустить локально,
переменные окружения, как запустить тесты,
как задеплоить.
Без маркетинга и без разделов, которых
у проекта нет.
Оговорка «без разделов, которых нет» убирает выдуманные Contributing и Roadmap.
Объяснить код коллеге
Любой агент
Объясни {файл} так, чтобы понял разработчик,
который видит проект впервые.
Начни с того, зачем этот код нужен,
потом как работает.
Без пересказа кода построчно.
Полезно и для документации, и для проверки, что вы сами всё поняли.
Коммит и описание изменений
Любой агент
Вот изменения: {diff}.
Напиши сообщение коммита на русском:
одна строка сути, потом список изменений
по пунктам.
Не перечисляй файлы — перечисляй смысл.
Разница между «правки в 12 файлах» и понятной историей изменений.
Как пользоваться промптами
Фигурные скобки — это места, куда нужно подставить своё: {стек}, {файл}, {текст ошибки}. Промпт без подстановки работать будет, но хуже: агент начнёт угадывать.
Второе правило — не склеивать несколько промптов в один запрос. Каждый рассчитан на одну задачу, и вместе они дают три посредственных результата вместо одного хорошего.
Что работает лучше промптов
Файл правил проекта в корне репозитория. То, что вы иначе повторяли бы в каждом сообщении — стек, запреты, порядок работы, — пишется один раз и действует во всех сессиях у всей команды.