Agent skill
gh-workflow
Trigger and monitor GitHub Actions workflows, CI/CD pipelines, and automated builds. Use when running workflows, triggering CI, deploying via GitHub Actions, downloading artifacts, or checking workflow status on github.com
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/devops/gh-workflow
SKILL.md
gh-workflow
Run GitHub workflows on github.com
Workflow
When the user asks to run a workflow:
- Verify git remotes and confirm commits are pushed (MANDATORY):
- Check remotes:
git remote -v | grep github.com - Get current commit:
git rev-parse HEAD - Verify commit exists on remote:
git fetch github && git branch -r --contains $(git rev-parse HEAD) | grep -q github/ - If not found, push first:
git push github HEAD:main(or appropriate branch name) - Quick check:
git fetch github && git branch -r --contains HEAD | grep -q github/ || echo "WARNING: HEAD not pushed to github"
- Check remotes:
- Check the workflow file in
.github/workflows/to understand its trigger type and inputs - For
workflow_dispatchworkflows: trigger directly withgh workflow run - For
pushworkflows: push to the remote first, then the workflow runs automatically - Use appropriate parameters based on the workflow's input definitions
- For testing/iteration with matrix builds: prefer x64 over arm64 (faster provisioning)
- Download workflow artifacts to verify outputs
Usage
bash
# List workflows
GH_HOST=github.com gh workflow list
# Run a workflow
GH_HOST=github.com gh workflow run <workflow-name>
# Run with inputs
GH_HOST=github.com gh workflow run <workflow-name> -f key=value
# View recent runs
GH_HOST=github.com gh run list --workflow=<workflow-name>
# Watch a run
GH_HOST=github.com gh run watch <run-id>
# Download artifacts from a run
GH_HOST=github.com gh run download <run-id>
Testing matrix builds
For workflows with matrix builds, test with the fastest variant first:
- Prefer x64 over arm64 (x64 runners provision faster)
- Prefer ubuntu over macos (faster startup)
- Use workflow inputs to target specific matrix cells if supported
Examples
bash
# Run workflow_dispatch workflow with inputs
GH_HOST=github.com gh workflow run luajit.yml -f release_tag=2025.11.23 -f create_release=true
# Run workflow at specific commit (preferred - explicit and reproducible)
GH_HOST=github.com gh workflow run luajit.yml --ref $(git rev-parse HEAD)
# Or with explicit SHA
GH_HOST=github.com gh workflow run luajit.yml --ref abc1234
# Run without creating release (testing)
GH_HOST=github.com gh workflow run nvim.yml -f create_release=false
# Download artifacts from latest run
GH_HOST=github.com gh run list --workflow=luajit.yml --limit 1 --json databaseId --jq '.[0].databaseId' | xargs -I {} GH_HOST=github.com gh run download {}
Didn't find tool you were looking for?