Communitygithub.com

lynicis/actup

GitHub Actionsのバージョンをターミナルから対話的にアップグレードします

actup とは?

このスキルは、`.github/workflows/*.yml` および `.github/workflows/*.yaml` ファイル内で使用されているGitHub Actionsのバージョンをスキャンし、最新のリリースタグに基づいてアップグレード候補を提案するツールです。開発者は「アクションを更新して」「どのアクションが古い?」といった自然言語のリクエストを送るだけで、各アクションの現在のバージョン、最新バージョン、および破壊的変更の有無をまとめたMarkdownレポートを受け取れます。ワークフローは、アクションの抽出、最新バージョンの解決(GitHub CLI、API、または検索MCPをフォールバックとして使用)、セマンティックバージョニングの優先順位付け、組み込みのレジストリに基づく破壊的変更の警告を含みます。スキルはワークフローファイルを自動編集せず、常に差分プレビューを表示してからユーザーの明示的な承認を待つため、安全に使用できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add lynicis/actup

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

GitHub Actions アップデータ

.github/workflows/*.yml および .github/workflows/*.yaml ファイルを最新に保つため、アクションをスキャンし、最新バージョンを解決し、アップグレードを提案します。

クイックスタート

ユーザーが次のように尋ねた場合:

「GitHub Actionsを更新して」 「どのアクションが古い?」 「ワークフローのアクションをバンプして」

以下のワークフローに従い、差分スタイルの提案を含むMarkdownレポートを返します。

ワークフロー

  1. ワークフローのスキャン

    • すべての .github/workflows/*.yml および .github/workflows/*.yaml ファイルを検索します。
    • 存在しない場合は、ユーザーに伝えて停止します。
  2. uses: 参照の抽出

    • 各ワークフローから uses: 行を解析します。
    • 以下はスキップ:
      • ローカルパス: ./...
      • Docker参照: docker://...
      • 完全なSHAコミット: 40文字の16進数SHAのように見えるもの
    • 記録: action、current_version、workflow_file、line_number。
  3. 最新バージョンの解決

    • 各アクションを owner/repo に分割します。
    • 以下の順序でツールを試行:
      1. gh api repos/{owner}/{repo}/tags --jq '.[].name' (gh が利用可能な場合)
      2. fetch を使用して https://api.github.com/repos/{owner}/{repo}/tags
      3. Brave Search / Google Search MCP で "{owner}/{repo} latest release tag" を検索
    • タグを有効なセマンティックバージョニングにフィルタリングします。
    • デフォルトでは完全なセマンティックバージョン (v5.3.1) よりもメジャータグ (v5) を優先します。
    • メジャータグが存在しない場合は、最も高いセマンティックバージョンタグにフォールバックします。
  4. 破壊的変更の検出

    • 最新バージョンが現在のバージョンよりも高いメジャーバージョンの場合、破壊的変更としてマークします。
    • 以下に埋め込まれたレジストリと照合し、既知の警告を確認します。
  5. 提案レポートの生成

    • 以下の内容を含むMarkdownレポートを作成:
      • 概要テーブル: アクション | 現在 | 最新 | 破壊的変更? | ファイル
      • アクションごとの差分ブロック
      • ⚠ 付きの破壊的変更警告
    • ユーザーが明示的に要求しない限り、ワークフローファイルは編集しません。

破壊的変更レジストリ

- action: actions/checkout
  from_major: 3
  to_major: 4
  warning: "Nodeランタイムが16から20にアップグレードされました。カスタムランナーとセルフホステッド環境を確認してください。"
- action: actions/setup-node
  from_major: 3
  to_major: 4
  warning: "Node 16ランタイムは非推奨になりました。Node 20が使用されます。"
- action: actions/setup-go
  from_major: 4
  to_major: 5
  warning: "Node 20ランタイム。カスタムキャッシュキーや副作用を確認してください。"

出力テンプレート

## GitHub Actions 更新レポート

| アクション | 現在 | 最新 | 破壊的変更? | ファイル |
|------------|------|------|-----------|--------|
| actions/checkout | v3 | v4 | ⚠ はい | .github/workflows/ci.yml |

### 推奨される変更

`.github/workflows/ci.yml`:
```diff
- uses: actions/checkout@v3
+ uses: actions/checkout@v4

破壊的変更の警告

  • actions/checkout@v3 → v4: Nodeランタイムが16から20にアップグレードされました。カスタムランナーとセルフホステッド環境を確認してください。

## ルール

- ワークフローファイルをサイレントに書き込まないでください。
- 編集前には必ず差分スタイルのプレビューを表示してください。
- GitHub APIのレート制限に達した場合は、検索MCPまたは手動ガイダンスにフォールバックしてください。
- アクションにセマンティックバージョニングタグがない場合は、「最新バージョンを特定できません」と注記してください。

関連スキル