关于 github-actions-catalog
github-actions-catalog 是用于查找和核对 GitHub Actions 版本的技能,面向维护 CI/CD 工作流的开发者。它通过每周更新的版本数据集支持搜索、批量检查和升级操作。
主要功能
- 01按关键词、主题或语言搜索
- 02查询最新发布版本
- 03批量检查仓库中的 Action
- 04为工作流升级或固定版本
- 05提供 Dependabot 配置指引
适用场景
- 01确认某个 Action 的最新版本
- 02查找适用于部署或代码检查的 Action
- 03批量检查工作流中的版本
- 04为生产工作流固定 Action 版本
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ byte-me-labs/ github-actions-catalog --skill github-actions-catalog安装后在 Claude Code 中输入/github-actions-catalog确认已加载。
附带文件LICENSE
详细介绍
GitHub Actions 目录
收录了 4,600+ 个 GitHub Actions — 可按关键词、主题或语言搜索,查询最新发布版本,并升级 CI/CD 工作流。每周更新。
适用场景
- 用户询问“actions/checkout 的最新版本是什么?”
- 用户想将某个 Action 升级或固定到特定版本
- 用户想批量检查仓库中使用的所有 Action 版本
- 用户需要查找 Action:“用于部署到 AWS 的 GitHub Action”
- 用户询问“有什么好的 Docker lint Action?”或“用于 XYZ 的最佳 TypeScript Action 是什么?”
- 用户提到某个可能已过时的 Action
当前版本
actions-versions.json 中跟踪了 4,600+ 个 GitHub Actions(星标数 >= 10)的最新版本,数据来源于完整的 Marketplace 验证数据集。回答版本相关问题前,务必先读取此文件 — 该文件每周自动刷新。
纯 JSON 格式 — 可使用 jq 进行结构化查询,也可使用 grep 快速搜索。
工作流
1. 查询目标 Action
如果用户指定了某个 Action(例如 actions/setup-go),请先读取
actions-versions.json,查询缓存的最新版本。
# With jq (recommended):
jq -r '.actions[] | select(.action | test("setup-go")) |
"\(.action) → latest: \(.tag) (major: \(.major), released: \(.released))"' actions-versions.json
# Without jq — grep the compact JSON directly:
grep '"setup-go"' actions-versions.json
如果该 Action 不在缓存中,则实时获取:
gh release view -R <owner>/<repo> --json tagName -q '.tagName'
2. 查找其使用位置
grep -rn "uses: <owner>/<repo>@" .github/workflows/
3. 应用更新
在每个工作流文件中,将 @<old-version> 替换为 @<new-major-version>,
然后验证 YAML 仍然有效。
示例
# 1. Query cached versions
jq -r '.actions[] | select(.action == "actions/setup-go")' actions-versions.json
# → {"action":"actions/setup-go","stars":1722,"major":"6","tag":"v6.5.0","released":"2026-06-24"}
# 2. Find usages
grep -rn "uses: actions/setup-go@" .github/workflows/
# → .github/workflows/ci.yml:15: uses: actions/setup-go@v5
# 3. Edit: v5 → v6
版本固定参考
| 模式 | 升级行为 | 风险 |
|---|---|---|
@v4 | 在主版本内自动更新 | 中 — 大多数情况下安全 |
@v4.2.0 | 手动,精确到次版本 | 低 — 固定到特定发布版本 |
@11bd719... | 手动,固定到提交 SHA | 最低 — 供应链安全 |
@main | 始终使用最新开发版本 | 高 — 上游变更可能导致故障 |
建议:开发/CI 环境使用 @v4 形式,生产环境固定到 SHA。
智能搜索
无需浏览 Marketplace,即可从缓存数据集中找到合适的 Action:
# Search by name + description (keyword in either field)
jq -r '.actions[] | select(.action + " " + .desc | test("lint"; "i")) |
"\(.action) ⭐\(.stars) \(.desc)"' actions-versions.json
# Search by topic tag
jq -r '.actions[] | select(.topics[]? | test("docker")) |
"\(.action) ⭐\(.stars)"' actions-versions.json
# Top 20 by stars
jq -r '.actions[:20][] | "\(.action) ⭐\(.stars) \(.desc)"' actions-versions.json
# Filter by language (TypeScript / Docker / Composite actions)
jq -r '.actions[] | select(.lang == "TypeScript") |
"\(.action) ⭐\(.stars)"' actions-versions.json | head -20
如果没有 jq,可直接使用 grep 搜索精简 JSON:
grep -i lint actions-versions.json
grep -i docker actions-versions.json
批量检查
检查仓库工作流中使用的所有 Action:
grep -rohP 'uses:\s*\K[^@]+' .github/workflows/ | sort -u |
while read action; do
latest=$(jq -r --arg a "$action" '.actions[] | select(.action == $a) | .tag' actions-versions.json)
[[ -n "$latest" ]] && echo "$action → $latest" || echo "$action → N/A"
done
Dependabot — 推荐用于持续自动化
强烈建议在每个仓库中添加 .github/dependabot.yml。当 Action 发布新版本时,Dependabot 会自动创建 PR — 无需手动检查。
本技能与 Dependabot 的区别
| 本技能 | Dependabot | |
|---|---|---|
| 适用场景 | 按需查询 / 批量检查 | 持续自动更新 |
| 触发方式 | 你在对话中提出请求 | 发布新版本 |
| 输出 | 答案 + 行内编辑 | 自动创建 PR |
| 使用时机 | “setup-go 的最新版本是什么?”/“升级我的所有 Action” | 设置一次,无需操心 |
两者解决的问题不同 — 建议同时使用。
设置
# .github/dependabot.yml
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
设置 Dependabot 后
- Dependabot 会通过自动创建 PR,确保你的 Action 保持最新。
- 当你需要快速获取答案(“X 的最新版本是什么?”)时,本技能可根据缓存的
actions-versions.json(4,600+ 个 Action)即时回复。