Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add openshift-eng/ai-helpers/plugin install githubWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openshift-eng/ai-helpers/check-pr-ci-status)<a href="https://agentmods.dev/skills/openshift-eng/ai-helpers/check-pr-ci-status"><img src="https://agentmods.dev/badge/skills/openshift-eng/ai-helpers/check-pr-ci-status/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openshift-eng/ai-helpers/check-pr-ci-status"><img src="https://agentmods.dev/badge/skills/openshift-eng/ai-helpers/check-pr-ci-status.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00042 | $0.00912 |
| Opus 5.5 | $0.00017 | $0.00365 |
| Sonnet 5.5 | $0.00008 | $0.00182 |
| Haiku 4.5 | $0.00004 | $0.00091 |
Grade A, and why
check-pr-ci-status scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Check PR CI Status
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.
When to Use This Skill
Use this skill when you need to:
- Check if a PR has any failing CI checks
- Detect new CI failures that appeared since your last check
- Decide whether CI failures need attention in an agentic workflow
- Build a polling loop that reacts to CI status changes
Prerequisites
ghCLI: Authenticated withgh auth login- Repository read access: The token must have permission to view PR check status
Implementation
Basic usage
result=$(bash "${CLAUDE_PLUGIN_ROOT}/skills/check-pr-ci-status/check_pr_ci_status.sh" \
--repo owner/repo \
--pr 123)
With previous failure tracking
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")
Parameters
| 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 |
Output
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)"
}
Using in a polling loop
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
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 114 lines · 42 tokens per session scan A b008cf847476
check-pr-ci-status is a skill published in the GitHub repository openshift-eng/ai-helpers (121 stars, last pushed today), licensed Apache-2.0. It adds 42 tokens to every session and 912 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
model-merging
Merge multiple fine-tuned models using mergekit to combine capabilities without retraining. Use when creating specialized models by blending domain-specific expertise (math + coding + chat), improving performance beyond single models, or experimenting rapidly with model variants. Covers SLERP, TIES-Merging, DARE, Task…
codew-release-qa-sweep
Use before claiming Codewhale release work is done: run the full gate sweep and list the manual QA targets.
mem0-test-integration
Verify a Mem0 integration produced by /mem0-integrate. Runs in the same workspace on the same branch (loose coupling) — installs dependencies, runs the repo's native test suite, then exercises a real end-to-end smoke flow against the user's API key. Produces a scorecard. TRIGGER when: user has just run /mem0-integrate…
cw-gates
Use before claiming any Codewhale change is done, green, or ready to land: the focused-to-broad verification ladder, the budget checks CI enforces, and the rules for what counts as a passing test.
workflow-patterns
Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding the verification protocol.
release-safety
Release safety rules. INVOKE WHEN: yarn release, npm publish, release canary, release packages, publishing, skip checks, skip tests. NEVER skip checks or tests without explicit permission.