Manage GitHub Actions workflows using gh CLI. Use to check CI status, view run logs, analyze failures, and rerun workflows.
Install
npx skillscat add johnlindquist/claude/workflow Install via the SkillsCat registry.
SKILL.md
GitHub Actions Workflow Manager
Monitor and manage CI/CD workflows using the GitHub CLI.
Prerequisites
Install GitHub CLI:
brew install gh
# or
curl -sS https://webi.sh/gh | shAuthenticate:
gh auth loginCLI Reference
Quick Status Check
# Current branch CI status
gh run list --branch $(git branch --show-current) --limit 5
# All recent runs
gh run list --limit 10
# Filter by workflow
gh run list --workflow "CI" --limit 5View Specific Run
# Get run details
gh run view <run-id>
# View with logs
gh run view <run-id> --log
# Failed jobs only
gh run view <run-id> --log-failed
# Exit codes for CI scripts
gh run view <run-id> --exit-statusList Runs with Filters
# By branch
gh run list --branch main --limit 10
# By workflow name
gh run list --workflow "Build and Test" --limit 10
# By status
gh run list --status failure --limit 10
gh run list --status success --limit 10
gh run list --status in_progress --limit 10
# Combined filters
gh run list --branch main --workflow "CI" --status failure --limit 5Rerun Workflows
# Rerun entire workflow
gh run rerun <run-id>
# Rerun only failed jobs
gh run rerun <run-id> --failed
# Rerun specific job
gh run rerun <run-id> --job <job-id>Watch Running Workflow
# Watch a run in progress
gh run watch <run-id>
# Watch and exit with run's exit code
gh run watch <run-id> --exit-statusDownload Artifacts
# List artifacts from a run
gh run view <run-id> --json artifacts
# Download all artifacts
gh run download <run-id>
# Download specific artifact
gh run download <run-id> --name "artifact-name"
# Download to specific directory
gh run download <run-id> --dir ./artifactsCancel a Run
gh run cancel <run-id>View Workflow Files
# List workflow files
gh workflow list
# View specific workflow
gh workflow view "CI"
# Enable/disable workflow
gh workflow enable "CI"
gh workflow disable "CI"Run Workflow Manually
# Trigger workflow_dispatch
gh workflow run "CI"
# With inputs
gh workflow run "Deploy" -f environment=staging -f version=1.2.3
# On specific branch
gh workflow run "CI" --ref feature-branchOutput Formats
# JSON output for parsing
gh run list --json status,conclusion,name,headBranch,url
# Specific fields
gh run view <run-id> --json jobs,status,conclusionWorkflow Patterns
Quick CI Check
# Is my branch passing?
gh run list --branch $(git branch --show-current) --limit 1 --json status,conclusionDebug Failing CI
# 1. Find the failing run
gh run list --branch main --status failure --limit 1
# 2. View failed logs
gh run view <run-id> --log-failed
# 3. After fixing, rerun
gh run rerun <run-id> --failedMonitor Deployment
# Watch deployment in progress
gh run watch <run-id>
# Get notified when done (macOS)
gh run watch <run-id> && osascript -e 'display notification "Deployment complete"'Retry Flaky Tests
# Rerun just the failed jobs
gh run rerun <run-id> --failedPre-Merge Check
# Ensure all checks pass before merging
gh run list --branch $(git branch --show-current) --json conclusion --jq '.[0].conclusion'Common Statuses
| Status | Meaning |
|---|---|
queued |
Waiting to start |
in_progress |
Currently running |
completed |
Finished |
| Conclusion | Meaning |
|---|---|
success |
All jobs passed |
failure |
One or more jobs failed |
cancelled |
Run was cancelled |
skipped |
Run was skipped |
timed_out |
Run exceeded time limit |
Best Practices
- Check status before merge - Ensure CI passes
- Use
--log-failed- Only see relevant failure logs - Rerun
--failedfirst - Faster than full rerun - Watch long runs - Don't poll manually
- Download artifacts - For test reports, coverage, etc.
- Use JSON output - For scripting and parsing