← 返回 Skills 市场
daniellummis

GitHub Actions Failure Matrix

作者 Daniel Lummis · GitHub ↗ · v1.7.0
cross-platform ✓ 安全检测通过
368
总下载
0
收藏
1
当前安装
8
版本数
在 OpenClaw 中安装
/install github-actions-failure-matrix
功能描述
Summarize GitHub Actions matrix job failures across runs so you can spot unstable OS/runtime axes fast.
使用说明 (SKILL.md)

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 \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 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
安全使用建议
This script is straightforward: it analyzes local GitHub Actions run JSON files and does not exfiltrate data or require secret environment variables. Before running: 1) review or run the included script on the bundled fixture files to see the output format; 2) confirm the JSON files you point it at are from trusted sources (it will process any matching JSON file); 3) if you want the SKILL.md examples to fetch runs with `gh`, install `gh` and ensure your GitHub auth is configured separately (the skill does not manage or require GitHub credentials itself). If you need extra assurance, inspect the full script source locally (it only uses standard Python libs) before executing.
功能分析
Type: OpenClaw Skill Name: github-actions-failure-matrix Version: 1.7.0 The skill is a utility designed to aggregate and report on GitHub Actions matrix job failures by parsing local JSON files. The logic in 'scripts/failure-matrix.sh' uses standard Python libraries (glob, json, re) to filter and group data based on user-provided environment variables, with no evidence of data exfiltration, unauthorized network calls, or malicious prompt injection. The script includes robust regex-based filtering and error handling for malformed JSON files.
能力评估
Purpose & Capability
The name/description match the included script: it reads GitHub Actions run JSON and produces grouped matrix failure summaries. One minor mismatch: the SKILL.md shows examples using the `gh` CLI to collect run JSONs, but the skill does not declare `gh` as a required binary — `gh` is optional for producing the input files, while the script itself only needs bash+python3.
Instruction Scope
Instructions and the script operate on local JSON files (RUN_GLOB), filter/group jobs, and emit text or JSON. They reference only file reads and local processing, regex filters, and exit codes; there are no instructions to read arbitrary system configuration, environment secrets, or send data to external endpoints.
Install Mechanism
No install spec — instruction-only with an included script. Nothing is downloaded or written to system locations during install; runtime requires only bash and python3 which are reasonable for a shell+python script.
Credentials
The skill does not require any environment variables or credentials. It accepts many optional filter ENV inputs (regexes and output-mode flags) which are appropriate and proportional to its task. The SKILL.md examples mention `gh` for collecting JSON; if you follow those examples you'll need the `gh` CLI and any credentials it requires, but those are outside the skill's declared requirements.
Persistence & Privilege
The skill is not always-enabled and does not request persistent agent privileges or modify other skill configurations. It runs on demand and processes local JSON artifacts only.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install github-actions-failure-matrix
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /github-actions-failure-matrix 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.7.0
Add repository-level run filters (REPO_MATCH/REPO_EXCLUDE) and include repo identity in grouped failure output for multi-repo triage.
v1.6.0
Add HEAD_SHA_MATCH/HEAD_SHA_EXCLUDE filters for commit-scoped run triage.
v1.5.0
Add RUN_ID_MATCH/RUN_ID_EXCLUDE and RUN_URL_MATCH/RUN_URL_EXCLUDE filters to isolate specific workflow runs during failure triage.
v1.4.0
Add FAILED_STEP_MATCH/FAILED_STEP_EXCLUDE regex filters for terminal-step triage.
v1.3.0
Add regex exclude filters for workflow/branch/job/axis/conclusion triage
v1.2.0
Add branch and conclusion regex filters for focused matrix triage
v1.1.0
Add regex filters (workflow/job/axis) for targeted failure triage and filtered-row reporting.
v1.0.0
Initial release: matrix-oriented GitHub Actions failure grouping from gh run JSON exports.
元数据
Slug github-actions-failure-matrix
版本 1.7.0
许可证
累计安装 1
当前安装数 1
历史版本数 8
常见问题

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。

💬 留言讨论