Agent skill

Fetch Related Triages

by openshift-eng in openshift-eng/ai-helpers

Fetch existing triages and untriaged regressions related to a given regression

Apache-2.0Auto-check passed

Install Fetch Related Triages

skills CLI
$ npx skills add openshift-eng/ai-helpers --skill fetch-related-triages -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openshift-eng/ai-helpers fetch-related-triages --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-related-triages .claude/skills/fetch-related-triages && rm -rf skills-src

Use ~/.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/

Facts

Skill name
fetch-related-triages
GitHub stars
120
Token cost
~1.3k tokens
SKILL.md length
503 words
Files
2
Skills in repo
118
Repo updated
First seen
Licence
Apache-2.0

At a glance

Fetch existing triages and untriaged regressions related to a given regression

  • Works in 2 steps: Similarly named tests: Compares the… → Shared job runs: Finds regressions that…
  • SKILL.md covers When to Use This Skill, API Endpoint, Usage and Arguments, plus 4 more sections
  • Runs Python scripts from its folder; calls python3; reaches sippy.dptools.openshift.org and sippy-auth.dptools.openshift.org

What it does

Fetch Related Triages is an agent skill from openshift-eng/ai-helpers. Fetch existing triages and untriaged regressions related to a given regression

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `fetch_related_triages.py`).

The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.

Example prompts

  • “/fetch-related-triages”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Similarly named tests: Compares the regression's test name against test names on existing triages using edit distance. An edit distance of…
  2. Shared job runs: Finds regressions that were observed in the same job runs. The regression data now includes a complete job_runs list…

What it can do on your machine

Read from SKILL.md and the folder at commit a627176. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • sippy.dptools.openshift.org
    • sippy-auth.dptools.openshift.org
    • redhat.atlassian.net

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fetch Related Triages loads about 1.3k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 503 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~25
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 503 words, ~1,347 tokens.

Download SKILL.mdSave it as .claude/skills/fetch-related-triages/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
fetch-related-triages
description
Fetch existing triages and untriaged regressions related to a given regression

Queries the Sippy API to find existing triage records and untriaged regressions that may be related to a given Component Readiness regression. The API matches based on similarly named tests and shared job runs (using the complete job_runs history tracked across each regression's entire lifetime).

When to Use This Skill

  • During regression analysis to find existing triages that could cover the current regression
  • To find untriaged regressions that share the same root cause and should be triaged together
  • To avoid filing duplicate bugs when a related triage already exists

API Endpoint

GET https://sippy.dptools.openshift.org/api/component_readiness/regressions/{id}/matches

No authentication required (uses production Sippy URL).

Usage

bash
# Fetch all related triages (default: all confidence levels)
python3 plugins/ci/skills/fetch-related-triages/fetch_related_triages.py 35479

# Filter to high confidence matches only
python3 plugins/ci/skills/fetch-related-triages/fetch_related_triages.py 35479 --min-confidence 5

# Human-readable summary
python3 plugins/ci/skills/fetch-related-triages/fetch_related_triages.py 35479 --format summary

Arguments

  • regression_id (required): The Component Readiness regression ID
  • --min-confidence (optional): Minimum confidence level to include (1-10, default: 1)
  • --format (optional): Output format — json (default) or summary

Confidence Levels

The API assigns a confidence level (1-10) to each match:

  • 10: High confidence — the triage's regressions include the same test (exact test_id match) or very closely related tests with shared failure patterns
  • 5: Medium confidence — similarly named tests matched by edit distance, suggesting related tests in the same area
  • 2: Low confidence — regressions share the same job runs (identified via the job_runs history tracked across each regression's lifetime), which may indicate a shared root cause but could be coincidental in mass failure scenarios

Output Format

JSON output
json
{
  "success": true,
  "regression_id": 35479,
  "triaged_matches": [
    {
      "triage_id": 370,
      "triage_ui_url": "https://sippy-auth.dptools.openshift.org/sippy-ng/component_readiness/triages/370",
      "jira_key": "OCPBUGS-76612",
      "jira_url": "https://redhat.atlassian.net/browse/OCPBUGS-76612",
      "jira_status": "New",
      "jira_summary": "Component Readiness: [Networking / ovn-kubernetes] ...",
      "triage_type": "test",
      "triage_description": "...",
      "confidence_level": 10,
      "regressions_on_triage": [
        {
          "id": 35217,
          "test_name": "...",
          "test_id": "...",
          "component": "Networking / ovn-kubernetes",
          "variants": ["..."],
          "opened": "...",
          "closed": null,
          "triages": null,
          "last_failure": "..."
        }
      ]
    }
  ],
  "untriaged_regressions": [
    {
      "id": 35480,
      "test_name": "...",
      "test_id": "...",
      "component": "...",
      "variants": ["..."],
      "opened": "...",
      "closed": null,
      "triages": null,
      "last_failure": "...",
      "match_reason": "similarly_named_test",
      "edit_distance": 1
    }
  ]
}
Key fields
  • triaged_matches: Existing triage records that look related, sorted by confidence (highest first). Each includes the JIRA bug info and the regressions already on the triage.
  • untriaged_regressions: Open regressions that are not yet triaged but appear related. These are candidates to be triaged together with the current regression. Each includes a match_reason field:
    • similarly_named_test: Matched by test name edit distance (lower edit_distance = more similar)
    • same_last_failure: Matched by sharing the same job runs (identified via the job_runs history tracked across each regression's lifetime)
Show full SKILL.md (203 more words)Show less

How the API Matches Work

The API uses two strategies to find related triages:

  1. Similarly named tests: Compares the regression's test name against test names on existing triages using edit distance. An edit distance of 0 means the same test name (different variants); 1-2 means very similar test names (e.g., L2 vs L3 variant of the same test).

  2. Shared job runs: Finds regressions that were observed in the same job runs. The regression data now includes a complete job_runs list covering all runs where the failure was observed throughout the regression's entire life (not just the last reporting period). Sippy uses this data to find other regressions that failed in the same Prow job runs, which is a strong signal they share the same root cause (e.g., a mass CI infrastructure failure or a broad product regression). Regressions with high test_failures counts in their shared runs are more likely to be collateral damage from a larger issue.

Notes

  • Uses the production Sippy URL (no port-forward needed)
  • No authentication required
  • The script deduplicates untriaged regressions by ID
  • Only open, untriaged regressions are included in untriaged_regressions
  • Triaged matches are sorted by confidence level (highest first)
  • The 60-second timeout handles the potentially large response

© 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

Files

SKILL.md and 1 other file in plugins/ci/skills/fetch-related-triages of openshift-eng/ai-helpers.

  • SKILL.md
  • fetch_related_triages.py

Open the folder on GitHubat commit a627176

Compare with similar skills

Fetch Related Triages 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.

Fetch Related Triages compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fetch Related Triages this skillopenshift-eng/ai-helpers120—~1.3kAutomated safety check: PassApache-2.0
Perf Regression Triagemozilla-firefox/firefox13k—~1.7kAutomated safety check: PassCustom licence
Triagepnpm/pnpm37k—~2.9kAutomated safety check: PassMIT
Visual Regressionthedaviddias/Front-End-Checklist74k—~493Automated safety check: PassMIT
Triaging Issuespytorch/pytorch104k—~4.2kAutomated safety check: PassCustom licence
Verdaccio Issue Triageverdaccio/verdaccio18k—~2.4kAutomated safety check: PassMIT

Similar skills

  • Perf Regression Triage

    mozilla-firefox/firefox

    Handle a Perfherder performance regression bug end to end: read the alert bug, confirm whether the regression is real, find the cause, and iterate to a fix.

    13k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Triage

    pnpm/pnpm

    Triage an incoming GitHub issue against the pnpm codebase and related open issues, then apply exactly one implementation-readiness label using pnpm's state: taxonomy.

    37k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Visual Regression

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing CI coverage, automated checks, or test strategy related to Use visual regression testing.

    74k GitHub stars~493 tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Triaging Issues

    pytorch/pytorch

    Triages GitHub issues by routing to oncall teams, applying labels, and closing questions.

    104k GitHub stars~4.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Verdaccio Issue Triage

    verdaccio/verdaccio

    Triages an incoming verdaccio/verdaccio issue against the code, the affected release line and related issues, and picks labels from the repository's existing taxonomy.

    18k GitHub stars~2.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Issue Triage

    paperclipai/paperclip

    Triage Paperclip inbox issues that are stale, blocked, in-review, or assigned-but-not-progressing, and decide a single next action per issue (resume, reassign, unblock, escalate, or close).

    99k GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check passed

More from openshift-eng/ai-helpers

All 118 skills in this repo
  • Investigate CI Reliability

    openshift-eng/ai-helpers

    Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.

    120 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Address Review PR

    openshift-eng/ai-helpers

    Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.

    120 GitHub stars~2.9k tokensUpdated 3 days ago
    Auto-check passed
  • Categorize Activity Types

    openshift-eng/ai-helpers

    Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.

    120 GitHub stars~2.4k tokensUpdated 3 days ago
    Auto-check passed
  • Has Review Work

    openshift-eng/ai-helpers

    Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.

    120 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Must Gather Analyzer

    openshift-eng/ai-helpers

    Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.

    120 GitHub stars~2.3k tokensUpdated 3 days ago
    Auto-check passed
  • Payload Autodl JSON

    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

    120 GitHub stars~2.6k tokensUpdated 3 days ago
    Auto-check passed

Questions about Fetch Related Triages

What does Fetch Related Triages do?

Fetch existing triages and untriaged regressions related to a given regression. Fetch Related Triages is an agent skill from openshift-eng/ai-helpers.

How do I install Fetch Related Triages in Claude Code?

Run `npx skills add openshift-eng/ai-helpers --skill fetch-related-triages -a claude-code`. Or copy the skill folder (plugins/ci/skills/fetch-related-triages in openshift-eng/ai-helpers) into .claude/skills/fetch-related-triages in your project. Claude Code loads it when a task matches its description.

How do I install Fetch Related Triages in Codex?

Run `npx skills add openshift-eng/ai-helpers --skill fetch-related-triages -a codex`. Or copy the skill folder (plugins/ci/skills/fetch-related-triages in openshift-eng/ai-helpers) into .agents/skills/fetch-related-triages in your project. Codex loads it when a task matches its description.

Can I use Fetch Related Triages in Cursor, Gemini CLI or GitHub Copilot?

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-related-triages -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-related-triages, .gemini/skills/fetch-related-triages, .github/skills/fetch-related-triages and .opencode/skills/fetch-related-triages in your project.

What does Fetch Related Triages need to run?

Going by SKILL.md and its folder, Fetch Related Triages needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Fetch Related Triages access the network?

SKILL.md names 3 domains. In commands or code: sippy.dptools.openshift.org, sippy-auth.dptools.openshift.org and redhat.atlassian.net; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Fetch Related Triages safe to install?

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.

What licence does Fetch Related Triages use?

Fetch Related Triages 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.

How many tokens does Fetch Related Triages use?

About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fetch Related Triages?

Skills that share tags, products or a category with Fetch Related Triages: Perf Regression Triage (mozilla-firefox/firefox, 13k stars), Triage (pnpm/pnpm, 37k stars), Visual Regression (thedaviddias/Front-End-Checklist, 74k stars) and Triaging Issues (pytorch/pytorch, 104k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fetch Related Triages?

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.