mcpField
B
bro-review-code

bro-review-code

github.com/irpsvテスト・品質9161 回インストール2 日前に更新
リポジトリ

bro-review-code について

ソースコードの変更、テスト、設定、インフラ、契約を調べる読み取り専用のコードレビュースキルです。証拠に基づく指摘のみを報告し、コード変更やレビューに代わる実装提案は行いません。

主な機能

  1. 01差分と関連するリポジトリ情報の確認
  2. 02正確性・セキュリティ・性能・テストの検査
  3. 03安全で非破壊的なチェックの実行
  4. 04根拠のある指摘の報告
  5. 05読み取り専用のレビュー

活用シーン

  1. 01プルリクエストやブランチ変更のレビュー
  2. 02コードや設定変更に伴うリスクの評価
  3. 03変更内容に対するテスト網羅性の確認
  4. 04セキュリティに関わる変更のレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/irpsv/ai-bro --skill bro-review-code

インストール後、Claude Code で/bro-review-codeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
trigger-evals.json
references/
full-review.md
review-output-example.md
subagent-model-tiers.md
subagents/
correctness-review-prompt.md
performance-review-prompt.md
requirements-review-prompt.md
security-review-prompt.md
tests-review-prompt.md

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

bro-review-code

Независимое ревью изменений исходного кода, тестов, конфигурации, инфраструктуры и программных контрактов. Скилл можно вызвать напрямую или из промпта субагента другого скилла.

Результат — только доказательные замечания по текущим изменениям. Не исправляй код, не создавай патчи и не подменяй ревью реализацией.

READONLY

Разрешено читать репозиторий, историю и diff, искать использования, изучать тесты и конфигурацию, а также запускать безопасные недеструктивные проверки.

Запрещено:

  • изменять или создавать файлы;
  • форматировать код, применять автоисправления, создавать коммиты;
  • выполнять миграции и команды, меняющие данные или внешние системы;
  • предлагать крупный рефакторинг, если риск устраняется локально;
  • сообщать стилистические предпочтения и недоказанные предположения как findings.

Вход ревью

Сначала определи:

  • Объект ревью — явно указанный diff, диапазон коммитов, ветка, PR или набор файлов.
  • Базу сравнения — явно указанную базу либо merge-base текущей и основной веток.
  • Контекст задачи — пользовательский результат, рамки, критерии приемки, ограничения и план, если они переданы.

Если объект не указан:

  • при наличии незакоммиченных изменений проверяй их вместе с относящимися к ним коммитами текущей задачи, если граница задачи понятна;
  • иначе проверяй текущую ветку относительно merge-base с основной веткой;
  • если значимых изменений нет или граница неоднозначна, остановись и запроси объект ревью.

Если постановка задачи не передана, всё равно проверяй корректность, безопасность, производительность и тесты, но явно укажи, что соответствие исходной задаче оценено с ограниченной уверенностью.

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

Выбор режима

Правила выбора тира и семейства модели описаны в subagent-model-tiers.

  • Для requirements, correctness, performance и tests используй тир senior.
  • Для security-review-prompt используй тир critical. Ревью безопасности на critical обязательно при любом профильном ревью; не подменяй его другими профилями и не понижай до senior.

Профильное ревью запускается только для сложных, широких или высокорисковых изменений.

Комплексное ревью

Если изменение ограничено одним понятным сценарием и подсистемой, а также не затрагивает высокорисковые границы, не запускай вложенных субагентов. Самостоятельно проведи все направления проверки по комплексному ревью в текущем контексте.

Если есть поверхности безопасности (auth, секреты, недоверенный ввод, границы доверия) — не оставайся в комплексном режиме: переходи к профильному.

Профильное ревью

Запускай применимые профильные проверки параллельно, если изменение:

  • затрагивает несколько подсистем или независимых пользовательских сценариев;
  • меняет публичные контракты, хранение или преобразование данных;
  • касается аутентификации, авторизации, секретов или других границ доверия;
  • находится в горячем пути, выполняет запросы к данным или внешние вызовы;
  • содержит значительную тестовую поверхность, конкурентность, повторы или частичные сбои.

Доступные проверки:

Для широкого изменения запускай все применимые проверки. Для локального, но высокорискового изменения запускай только относящиеся к риску профильные проверки вместе с проверкой корректности. security-review-prompt на critical запускай всегда при профильном ревью.

Не запускай профиль, если его предмет заведомо отсутствует в изменениях.

Если текущий harness не поддерживает запуск вложенных субагентов, не останавливай ревью и не сокращай его область: самостоятельно последовательно примени все выбранные профильные промпты в текущем контексте, а затем собери единый отчёт по тем же правилам.

Во все промпты подставляй один и тот же полный контекст:

Объект ревью: <diff, диапазон, ветка, PR или файлы>
База сравнения: <base>
Задача и критерии: <переданный контекст либо «не переданы»>
Ограничения проекта: <релевантные правила>
Известные проверки: <что уже запускалось и с каким результатом>

Не передавай субагентам ссылки на файлы этого скилла: текст выбранного промпта и контекст должны полностью находиться в Task.

Объединение результатов

После профильного ревью самостоятельно собери единый отчёт:

  • Удали дубли, оставив наиболее точное доказательство и минимальное исправление.
  • Объедини замечания с одной корневой причиной.
  • Не повышай серьёзность только потому, что проблему нашли несколько субагентов.
  • Отбрось замечания без достижимого сценария, конкретного места и проверяемого доказательства.
  • При противоречии проверь код самостоятельно либо явно снизь confidence.
  • Сгруппируй findings по критериям, а внутри каждого критерия отсортируй по серьёзности, затем по влиянию.

Серьёзность:

  • critical — достижимая потеря или массовая утечка данных, полный обход критической защиты, удалённое выполнение кода либо системная недоступность;
  • high — нарушение ключевого пользовательского сценария, обход авторизации, существенная регрессия данных или производительности;
  • medium — реальный дефект или пробел проверки с ограниченным влиянием и доказуемым сценарием;
  • стилистика, необязательные улучшения и гипотетические оптимизации не являются findings.

Итоговый формат

Начни с раздела ## Результаты ревью. Создай раздел для каждого критерия и используй фиксированные заголовки:

  • requirements → ### Соответствие требованиям;
  • correctness → ### Корректность;
  • security → ### Безопасность;
  • performance → ### Производительность;
  • tests → ### Тесты.

Если профиль применялся, помести в его раздел findings либо явный вывод об их отсутствии. Если профиль не применялся, всё равно создай его раздел и укажи, почему ревью по этому критерию не проводилось.

Для каждого finding выдай:

  1. Заголовок четвёртого уровня в формате #### [severity] Краткое название, где severity — critical, high или medium.
  2. **Где:** файл и строка, символ либо точный участок логики.
  3. **Проблема:** конкретный дефект.
  4. **Последствие:** наблюдаемое последствие и затронутый сценарий.
  5. **Доказательство:** доказательство из кода, контракта, diff или теста.
  6. **Исправление:** минимальное осмысленное исправление.
  7. **Уверенность:** высокая, средняя или низкая; для средней и низкой укажи причину.

Не повторяй критерий внутри finding: он задан заголовком раздела. Если в проверенном критерии findings нет, напиши под его заголовком: Существенных проблем не найдено.

Оформляй результат по примеру итогового отчёта, сохраняя конкретность и объём, необходимые для текущего ревью.

После результатов добавь:

Краткое резюме
  • что просмотрено;
  • какие проверки или команды использованы;
  • какие риски остались непроверенными и почему;
  • нужна ли дополнительная проверка человеком.

Отвечай на русском языке. Не включай черновые рассуждения и отдельные необработанные отчёты профильных субагентов.

Quality Control

Перед завершением проверь:

  • объект и база ревью указаны однозначно;
  • выбран самостоятельный комплексный режим либо обоснованный набор профильных субагентов;
  • каждый finding относится к изменённому коду и подтверждён достижимым сценарием;
  • дубли объединены, серьёзность нормализована, findings сгруппированы по проверенным критериям;
  • код и файлы не изменялись;
  • для каждого критерия создан раздел с findings, явным выводом об их отсутствии либо причиной, по которой ревью не проводилось;
  • итог содержит только сгруппированные findings и краткое резюме.

コメント