From ci
Analyze a payload (rejected, accepted, or in-progress) with historical lookback to identify root causes of blocking job failures
How this command is triggered — by the user, by Claude, or both
Slash command
/ci:analyze-payload <payload-tag> [--lookback N]The summary Claude sees in its command listing — used to decide when to auto-load this command
## Name ci:analyze-payload ## Synopsis ## Description The `ci:analyze-payload` command analyzes a specific payload tag, investigates every failed blocking job, and produces a self-contained HTML report summarizing what went wrong. It supports **Rejected** payloads (full analysis), **Ready** payloads (early analysis of blocking jobs that have already failed, to determine if the payload is on track for rejection), and **Accepted** payloads (which may have been force-accepted despite blocking job failures). It performs **historical lookback** through consecutive rejected payloads to de...
ci:analyze-payload
/ci:analyze-payload <payload-tag> [--lookback N]
The ci:analyze-payload command analyzes a specific payload tag, investigates every failed blocking job, and produces a self-contained HTML report summarizing what went wrong.
It supports Rejected payloads (full analysis), Ready payloads (early analysis of blocking jobs that have already failed, to determine if the payload is on track for rejection), and Accepted payloads (which may have been force-accepted despite blocking job failures).
It performs historical lookback through consecutive rejected payloads to determine when each failure first appeared. For each originating payload (where a job first started failing), it fetches the new PRs introduced in that payload as likely culprits. This distinguishes new failures from persistent/permafailing jobs and helps identify the root cause commits.
When a candidate PR can be correlated with high confidence (>= 85 rubric score) to a blocking job failure — based on component match, error analysis, and timing — the report will recommend it for immediate revert. Per OCP policy, PRs that break payloads MUST be reverted; fixes can be re-landed after the revert restores payload health. The /ci:payload-revert command can then be used to automatically create TRT JIRA bugs, open revert PRs, and trigger payload validation jobs for all high-confidence candidates.
The payload results YAML output (payload-results-{tag}.yaml) can be consumed by composable downstream commands: /ci:payload-revert stages reverts for high-confidence candidates, and /ci:payload-experiment opens draft revert PRs for medium-confidence candidates to experimentally determine causality.
Failed jobs are investigated in parallel using subagents with the appropriate analysis skill (install failure vs test failure).
fetch-new-prs-in-payload skill to identify PRs that landed in the originating payload for each failureLoad the "analyze-payload" skill and follow its implementation steps. The skill orchestrates:
fetch-payloads skillfetch-new-prs-in-payload skillpayload-analysis-{tag}-summary.html — HTML reportpayload-analysis-{tag}-autodl.json — JSON data for database ingestionpayload-results-{tag}.yaml — Scored candidates for downstream commands<a> links must use target="_blank" to open in a new tab):
Analyze an amd64 nightly payload:
/ci:analyze-payload 4.22.0-0.nightly-2026-02-25-152806
Analyze a CI stream payload:
/ci:analyze-payload 4.22.0-0.ci-2026-02-25-152806
Analyze an arm64 nightly payload (architecture is inferred from the tag):
/ci:analyze-payload 4.22.0-0.nightly-arm64-2026-02-25-152806
Analyze with deeper lookback:
/ci:analyze-payload 4.22.0-0.nightly-2026-02-25-152806 --lookback 20
4.22.0-0.nightly-2026-02-25-152806). Version, stream, and architecture are parsed from the tag automatically. Tags without an architecture suffix (e.g., 4.22.0-0.nightly-...) are amd64. Tags with an architecture suffix (e.g., 4.22.0-0.nightly-arm64-..., 4.22.0-0.nightly-ppc64le-...) use that architecture. (required)--lookback N: Maximum number of consecutive rejected payloads to examine (optional, default: 10)fetch-payloads: Fetches recent payloads from the release controllerfetch-new-prs-in-payload: Identifies PRs new in a given payload vs its predecessorprow-job-analyze-install-failure: Analyzes install failures (used by subagents)prow-job-analyze-test-failure: Analyzes test failures (used by subagents)npx claudepluginhub cali0707/openshift-eng-ai-helpers --plugin ci