wiyco/Review Insights
Analyze PR review workload, merge outcomes, reviewer-author imbalance, and AI involvement with visual reports
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| github-token | GitHub token with repo read access. Defaults to the workflow token. Required permissions: contents:read and pull-requests:read. For output-mode "comment", also pull-requests:write. | no | ${{ github.token }} |
| repository | Repository to analyze (owner/repo). Defaults to current repository. | no | ${{ github.repository }} |
| since | Start date for the PR creation window (ISO 8601, e.g. 2025-01-01). Defaults to 90 days ago. NOTE: For large repositories with high PR volume, use a shorter range (e.g., 30 days) to avoid hitting GitHub API rate limits. | no | — |
| until | End date for the historical snapshot (ISO 8601). Defaults to now. Reviews and merge/close state after this timestamp are ignored. | no | — |
| output-mode | Where to publish results: "summary", "comment", "artifact", or comma-separated combination. | no | summary,artifact |
| bias-threshold | Finite Pearson residual threshold for activity-adjusted reviewer-author imbalance, clamped to 0.5-10.0 (default: 2.0). | no | 2.0 |
| include-bots | Whether to include bot accounts in statistics. When false, bot-authored PRs (and all reviews on them) and bot reviews are excluded. See docs/filtering.md (default: false). | no | false |
| max-prs | Maximum number of PRs to analyze (default: 500). If additional PRs remain within the requested date range after this cap is reached, outputs are marked as capped rather than complete. IMPORTANT: Values above 1000 on very active repositories may consume significant API quota and increase execution time. | no | 500 |
Outputs
| name | description |
|---|---|
| report-path | Path to the generated HTML report file |
| total-prs-analyzed | Number of PRs analyzed |
| top-reviewers | JSON array of logins tied for the maximum reviewsGiven among users with reviewsGiven > 0, or [] if no active reviewers exist |
| max-reviews-given | JSON number for the maximum reviewsGiven among users with reviewsGiven > 0, or null if no active reviewers exist |
| bias-detected | Whether at least one reviewer-author pair was flagged by bias detection (true/false). If the bias model is unavailable, that warning is surfaced in the reports and logs. |
| partial-data | Whether analysis used a capped or partial PR dataset because pagination hit max-prs or the fixed 10-minute collection budget (true/false) |