GitHub Actions Failure Matrix
/install 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
textorjson
Inputs
Optional:
RUN_GLOB(default:artifacts/github-actions/*.json)TOP_N(default:20)OUTPUT_FORMAT(textorjson, default:text)FAIL_ON_FAILURES(0or1, default:0) — exit non-zero when failure groups existMIN_OCCURRENCES(default:1) — hide groups below this repeat countWORKFLOW_MATCH(regex, optional) — include only workflows whose names matchWORKFLOW_EXCLUDE(regex, optional) — drop workflows whose names matchBRANCH_MATCH(regex, optional) — include only runs whose branch names matchBRANCH_EXCLUDE(regex, optional) — drop runs whose branch names matchJOB_MATCH(regex, optional) — include only base job names that matchJOB_EXCLUDE(regex, optional) — drop base job names that matchAXIS_MATCH(regex, optional) — include only parsed matrix-axis strings that matchAXIS_EXCLUDE(regex, optional) — drop parsed matrix-axis strings that matchCONCLUSION_MATCH(regex, optional) — include only specific failure conclusions (failure,timed_out,cancelled, etc.)CONCLUSION_EXCLUDE(regex, optional) — drop specific failure conclusionsFAILED_STEP_MATCH(regex, optional) — include only jobs whose terminal failed step matchesFAILED_STEP_EXCLUDE(regex, optional) — drop jobs whose terminal failed step matchesRUN_ID_MATCH(regex, optional) — include only runs whose run id matchesRUN_ID_EXCLUDE(regex, optional) — drop runs whose run id matchesRUN_URL_MATCH(regex, optional) — include only runs whose URL matchesRUN_URL_EXCLUDE(regex, optional) — drop runs whose URL matchesHEAD_SHA_MATCH(regex, optional) — include only runs whoseheadShamatchesHEAD_SHA_EXCLUDE(regex, optional) — drop runs whoseheadShamatchesREPO_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 \x3Crun-id> --json databaseId,workflowName,headBranch,headSha,url,repository,jobs \
> artifacts/github-actions/run-\x3Crun-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
0by default (reporting mode) - Exit
1ifFAIL_ON_FAILURES=1and at least one failure group is found - In
textmode, prints summary + top failure matrix groups - In
jsonmode, prints machine-readable summary and grouped failures
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install github-actions-failure-matrix - 安装完成后,直接呼叫该 Skill 的名称或使用
/github-actions-failure-matrix触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
GitHub Actions Failure Matrix 是什么?
Summarize GitHub Actions matrix job failures across runs so you can spot unstable OS/runtime axes fast. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 368 次。
如何安装 GitHub Actions Failure Matrix?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install github-actions-failure-matrix」即可一键安装,无需额外配置。
GitHub Actions Failure Matrix 是免费的吗?
是的,GitHub Actions Failure Matrix 完全免费(开源免费),可自由下载、安装和使用。
GitHub Actions Failure Matrix 支持哪些平台?
GitHub Actions Failure Matrix 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 GitHub Actions Failure Matrix?
由 Daniel Lummis(@daniellummis)开发并维护,当前版本 v1.7.0。