github-actions-failure-matrix

Summarize GitHub Actions matrix job failures across runs so you can spot unstable OS/runtime axes fast.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "github-actions-failure-matrix" with this command: npx skills add daniellummis/github-actions-failure-matrix

GitHub Actions Failure Matrix

Use this skill to turn noisy GitHub Actions run JSON into a matrix-focused failure report.

What this skill does

  • Reads one or more JSON exports from GitHub Actions runs (via gh run view --json)
  • Detects failure-like matrix jobs (failure, timed_out, cancelled, etc.)
  • Extracts matrix axes from common job-name patterns (name (a, b), name [a, b], name / a / b)
  • Groups repeated failures by workflow + job + matrix axis signature
  • Emits ranked triage output in text or json

Inputs

Optional:

  • RUN_GLOB (default: artifacts/github-actions/*.json)
  • TOP_N (default: 20)
  • OUTPUT_FORMAT (text or json, default: text)
  • FAIL_ON_FAILURES (0 or 1, default: 0) — exit non-zero when failure groups exist
  • MIN_OCCURRENCES (default: 1) — hide groups below this repeat count
  • WORKFLOW_MATCH (regex, optional) — include only workflows whose names match
  • WORKFLOW_EXCLUDE (regex, optional) — drop workflows whose names match
  • BRANCH_MATCH (regex, optional) — include only runs whose branch names match
  • BRANCH_EXCLUDE (regex, optional) — drop runs whose branch names match
  • JOB_MATCH (regex, optional) — include only base job names that match
  • JOB_EXCLUDE (regex, optional) — drop base job names that match
  • AXIS_MATCH (regex, optional) — include only parsed matrix-axis strings that match
  • AXIS_EXCLUDE (regex, optional) — drop parsed matrix-axis strings that match
  • CONCLUSION_MATCH (regex, optional) — include only specific failure conclusions (failure, timed_out, cancelled, etc.)
  • CONCLUSION_EXCLUDE (regex, optional) — drop specific failure conclusions
  • FAILED_STEP_MATCH (regex, optional) — include only jobs whose terminal failed step matches
  • FAILED_STEP_EXCLUDE (regex, optional) — drop jobs whose terminal failed step matches
  • RUN_ID_MATCH (regex, optional) — include only runs whose run id matches
  • RUN_ID_EXCLUDE (regex, optional) — drop runs whose run id matches
  • RUN_URL_MATCH (regex, optional) — include only runs whose URL matches
  • RUN_URL_EXCLUDE (regex, optional) — drop runs whose URL matches
  • HEAD_SHA_MATCH (regex, optional) — include only runs whose headSha matches
  • HEAD_SHA_EXCLUDE (regex, optional) — drop runs whose headSha matches
  • REPO_MATCH (regex, optional) — include only runs whose repository matches (repository.nameWithOwner/full_name/name)
  • REPO_EXCLUDE (regex, optional) — drop runs whose repository matches

Collect run JSON

gh run view <run-id> --json databaseId,workflowName,headBranch,headSha,url,repository,jobs \
  > artifacts/github-actions/run-<run-id>.json

Run

Text report:

RUN_GLOB='artifacts/github-actions/*.json' \
TOP_N=15 \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

JSON output for CI annotation/upload:

RUN_GLOB='artifacts/github-actions/*.json' \
OUTPUT_FORMAT=json \
FAIL_ON_FAILURES=1 \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Filter to a specific workflow + branch + matrix axis (for targeted triage):

RUN_GLOB='artifacts/github-actions/*.json' \
WORKFLOW_MATCH='(CI|Test)' \
BRANCH_MATCH='^(main|release/)' \
AXIS_MATCH='ubuntu-latest \| python-3\.12' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Isolate timeout-only matrix failures:

RUN_GLOB='artifacts/github-actions/*.json' \
CONCLUSION_MATCH='^timed_out$' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Exclude noisy flaky suites while keeping the rest of the matrix view:

RUN_GLOB='artifacts/github-actions/*.json' \
WORKFLOW_EXCLUDE='nightly|experimental' \
JOB_EXCLUDE='lint|docs' \
AXIS_EXCLUDE='windows-latest' \
CONCLUSION_EXCLUDE='^cancelled$' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Focus only on setup/toolchain breakages by failed step name:

RUN_GLOB='artifacts/github-actions/*.json' \
FAILED_STEP_MATCH='setup|install|dependency' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Limit triage to a specific run range or workflow URL pattern:

RUN_GLOB='artifacts/github-actions/*.json' \
RUN_ID_MATCH='^(28419|28420)' \
RUN_URL_MATCH='example/repo/actions/runs' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Scope triage to a commit range by headSha:

RUN_GLOB='artifacts/github-actions/*.json' \
HEAD_SHA_MATCH='^(abc123|def456)' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Scope triage to specific repositories when aggregating exports from multiple repos:

RUN_GLOB='artifacts/github-actions/*.json' \
REPO_MATCH='^flowcreatebot/(yf-api-saas|conspiracy-canvas)$' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Run with bundled fixtures:

RUN_GLOB='skills/github-actions-failure-matrix/fixtures/*.json' \
bash skills/github-actions-failure-matrix/scripts/failure-matrix.sh

Output contract

  • Exit 0 by default (reporting mode)
  • Exit 1 if FAIL_ON_FAILURES=1 and at least one failure group is found
  • In text mode, prints summary + top failure matrix groups
  • In json mode, prints machine-readable summary and grouped failures

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Ai Freelancing Guide

Provides a complete guide to AI freelancing including niche analysis, pricing, client acquisition, proposal templates, and delivery workflows.

Registry SourceRecently Updated
Coding

Ai Code Assistant

提供多语言AI智能代码处理与批量自动化,显著提升开发效率,适合企业、团队及自由职业者。

Registry SourceRecently Updated
Coding

Life Control

Orchestrate the Life Control CLI skill for OpenClaw agent fleets: initialize the Life Control database, register agent personas, wire Telegram bots, and run daily routines (Morning Alignment, Body Protocol, Financial Pulse, Social Radar, Work Priming, Shutdown). Use when a user asks to create or run a Life Control system, OpenClaw skill integration, or agent persona automation for personal life tracking.

Registry SourceRecently Updated