andy-c-jones/PR Performance Reviewer
Reviews pull requests for performance issues using Copilot/GitHub Models.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| github-token | GitHub token used for GitHub API + Copilot/GitHub Models calls | yes | — |
| model | Model identifier for the Copilot/GitHub Models endpoint | no | openai/gpt-4.1 |
| copilot-api-url | Copilot/GitHub Models chat completions endpoint URL | no | https://models.github.ai/inference/chat/completions |
| min-severity | Minimum severity for posting review comments (low|medium|high|critical) | no | medium |
| min-confidence | Minimum confidence for posting review comments (low|medium|high) | no | high |
| impact-level | Minimum impact level for posting review comments (all|low|medium|high) | no | medium |
| max-findings-per-file | Maximum number of findings to keep per analyzed file | no | 3 |
| max-patch-characters | Skip files when patch text exceeds this character limit | no | 6000 |
| max-file-characters | Skip files when full file content exceeds this character limit | no | 12000 |
| skip-generated-artifacts | When true, skips generated/bundled artifact paths such as dist/, coverage/, *.map, and *.min.* | no | true |
| skip | Comma-separated directory prefixes to skip for supported language files (for example: dist,build,generated) | no | "" |
| review-summary | Additional body text appended after the action attribution header in the submitted pull request review | no | Performance review suggestions from Copilot. Address only if the impact aligns with your workload profile. |
Outputs
| name | description |
|---|---|
| supported-files-detected | Number of changed files with supported language extensions |
| analyzed-files | Number of files sent to Copilot analysis |
| comments-posted | Number of inline comments posted |
| skipped-reason | Reason no comments were posted (including model_access_denied, copilot_unavailable, or all_supported_files_skipped) |
| analysis-overview | JSON summary of model, checks, file-level findings, and filtering outcomes |