Skip to content
Development
Command

/pr-report

PR Report Generator

From plugin
hypershift
5368 skills5 agents8 commands
Install
$ npx -y skills add openshift/hypershift --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/pr-report

Context preview

What this command does when you run it.

PR Report Generator

Command definition

pr-report.md
description: "PR Report Generator"
argument-hint: "[--start YYYY-MM-DD] [--end YYYY-MM-DD] [--deep] [--progress-report] [--blog] - Date range with optional deep analysis, progress report, and blog post"

PR Report Generator

Generate comprehensive PR reports for openshift/hypershift, openshift-eng/ai-helpers, openshift/enhancements, and openshift/release repositories.

Usage

/pr-report                                    # Last 7 days (default)
/pr-report --start 2026-02-05                 # From date to today
/pr-report --start 2026-02-05 --end 2026-02-12  # Specific date range
/pr-report --start 2026-02-05 --end 2026-02-12 --deep  # With deep code analysis
/pr-report --start 2026-02-05 --end 2026-02-12 --deep --progress-report # Deep analysis + progress report
/pr-report --start 2026-02-05 --end 2026-02-12 --deep --breaking-changes # Deep analysis + breaking change report
/pr-report --start 2026-05-14 --end 2026-06-22 --deep --progress-report --blog # Deep + progress report + blog post

**Parameters:**

  • `--start` (optional): Starting date in YYYY-MM-DD format (e.g., `2026-02-05`). Defaults to 7 days ago.
  • `--end` (optional): Ending date in YYYY-MM-DD format (e.g., `2026-02-12`). Defaults to today.
  • `--deep` (optional): Enable deep analysis mode that fetches and analyzes actual code diffs.
  • `--progress-report` (optional): Generate a narrative blog-style progress report (Dolphin Emulator style). **Requires `--deep`.**
  • `--breaking-changes` (optional): Generate a detailed breaking change assessment report for management cluster operators and senior SREs. **Requires `--deep`.**
  • `--blog` (optional): Generate a Material-styled blog post in `docs/content/blog/` and update `docs/mkdocs.yml` nav. **Requires `--progress-report`.**
  • `--output-dir` (optional): Directory for output files. If not specified, ask the user with AskUserQuestion.

What This Command Does

This command generates **two reports** (with two optional additions):

1. Fast Data Report (automated)

  • Fetches merged PRs from all repositories
  • Filters openshift/release PRs to only HyperShift-related paths
  • Filters openshift-eng/ai-helpers and openshift/enhancements PRs to HyperShift contributors
  • Queries Jira for ticket hierarchy (Epic, OCPSTRAT linkage)
  • Generates metrics (timing, reviewers, merge patterns)

2. Impact Analysis Report (LLM-generated)

  • Analyzes PR changes to assess actual impact
  • Groups work by themes and strategic initiatives
  • Provides context for project contributors and followers
  • Highlights notable changes, risks, and cross-repo dependencies

3. Deep Code Analysis (--deep mode only)

  • Fetches actual code diffs for selected PRs
  • Analyzes what the code actually changed (not just descriptions)
  • Identifies breaking changes, API modifications, test coverage
  • Verifies alignment between PR descriptions and actual changes

4. Progress Report (--progress-report, narrative blog post)

  • Narrative technical blog post in the style of Dolphin Emulator progress reports
  • Problem-first storytelling with technical depth
  • Credits contributors by GitHub handle
  • Thematic grouping of related changes

5. Breaking Change Report (--breaking-changes, SRE/management-oriented)

  • Identifies all PRs with breaking changes, API modifications, or behavioral shifts
  • Links each to Jira tickets with full hierarchy (ticket -> Epic -> OCPSTRAT)
  • Assesses impact scope per customer segment and usage pattern
  • Provides actionable recommendations (revert, fix, document, accept)
  • Written for management cluster operators and senior SREs

6. Collaboration Report (always generated with --deep)

  • Groups contributors into clusters based on review relationships and shared topics
  • Identifies bridge nodes who connect clusters
  • Super short format: one paragraph per cluster

7. Blog Post (--blog, docs-ready Material-styled post)

  • Converts progress report to MkDocs Material blog post with grid stat cards, admonitions, and icons
  • Generates sortable contributor table with per-repo linked PR counts and bugfix column
  • Creates/updates `docs/content/blog/index.md` landing page
  • Updates `docs/mkdocs.yml` nav with new post entry
  • Runs `make docs-aggregate` for verification
  • Applies sensitive content filtering for public blog (no S360/SFDC references)

Output Files

| File | Description | |------|-------------| | `$OUTPUT_DIR/weekly_pr_report_fast.md` | Data-focused report with metrics and PR listings | | `$OUTPUT_DIR/hypershift_pr_details_fast.json` | Raw PR data in JSON format | | `$OUTPUT_DIR/hypershift_pr_summary.json` | Compact summary data for LLM analysis | | `$OUTPUT_DIR/weekly_pr_report_impact.md` | LLM-generated impact analysis for contributors | | `$OUTPUT_DIR/pr_scored.json` | (--score) Ranked PR list for deep analysis | | `.work/pr_deep/*.json` | (--deep mode) Per-PR data with diffs for analysis | | `.work/pr_deep/*_analysis.json` | (--deep mode) Per-PR analysis results | | `.work/pr_deep_aggregated.json` | (--deep mode) Aggregated analysis findings | | `$OUTPUT_DIR/hypershift_progress_report_YYYY-MM-DD.md` | (--progress-report) Narrative progress report (blog-style) | | `$OUTPUT_DIR/breaking_changes_report_YYYY-MM-DD.md` | (--breaking-changes) Breaking change assessment for SREs | | `$OUTPUT_DIR/collaboration_report_YYYY-MM-DD.md` | (--deep) Contributor collaboration clusters | | `docs/content/blog/YYYY-MM-progress-report.md` | (--blog) Material-styled blog post for docs site |

Implementation

Step 0: Validate Arguments

If `--progress-report` is specified without `--deep`, stop and inform the user: `--progress-report requires --deep mode for code-level analysis. Please add --deep to your command.`

If `--blog` is specified without `--progress-report`, stop and inform the user: `--blog requires --progress-report mode to generate the blog source content. Please add --progress-report (and --deep) to your command.`

Step 1: Run the Python script to fetch PRs

Parse

Read more
Ships withhypershift

HyperShift is a middleware for hosting OpenShift control planes at scale that solves for cost and time to provision, as well as portability cross cloud with strong separation of concerns between management and workloads.

Get the whole plugin