check-pr

SKILL.md

Check PR

Analyze a pull request for review comments, status checks, and description completeness, then help address any issues found.

Inputs

  • PR number (optional): If not provided, detect the PR for the current branch.

Instructions

1. Identify the PR

If a PR number was provided, use it. Otherwise, detect it:

gh pr view --json number -q .number

2. Fetch PR details

gh pr view <PR_NUMBER> --json title,body,state,reviews,comments,headRefName,statusCheckRollup
gh api repos/{owner}/{repo}/pulls/<PR_NUMBER>/comments

3. Wait for pending checks

Before analyzing, ensure all status checks have completed. If any checks are PENDING or IN_PROGRESS, poll every 30 seconds until all checks reach a terminal state (success or failure). This ensures that review bot comments (Greptile, linters, etc.) are available before analysis.

4. Analyze the PR

Once all checks are complete, evaluate these areas:

A. Status Checks

  • Are all CI checks passing?
  • If any are failing, identify which ones and the failure reason.

B. PR Description

  • Is the description complete and follows team conventions?
  • Are all required sections filled in?
  • Are there TODOs or placeholders that need updating?

C. Review Comments

  • Inline code review comments that need addressing
  • Look for bot review comments (e.g. from greptile-apps[bot], linters, etc.)
  • Human reviewer comments

D. General Comments

  • Discussion comments on the PR
  • Bot comments (Vercel deploy previews, etc.) — usually informational

5. Categorize issues

For each issue found, categorize as:

Category Meaning
Actionable Code changes, test improvements, or fixes needed
Informational Verification notes, questions, or FYIs that don't require changes
Already addressed Issues that appear to be resolved by subsequent commits

6. Report findings

Present a summary table:

Area Issue Status Action Needed
Status Checks CI build failing Failing Fix type error in src/api.ts
Review "Add null check" — @reviewer Actionable Add guard clause
Description TODO placeholder in test plan Actionable Fill in test plan
Review "Looks good" — @teammate Informational None

7. Fix issues (if requested)

If there are actionable items:

  1. Switch to the PR's branch if not already on it.
  2. Ask the user if they want to fix the issues.
  3. If yes, make the fixes, commit, and push.

8. Resolve review threads

After addressing comments, resolve the corresponding review threads.

First, fetch unresolved thread IDs (paginate if needed — see the GraphQL reference):

gh api graphql -f query='
query($cursor: String) {
  repository(owner: "OWNER", name: "REPO") {
    pullRequest(number: PR_NUMBER) {
      reviewThreads(first: 100, after: $cursor) {
        pageInfo { hasNextPage endCursor }
        nodes {
          id
          isResolved
          comments(first: 1) {
            nodes { body path }
          }
        }
      }
    }
  }
}'

If hasNextPage is true, repeat with -f cursor=ENDCURSOR to get remaining threads.

Then resolve threads that have been addressed or are informational:

gh api graphql -f query='
mutation {
  resolveReviewThread(input: {threadId: "THREAD_ID"}) {
    thread { isResolved }
  }
}'

Batch multiple resolutions into a single mutation using aliases (t1, t2, etc.).

9. Multiple PRs

If checking a chain of PRs, process them sequentially.

Output format

Summarize:

  • PR title and current state
  • Status checks summary (passing/failing/pending)
  • Total issues found
  • Actionable items with descriptions
  • Items that can be ignored with reasons
  • Recommended next steps
Weekly Installs
33
GitHub Stars
47
First Seen
Feb 11, 2026
Installed on
opencode33
gemini-cli33
github-copilot33
codex33
kimi-cli32
amp31