Skip to content
cccskills
FreePublished on GitHub

github:prs

PR health analysis - CI passing without review, stale PRs, merge conflicts

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303 stars(GitHub 303 + cccskills 0)
Works withGitHub

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

PR Health

Analyze open PRs to find those needing review, stuck in CI, or going stale.

Variables

Set at session start:

export OWNER=<org-or-user>
export REPO=<repo-name>

When to Use

  • Weekly PR grooming
  • Finding PRs ready to merge
  • Identifying stuck or abandoned PRs

Auto-approved: All gh commands are read-only and auto-approved.

Analysis Steps

1. All Open PRs

gh pr list --repo $OWNER/$REPO --state open --json number,title,author,createdAt,updatedAt,reviewDecision,statusCheckRollup

2. PRs Passing CI Without Review

gh pr list --repo $OWNER/$REPO --state open --json number,title,author,reviewDecision,statusCheckRollup --jq '.[] | select(.reviewDecision != "APPROVED") | select(.statusCheckRollup != null) | select([.statusCheckRollup[] | select(.conclusion == "FAILURE")] | length == 0) | "#\(.number) \(.title) (@\(.author.login))"'

3. Stale PRs (no update > 14 days)

gh pr list --repo $OWNER/$REPO --state open --json number,title,updatedAt,author --jq '.[] | select(.updatedAt < (now - 14*24*3600 | strftime("%Y-%m-%dT%H:%M:%SZ"))) | "#\(.number) \(.title) (last: \(.updatedAt))"'

4. PRs with Failing CI

gh pr list --repo $OWNER/$REPO --state open --json number,title,statusCheckRollup --jq '.[] | select(.statusCheckRollup != null) | select([.statusCheckRollup[] | select(.conclusion == "FAILURE")] | length > 0) | "#\(.number) \(.title)"'

5. PRs with Merge Conflicts

gh pr list --repo $OWNER/$REPO --state open --json number,title,mergeable --jq '.[] | select(.mergeable == "CONFLICTING") | "#\(.number) \(.title)"'

PR Health Report

## PR Health Report

### Ready to Merge (CI passing, needs review): N
- [list — prioritize these for review]

### Failing CI: N
- [list — authors should investigate]

### Stale (> 14 days): N
- [list — ping authors or close]

### Merge Conflicts: N
- [list — needs rebase]

Troubleshooting

Problem: statusCheckRollup is null for all PRs

Symptom: jq filters on CI status return no results. Fix: The repo may not have required status checks. Use gh pr checks <N> --repo $OWNER/$REPO per-PR instead.

Problem: mergeable shows UNKNOWN

Symptom: GitHub hasn't computed mergeability yet. Fix: Wait a few seconds and re-query — GitHub computes this lazily. Or open the PR in the browser to trigger the check.

Problem: Stale query returns too many results

Symptom: Old PRs with recent bot comments show as active. Fix: Filter by updatedAt AND check comments count or last human comment date.

Related Skills

  • github:last-week - Weekly summary including PRs
  • github:issues - Issue triage
  • ci:status - Detailed CI check analysis
  • repo:pr - PR creation format
  • git:rebase - Fix merge conflicts

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

auth

Free

Authentication and authorization patterns for Rossoctl services

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

Create confidential OAuth2 clients in Keycloak for server-to-service authentication

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

Configure MLflow with mlflow-oidc-auth plugin for Keycloak OIDC authentication

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

Configure OpenTelemetry Collector with OAuth2 authentication for trace export

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

ci

Free

CI pipeline monitoring, status checks, and PR validation workflows

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

Monitor running CI jobs, wait for completion, create tasks for results

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

See all skills by rossoctl

Report a problem with this skill