Analyze a failed test by inspecting the code in the current project and artifacts in Prow CI job. Provide a detailed analysis of the test failure in a pre-defined format.
/plugin marketplace add openshift-eng/ai-helpers/plugin install prow-job@ai-helpersThis skill inherits all available tools. When active, it can use any tool Claude has access to.
README.mdThis skill analyzes the given test failure by downloading artifacts using the "Prow Job Analyze Resource" skill, checking test logs, inspecting resources, logs and events from the artifacts, and the test source code.
Use this skill when the user wants to do an initial analysis of a Prow CI test failure.
Identical with "Prow Job Analyze Resource" skill.
The user will provide:
Prow job URL - gcsweb URL containing test-platform-results/
https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/openshift_hypershift/6731/pull-ci-openshift-hypershift-main-e2e-aws/1962527613477982208Test name - test name that failed
TestKarpenter/EnsureHostedCluster/ValidateMetricsAreExposedTestCreateClusterCustomConfigThe openshift-console downloads pods [apigroup:console.openshift.io] should be scheduled on different nodesUse the "Parse and Validate URL" steps from "Prow Job Analyze Resource" skill
Check for existing artifacts first
.work/prow-job-analyze-test-failure/{build_id}/logs/ directory exists and has contentrm -rf .work/prow-job-analyze-test-failure/{build_id}/logs/rm -rf .work/prow-job-analyze-test-failure/{build_id}/tmp/Create directory structure
mkdir -p .work/prow-job-analyze-test-failure/{build_id}/logs
mkdir -p .work/prow-job-analyze-test-failure/{build_id}/tmp
.work/prow-job-analyze-test-failure/ as the base directory (already in .gitignore)logs/ subdirectory for all downloadstmp/ subdirectory for temporary files (intermediate JSON, etc.).work/prow-job-analyze-test-failure/{build_id}/Use the "Download and Validate prowjob.json" steps from "Prow Job Analyze Resource" skill.
Download build-log.txt
gcloud storage cp gs://test-platform-results/{bucket-path}/build-log.txt .work/prow-job-analyze-test-failure/{build_id}/logs/build-log.txt --no-user-output-enabled
Parse and validate
.work/prow-job-analyze-resource/{build_id}/logs/build-log.txtExamine intervals files for cluster activity during E2E failures
gcloud storage ls 'gs://test-platform-results/{bucket-path}/**/e2e-timelines_spyglass_*json'
gcloud storage cp gs://test-platform-results/{bucket-path}/**/e2e-timelines_spyglass_*.json .work/prow-job-analyze-test-failure/{build_id}/logs/ --no-user-output-enabled
source = "E2ETest" and message.annotations.status = "Failed"from and to timestamps on this interval - this indicates when the test was runninglevel = "Error" or level = "Warning"source = "OperatorState"Determine root cause
.work/prow-job-analyze-resource/{build_id}/tmp.work/prow-job-analyze-resource/{build_id}/logs/Display summary
Test Failure Analysis Complete
Prow Job: {prowjob-name}
Build ID: {build_id}
Error: {error message}
Summary: {failure analysis}
Evidence: {evidence}
Additional evidence: {additional evidence}
Artifacts downloaded to: .work/prow-job-analyze-test-failure/{build_id}/logs/
Handle errors in the same way as "Error handling" in "Prow Job Analyze Resource" skill
Follow the instructions in "Performance Considerations" in "Prow Job Analyze Resource" skill
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.