一键导入
change-relevance
Determine whether a PR's code changes are related to tests that failed in a Prow build.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Determine whether a PR's code changes are related to tests that failed in a Prow build.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Analyze the root cause inside a failed prowjob. Use when user mentions to analyze a prowjob failure or adds a prowjob url
Analyze root causes for all the recent ci-failures. Use when user mentions to analyze recent ci failures
Analyze all failed builds for a GitHub pull request. Use when user provides a GitHub PR URL and wants to understand why builds are failing.
Analyze the root cause inside a failed prowjob when a user mentions a failure or adds a prowjob URL.
Analyze root causes for all the recent CI failures (failing prowjobs that have not reached the testing stage).
Analyze all failed builds for a GitHub pull request and identify root causes.
| name | change-relevance |
| description | Determine whether a PR's code changes are related to tests that failed in a Prow build. |
| argument-hint | <prow-job-url> |
| allowed-tools | Read, Glob, Bash(go run *) |
This skill checks whether a PR's changed files overlap with the code areas that failing tests cover. It extracts the PR number from the Prow job URL, fetches the changed files from GitHub, maps each failed test to source directories via its SIG label, and reports whether the changes are related.
Run the change-relevance subcommand with a Prow job URL for a PR build:
$ go run ./cmd/ci-failures change-relevance $ARGUMENTS
Example:
$ go run ./cmd/ci-failures change-relevance $ARGUMENTS
This produces output/tmp/change-relevance-{job-name}.yaml.
Only PR builds (URLs containing pr-logs/pull/) are supported. Periodic builds will return an error.
After data generation:
output/tmp/change-relevance-*.yaml fileprow_job_url: the analyzed build URLjob_name: the Prow job nameorg, repo, pr_number: the GitHub PR identitychanged_files: list of files changed in the PRfailed_tests: list of failed tests, each with:
test_name: original test name from the build logsig: the SIG label extracted from the test name (or inferred from job name)code_areas: source directory prefixes mapped to that SIGoverlap_files: PR files that overlap with the test's code areas (empty if none)relevance: classification of the relationshipreason: human-readable explanationsummary: aggregate counts of each relevance levelFor each failed test, report:
Summarize with the aggregate counts from the summary section.
For the most complete picture, run both change-relevance and test-rate on the same Prow job URL. Together they answer:
Use this matrix to combine signals from both skills for a definitive assessment:
| test-rate severity | change-relevance | failure pattern | verdict |
|---|---|---|---|
| likely-pr-related | related | concentrated in PR lane | PR-caused — the PR broke this test |
| likely-pr-related | possibly-related | concentrated in PR lane | likely PR-caused — broad-impact files changed, test rarely fails |
| likely-pr-related | unrelated | concentrated in PR lane | suspicious — test almost never fails but PR didn't touch its area; check for indirect dependencies |
| inconclusive | related | dispersed | investigate — PR touches the area but the test has some flake history |
| inconclusive | unrelated | dispersed | likely flake — moderate flakiness and PR doesn't touch the area |
| likely-flaky | unrelated | dispersed | flake — ignore — known flake, PR is irrelevant |
| likely-flaky | related | dispersed | flake despite overlap — the test flakes regardless of changes; PR overlap is coincidental |
| likely-flaky | any | infra-correlated | infra flake — fails alongside unrelated tests in same lanes |
| unknown | related | n/a | investigate — test may be new or renamed, but PR touches the area |
| unknown | unrelated | n/a | likely new test or flake — not in flakefinder, PR doesn't touch the area |
The failure pattern column comes from test-rate's dispersion analysis (dispersed = fails across many lanes, concentrated = fails in few lanes, infra-correlated = fails alongside unrelated tests).