GitHubのPRレビューコメントにバッジをつけてチームの認識ズレをなくす
はじめに
コードレビューのコメントを受け取ったとき、こんな経験はないでしょうか。
- 「これは必ず直さないといけないの?それとも参考意見?」
- 「全部対応してからレビューを依頼し直すべき?」
- レビュアーに確認するのも気が引けて、とりあえず全部対応してしまう
指摘の重要度が文章だけでは伝わりにくく、レビュイーが過剰対応したり、逆に重要な指摘を見落としたりするのはよくある問題です。
この記事では、PRレビューコメントに視覚的なバッジをつけて重要度を一目で伝える方法と、それを GitHub Saved Replies(保存済みの返信) に登録してすぐ呼び出せるようにする手順を紹介します。
バッジで何が変わるか
バッジをつけると、コメントの冒頭がこうなります。
 このメソッドはnullを返す可能性があります。呼び出し元でのnullチェックを追加してください。  ここでuseMemoを使っている理由を教えてもらえますか?パフォーマンス上の意図があれば問題ありません。  このパターンはRepository Patternと呼ばれます。データアクセスロジックをサービス層から分離するための設計です。
色とラベルで重要度がすぐわかるので、レビュイーが「どれを優先して直すか」を迷わずに判断できます。
バッジの種類
shields.io を使ったバッジを用途別に使い分けます。以下は実用的な7種類です。
| バッジ | 意味 | 対応要否 |
|---|---|---|
![must] |
修正必須。Approveの条件 | 必須 |
![ask] |
質問。回答または対応が必要 | 必須 |
![imo] |
私見・代替案の提示 | 任意 |
![nits] |
細かい指摘(typoや命名等) | 任意 |
![next] |
今回のPRでは不要、将来の改善点 | 不要 |
![good] |
良い実装の称賛 | 不要 |
![memo] |
補足説明・知識共有 | 不要 |
バッジのMarkdownは以下の形式です。
      
GitHub Saved Replies に登録する
毎回バッジのMarkdownをコピペするのは手間です。GitHubには Saved Replies(保存済みの返信) という機能があり、よく使うコメントテンプレートをショートカットとして登録できます。拡張機能のインストールは不要で、GitHubアカウントの設定だけで使えます。
登録手順
1. 設定画面を開く
GitHubにログインした状態で、以下のURLに直接アクセスします。
https://github.com/settings/replies
または、右上のアバター → Settings → 左メニューの Saved replies でも到達できます。
2. 新しいSaved Replyを作成する
「Add a saved reply」ボタンをクリックし、以下の内容で登録します。
must用
- Saved Reply Title:
review-must - Content:

ask用
- Saved Reply Title:
review-ask - Content:

同様に imo、nits、next、good、memo 分も登録します。全部で7つです。
タイトルは自分がわかりやすければ何でも構いません。絵文字を入れると視認性が上がります(例: 🔴 must)。
3. 登録完了の確認
登録するとリストに並びます。この設定は自分のアカウントに紐づくため、チームへの共有は不要です。
PRレビューで使う
PRのコメント入力欄の右上にある 「...」(Show saved replies) アイコンをクリックすると、登録したSaved Repliesが一覧で表示されます。
使いたいバッジを選ぶとコメント欄にMarkdownが挿入されるので、続けてコメント本文を書けばOKです。
キーボードショートカットも使えます。コメント入力中に Ctrl + .(Mac は Cmd + .)でSaved Repliesを呼び出せます。
実際のレビューコメント例
登録後のレビューはこんな形になります。
 `fetchUser` はPromiseを返しますが、エラーハンドリングがありません。 try-catchかcatch()で明示的に処理してください。  `userId` を引数で受け取らずにstoreから取得しているのはなぜですか? テスタビリティの観点で引数渡しの方が良いように思えますが、意図があれば教えてください。  カスタムフックへの切り出し、きれいに分離できていますね!
レビュイーは must と ask だけ対応すればApproveをもらえることが一目でわかります。
チームで運用するときのコツ
READMEやNotionにバッジ一覧を貼る
Saved Repliesは個人設定なので、チームメンバー全員がそれぞれ登録する必要があります。バッジの意味の定義と登録用Markdownをドキュメント化しておくと展開しやすいです。
最初はmust/ask/memoの3つだけでも十分
全種類を一気に導入するより、重要度が明確に分かれる3つから始める方がチームに定着しやすいです。
レビュイー側のルールも決める
must と ask を全て対応したら、対応内容をコメントで返信してから再レビュー依頼する、というルールをセットで決めると機能しやすくなります。
まとめ
- PRレビューコメントへのバッジ導入で、指摘の重要度が視覚的に伝わる
- shields.io のバッジはMarkdown1行で使える
- GitHub Saved Replies に登録することで、毎回のコピペが不要になる
- 拡張機能不要・無料でGitHubアカウントの設定だけで完結する
- まずは
must/ask/memoの3種類から始めるのがおすすめ