ソース情報
- リポジトリ
- aki77/skills
- ソースの最終更新活動
- 2026年6月27日 03:44
- 検出された SKILL.md の言語
- 日本語
- スター
- 1
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/aki77/skills --skill dependabot-triageコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
GitHub PR を「人間レビューが必要か」の観点で判定し、required / pending / optional の3値で報告するスキル。統制系変更・不可逆操作・セキュリティ境界・個人情報フロー・外部契約・新規パターン導入・高リスク値計算・実行時ハザードの8トリガーに照らして判定し、どれにも当てはまらなければ optional に倒す。diffの外の事実に正しさが依存する場合のみ pending とし、その場で質問して回答を反映し required / optional に確定させる。GitHubへの投稿・Approve・ラベル付与は一切行わず、会話に報告するのみ。/pr-human-review-gate コマンドで起動する。
.database_consistency.yml のチェッカーを1回の実行で1つずつ段階的に有効化するスキル。違反は自明なものは修正し、アプリ仕様上やむを得ないものは理由コメント付きでテーブル/カラム単位の個別無効化を行う。
プランモードで練り上げた実装計画が1ファイルに収まらないほど大きくなった場合に、SSOT(overview.md)+ フェーズ索引(README.md)+ フェーズ別詳細(phase-N-*.md)の複数ファイル構成に分割して出力するスキル。出力先ディレクトリは引数で指定するか、なければユーザーに確認する。各ドキュメントはコードを含まず「何を作るか」「どの順でどう作るか」を記述する設計文書。「プランが大きすぎる」「フェーズに分けたい」「プランをドキュメント化したい」「計画ドキュメントを出力して」と言われたとき、またはExitPlanModeで確定したプランが長大で1回の実装セッションに収まらないと判断したときに使う。
SOC 職業分類に基づく
SKILL.md を表示中
| name | dependabot-triage |
| description | Dependabot のPR・設定を診断し、ノイズPRや不要な更新を抑える正しい対処を選ぶスキル。 |
| license | MIT |
| disable-model-invocation | true |
Dependabot のノイズPR(繰り返し作られる・上げたくないメジャー・追従不要なコミット)は、依存の種類によって正しい止め方が違う。種類を取り違えると効かない設定を入れてしまう。このスキルは、PRや困りごとを見て種類を分類し、種類ごとの対処を選び、設定に反映するまでの判断フローを提供する。
このスキルは診断して対処方針を提案するところまでを担う。最終的にどの方針を採るか(特にPRをクローズするか、メジャーを固定するか等の運用判断)は人間に確認してから実装・検証・コミットへ進む。
PRの差分(gh pr diff <n> や PR の get_diff)、あるいは困っている対象を見て、どの種類かを特定する。種類で対処が分かれるので、ここを誤らない。
| 種類 | 見分け方 | semverのignoreが効くか |
|---|---|---|
| 公開パッケージ(semver) | rubygems/npm 等のレジストリ公開gem・パッケージ。バージョン番号が X.Y.Z で進む | ✅ 効く |
| git参照の依存(ブランチ追従) | マニフェストで VCS を直接参照(例: github:/git: 指定)かつブランチ追従。lock に branch: と revision:(コミットSHA) が出る | ❌ 効かない(後述) |
| git参照の依存(タグ/バージョンpin) | 同上だがバージョン風タグに pin 済み(lock に tag: vX.Y.Z) | ✅ タグ判定が効く |
| CI のアクション類(GitHub Actions等) | ワークフローが参照するアクションのバージョン/SHA | ✅ 効く |
判別がつかないときは lock ファイルの該当エントリを見る。branch: 行があればブランチ追従、tag: 行があればタグpin、どちらも無く純粋なバージョン番号だけならレジストリ公開パッケージ。
ignore で止められないのかDependabot は VCS 直接参照の依存について、ブランチ追従の場合はブランチHEADのコミットSHAを「最新版」とみなし、新コミットが入る度にPRを作る。ここには semver(メジャー/マイナー/パッチ)の概念が存在しないため、version-update:semver-major などを使った ignore はそもそもマッチしない。
止めるには、依存側に semver の土俵を与える必要がある。バージョン風タグに pin すると、Dependabot はそのタグ群のうち最新を判定基準にし、「新しいタグが切られた時だけPR」に変わる。CI のアクションでハッシュpinした場合と同じ仕組み。
この性質は推測で断定しない。挙動に確信が持てなければ、対象のパッケージマネージャ/Dependabot の最新ドキュメントを確認する(git参照依存の更新判定はエコシステムごとに差がある)。
ignore「メジャーは上げたくないが minor/patch は上げてよい」のような方針は、dependabot.yml の該当エコシステムに ignore を足す。
ignore:
- dependency-name: "<package-name>"
update-types:
- "version-update:semver-major"
^ や ~> 等)も、その範囲を超える更新を防いでいる。ignore と二重で効かせると堅い。npm / bundler それぞれの完全な dependabot.yml ブロック例(groups+ignore+cooldown 込み)は references/dependabot-yml-examples.md を参照。
ブランチ追従が原因のノイズPRは、ignore ではなくマニフェストの参照方法を変えて直す。
branch: '<branch>'(または無指定)から tag: '<vX.Y.Z>' に書き換える。これで以降は「新タグが切られた時だけ」更新PRが出るようになり、semver の ignore も効くようになる。branch: → tag: の Gemfile 記述例は references/dependabot-yml-examples.md を参照。
対処はワークフローでの参照粒度で決まる。
uses: actions/checkout@v7 のような @vN)— v7 タグは v7系の最新コミットを指すので、minor/patch 更新はタグ参照側が自動で追従する。Dependabot が出す minor/patch のPRは実質ノイズ(マージしても参照は @v7 のまま)。意味があるのはメジャー更新(v7→v8)だけなので、version-update:semver-minor と version-update:semver-patch を ignore してメジャー更新PRだけ通す。@v7.1.2 や @<sha>)— その粒度の更新PRは意味がある(参照を書き換えないと上がらない)ので ignore しない。必要なら groups でまとめるだけにする。加えて、アクションは数が多くPRが乱立しがちなので、groups(patterns: ["*"])で1本のPRにまとめると効く。
個別の ignore/pin と直交して、PR量・タイミングを整える設定がある。困りごとが「PRが多すぎる/早すぎる」なら、こちらを検討する。
groups — minor/patch をエコシステム単位で1本のPRにまとめる。レビュー回数を大きく減らせる。cooldown(default-days)— リリース直後の不安定な版を避けるため、公開後N日経つまでPRを作らない。schedule.interval — weekly 等に落としてPR頻度を下げる。403 で失敗する場合は、ワークフロー側の対処になる。次の「Dependabot PR で CI が権限不足(403)で失敗する」を参照。groups・cooldown を組み込んだ完全な設定例は references/dependabot-yml-examples.md にある。
schedule.day: monday(や time:)を指定しているのに別の曜日にPRが来た、というケース。設定ミスを疑う前に、まず次の2点を押さえる。
schedule は best effort — 指定はジョブを「だいたいその頃に開始する」程度で、厳密な曜日/時刻は保証されない。バックプレッシャー次第で前後する。dependabot.yml を編集してpushすると即時再実行される(仕様) — 設定変更はすぐ反映したいという想定で、Dependabot はスケジュールを待たずその場でジョブを走らせPRを作る。現在スケジュール外で走る主因はこれ(他はセキュリティアドバイザリ公開時・前回ジョブ失敗時の再実行)。したがって「予定外の曜日にPRが来た」ら、まず 直前に dependabot.yml を編集・pushしていないか(直近コミットに dependabot.yml の変更が無いか)を疑う。あれば設定どおりの正常動作であり、対処不要。schedule を触らずに次回を待てば通常はスケジュール付近に戻る。
出典: dependabot-core #3059(メンテナ回答)。スケジュール挙動は推測で断定せず、挙動に確信が持てなければ一次情報を確認する。なお
cooldownは「リリース直後の版を避ける猶予期間」であってスケジュールの曜日/時刻とは無関係。混同しない。
依存更新そのものとは別軸の、Dependabot PR 特有のCI失敗。
症状と原因 — Dependabot が作るPRでは GITHUB_TOKEN がデフォルト read-only になる。そのため PR への書き込み(PR更新・コメント・レビュー投稿・チェック作成)を行うステップが 403 Resource not accessible by integration で落ちる。2021年10月以降、Dependabot PR でもジョブの permissions: キーは尊重されるので、必要な権限を明示すれば直る。
対処 — そのジョブを「動かしたいか / 回したくないか」で分ける。
permissions: を明示する(最小権限で)。書き込みの種別ごとに必要なスコープが違う:
contents: read + pull-requests: writechecks: writeactions: readif: に github.actor != 'dependabot[bot]' を足してスキップする。勘所 — ジョブに permissions: を1つでも書くと、明示しなかったスコープは絞られる(read 中心になる)。書き込みステップが複数種別あるなら、必要なスコープを取りこぼさず全部挙げる。それでいて付けすぎず最小権限に保つ。
ワークフロー側の設定例(permissions: 明示・actor スキップの if:)は references/dependabot-yml-examples.md を参照。
マニフェストを書き換えたら lock を整合させる。bundler の例:
bundle install
git diff <lockfile> # 差分を検証
検証の勘所:
branch: ... → tag: vX.Y.Z に置き換わっている。revision:(コミットSHA) は変わることがある。annotated tag の場合、タグ一覧APIが返すSHAはタグオブジェクト自身のSHAで、タグが指すコミットSHAとは別物。lock 再生成後はコミットSHAに解決されるため、バージョン番号さえ同じなら正常。ローカルの git 設定 safe.bareRepository=explicit が有効だと、bundler が git参照gemの bare キャッシュを操作できず bundle install が "not yet checked out" / "cannot use bare repository" で落ちることがある。その場合だけ、コマンド実行時に一時的に上書きして回避する:
GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=safe.bareRepository GIT_CONFIG_VALUE_0=all bundle install
これはローカル環境固有の回避で、コミット内容にもCIにも影響しない。エラーが出ないなら付けない。
ignore や pin にはなぜそうするかを設定ファイルのコメントに書く。後任が誤って外すのを防ぐ。@dependabot close 等のコメントコマンドもある)。