Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add openshift-eng/ai-helpers --skill fetch-test-runsgit clone --depth 1 https://github.com/openshift-eng/ai-helpersWrote 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/fetch-test-runs)<a href="https://agentmods.dev/skills/openshift-eng/ai-helpers/fetch-test-runs"><img src="https://agentmods.dev/badge/skills/openshift-eng/ai-helpers/fetch-test-runs/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/fetch-test-runs"><img src="https://agentmods.dev/badge/skills/openshift-eng/ai-helpers/fetch-test-runs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00019 | $0.04049 |
| Opus 5 | $0.00010 | $0.02024 |
| Sonnet 5 | $0.00004 | $0.00810 |
| Haiku 4.5 | $0.00002 | $0.00405 |
Grade A, and why
fetch-test-runs scanned grade A with 1 finding 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 7d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Check: `curl -s https://sippy.dptools.openshift.org/api/tests/v2/runs?test_id=test` Copies of this mod
1 near-identical copy found in the catalogue:
- Fetch Test Runs — 92% identical, 18 lines differ
How it starts
The opening of the file, as written. The whole thing — 438 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fetch Test Runs
This skill fetches test runs from the Sippy API. It can return both failed and successful test runs, including JUnit output for AI-based analysis.
When to Use This Skill
Use this skill when you need to:
- Fetch test run data for a specific test across all jobs
- Get raw test failure outputs for AI-based similarity analysis
- Compare error messages across runs to determine if they share the same root cause
- Include successful runs in addition to failures (optional)
- Filter runs by job name substrings (e.g., only GCP techpreview jobs)
- Access JUnit test output for debugging and investigation
Prerequisites
-
Network Access: Must be able to reach the Sippy test runs API
- No authentication required
- Check:
curl -s https://sippy.dptools.openshift.org/api/tests/v2/runs?test_id=test
-
Python 3: Python 3.6 or later
- Check:
python3 --version - Uses only standard library (no external dependencies)
- Check:
-
Input Data: Requires test_id (job_run_ids are optional)
- Get from
fetch-regression-detailsskill output test_id: Found in regression data (e.g., "openshift-tests:71c053c318c11cfc47717b9cf711c326")job_run_ids: Optional - extracted fromsample_failed_jobs[].failed_runs[].job_run_id
- Get from
Implementation Steps
Step 1: Run the Python Script
# Path to the Python script
script_path="plugins/ci/skills/fetch-test-runs/fetch_test_runs.py"
# Fetch all test runs (failures only, by default)
python3 "$script_path" "$test_id" --format json
# Include successful runs as well
python3 "$script_path" "$test_id" --include-success --format json
# Filter to a specific Prow job (exact name works as substring of itself)
python3 "$script_path" "$test_id" --job-contains "periodic-ci-openshift-release-..." --format json
# Filter by multiple substrings (AND logic, case-insensitive, server-side)
python3 "$script_path" "$test_id" --job-contains gcp --job-contains techpreview --format json
# Filter to specific job run IDs (backward compatible with analyze-regression)
python3 "$script_path" "$test_id" "$job_run_ids" --format json
# Get human-readable summary
python3 "$script_path" "$test_id" --format summary
What ships with it
2 files 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.
- 7d ago First seen · 438 lines · 19 tokens per session scan A 6bda927288f7
fetch-test-runs is a skill published in the GitHub repository openshift-eng/ai-helpers (116 stars, last pushed yesterday), licensed Apache-2.0. It adds 19 tokens to every session and 4,049 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
systematic-debugging
4-phase root cause debugging: understand bugs before fixing.
langsmith-observability
LLM observability platform for tracing, evaluation, and monitoring. Use when debugging LLM applications, evaluating model outputs against datasets, monitoring production systems, or building systematic testing pipelines for AI applications.
experimental-code-coverage-local-debugger
Runs code coverage locally via Universal Test Runner (UTR) or helper scripts, mimicking LUCI trybots. Activate when CQ tryjobs fail or underreport coverage, to test local GN/recipe repairs before uploading, or to debug hermetic crashes.
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
cli-e2e
Write, modify, or debug Docker-based Composio CLI end-to-end tests under ts/e2e-tests/cli, including binary invocation, fixture isolation, output assertions, and package manifests. Use for CLI E2E test suites only; use cli-command for CLI source implementation.
work
Deliver one maintainer-approved EmDash issue, choosing the bug-fix path for a defect and the direct implementation path for an enhancement or task.