| name | review-dependabot |
| description | DependabotのPRをレビューし、マージして問題ないかを検証する。「dependabotのPRを見て」「dependabot レビュー」と頼まれたときや、Dependabot PRのマージ可否判断・依存更新の影響調査を求められたときに使用する。 |
| argument-hint | [PR番号またはURL] |
| allowed-tools | Bash(gh *), Read, Grep, Glob, WebFetch |
| disallowed-tools | Edit, Write |
Dependabot PR レビュー
DependabotのPRを確認し、マージして問題ないかを検証する。
引数
$ARGUMENTS にPR番号またはPR URLを指定する。指定がない場合はオープン中のDependabot PRを一覧表示して選択を促す。
手順
1. PR情報の取得
$ARGUMENTS が空の場合、gh pr list --author "app/dependabot" --state open でオープン中のDependabot PRを一覧表示し、ユーザーにどのPRを確認するか質問する
$ARGUMENTS が指定されている場合、そのPR番号/URLの情報を gh pr view で取得する
2. 更新内容の把握
PRから以下の情報を抽出する:
- 更新対象のパッケージ名
- 更新前のバージョン (from)
- 更新後のバージョン (to)
- メジャー/マイナー/パッチのどのレベルの更新か
3. CHANGELOGとリリースノートの確認
DependabotのPR本文には「Release notes」「Changelog」「Commits」へのリンクが含まれている。これらを情報源として活用する。
gh pr view <PR番号> --json body でPR本文を取得する
- PR本文から以下のリンクを抽出する:
- Release notes リンク → リリースノートページ
- Changelog リンク → CHANGELOGファイル
- Commits リンク → コミット差分ページ
- 抽出したリンクをWebFetchで取得し、更新前→更新後のバージョン間の変更内容を確認する
- PR本文にリンクが含まれていない場合のみ、
https://github.com/<owner>/<repo>/releases にフォールバックする
- 特に Breaking Changes や Deprecations セクションに注目する
4. PR のdiff確認
gh pr diff <PR番号> でdiffを取得し、以下を確認する:
package.json の変更内容(バージョン番号の変更のみか)
package-lock.json の変更(依存関係の連鎖的な変更がないか)
- それ以外のファイルに変更がないか
5. プロジェクトへの影響分析
更新対象パッケージがプロジェクト内でどのように使われているかを調査する:
import / require 文を検索してパッケージの利用箇所を特定
- 破壊的変更がある場合、影響を受けるコードがないか確認
- deprecated になったAPIを使用していないか確認
6. CIチェックの確認
gh pr checks <PR番号> でCIの実行結果を確認する:
- すべてのチェックがパスしているか
- 失敗しているチェックがある場合、その原因を分析
7. レビュー結果の報告
以下のフォーマットで結果を報告する:
## Dependabot PR レビュー結果
### 概要
- パッケージ: <パッケージ名>
- 更新: <旧バージョン> → <新バージョン>
- 更新レベル: <メジャー/マイナー/パッチ>
### 破壊的変更
- <破壊的変更の有無と内容>
### プロジェクトへの影響
- <影響の有無と詳細>
### CIチェック
- <パス/失敗の状況>
### 判定
- ✅ マージ可能 / ⚠️ 要確認 / ❌ マージ不可
- <判定理由>
8. マージの実行
判定が「マージ可能」の場合、ユーザーにマージするか確認してから gh pr merge を実行する。