Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

dependabot

GitHubのDependabotを設定・管理するための包括的なガイドです。`dependabot.yml`ファイルの作成・最適化、Dependabotプルリクエストの管理、依存関係更新戦略の設定、グループ更新・モノリポパターン・マルチエコシステムグループの構成、セキュリティアップデート設定、自動トリアージルール、またはDependabot関連のGitHub Advanced Security(GHAS)サプライチェーンセキュリティに関する質問があるときに使用します。AIコーディングエージェントがコミット前に依存関係の既知の脆弱性をスキャンする場合は、GitHub MCP Server経由でAdvanced Securityプラグイン(`advanced-security@copilot-plugins`)を参照します。

description の原文を見る

>- Comprehensive guide for configuring and managing GitHub Dependabot. Use this skill when users ask about creating or optimizing dependabot.yml files, managing Dependabot pull requests, configuring dependency update strategies, setting up grouped updates, monorepo patterns, multi-ecosystem groups, security update configuration, auto-triage rules, or any GitHub Advanced Security (GHAS) supply chain security topic related to Dependabot. For pre-commit dependency vulnerability scanning in AI coding agents via the GitHub MCP Server, this skill references the Advanced Security plugin (`advanced-security@copilot-plugins`). Use this skill when an agent needs to scan dependencies for known vulnerabilities before committing.

SKILL.md 本文

Dependabot の設定と管理

概要

Dependabot は GitHub の組み込み依存関係管理ツールで、3つのコア機能を備えています。

  1. Dependabot Alerts — 依存関係に既知の脆弱性(CVEs)がある場合に通知
  2. Dependabot Security Updates — 脆弱な依存関係を修正するための PR を自動作成
  3. Dependabot Version Updates — 依存関係を最新に保つための PR を自動作成

すべての設定は 単一ファイル .github/dependabot.yml にあり、デフォルトブランチに配置されます。GitHub はリポジトリごとに複数の dependabot.yml ファイルをサポートしていません。

設定ワークフロー

dependabot.yml を作成または最適化するときは、このプロセスに従います。

ステップ 1: すべてのエコシステムを検出

リポジトリをスキャンして依存関係マニフェストを探します。以下を確認してください。

エコシステムYAML 値マニフェストファイル
npm/pnpm/yarnnpmpackage.json, package-lock.json, pnpm-lock.yaml, yarn.lock
pip/pipenv/poetry/uvpiprequirements.txt, Pipfile, pyproject.toml, setup.py
DockerdockerDockerfile
Docker Composedocker-composedocker-compose.yml
GitHub Actionsgithub-actions.github/workflows/*.yml
Go modulesgomodgo.mod
Bundler (Ruby)bundlerGemfile
Cargo (Rust)cargoCargo.toml
Composer (PHP)composercomposer.json
NuGet (.NET)nuget*.csproj, packages.config
.NET SDKdotnet-sdkglobal.json
Maven (Java)mavenpom.xml
Gradle (Java)gradlebuild.gradle
Terraformterraform*.tf
OpenTofuopentofu*.tf
HelmhelmChart.yaml
Hex (Elixir)mixmix.exs
SwiftswiftPackage.swift
Pub (Dart)pubpubspec.yaml
Bunbunbun.lockb
Dev Containersdevcontainersdevcontainer.json
Git Submodulesgitsubmodule.gitmodules
Pre-commitpre-commit.pre-commit-config.yaml

注意: pnpm と yarn はどちらも npm エコシステム値を使用します。

ステップ 2: ディレクトリの場所をマップ

各エコシステムについて、マニフェストが存在する場所を特定します。モノレポの場合は directories(複数形)でグロブパターンを使用します。

directories:
  - "/"           # ルート
  - "/apps/*"     # すべてのアプリサブディレクトリ
  - "/packages/*" # すべてのパッケージサブディレクトリ
  - "/lib-*"      # lib- で始まるディレクトリ
  - "**/*"        # 再帰的(すべてのサブディレクトリ)

重要: directory(単数形)はグロブをサポートしていません。ワイルドカードの場合は directories(複数形)を使用します。

ステップ 3: 各エコシステムエントリを設定

すべてのエントリには最低限以下が必要です。

- package-ecosystem: "npm"
  directory: "/"
  schedule:
    interval: "weekly"

ステップ 4: グループ化、ラベル、スケジューリングで最適化

各最適化テクニックについては、以下のセクションを参照してください。

モノレポ戦略

ワークスペースカバレッジのためのグロブパターン

多数のパッケージを持つモノレポの場合、各ディレクトリをリストアップせずにグロブパターンを使用します。

- package-ecosystem: "npm"
  directories:
    - "/"
    - "/apps/*"
    - "/packages/*"
    - "/services/*"
  schedule:
    interval: "weekly"

クロスディレクトリグループ化

group-by: dependency-name を使用して、複数のディレクトリで同じ依存関係が更新されるときに、単一の PR を作成します。

groups:
  monorepo-deps:
    group-by: dependency-name

これにより、指定されたすべてのディレクトリ全体で依存関係ごとに 1 つの PR が作成され、CI コストとレビュー負担が削減されます。

制限事項:

  • すべてのディレクトリは同じパッケージエコシステムを使用する必要があります。
  • バージョン更新のみに適用されます
  • 互換性のないバージョン制約は個別の PR を作成します

ワークスペース外のスタンドアロンパッケージ

ディレクトリが独自のロックファイルを持ち、ワークスペースの一部ではない場合(例:.github/ のスクリプト)、その場所に対して別のエコシステムエントリを作成します。

依存関係グループ化

関連する依存関係を単一の PR にグループ化して、PR ノイズを削減します。

依存関係タイプ別

groups:
  dev-dependencies:
    dependency-type: "development"
    update-types: ["minor", "patch"]
  production-dependencies:
    dependency-type: "production"
    update-types: ["minor", "patch"]

名前パターン別

groups:
  angular:
    patterns: ["@angular*"]
    update-types: ["minor", "patch"]
  testing:
    patterns: ["jest*", "@testing-library*", "ts-jest"]

セキュリティアップデート用

groups:
  security-patches:
    applies-to: security-updates
    patterns: ["*"]
    update-types: ["patch", "minor"]

主な動作:

  • 複数のグループにマッチする依存関係は最初のマッチに移動します
  • applies-to が存在しない場合、デフォルトは version-updates です
  • グループ化されていない依存関係は個別の PR を取得します

マルチエコシステムグループ

異なるパッケージエコシステム全体の更新を単一の PR に結合します。

version: 2

multi-ecosystem-groups:
  infrastructure:
    schedule:
      interval: "weekly"
    labels: ["infrastructure", "dependencies"]

updates:
  - package-ecosystem: "docker"
    directory: "/"
    patterns: ["nginx", "redis"]
    multi-ecosystem-group: "infrastructure"

  - package-ecosystem: "terraform"
    directory: "/"
    patterns: ["aws*"]
    multi-ecosystem-group: "infrastructure"

multi-ecosystem-group を使用する場合、patterns キーは必須です。

PR のカスタマイズ

ラベル

labels:
  - "dependencies"
  - "npm"

labels: [] を設定してすべてのラベル(デフォルトを含む)を無効にします。SemVer ラベル(majorminorpatch)はリポジトリに存在する場合、常に適用されます。

コミットメッセージ

commit-message:
  prefix: "deps"
  prefix-development: "deps-dev"
  include: "scope"  # プレフィックスの後に deps/deps-dev スコープを追加

アサイニーとマイルストーン

assignees: ["security-team-lead"]
milestone: 4  # マイルストーン URL のスコープから取得した数値 ID

ブランチ名の区切り文字

pull-request-branch-name:
  separator: "-"  # デフォルトは /

ターゲットブランチ

target-branch: "develop"  # デフォルトブランチの代わりに PR がこれをターゲットにします

注意: target-branch が設定されている場合、セキュリティアップデートはデフォルトブランチをターゲットにします。すべてのエコシステム設定はバージョン更新のみに適用されます。

スケジュール最適化

インターバル

サポート対象: dailyweeklymonthlyquarterlysemiannuallyyearlycron

schedule:
  interval: "weekly"
  day: "monday"         # weekly のみ
  time: "09:00"         # HH:MM 形式
  timezone: "America/New_York"

Cron 式

schedule:
  interval: "cron"
  cronjob: "0 9 * * 1"  # 毎週月曜日午前 9 時

クールダウン期間

新しくリリースされたバージョンの更新を遅延させて、初期採用者の問題を回避します。

cooldown:
  default-days: 5
  semver-major-days: 30
  semver-minor-days: 7
  semver-patch-days: 3
  include: ["*"]
  exclude: ["critical-lib"]

クールダウンはバージョン更新にのみ適用されます。セキュリティアップデートには適用されません。

セキュリティアップデート設定

リポジトリ設定で有効化

Settings → Advanced Security → Dependabot alerts、セキュリティアップデート、およびグループ化されたセキュリティアップデートを有効化します。

YAML でセキュリティアップデートをグループ化

groups:
  security-patches:
    applies-to: security-updates
    patterns: ["*"]
    update-types: ["patch", "minor"]

バージョン更新を無効化(セキュリティのみ)

open-pull-requests-limit: 0  # バージョン更新 PR を無効化

自動トリアージルール

GitHub は開発依存関係の低インパクトアラートを自動却下するプリセットを備えています。カスタムルールは重大度、パッケージ名、CWE などでフィルタリングできます。リポジトリの Settings → Advanced Security で設定します。

PR コメントコマンド

@dependabot コメントを使用して Dependabot PR と対話します。

注意: 2026 年 1 月時点で、マージ/クローズ/再開コマンドは廃止されました。 GitHub のネイティブ UI、CLI(gh pr merge)、またはオートマージを使用してください。

コマンド効果
@dependabot rebasePR をリベース
@dependabot recreatePR をゼロから再作成
@dependabot ignore this dependencyPR をクローズして、この依存関係を更新しない
@dependabot ignore this major versionこのメジャーバージョンを無視
@dependabot ignore this minor versionこのマイナーバージョンを無視
@dependabot ignore this patch versionこのパッチバージョンを無視

グループ化された PR の場合、追加のコマンド:

  • @dependabot ignore DEPENDENCY_NAME — グループ内の特定の依存関係を無視
  • @dependabot unignore DEPENDENCY_NAME — 無視を解除し、更新と共に再開
  • @dependabot unignore * — すべての依存関係のすべての無視をクリア
  • @dependabot show DEPENDENCY_NAME ignore conditions — 現在の無視条件を表示

完全なコマンドリファレンスについては、references/pr-commands.md を参照してください。

無視とアロー ルール

特定の依存関係を無視

ignore:
  - dependency-name: "lodash"
  - dependency-name: "@types/node"
    update-types: ["version-update:semver-patch"]
  - dependency-name: "express"
    versions: ["5.x"]

特定のタイプのみを許可

allow:
  - dependency-type: "production"
  - dependency-name: "express"

ルール: 依存関係が allowignore の両方に一致する場合、無視されます。

パスを除外

exclude-paths:
  - "vendor/**"
  - "test/fixtures/**"

高度なオプション

バージョン管理戦略

Dependabot がバージョン制約をどのように編集するかを制御します。

動作
autoデフォルト — アプリでは増加、ライブラリでは拡張
increase常に最小バージョンを増加
increase-if-necessary現在の範囲が新しいバージョンを除外する場合のみ変更
lockfile-onlyロックファイルのみ更新、マニフェストは無視
widen古いバージョンと新しいバージョンの両方を含むように範囲を拡張

リベース戦略

rebase-strategy: "disabled"  # 自動リベースを停止

コミットメッセージに [dependabot skip] を含めることで、余分なコミットを介したリベースを許可します。

開かれている PR の制限

open-pull-requests-limit: 10  # デフォルトはバージョンで 5、セキュリティで 10

0 に設定してバージョン更新を完全に無効化します。

プライベートレジストリ

registries:
  npm-private:
    type: npm-registry
    url: https://npm.example.com
    token: ${{secrets.NPM_TOKEN}}

updates:
  - package-ecosystem: "npm"
    directory: "/"
    registries:
      - npm-private

よくある質問

複数の dependabot.yml ファイルを使用できますか? いいえ。GitHub は .github/dependabot.yml に正確に 1 つのファイルをサポートしています。異なるエコシステムとディレクトリに対して、そのファイル内で複数の updates エントリを使用します。

Dependabot は pnpm をサポートしていますか? はい。package-ecosystem: "npm" を使用します。Dependabot は pnpm-lock.yaml を自動的に検出します。

モノレポで PR ノイズを削減するにはどうすればよいですか? groups を使用して更新をバッチ処理し、カバレッジのために directories をグロブで使用し、クロスディレクトリグループ化のために group-by: dependency-name を使用します。優先度の低いエコシステムについては、monthly または quarterly のインターバルを検討してください。

ワークスペース外の依存関係をどのように処理しますか? その場所を指す独自の directory を持つ別のエコシステムエントリを作成します。

AI コーディングエージェント経由での Pre-commit 依存関係スキャン

AI コーディングエージェント内でコード変更をスキャンして、コミット前に脆弱な依存関係をチェックする場合、GitHub MCP Server の dependabot ツールセットは依存関係追加を GitHub Advisory Database に対してチェックし、影響を受けるパッケージ、重大度、推奨される固定バージョンを含む構造化結果を返すことができます。より徹底的なコミット後チェックの場合、Dependabot CLI をローカルで実行して、変更前後の依存関係グラフの差分を取得することもできます。

Advanced Security プラグインをインストールします。これにより、専用の依存関係スキャンツールと /dependency-scanning スキルが提供されます。

GitHub Copilot CLI(シェル):

# GitHub MCP Server の dependabot ツールセットを有効化
copilot --add-github-mcp-toolset dependabot

GitHub Copilot CLI(copilot 内部):

> /plugin install advanced-security@copilot-plugins

Visual Studio Code:

  • GitHub MCP Server ヘッダーに "X-MCP-Toolsets": "dependabot" を追加するか、Copilot Chat でツールセットセレクターから Dependabot を選択します
  • advanced-security プラグインをインストールし、Copilot Chat で /dependency-scanning を使用します

プロンプト例:

このブランチで追加した依存関係で既知の脆弱性をスキャンして、コミット前にどのバージョンにアップグレードするかを教えてください。

参照: Advanced Security プラグイン — 依存関係スキャンスキル

GitHub MCP Server による依存関係スキャンがパブリックプレビューで利用可能(2026 年 5 月)で発表

リソース

  • references/dependabot-yml-reference.md — 完全な YAML オプションリファレンス
  • references/pr-commands.md — 完全な PR コメントコマンドリファレンス
  • references/example-configs.md — 実世界の設定例

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT