Главная · Скиллы · receiving-code-review

receiving-code-reviewправильная реакция на код-ревью

obra/superpowers

Помогает правильно реагировать на комментарии ревьюеров: техническая проверка перед принятием, без слепого следования и без защитной реакции.

Установка

npx -y skills add obra/superpowers --skill receiving-code-review --agent claude-code

Приём ревью кода

Обзор

Ревью кода требует технической оценки, а не эмоционального спектакля.

Главный принцип: проверяйте перед реализацией. Спрашивайте перед допущениями. Техническая корректность важнее социального комфорта.

Паттерн реакции

КОГДА получаете обратную связь по ревью кода:

1. ПРОЧИТАТЬ: всю обратную связь, не реагируя
2. ПОНЯТЬ: пересказать требование своими словами (или спросить)
3. ПРОВЕРИТЬ: сверить с реальностью кодовой базы
4. ОЦЕНИТЬ: технически обоснованно для ЭТОЙ кодовой базы?
5. ОТВЕТИТЬ: техническое подтверждение или обоснованное возражение
6. РЕАЛИЗОВАТЬ: по одному пункту, тестируя каждый

Запрещённые ответы

НИКОГДА:

  • «Ты абсолютно прав!» (прямое нарушение файла инструкций)
  • «Отличное замечание!» / «Прекрасная обратная связь!» (показуха)
  • «Сейчас реализую» (до проверки)

ВМЕСТО ЭТОГО:

  • Пересказать техническое требование
  • Задать уточняющие вопросы
  • Возразить с техническим обоснованием, если неверно
  • Просто начать работать (действия > слова)

Работа с неясной обратной связью

ЕСЛИ какой-то пункт неясен:
  СТОП — пока ничего не реализуйте
  СПРОСИТЕ уточнение по неясным пунктам

ПОЧЕМУ: пункты могут быть связаны. Частичное понимание = неверная реализация.

Пример: партнёр: «Исправь 1–6». Вы поняли 1,2,3,6, неясны 4,5. ❌ НЕВЕРНО: реализовать 1,2,3,6 сейчас, спросить про 4,5 позже. ✅ ВЕРНО: «Понял пункты 1,2,3,6. Нужно уточнение по 4 и 5, прежде чем продолжать.»

Обработка по источнику

От партнёра-человека

  • Доверенный — реализуйте после понимания
  • Всё равно спросите, если объём неясен
  • Никакого показного согласия
  • Сразу к действию или техническое подтверждение

От внешних ревьюеров

ПЕРЕД реализацией:
  1. Проверить: технически верно для ЭТОЙ кодовой базы?
  2. Проверить: ломает существующую функциональность?
  3. Проверить: причина текущей реализации?
  4. Проверить: работает на всех платформах/версиях?
  5. Проверить: понимает ли ревьюер полный контекст?

ЕСЛИ предложение кажется неверным:
  Возразить с техническим обоснованием

ЕСЛИ не можете легко проверить:
  Скажите об этом: «Не могу это проверить без [X]. Мне [исследовать/спросить/продолжать]?»

ЕСЛИ конфликтует с прежними решениями партнёра-человека:
  Остановитесь и обсудите с партнёром-человеком сначала

Правило партнёра-человека: «Внешняя обратная связь — будь скептичен, но проверяй тщательно.»

Проверка YAGNI для «профессиональных» функций

ЕСЛИ ревьюер предлагает «реализовать как положено»:
  grep по кодовой базе на фактическое использование

  ЕСЛИ не используется: «Этот эндпойнт не вызывается. Удалить (YAGNI)?»
  ЕСЛИ используется: тогда реализовать как положено

Правило партнёра-человека: «Вы с ревьюером оба отчитываетесь передо мной. Если функция не нужна — не добавляйте.»

Порядок реализации

ДЛЯ многопунктовой обратной связи:
  1. СНАЧАЛА уточните всё неясное
  2. Затем реализуйте в этом порядке:
     - Блокирующие проблемы (поломки, безопасность)
     - Простые правки (опечатки, импорты)
     - Сложные правки (рефакторинг, логика)
  3. Тестируйте каждую правку отдельно
  4. Проверьте отсутствие регрессий

Когда возражать

Возражайте, когда: предложение ломает существующую функциональность; ревьюеру не хватает полного контекста; нарушает YAGNI (неиспользуемая функция); технически неверно для этого стека; есть причины легаси/совместимости; конфликтует с архитектурными решениями партнёра-человека.

Как возражать: техническим обоснованием, без защитной реакции; задавайте конкретные вопросы; ссылайтесь на рабочие тесты/код; привлекайте партнёра-человека, если вопрос архитектурный.

Если некомфортно возражать вслух: назовите это напряжение, затем расскажите партнёру об увиденной проблеме. Он оценит вашу честность.

Признание верной обратной связи

Когда обратная связь ВЕРНА: ✅ «Исправлено. [Краткое описание изменения]» · ✅ «Хорошая находка — [конкретная проблема]. Исправлено в [месте].» · ✅ [просто исправить и показать в коде].

❌ «Ты абсолютно прав!» · ❌ «Отличное замечание!» · ❌ «Спасибо, что заметил!» · ❌ «Спасибо за [что угодно]» · ❌ ЛЮБОЕ выражение благодарности.

Почему без спасибо: говорят действия. Просто исправьте. Сам код показывает, что вы услышали обратную связь.

Если ловите себя на «Спасибо»: УДАЛИТЕ. Вместо этого изложите исправление.

Изящная коррекция своего возражения

Если вы возразили и оказались неправы: ✅ «Ты был прав — я проверил [X], и оно действительно [Y]. Реализую.» · ✅ «Проверил, и ты прав. Моё исходное понимание было неверным, потому что [причина]. Чиню.»

❌ длинные извинения · ❌ защита того, почему вы возразили · ❌ чрезмерные объяснения.

Изложите коррекцию по факту и двигайтесь дальше.

Частые ошибки

ОшибкаИсправление
Показное согласиеИзложите требование или просто действуйте
Слепая реализацияСначала сверьте с кодовой базой
Пакетом без тестированияПо одному, тестируйте каждый
Допущение, что ревьюер правПроверьте, не ломает ли
Избегание возраженийТехническая корректность > комфорт
Частичная реализацияСначала уточните все пункты
Не можете проверить, но продолжаетеИзложите ограничение, спросите направление

Реальные примеры

Показное согласие (плохо): Ревьюер: «Удали легаси-код» → ❌ «Ты абсолютно прав! Сейчас удалю…»

Техническая проверка (хорошо): Ревьюер: «Удали легаси-код» → ✅ «Проверяю… цель сборки 10.15+, этот API требует 13+. Легаси нужен для обратной совместимости. У текущей реализации неверный bundle ID — исправить или отказаться от поддержки до 13?»

YAGNI (хорошо): Ревьюер: «Реализуй полноценный учёт метрик с БД, фильтрами по дате, экспортом в CSV» → ✅ «Сделал grep по базе — этот эндпойнт никто не вызывает. Удалить (YAGNI)? Или есть использование, которое я упускаю?»

Неясный пункт (хорошо): партнёр: «Исправь пункты 1–6». Вы поняли 1,2,3,6, неясны 4,5. → ✅ «Понял 1,2,3,6. Нужно уточнение по 4 и 5 перед реализацией.»

Ответы в тредах GitHub

Отвечая на встроенные комментарии ревью в GitHub, отвечайте в треде комментария (gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies), а не как комментарий верхнего уровня к PR.

Итог

Внешняя обратная связь = предложения для оценки, а не приказы для исполнения. Проверяйте. Спрашивайте. Затем реализуйте. Никакого показного согласия. Техническая строгость всегда.

Из того же репозитория

brainstormingобязательное планирование перед кодингом
obra/superpowers
Блокирует реализацию до завершения планирования: контекст, уточняющие вопросы, варианты подхода, согласование дизайна. Генерирует spec-документы с автопроверкой на противоречия.
215.9k197.2k установок
using-superpowersмета-скилл для маркетплейса Claude
obra/superpowers
Мета-скилл, который заставляет Claude реально вызывать скиллы перед тем как что-то делать самостоятельно. Основа работы всего маркетплейса Claude Code.
215.9k125.3k установок
systematic-debuggingсистемный подход к отладке
obra/superpowers
Четырёхфазный протокол отладки до любых правок: сбор доказательств, постановка гипотезы, изоляция проблемы, исправление. Запрещает гадать без данных.
215.9k124.6k установок
writing-plansпланы реализации с кодом
obra/superpowers
Преобразует спецификации в пошаговые планы реализации с фрагментами кода, точными путями к файлам и конкретными командами тестов.
215.9k123.9k установок
requesting-code-reviewнезависимое код-ревью подагентом
obra/superpowers
Запускает подагент-ревьюера с чистым контекстом только об изменениях — без истории сессии. Чистые, непредвзятые отзывы без накопленных предположений.
215.9k111.1k установок
test-driven-developmentстрогий TDD
obra/superpowers
Enforces строгую разработку через тесты: тесты обязательно до кода реализации. Не позволяет писать production код без покрывающих тестов.
215.9k109.6k установок