- name
- find-reviewable-pr
- description
- Finds open PRs in the dotnet/maui and dotnet/docs-maui repositories that are good candidates for review, prioritizing by milestone, priority labels, partner/community status.
- metadata
- {"author":"dotnet-maui","version":"2.1"}
- compatibility
- Requires GitHub CLI (gh) authenticated with access to dotnet/maui and dotnet/docs-maui repositories.
# Find Reviewable PR
This skill searches the dotnet/maui and dotnet/docs-maui repositories for open pull requests that are good candidates for review, prioritized by importance.
## When to Use
- "Find a PR to review"
- "Find PRs that need review"
- "Show me milestoned PRs"
- "Find partner PRs to review"
- "What community PRs are open?"
- "Find docs-maui PRs to review"
## Priority Categories (in order)
1. **Priority (P/0)** - Critical priority PRs that need immediate attention (always on top)
2. **Approved (Not Merged)** - PRs with human approval that haven't been merged yet
3. **Ready To Review (Project Board)** - PRs in "Ready To Review" column of the MAUI SDK Ongoing project board (requires `read:project` scope)
4. **Milestoned** - PRs assigned to current milestone(s), sorted by lowest SR number first (e.g., SR5 before SR6), then Servicing
5. **Agent Reviewed** - PRs reviewed by AI agent workflow (detected via labels)
6. **Partner** - PRs from Syncfusion and other partners
7. **Community** - External contributions needing review
8. **Recent Waiting for Review** - PRs created in last 2 weeks that need review (minimum 5)
9. **docs-maui Waiting for Review** - Documentation PRs needing review (minimum 5)
## Quick Start
```bash
# Find P/0 and milestoned PRs (default behavior, excludes changes-requested)
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1
# Find all reviewable PRs across all categories
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category all
# Find only milestoned PRs
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category milestoned
# Find only docs-maui PRs waiting for review
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category docs-maui
# Find approved PRs waiting to be merged
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category approved
# Find PRs in "Ready To Review" on the project board
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category ready-to-review
# Find agent-reviewed PRs with merge summaries
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category agent-reviewed
# Find recent PRs waiting for review
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Category recent
# Find Android PRs only
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Platform android
# Limit results per category
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -Limit 5
# Adjust docs-maui limit (default is 5, minimum enforced)
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1 -DocsLimit 10
```
## Script Parameters
| Parameter | Values | Default | Description |
|-----------|--------|---------|-------------|
| `-Category` | default, milestoned, priority, recent, partner, community, docs-maui, approved, ready-to-review, agent-reviewed, all | default | Filter by category. `default` shows only P/0 + milestoned, excluding changes-requested PRs. |
| `-Platform` | android, ios, windows, maccatalyst, all | all | Filter by platform |
| `-Limit` | 1-100 | 100 | Max PRs per category (maui repo) |
| `-RecentLimit` | 1-100 | 5 | Max recent PRs waiting for review from maui repo (minimum 5 enforced) |
| `-DocsLimit` | 1-100 | 5 | Max PRs for docs-maui waiting for review (minimum 5 enforced) |
| `-ExcludeAuthors` | string[] | (none) | Exclude PRs from specific authors (e.g., `-ExcludeAuthors PureWeen,rmarinho`) |
| `-IncludeAuthors` | string[] | (none) | Only include PRs from specific authors |
| `-OutputFormat` | review, table, json | review | Output format |
## Workflow for Reviewing PRs
### Step 1: Find PRs to Review
**CRITICAL**: You MUST use the PowerShell script below. Do NOT attempt to query GitHub directly with `gh` commands or `jq` if the script fails. The script contains important prioritization logic (SR5 before SR6, P/0 first, etc.) that cannot be replicated with ad-hoc queries.
```bash
pwsh .github/skills/find-reviewable-pr/scripts/query-reviewable-prs.ps1
```
**If the script fails** (e.g., HTTP 502, network error, authentication issue):
1. **STOP** - Do not attempt fallback queries
2. **Report the error** to the user
3. **Suggest retry** - Ask user to try again in a few minutes (GitHub API may be temporarily unavailable)
**Why no fallbacks?** Ad-hoc queries bypass the milestone prioritization logic and will return incorrectly ordered results (e.g., later SR milestones before earlier ones).
### Step 2: Check for Warnings
**IMPORTANT**: If the script output contains a warning about missing `read:project` scope, you MUST include this warning at the TOP of your response to the user:
```
⚠️ **Note**: Your GitHub token is missing the `read:project` scope. Project board data is not available.
To enable: `gh auth refresh -s read:project`
```
### Step 3: Present Results from ALL Categories
**CRITICAL**: When presenting PR results, you MUST include PRs from ALL categories returned by the script:
1. 🔴 **Priority (P/0)** - Always include if present (always first)
2. 🟢 **Approved (Not Merged)** - Always include if present
3. 📋 **Ready To Review (Board)** - Always include if present
4. 📅 **Milestoned** - Always include if present
5. 🤖 **Agent Reviewed** - Always include if present
6. 🤝 **Partner** - Always include if present
7. ✨ **Community** - Always include if present
8. 🕐 **Recent** - Always include if present
9. 📖 **docs-maui** - Always include if present
**DO NOT** omit any category. Each category table should include columns for: PR, Title, Author, Assignees, Platform/Repo, Status, Agent Review, Age, Updated.
## Complexity Levels
| Complexity | Criteria |
|------------|----------|
| **Easy** | ≤5 files, ≤200 additions |
| **Medium** | 6-15 files, or 200-500 additions |
| **Complex** | >15 files, or >500 additions |
## Tips
- **P/0 PRs** should always be reviewed first - they're blocking releases
- **Approved PRs** are ready to merge - verify CI is green and merge
- **Ready To Review PRs** are in the project board pipeline and need timely review
- **Agent Reviewed PRs** have been analyzed by the AI agent workflow - check their labels for status
- **Milestoned PRs** have deadlines and should be prioritized
- **Partner PRs** often have business priority
- **Community PRs** may need more guidance and thorough review
- **Recent PRs** - quick turnaround keeps contributors engaged
عرض على GitHub