技能详情(站内镜像,无评论)
作者:Daniel Lummis @daniellummis
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.7.0
统计:⭐ 0 · 245 · 1 current installs · 1 all-time installs
⭐ 0
安装量(当前) 1
🛡 VirusTotal :良性 · OpenClaw :良性
Package:daniellummis/github-actions-failure-matrix
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :良性
OpenClaw 评估
This skill is internally coherent: it parses local GitHub Actions run JSON files to produce a failure-by-matrix report and does not request unrelated credentials or perform unexpected network or system operations.
目的
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.
说明范围
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.
安装机制
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.
证书
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.
持久
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.
综合结论
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 e…
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「GitHub Actions Failure Matrix」。简介:Summarize GitHub Actions matrix job failures across runs so you can spot unstab…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/daniellummis/github-actions-failure-matrix/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: github-actions-failure-matrix
description: Summarize GitHub Actions matrix job failures across runs so you can spot unstable OS/runtime axes fast.
version: 1.7.0
metadata: {"openclaw":{"requires":{"bins":["bash","python3"]}}}
---
# 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
```bash
gh run view <run-id> --json databaseId,workflowName,headBranch,headSha,url,repository,jobs
> artifacts/github-actions/run-<run-id>.json
```
## Run
Text report:
```bash
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:
```bash
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):
```bash
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:
```bash
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:
```bash
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:
```bash
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:
```bash
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`:
```bash
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:
```bash
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:
```bash
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