Communitygithub.com

lyncis/actup

在終端機中以互動方式升級 GitHub Actions 的版本

actup 是什麼?

這是一個 AI 代理技能,專門用於掃描 GitHub Actions 工作流程檔案,並提供升級建議。它能自動找出 `.github/workflows/` 目錄下的 YAML 檔案,解析其中的 `uses:` 指令,跳過本機路徑、Docker 映像或完整 SHA 提交。技能會透過 `gh` CLI、GitHub API 或備用的搜尋 MCP(如 Brave/Google)來解析每個 Action 的最新標籤,並過濾出語意化版本號。當偵測到主要版本變更時,會內建中斷變更登錄以產生警告,例如從 `actions/checkout@v3` 升級到 `v4` 時會提醒 Node 執行環境從 16 升級到 20。此技能支援 Claude Code、Cursor 等終端機型 AI 代理,並以 Markdown 報告形式呈現差異建議,且絕不直接修改工作流程,確保操作透明與安全。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add lynicis/actup

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

GitHub Actions 更新工具

讓 .github/workflows/*.yml 和 .github/workflows/*.yaml 檔案保持最新:掃描 Actions、解析最新版本並建議升級。

快速開始

當使用者提出類似問題時:

「更新我的 GitHub Actions」
「哪些 Actions 已經過時?」
「升級我的工作流程中的 Actions」

請依照下列流程操作,並回傳一份包含差異建議的 Markdown 報告。

工作流程

  1. 掃描工作流程

    • 找出所有 .github/workflows/*.yml 和 .github/workflows/*.yaml 檔案。
    • 如果找不到任何檔案,告知使用者並停止。
  2. 提取 uses: 參考

    • 解析每個工作流程中的 uses: 行。
    • 跳過:
      • 本機路徑:./...
      • Docker 參考:docker://...
      • 完整 SHA 提交:任何看起來像 40 個字元十六進位 SHA 的內容。
    • 記錄:action、current_version、workflow_file、line_number。
  3. 解析最新版本

    • 將每個 Action 拆分為 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)而非完整語意化版本(v5.3.1)。
    • 如果沒有主要標籤,則回退至最高的語意化版本標籤。
  4. 偵測中斷變更

    • 如果最新版本的主要版號高於目前的主要版號,則標記為中斷變更。
    • 與下方內建登錄進行交叉比對,取得已知的警告訊息。
  5. 產生建議報告

    • 產生一份 Markdown 報告,包含:
      • 摘要表格:action | current | latest | breaking? | file
      • 每個 Action 的差異區塊
      • 中斷變更警告,以 ⚠ 標示
    • 除非使用者明確要求,否則不要編輯工作流程檔案。

中斷變更登錄

- 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 更新報告

| Action | Current | Latest | Breaking? | File |
|--------|---------|--------|-----------|------|
| actions/checkout | v3 | v4 | ⚠ yes | .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 或手動指引。
- 如果某個 Action 沒有語意化版本標籤,請標記為「無法判定最新版本」。

相關技能