Install
openclaw skills install github-actions-failure-owner-auditAudit failing GitHub Actions runs by actor ownership to expose who/workflow combinations generate the most CI noise and wasted minutes.
openclaw skills install github-actions-failure-owner-auditUse this skill to attribute GitHub Actions failures to owners (actors) so teams can route CI stabilization work by impact instead of guesswork.
gh api output or per-run JSON files)failure, cancelled, timed_out, action_required, startup_failure)Optional:
RUN_GLOB (default: artifacts/github-actions-runs/*.json)TOP_N (default: 20)OUTPUT_FORMAT (text or json, default: text)GROUP_BY (actor, actor-workflow, owner, or owner-workflow, default: actor)OWNER_MAP_FILE (optional JSON mapping file to map actor regex → owner/team)WARN_FAILURE_RUNS (default: 3)CRITICAL_FAILURE_RUNS (default: 6)WARN_FAILURE_MINUTES (default: 30)CRITICAL_FAILURE_MINUTES (default: 90)FAIL_ON_CRITICAL (0 or 1, default: 0)REPO_MATCH / REPO_EXCLUDE (regex, optional)WORKFLOW_MATCH / WORKFLOW_EXCLUDE (regex, optional)BRANCH_MATCH / BRANCH_EXCLUDE (regex, optional)ACTOR_MATCH / ACTOR_EXCLUDE (regex, optional)CONCLUSION_MATCH / CONCLUSION_EXCLUDE (regex, optional)Single repository paginated export:
gh api repos/<owner>/<repo>/actions/runs --paginate \
> artifacts/github-actions-runs/<owner>-<repo>.json
Default ownership triage:
RUN_GLOB='artifacts/github-actions-runs/*.json' \
bash skills/github-actions-failure-owner-audit/scripts/failure-owner-audit.sh
Workflow-scoped ownership triage with stricter thresholds:
RUN_GLOB='artifacts/github-actions-runs/*.json' \
GROUP_BY='actor-workflow' \
WARN_FAILURE_RUNS=2 \
CRITICAL_FAILURE_RUNS=4 \
WARN_FAILURE_MINUTES=20 \
CRITICAL_FAILURE_MINUTES=60 \
bash skills/github-actions-failure-owner-audit/scripts/failure-owner-audit.sh
JSON output for dashboards/alerts:
RUN_GLOB='artifacts/github-actions-runs/*.json' \
OUTPUT_FORMAT='json' \
FAIL_ON_CRITICAL=1 \
bash skills/github-actions-failure-owner-audit/scripts/failure-owner-audit.sh
Filter to a repo and release branches only:
RUN_GLOB='artifacts/github-actions-runs/*.json' \
REPO_MATCH='^flowcreatebot/' \
BRANCH_MATCH='^(main|release/)' \
ACTOR_EXCLUDE='(dependabot|renovate)' \
bash skills/github-actions-failure-owner-audit/scripts/failure-owner-audit.sh
Run with bundled fixtures:
RUN_GLOB='skills/github-actions-failure-owner-audit/fixtures/*.json' \
bash skills/github-actions-failure-owner-audit/scripts/failure-owner-audit.sh
Owner/team mapping (first matching regex wins):
{
"^dependabot\\[bot]$": "automation",
"^renovate\\[bot]$": "automation",
"^alice$": "platform"
}
RUN_GLOB='artifacts/github-actions-runs/*.json' \
GROUP_BY='owner-workflow' \
OWNER_MAP_FILE='skills/github-actions-failure-owner-audit/examples/owner-map.sample.json' \
bash skills/github-actions-failure-owner-audit/scripts/failure-owner-audit.sh
0 in reporting mode (default)1 if FAIL_ON_CRITICAL=1 and at least one ownership group is criticaltext mode: prints summary and top ownership hotspotsjson mode: prints summary, top groups, all groups, and critical groups