mcpField
G
github-actions-catalog

github-actions-catalog

github.com/byte-me-labsCloud & DevOps192 installsUpdated 6d ago
Repository

About github-actions-catalog

github-actions-catalog is a skill for finding GitHub Actions and checking their versions, aimed at developers maintaining CI/CD workflows. Its weekly refreshed dataset supports search, batch checks, and upgrade tasks.

Key features

  1. 01Search by keyword, topic, or language
  2. 02Look up latest release versions
  3. 03Batch-check repository actions
  4. 04Upgrade or pin workflow versions
  5. 05Dependabot setup guidance

Use cases

  1. 01Checking the latest version of an action
  2. 02Finding an action for deployment or linting
  3. 03Checking versions across workflow files
  4. 04Pinning action versions in production workflows

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/byte-me-labs/github-actions-catalog --skill github-actions-catalog

After installing, type/github-actions-catalogin Claude Code to confirm it loaded.

Bundled filesLICENSE

Details

From the project README

GitHub Actions Catalog

A catalog of 4,600+ GitHub Actions — search by keyword, topic, or language, look up the latest release version, and upgrade your CI/CD workflows. Updated weekly.

When to Use

  • User asks "what's the latest version of actions/checkout?"
  • User wants to upgrade or pin an action to a specific version
  • User asks to batch-check all action versions used in a repo
  • User needs to find an action: "a GitHub Action for deploying to AWS"
  • User asks "what's a good docker lint action?" or "best TypeScript action for XYZ"
  • User mentions an action that may be out of date

Current Versions

The latest versions of 4,600+ GitHub Actions (stars >= 10) are tracked in actions-versions.json, sourced from the full Marketplace validation dataset. Always read this file first before answering a version question — it is auto-refreshed weekly.

Plain JSON — works with jq for structured queries or grep for quick searches.

Workflow

1. Look up the target action

If the user names a specific action (e.g. actions/setup-go), start by reading actions-versions.json for the cached latest version.

# 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

If the action is not in the cache, fetch it live:

gh release view -R <owner>/<repo> --json tagName -q '.tagName'
2. Find where it's used
grep -rn "uses: <owner>/<repo>@" .github/workflows/
3. Apply the update

Replace the @<old-version> with @<new-major-version> in each workflow file, then verify the YAML is still valid.

Example
# 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

Version Pinning Reference

PatternUpgrade behaviorRisk
@v4Auto within majorMedium — safe for most cases
@v4.2.0Manual, exact minorLow — pinned to release
@11bd719...Manual, commit SHALowest — supply-chain safe
@mainAlways bleeding edgeHigh — breaks on upstream changes

Recommendation: Use @v4 style for dev/CI, pin to SHA in production.

Smart Search

Find the right action from the cached dataset without browsing Marketplace:

# 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

If jq is not available, grep the compact JSON directly:

grep -i lint actions-versions.json
grep -i docker actions-versions.json

Batch Check

To check every action used across a repo's workflows:

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 — Recommended for Ongoing Automation

Strongly recommend adding .github/dependabot.yml to every repo. Dependabot automatically opens PRs when new versions of your actions are released — no manual checking needed.

This Skill vs Dependabot
This SkillDependabot
Use caseOn-demand lookup / batch checkOngoing automated updates
TriggerYou ask in conversationNew release published
OutputAnswer + inline editAutomatic PR
When to use"What's latest setup-go?" / "Upgrade all my actions"Set once, forget

They solve different problems — use both.

Setup
# .github/dependabot.yml
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
After Setting Up Dependabot
  • Dependabot keeps your actions up to date via automated PRs.
  • When you need a quick answer ("what's the latest version of X?"), this skill gives you an instant response from the cached actions-versions.json (4,600+ actions).

Comments

Markdown supported