/pr-report
PR Report Generator
$ npx -y skills add openshift/hypershift --agent claude-codeHow 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.mddescription: "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
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
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.
Repo: openshift/hypershift
Other commands on hypershift.
- /e2e-analyze
Analyze test errors
Open command - /fix-hypershift-repo-robot-pr
Fix robot/bot PRs in HyperShift repo by regenerating files and creating a new PR with passing verification
Open command - /konflux-build
Create a manual Konflux build from a PR with configurable image expiry (default 30 days)
Open command - /restructure-commits
Restructure branch commits into logical component-based commits for HyperShift PRs
Open command - /test-tag-pipeline
Create a manual PipelineRun to test tag pipeline changes before merging.
Open command - /update-konflux-tasks
Automatically update outdated Konflux Tekton tasks based on enterprise contract verification logs.
Open command

