SuperAPI AI Directory

my-pr-checker

General & other

View repository

Updated 10-15 22:14

About this skill

My PR Checker

Review and resolve all outstanding issues on PR #$ARGUMENTS in homeassistant-ai/ha-mcp.

Step 1: Full PR Assessment

# PR overview
gh pr view "$ARGUMENTS" --repo homeassistant-ai/ha-mcp \
  --json title,body,state,reviews,statusCheckRollup,headRefName,additions,deletions,changedFiles

# CI checks
gh pr checks "$ARGUMENTS" --repo homeassistant-ai/ha-mcp

# Inline review comments
gh api repos/homeassistant-ai/ha-mcp/pulls/"$ARGUMENTS"/comments \
  --jq '.[] | {id, path, line, author: .user.login, body}'
PR-level comments

gh api repos/homeassistant-ai/ha-mcp/issues/"$ARGUMENTS"/comments
--jq '.[] | {id, author: .user.login, body}'

Unresolved review threads

gh api graphql -F pr="$ARGUMENTS" -f query='query($pr: Int!) { repository(owner:"homeassistant-ai", name:"ha-mcp") { pullRequest(number:$pr) { reviewThreads(first:100) { nodes { id isResolved path line comments(first:1) { nodes { databaseId body author { login } } } } } } } }'


## Step 2: Triage Comments

- **Human comments**: highest priority
- **Bot comments** (Copilot, Codex, CodeRabbit, etc.): treat as suggestions — assess whether they prevent a bug or improve maintainability; dismiss with explanation if not

Accept if: prevents a bug, improves clarity for future maintainers, aligns with project conventions, addresses security.
Dismiss if: incorrect suggestion, reduces readability, conflicts with project patterns, already handled elsewhere.

## Step 3: Fix Code Issues

```bash
gh pr checkout "$ARGUMENTS" --repo homeassistant-ai/ha-mcp
# make changes
git add <files>
git commit -m "fix: address review feedback - [description]"
git push

Fix unrelated test failures encountered (document in final summary).

After each push, if the scope changed, update the PR description:

gh pr edit "$ARGUMENTS" --repo homeassistant-ai/ha-mcp --body "..."

Step 4: Resolve Each Thread (both steps required)

# 1a. Reply on inline thread
gh api repos/homeassistant-ai/ha-mcp/pulls/"$ARGUMENTS"/comments/<COMMENT_ID>/replies \
  -f body="✅ Fixed in [commit]. [explanation]"
# or for dismissed:
gh api repos/homeassistant-ai/ha-mcp/pulls/"$ARGUMENTS"/comments/<COMMENT_ID>/replies \
  -f body="📝 Not addressing because [reason]."

# 1b. PR-level summary comment (when there are multiple inline threads)
gh pr review "$ARGUMENTS" --repo homeassistant-ai/ha-mcp \
  --comment --body "✅ Addressed review feedback in [commit]. [summary]"

# 2. Resolve thread via GraphQL
gh api graphql -f query='mutation($threadId: ID!) { resolveReviewThread(input: {threadId: $threadId}) { thread { id isResolved } } }' \
  -f threadId="<PRRT_...>"

Why: Unresolved threads block merging even after approval.

Step 5: Wait and Re-check

gh pr checks "$ARGUMENTS" --repo homeassistant-ai/ha-mcp --watch

Repeat Steps 1–5 until:

  • All CI checks green ✅
  • All review threads resolved ✅
  • No new blocking comments ✅

Step 6: Final Report

If improvements were identified during review, default to fix-in-place per AGENTS.md § Boy Scout Rule — Handling Discovered Improvements. Only add to the PR description's ## Future improvements section if the user has explicitly confirmed the work is out of scope. Never self-bucket findings there.

Post a summary comment:

gh pr comment "$ARGUMENTS" --repo homeassistant-ai/ha-mcp --body "## PR Assessment Summary

✅ **Status**: Ready for review/merge

**Choices Made:**
- [key decisions when resolving issues]

**Problems Encountered:**
- [issues faced and how resolved]
- [unrelated test failures fixed, if any]
"

Special Operations

Use these when needed. Re-creating the PR (which closes it) and deleting a comment each need the user's approval for that exact action first:

  • Rebase: gh pr checkout "$ARGUMENTS" && git rebase master && git push --force-with-lease
  • Re-create PR: gh pr close "$ARGUMENTS" --repo homeassistant-ai/ha-mcp then gh pr create --draft … with the same branch
  • Delete comment: gh api -X DELETE repos/homeassistant-ai/ha-mcp/issues/comments/<id>
  • Update title: gh pr edit "$ARGUMENTS" --repo homeassistant-ai/ha-mcp --title "new title"

Rules

  • NEVER merge automatically unless explicitly asked
  • Be conservative dismissing feedback — when in doubt, ask the user
  • If CI keeps failing on the same issue after 3 attempts, report the blocker rather than looping