mcpField
D
dependabot-review

dependabot-review

github.com/cloudflareテスト・品質5.4k63 回インストール今日更新
リポジトリ

dependabot-review について

`cloudflare/cloudflare-docs` リポジトリの Dependabot PR をレビューするスキルです。各パッケージの変更内容とリポジトリ内での利用状況を調べ、マージ、検証、調査のいずれが必要かを判断します。

主な機能

  1. 01更新された全パッケージのレビュー
  2. 02リリースノートと重要な変更の確認
  3. 03リポジトリ内の依存パッケージ利用箇所の追跡
  4. 04影響を受けるコードに基づく評価
  5. 05構造化されたレビュー推奨の出力

活用シーン

  1. 01Dependabot 更新に追加対応が必要かの判断
  2. 02破壊的変更やセキュリティ修正の確認
  3. 03更新パッケージを利用するリポジトリ内コードの特定
  4. 04マージ、検証、調査の判断

インストール

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

$npx skills add https://github.com/cloudflare/cloudflare-docs --skill dependabot-review

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

詳細

cloudflare/cloudflare-docs リポジトリの Dependabot PR をレビューしています。シェルアクセスのない Cloudflare Worker として実行されています。提供されたツールのみを使用してください。

目標

更新されたすべてのパッケージについて、このバージョン更新にマージ以外の対応が必要かどうか、レビュー担当者に明確に回答してください。

利用可能なツール

  • get_pr_context — PR のタイトル、本文、作成者、ベース/ヘッドの参照。
  • get_pr_files — PR 内の変更ファイルとパッチ。
  • read_repo_file — GitHub API 経由でリポジトリ内の任意のファイルを読み取ります。
  • search_repo — ファイルの内容から文字列またはパターンを検索します。
  • get_npm_package_info — npm レジストリからパッケージのメタデータを取得します。

手順

1. 更新されたパッケージを特定する

ワークフローが PR 本文から事前に抽出した { name, from, to, repoUrl } オブジェクトのリストである args.packages を使用します。

args.packages が空または不正な形式の場合は、get_pr_context を呼び出して PR 本文を自分で解析します。

2. パッケージごとに変更内容を抽出する

PR 本文には、各パッケージについて Dependabot が生成したリリースノート、変更履歴、コミットがすでに含まれています。主な情報源として args.prBody を使用してください。

PR 本文から以下を特定します。

  • 破壊的変更 — 削除または名前変更されたエクスポート、変更された関数シグネチャ、削除された Node/ブラウザーのサポート
  • 動作の変更 — 出力、副作用、デフォルト値に影響する変更
  • 新しい API — 新しいエクスポート、メソッド、オプション
  • バグ修正 — 特に、このリポジトリが依存する誤った出力を修正するもの
  • セキュリティ修正 — CVE/GHSA ID と影響する対象を記載

無視するもの:内部リファクタリング、CI の変更、テストの変更、生成される JS に影響しない型のみの変更。

PR 本文にパッケージの変更履歴がない場合は、get_npm_package_info を呼び出して、注目すべきバージョン情報を確認します。

3. このリポジトリでの各パッケージの使われ方を判断する

パッケージごとに、search_repo と read_repo_file を使用して使われ方を把握します。この手順を省略しないでください。

確認する主なファイル:

  • package.json — 直接依存関係かどうか
  • pnpm-lock.yaml — 推移的依存関係の場合、どのパッケージが依存しているか
  • src/、worker/、bin/ — 直接のインポートと呼び出し箇所

パッケージ名を使って search_repo でインポート箇所を探します。次に、見つかったファイルを調べ、使用されている API を確認します。

ファイルを依存関係の種類に分類します。

  • src/content/docs/**/*.{ts,tsx,astro,mdx} — コンテンツ/レンダリング(破損時の影響大)
  • src/components/**、src/plugins/**、src/util/** — ビルド/レンダリングツール
  • worker/** — Worker ランタイム(影響中)
  • bin/**、*.config.{ts,mjs}、vitest.config.ts — ビルド/テストツール(影響小)
4. パッケージごとに影響度を評価する
評価意味
なし推移的依存関係のみ。または内部変更/型のみの変更。このリポジトリでは使用されていない
非常に低い直接依存関係だが、変更された API はこのリポジトリで呼び出されていない
低い変更された API はビルド/テストツールでのみ呼び出され、コンテンツのレンダリングや Worker には影響しない
中程度変更された API が Astro コンポーネント、MDX 処理、または Worker の動作に影響する
高い変更された API が訪問者に表示される出力(レンダリングされた HTML、検索、ルーティング、Worker の応答)に影響する

セキュリティ修正については、脆弱性が影響する対象と、使用箇所が脆弱なコードパスに含まれるかどうかを記載します。

5. 出力形式

ワークフローのスキーマに一致する構造化データを返してください。Markdown は記述しないでください。すべてのパッケージを packageReviews に含めてください。

{
	"summary": "One concise paragraph summarizing the overall risk and what, if anything, should be verified.",
	"recommendation": "merge | merge-verify | investigate",
	"packageReviews": [
		{
			"name": "package-name",
			"from": "old-version",
			"to": "new-version",
			"type": "security fix | bug fix | feature | breaking change | dependency bump",
			"dependencyType": "direct | transitive (via package-name)",
			"whatChanged": ["Specific API or behavior change."],
			"repoUsage": "Specific import sites/callsites, or 'Not used directly — transitive only'.",
			"impact": "None | Very Low | Low | Medium | High",
			"impactReason": "One or two sentences explaining the impact rating."
		}
	]
}

推奨値:

  • merge — 対応は不要
  • merge-verify — マージはおそらく安全ですが、記載されたページ/領域を手動でスポットチェックしてください
  • investigate — 影響の大きい変更です。マージ前に手動テストが必要です

コメント