GitHub Actions Actor Reliability Audit
Use this skill to rank which actors (humans or bots) are associated with the least reliable GitHub Actions outcomes.
What this skill does
- Reads GitHub Actions run JSON exports
- Groups runs by actor (optionally actor + workflow)
- Measures failure rate, failed-run volume, and latest failure streak per actor
- Scores severity (
ok,warn,critical) for triage and CI policy gates - Emits text or JSON output for automation
Inputs
Optional:
RUN_GLOB(default:artifacts/github-actions/*.json)TOP_N(default:20)OUTPUT_FORMAT(textorjson, default:text)GROUP_BY(actororactor-workflow, default:actor)FAILURE_CONCLUSIONS(comma-separated, default:failure,cancelled,timed_out,startup_failure)MIN_RUNS(minimum runs required, default:5)WARN_FAILURE_RATE(0..1, default:0.25)CRITICAL_FAILURE_RATE(0..1, default:0.5)WARN_FAILED_RUNS(default:4)CRITICAL_FAILED_RUNS(default:8)WARN_FAILURE_STREAK(default:2)CRITICAL_FAILURE_STREAK(default:4)ACTOR_MATCH/ACTOR_EXCLUDE(regex, optional)WORKFLOW_MATCH/WORKFLOW_EXCLUDE(regex, optional)BRANCH_MATCH/BRANCH_EXCLUDE(regex, optional)EVENT_MATCH/EVENT_EXCLUDE(regex, optional)REPO_MATCH/REPO_EXCLUDE(regex, optional)FAIL_ON_CRITICAL(0or1, default:0)
Collect run JSON
gh run view <run-id> --json databaseId,workflowName,event,headBranch,conclusion,createdAt,updatedAt,url,repository,actor,triggeringActor \
> artifacts/github-actions/run-<run-id>.json
Run
Text report:
RUN_GLOB='artifacts/github-actions/*.json' \
bash skills/github-actions-actor-reliability-audit/scripts/actor-reliability-audit.sh
JSON output + fail gate:
RUN_GLOB='artifacts/github-actions/*.json' \
OUTPUT_FORMAT=json \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-actor-reliability-audit/scripts/actor-reliability-audit.sh
Run against bundled fixtures:
RUN_GLOB='skills/github-actions-actor-reliability-audit/fixtures/*.json' \
bash skills/github-actions-actor-reliability-audit/scripts/actor-reliability-audit.sh
Output contract
- Exit
0in report mode (default) - Exit
1whenFAIL_ON_CRITICAL=1and one or more actor groups are critical - Text mode prints summary + ranked actor groups
- JSON mode prints summary + ranked groups + critical groups