plugins/github/skills/check-pr-ci-status/SKILL.md
Check CI status on a GitHub PR and detect new failures. Use when monitoring a PR for CI regressions, deciding if CI failures need attention, or building a review-response loop.
npx skillsauth add openshift-eng/ai-helpers check-pr-ci-statusInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check the CI check status on a GitHub pull request and detect whether any failures are new since the last check. This enables efficient CI monitoring — only act on new failures, not stale ones that were already addressed.
Use this skill when you need to:
gh CLI: Authenticated with gh auth loginresult=$(bash "${CLAUDE_PLUGIN_ROOT}/skills/check-pr-ci-status/check_pr_ci_status.sh" \
--repo owner/repo \
--pr 123)
result=$(bash "${CLAUDE_PLUGIN_ROOT}/skills/check-pr-ci-status/check_pr_ci_status.sh" \
--repo owner/repo \
--pr 123 \
--previous-failures "ci/prow/e2e-aws ci/prow/unit")
| Parameter | Required | Description |
|-----------|----------|-------------|
| --repo | Yes | GitHub repository in owner/repo format |
| --pr | Yes | Pull request number |
| --previous-failures | No | Space-separated check names that were failing on the last check |
JSON on stdout:
{
"failing_checks": [
{"name": "ci/prow/e2e-aws", "state": "FAILURE"},
{"name": "ci/prow/unit", "state": "FAILURE"}
],
"failing_count": 2,
"failing_names": "ci/prow/e2e-aws ci/prow/unit",
"has_new_failures": true,
"formatted": "- ci/prow/e2e-aws (FAILURE)\n- ci/prow/unit (FAILURE)"
}
The failing_names field is designed to be passed back as --previous-failures on the next call:
LAST_FAILURES=""
while true; do
sleep 300
result=$(bash "${CLAUDE_PLUGIN_ROOT}/skills/check-pr-ci-status/check_pr_ci_status.sh" \
--repo owner/repo --pr 123 --previous-failures "$LAST_FAILURES")
has_new=$(echo "$result" | jq -r '.has_new_failures')
if [[ "$has_new" == "true" ]]; then
formatted=$(echo "$result" | jq -r '.formatted')
echo "New CI failures detected:"
echo "$formatted"
# Address failures...
fi
LAST_FAILURES=$(echo "$result" | jq -r '.failing_names')
done
gh pr checks to get all check statuses--previous-failureshas_new_failures: true if the set of failing checks has changedA failure is considered "new" when the set of failing check names differs from --previous-failures. This means:
has_new_failuresIf --previous-failures is not provided, any failing check is considered new.
fetch-pr-comments — Fetch trusted PR review commentsupload-screenshot — Upload images to GitHub for PR commentstools
Analyze a JIRA issue and create a pull request to solve it. Use when the user wants to implement a fix or feature described in a Jira issue, push a branch, and open a draft PR.
development
Use when a deeper level of code review is requested. Multi-agent panel code review with specialist reviewers and forced runtime reproducers for all BLOCKING bug findings. Optionally posts to GitHub/GitLab as a PENDING review.
development
Review agentic documentation — verify claims locally against source code first, then use chai-bot for cross-repo and cross-functional verification
development
Use this skill when debugging a failed Prow CI job.