From teams
Queries and summarizes regression data for an OpenShift release, providing counts, percentages, triage coverage, and timing metrics. Supports filtering by component or team and date ranges.
How this command is triggered — by the user, by Claude, or both
Slash command
/teams:health-check-regressions <release> [--components comp1 comp2 ...] [--team <team-name>] [--start YYYY-MM-DD] [--end YYYY-MM-DD]The summary Claude sees in its command listing — used to decide when to auto-load this command
## Name teams:health-check-regressions ## Synopsis ## Description The `teams:health-check-regressions` command queries regression data for a specified OpenShift release and generates summary statistics. It leverages the `list-regressions` command to fetch raw regression data and then presents counts, percentages, and timing metrics to help understand regression trends at a glance. By default, the command analyzes: - All regressions within the release development window - Both open and closed regressions - Triage coverage and timing metrics - Per-component breakdowns This command is ...
teams:health-check-regressions
/teams:health-check-regressions <release> [--components comp1 comp2 ...] [--start YYYY-MM-DD] [--end YYYY-MM-DD]
/teams:health-check-regressions <release> --team <team-name> [--start YYYY-MM-DD] [--end YYYY-MM-DD]
The teams:health-check-regressions command queries regression data for a specified OpenShift release and generates summary statistics. It leverages the list-regressions command to fetch raw regression data and then presents counts, percentages, and timing metrics to help understand regression trends at a glance.
By default, the command analyzes:
This command is useful for:
Verify Prerequisites: Check that Python 3 is installed
python3 --versionParse Arguments: Extract release version and optional filters from arguments
--components: Space-separated list of component search strings (fuzzy match)--team: Team name (looks up all components for that team)--start: Start date for filtering (YYYY-MM-DD)--end: End date for filtering (YYYY-MM-DD)--components and --team are mutually exclusiveResolve Component Names: Use fuzzy matching to find actual component names, or look up by team
--team was provided:
team_component_map.jsonget_team_components()--components was provided:
python3 plugins/teams/skills/list-components/list_components.py
--team nor --components was provided:
Fetch Release Dates: Run the get_release_dates.py script to get development window dates
plugins/teams/skills/get-release-dates/get_release_dates.py--release argumentdevelopment_start and ga dates from JSON output--start and --end are not explicitly providedExecute Python Script: Run the list_regressions.py script with appropriate arguments
plugins/teams/skills/list-regressions/list_regressions.py--release argument--components argumentdevelopment_start date as --start argument (if available)
ga date as --end argument (only if GA date is not null)
--short flag to exclude regression arrays (only summaries)Parse Output: Process the JSON output from the script
summary: Overall statistics (total, triaged, percentages, timing)components: Per-component summary statistics--short flag)Present Results: Display summary in a clear, readable format
Error Handling: Handle common error scenarios
The command outputs a Regression Summary Report with the following information:
summary.totalsummary.filtered_suspected_infra_regressionssummary.triaged regressions (summary.triage_percentage%)summary.open.total regressions (summary.open.triage_percentage% triaged)summary.closed.total regressions (summary.closed.triage_percentage% triaged)Overall Metrics:
summary.time_to_triage_hrs_avg hourssummary.time_to_triage_hrs_max hourssummary.time_to_resolve_hrs_avg hours (based on triage resolved timestamp)summary.time_to_resolve_hrs_max hours (based on triage resolved timestamp)Open Regression Metrics:
summary.open.open_hrs_avg hourssummary.open.open_hrs_max hourssummary.open.time_to_triage_hrs_avg hourssummary.open.time_to_triage_hrs_max hoursClosed Regression Metrics:
summary.closed.time_to_resolve_hrs_avg hours (based on triage resolved timestamp)summary.closed.time_to_resolve_hrs_max hours (based on triage resolved timestamp)summary.closed.time_to_triage_hrs_avg hourssummary.closed.time_to_triage_hrs_max hoursFor each component (from components.*.summary):
| Component | Total | Open | Closed | Triaged | Triage % | Avg Time to Triage | Avg Time to Resolve |
|---|---|---|---|---|---|---|---|
| Monitoring | 15 | 1 | 14 | 13 | 86.7% | 68 hrs | 156 hrs |
| etcd | 20 | 0 | 20 | 19 | 95.0% | 84 hrs | 192 hrs |
| kube-apiserver | 27 | 1 | 26 | 27 | 100.0% | 58 hrs | 144 hrs |
Summarize all regressions for a release:
/teams:health-check-regressions 4.17
Fetches and summarizes all regressions for release 4.17, automatically applying development window date filtering.
Filter by specific component (exact match):
/teams:health-check-regressions 4.21 --components Monitoring
Shows summary statistics for only the Monitoring component in release 4.21.
Filter by fuzzy search:
/teams:health-check-regressions 4.21 --components network
Finds all components containing "network" (case-insensitive) and shows summary statistics for all matches (e.g., "Networking / ovn-kubernetes", "Networking / DNS", etc.).
Filter by multiple search strings:
/teams:health-check-regressions 4.21 --components etcd kube-
Finds all components containing "etcd" OR "kube-" and shows combined summary statistics.
Specify custom date range:
/teams:health-check-regressions 4.17 --start 2024-05-17 --end 2024-10-29
Summarizes regressions within a specific date range:
In-development release:
/teams:health-check-regressions 4.21
Summarizes regressions for an in-development release:
Filter by team:
/teams:health-check-regressions 4.21 --team "API Server"
Summarizes regressions for all components owned by the "API Server" team:
/teams:list-teams to see available team namesTeam summary with custom date range:
/teams:health-check-regressions 4.17 --team "Networking" --start 2024-05-17 --end 2024-10-29
Summarizes regressions for the Networking team within a specific date range
$1 (required): Release version
$2+ (optional): Filter flags
--components <search1> [search2 ...]: Filter by component names using fuzzy search
--team--team <team-name>: Filter by team name
/teams:list-teams to see available team names--components--start <YYYY-MM-DD>: Filter by start date
--end <YYYY-MM-DD>: Filter by end date
Python 3: Required to run the data fetching script
which python3Network Access: Must be able to reach the component health API
API Configuration: The API endpoint must be configured in the script
plugins/teams/skills/list-regressions/list_regressions.py--short flag is always used internally to optimize performance/teams:list-regressions to fetch data/teams:list-regressions instead/teams:health-check insteadplugins/teams/skills/list-regressions/SKILL.mdplugins/teams/skills/list-regressions/list_regressions.py/teams:list-regressions (for raw regression data)/teams:health-check (for health grading and analysis)get-release-dates (for fetching development window dates)npx claudepluginhub harshwardhanpatil07/ai-helpers --plugin teams/health-check-regressionsQueries and summarizes regression data for an OpenShift release, providing counts, percentages, triage coverage, and timing metrics. Supports filtering by component or team and date ranges.
/check-if-jira-regression-is-ongoingReads a Jira bug, extracts test identifiers, and cross-references with live CI data to determine if the described regression is still active or has resolved.
/phase-5-reportCreates a detailed pipeline health report as a GitHub issue, including metrics for pre-merge quality, post-deploy quality, and pipeline health signals.
/validate-blockersValidates proposed release blockers against Red Hat OpenShift criteria, producing APPROVE/REJECT/DISCUSS recommendations with detailed justification.
/metricsAnalyzes team metrics like velocity tracking, cycle time, and performance for a specified metric-type and optional timeframe.