Rota Check Periodic Jobs
oracle/graalpython
Analyze current GraalPy periodic job failures for ROTA. An agent skill from oracle/graalpython.
Fetch an OpenShift CI test report by name to get pass rates, test ID, and Jira component from Sippy
$ npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openshift-eng/ai-helpers fetch-test-report --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ci/skills/fetch-test-report .claude/skills/fetch-test-report && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fetch-test-report" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-report into .claude/skills/fetch-test-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fetch-test-report", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-reportType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openshift-eng/ai-helpers fetch-test-report --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/ci/skills/fetch-test-report .agents/skills/fetch-test-report && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fetch-test-report" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-report into .agents/skills/fetch-test-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fetch-test-report", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openshift-eng/ai-helpers fetch-test-report --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/ci/skills/fetch-test-report .cursor/skills/fetch-test-report && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fetch-test-report" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-report into .cursor/skills/fetch-test-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fetch-test-report", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openshift-eng/ai-helpers.git --path plugins/ci/skills/fetch-test-report--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openshift-eng/ai-helpers fetch-test-report --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/ci/skills/fetch-test-report .gemini/skills/fetch-test-report && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fetch-test-report" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-report into .gemini/skills/fetch-test-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fetch-test-report", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openshift-eng/ai-helpers fetch-test-reportInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/ci/skills/fetch-test-report .github/skills/fetch-test-report && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fetch-test-report" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-report into .github/skills/fetch-test-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fetch-test-report", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openshift-eng/ai-helpers fetch-test-report --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openshift-eng/ai-helpers.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/ci/skills/fetch-test-report .opencode/skills/fetch-test-report && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fetch-test-report" agent skill from https://github.com/openshift-eng/ai-helpers/tree/main/plugins/ci/skills/fetch-test-report into .opencode/skills/fetch-test-report/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fetch-test-report", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fetch-test-reportFetch an OpenShift CI test report by name to get pass rates, test ID, and Jira component from Sippy
Fetch Test Report is an agent skill from openshift-eng/ai-helpers. Fetch an OpenShift CI test report by name to get pass rates, test ID, and Jira component from Sippy
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `fetch_test_report.py`).
It works with Jira and Python. The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a627176. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
python3jqcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
sippy.dptools.openshift.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fetch Test Report loads about 2.5k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 755 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 755 words, ~2,477 tokens.
.claude/skills/fetch-test-report/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill fetches a report for an OpenShift CI test by its full name using the Sippy tests API. It returns test metadata including the BigQuery/Component Readiness test ID, Jira component, pass rates for the current and previous reporting periods, and open bug counts. The open_bugs field counts Jira bugs that mention this test by name, which can help surface bugs that have been filed but not yet triaged in Component Readiness.
Use this skill when you need to:
test_id)Network Access: The Sippy API must be accessible at https://sippy.dptools.openshift.org
curl -s https://sippy.dptools.openshift.org/api/health?release=4.22Python 3: Python 3.6 or later
python3 --versionIf the user did not specify a release, use the fetch-releases skill to determine the latest OCP release:
release=$(python3 plugins/ci/skills/fetch-releases/fetch_releases.py --latest)If the user specified a release, use that directly.
The skill uses a Python script to query the Sippy tests API:
# Path to the Python script
script_path="plugins/ci/skills/fetch-test-report/fetch_test_report.py"
# Fetch test report in JSON format (collapsed — one row for the test across all variants)
python3 "$script_path" "<test_name>" --release "$release" --format json
# Or fetch as human-readable summary
python3 "$script_path" "<test_name>" --release "$release" --format summary
# Fetch per-variant breakdown (one row per variant combo — useful for identifying
# if the test is failing only in certain job types, e.g., aws vs metal, upgrade vs new-install)
python3 "$script_path" "<test_name>" --release "$release" --no-collapse --format jsonThe script outputs a JSON array (typically with one element for an exact name match):
# Store JSON output in a variable for processing
test_data=$(python3 "$script_path" "[sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]" --format json)
# Extract specific fields using jq
test_id=$(echo "$test_data" | jq -r '.[0].test_id')
component=$(echo "$test_data" | jq -r '.[0].jira_component')
pass_rate=$(echo "$test_data" | jq -r '.[0].current_pass_percentage')
runs=$(echo "$test_data" | jq -r '.[0].current_runs')GET https://sippy.dptools.openshift.org/api/tests/v2?release={release}&filter={filter_json}
GET https://sippy.dptools.openshift.org/api/tests/v2?release={release}&filter={filter_json}&collapse=falseWhen collapse=false is specified, the API returns one row per variant combination instead of a single collapsed row. Each row includes a variants array showing the specific variant combo (e.g., ["aws", "ovn", "amd64", "upgrade-micro"]). This helps identify if the test is failing in certain types of jobs and not others.
The filter parameter is a JSON object using Sippy's standard filter syntax:
{
"items": [
{
"columnField": "name",
"operatorValue": "equals",
"value": "<test_name>"
}
]
}The API returns a JSON array of test objects:
[
{
"id": 5987,
"test_id": "openshift-tests:e8f7491a505095b6356dfd8d4cf7218b",
"name": "[sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]",
"suite_name": "openshift-tests",
"variants": null,
"jira_component": "kube-apiserver",
"jira_component_id": "12367637",
"current_successes": 3425,
"current_failures": 22,
"current_flakes": 0,
"current_pass_percentage": 99.36,
"current_failure_percentage": 0.64,
"current_flake_percentage": 0,
"current_working_percentage": 99.36,
"current_runs": 3447,
"previous_successes": 2570,
"previous_failures": 43,
"previous_flakes": 0,
"previous_pass_percentage": 98.35,
"previous_failure_percentage": 1.65,
"previous_flake_percentage": 0,
"previous_working_percentage": 98.35,
"previous_runs": 2613,
"net_failure_improvement": 1.01,
"net_flake_improvement": 0,
"net_working_improvement": 1.01,
"net_improvement": 1.01,
"tags": null,
"open_bugs": 0
}
]Key Fields:
id: Sippy PostgreSQL internal ID (less commonly used)test_id: BigQuery / Component Readiness test ID (format: suite:hash). This is the ID used with modern skills like fetch-regression-details and fetch-test-runs.name: Full test namesuite_name: Test suite (e.g., openshift-tests)variants: Array of variant strings (only present when --no-collapse / collapse=false is used). Shows the specific variant combo for this row (e.g., ["aws", "ovn", "amd64", "upgrade-micro"]).jira_component: Associated OCPBUGS Jira componentjira_component_id: Jira component numeric IDcurrent_*: Metrics for the current 7-day reporting periodprevious_*: Metrics for the 7 days before the current periodnet_working_improvement: Change in working percentage (positive = improving)open_bugs: Number of open Jira bugs that mention this test by name. This can surface bugs that have been filed but not yet triaged in Component Readiness. Useful for finding existing work before filing a duplicate.python3 fetch_test_report.py "[sig-api-machinery] ..."
# Error: Failed to connect to Sippy API: [Errno 61] Connection refused
# Check network connectivity to sippy.dptools.openshift.org.If the test name doesn't match any test, the script returns an empty JSON array [] or "No tests found matching the given name." in summary mode.
python3 fetch_test_report.py
# usage: fetch_test_report.py [-h] [--release RELEASE] [--format {json,summary}] test_name
# fetch_test_report.py: error: the following arguments are required: test_nameExit Codes:
0: Success1: Error (API error, network error, etc.)python3 plugins/ci/skills/fetch-test-report/fetch_test_report.py \
"[sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]" \
--release 4.22 --format jsonpython3 plugins/ci/skills/fetch-test-report/fetch_test_report.py \
"[sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]" \
--release 4.22 --format summaryExpected Output:
Test: [sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]
Test ID: openshift-tests:abc123def456
Suite: openshift-tests
Jira Component: kube-apiserver
Open Bugs: 0
Current Period (last 7 days):
Runs: 3447
Pass Rate: 99.36%
Failures: 22 (0.64%)
Flakes: 0 (0.00%)
Previous Period (7 days before current):
Runs: 2613
Pass Rate: 98.35%
Failures: 43 (1.65%)
Flakes: 0 (0.00%)
Trend: improved (+1.01%)python3 plugins/ci/skills/fetch-test-report/fetch_test_report.py \
"[sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]" \
--release 4.22 --no-collapse --format summaryThis returns one row per variant combination, showing which specific job types the test is passing or failing in. Useful for regression analysis to determine if the failure is platform-specific, upgrade-specific, etc.
python3 plugins/ci/skills/fetch-test-report/fetch_test_report.py \
"[sig-api-machinery] Discovery should validate PreferredVersion for each APIGroup [Conformance]" \
--release 4.21 --format json--release is not specified, use the fetch-releases skill to determine the latest releasecurrent_* fields cover the last 7 days; previous_* fields cover the 7 days before thatcurrent_working_percentage = pass rate + flake rate (tests that ultimately passed, possibly after retries)test_id field is the one used in Component Readiness URLs and with the fetch-regression-details and fetch-test-runs skills[]) means no test matched — double-check the exact test name spellingfetch-releases (determines the latest OCP release)fetch-regression-details (uses test_id to fetch regression details)fetch-test-runs (uses test name to fetch individual test run results)/ci:fetch-test-report (command that invokes this skill)/ci:analyze-regression (full regression analysis workflow)© openshift-eng, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in plugins/ci/skills/fetch-test-report of openshift-eng/ai-helpers.
Open the folder on GitHubat commit a627176
Fetch Test Report next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fetch Test Report this skillopenshift-eng/ai-helpers | 120 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Rota Check Periodic Jobsoracle/graalpython | 1.7k | — | ~792 | Automated safety check: Pass | Custom licence | |
| Kanban TuiZaloog/kanban-tui | 285 | — | ~4.1k | Automated safety check: Pass | MIT | |
| GitHub PR Mirrororacle/graalpython | 1.7k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Atlassian Readonly Skillssillsdev/FieldWorks | 110 | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Atlassian Skillssillsdev/FieldWorks | 110 | — | ~2.7k | Automated safety check: Pass | Custom licence |
oracle/graalpython
Analyze current GraalPy periodic job failures for ROTA. An agent skill from oracle/graalpython.
Zaloog/kanban-tui
Comprehensive kanban board and task management via ktui CLI.
oracle/graalpython
Mirror an external GitHub pull request into the internal GraalPython Bitbucket review flow, including OCA label checks, Jira creation or reuse, preserving PR commits, pre-commit cleanup, and handoff…
sillsdev/FieldWorks
Read-only Python utilities for Jira (SIL Data Center): fetch an issue, search with JQL, read transitions, links, worklogs, agile boards and projects.
sillsdev/FieldWorks
Python utilities for Jira (SIL Data Center) covering issue management, JQL search, workflows and transitions, links, agile boards, worklogs and projects.
alirezarezvani/claude-skills
Advanced Scrum Master skill for data-driven agile team analysis and coaching.
openshift-eng/ai-helpers
Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.
openshift-eng/ai-helpers
Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.
openshift-eng/ai-helpers
Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.
openshift-eng/ai-helpers
Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.
openshift-eng/ai-helpers
Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.
openshift-eng/ai-helpers
Schema for the autodl JSON data file produced by payload-analysis for database ingestion — you must use this skill whenever generating the autodl JSON file
Fetch an OpenShift CI test report by name to get pass rates, test ID, and Jira component from Sippy. Fetch Test Report is an agent skill from openshift-eng/ai-helpers.
Run `npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a claude-code`. Or copy the skill folder (plugins/ci/skills/fetch-test-report in openshift-eng/ai-helpers) into .claude/skills/fetch-test-report in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a codex`. Or copy the skill folder (plugins/ci/skills/fetch-test-report in openshift-eng/ai-helpers) into .agents/skills/fetch-test-report in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openshift-eng/ai-helpers --skill fetch-test-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fetch-test-report, .gemini/skills/fetch-test-report, .github/skills/fetch-test-report and .opencode/skills/fetch-test-report in your project.
Going by SKILL.md and its folder, Fetch Test Report needs Python for the scripts in its folder and the command-line tools its instructions call (python3, jq and curl). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: sippy.dptools.openshift.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Fetch Test Report is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 9.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fetch Test Report: Rota Check Periodic Jobs (oracle/graalpython, 1.7k stars), Kanban Tui (Zaloog/kanban-tui, 285 stars), GitHub PR Mirror (oracle/graalpython, 1.7k stars) and Atlassian Readonly Skills (sillsdev/FieldWorks, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openshift-eng (a GitHub organization) maintains it in openshift-eng/ai-helpers, which has 120 GitHub stars. The repository holds 118 skills in this directory. The repository was last updated on October 6, 2026.
Source: openshift-eng/ai-helpers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.