mcpField
G
github-actions

github-actions

github.com/openhandsCloud & DevOps17671 installsUpdated today
Repository

About github-actions

A GitHub Actions guide for creating and troubleshooting workflows and custom actions. It emphasizes inspecting logs and actual values, testing locally, and avoiding unnecessary CI runs.

Key features

  1. 01Custom action deployment guidance
  2. 02Workflow debugging steps
  3. 03Local testing with act
  4. 04Focused reproduction planning
  5. 05Security and permissions gotchas

Use cases

  1. 01Troubleshooting failed workflow runs
  2. 02Testing workflows locally before CI
  3. 03Configuring permissions and fork PR handling

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/openhands/extensions --skill github-actions

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

Bundled files.plugin/plugin.jsonREADME.md

Details

From the project README

GitHub Actions Guide

Critical Rules

Custom Action Deployment:

  • New custom actions MUST be merged to the main branch before they can be used
  • After the initial merge, they should be tested from feature branches

Debug Steps: Add debug steps that print non-secret parameters when:

  • Creating a new action, OR
  • Troubleshooting a particularly tricky issue

(Not required for every workflow - use when needed)

Effectiveness Principles

Actions cost CI minutes. Be deliberate, not iterative:

  1. Monitor, don't poll - use gh run watch / gh pr checks --watch to follow runs live
  2. Read logs, don't guess - fetch the failed job's log before changing code
  3. Print actual values - debug steps reveal the real inputs/github context, not your assumptions
  4. Test locally first - act runs workflows on your machine and avoids burning CI minutes
  5. Plan the smallest reproduction - one job, minimal matrix, narrow trigger before scaling up

See README.md for the full debugging workflow, gh commands, and YAML debug-step examples.

Key Gotchas

  1. Secrets unavailable in fork PRs - pull_request has no secrets for forks; pull_request_target does but never check out or execute fork PR code inside it (RCE with write permissions)
  2. Pin action versions - Use @v4 or SHA, not @main (prevents breaking changes)
  3. Explicit permissions - Set permissions: block for GITHUB_TOKEN operations
  4. Artifacts for job-to-job data - Files don't persist between jobs without upload-artifact/download-artifact

Comments

Markdown supported