mcpField
F
finops-caches

finops-caches

github.com/laurigatesクラウド・DevOps5955 回インストール1 日前に更新
リポジトリ

finops-caches について

finops-cachesは、リポジトリまたは組織のGitHub Actionsキャッシュを分析するスキルです。サイズ、キーのパターン、ブランチ別の分布、古いキャッシュを調べ、削除コマンドも提示します。

主な機能

  1. 01キャッシュのサイズと使用量を分析
  2. 02キー接頭辞ごとに集計
  3. 03ブランチ別キャッシュ分布を確認
  4. 04古いキャッシュや孤立したPRキャッシュを検出
  5. 05ghでキャッシュを照会・削除

活用シーン

  1. 01リポジトリ上限に近いキャッシュ使用量の調査
  2. 02削除対象となる古いキャッシュの特定
  3. 03キャッシュキー戦略の確認
  4. 04組織全体のキャッシュ使用量の分析

インストール

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

$npx skills add https://github.com/laurigates/claude-plugins --skill finops-caches

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

同梱ファイルscripts/cache-analysis.sh

詳細

/finops:caches

GitHub Actions のキャッシュ使用状況を分析します。サイズの内訳、キャッシュキーのパターン、ブランチごとの分布、古いキャッシュの検出を確認できます。

使用する場面

シナリオこのスキルを使用代替手段
キャッシュ使用量が上限に近い、または不明/finops:caches-
古い、または孤立した PR キャッシュを特定する/finops:caches-
キャッシュキー戦略の有効性を確認する/finops:caches-
リポジトリ全体の健全性を手早く確認する/finops:overviewまず overview から始めてください
複数のリポジトリ間でキャッシュ使用量を比較する/finops:compare複数リポジトリの比較には compare を使用してください
キャッシュではなくワークフローのトリガーを最適化する/finops:wasteワークフローレベルの問題には waste を使用してください

コンテキスト

  • 現在のリポジトリ URL:!git remote get-url origin

パラメーター

パラメーター説明デフォルト
repoowner/name 形式のリポジトリ現在のリポジトリ
org:orgname組織全体のキャッシュ使用量を分析-

実行

bash "${SKILL_DIR}/scripts/cache-analysis.sh" $ARGS

出力形式

=== Cache Analysis: org/repo ===

Summary:
  45 caches, 2340MB used
  23% of 10GB limit

=== By Key Prefix ===
  node-modules: 12 caches, 1200MB
  playwright: 8 caches, 800MB
  turbo: 15 caches, 300MB

=== By Branch ===
  main: 10 caches, 500MB
  develop: 8 caches, 400MB
  PR 123: 3 caches, 150MB
  PR 118: 3 caches, 140MB

=== Largest Caches ===
  node-modules-linux-abc123: 180MB
  playwright-linux-def456: 150MB

=== Stale Caches (>7 days old) ===
  8 stale caches, 450MB reclaimable
  Oldest: 2025-01-15T10:30:00Z

=== PR Branch Caches ===
  12 PR caches, 580MB (check if PRs are merged/closed)

エージェント向けの最適化

コンテキストコマンド
キャッシュ一覧(JSON)gh api "/repos/{owner}/{repo}/actions/caches?per_page=100" --jq '.actions_caches'
キャッシュ総数gh api "/repos/{owner}/{repo}/actions/caches" --jq '.total_count'
古いキャッシュを削除gh api -X DELETE "/repos/{owner}/{repo}/actions/caches/{id}"
キャッシュキーを検索gh api "/repos/{owner}/{repo}/actions/caches?key=prefix" --jq '.actions_caches[].key'
簡潔な概要bash "${SKILL_DIR}/scripts/cache-analysis.sh" $ARGS

実行後のアクション

調査結果に基づき、以下を提案します:

  • 上限に対する割合が高い場合 → 古いキャッシュをクリーンアップし、キー戦略を見直します
  • PR キャッシュが多い場合 → クローズ済み PR のキャッシュを削除するワークフローを追加します
  • 単一のキャッシュサイズが大きい場合 → 分割または圧縮を検討します
  • 古いキャッシュがある場合 → クリーンアップ用のコマンドを提示します:
    # Delete stale caches
    gh api "/repos/$REPO/actions/caches?per_page=100" \
      --jq '.actions_caches[] | select(.last_accessed_at < "CUTOFF") | .id' | \
      while read id; do gh api -X DELETE "/repos/$REPO/actions/caches/$id"; done
    

コメント