/my-pr-checker
Manage your own GitHub pull requests — check CI status, inline review comments, PR-level comments, resolve review threads, fix issues, and iterate until all checks pass and threads are resolved. Use for managing your own PRs (not external contributions). Triggers on "check my
$ npx -y skills add homeassistant-ai/ha-mcp --skill my-pr-checker --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/my-pr-checker
Context preview
The summary Claude sees to decide when to auto-load this skill.
Manage your own GitHub pull requests — check CI status, inline review comments, PR-level comments, resolve review threads, fix issues, and iterate until all checks pass and threads are resolved. Use for managing your own PRs (not external contributions). Triggers on "check my
SKILL.md
my-pr-checker.SKILL.mdname: my-pr-checker
description: Manage your own GitHub pull requests — check CI status, inline review comments, PR-level comments, resolve review threads, fix issues, and iterate until all checks pass and threads are resolved. Use for managing your own PRs (not external contributions). Triggers on "check my PR", "check PR", "/my-pr-checker <number>".
argument-hint: "<pr-number>"
allowed-tools: Bash, Read, Edit, Write, Glob, Grep, WebFetch, WebSearch
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
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
When needed:
- **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
Read more
name: my-pr-checker description: Manage your own GitHub pull requests — check CI status, inline review comments, PR-level comments, resolve review threads, fix issues, and iterate until all checks pass and threads are resolved. Use for managing your own PRs (not external contributions). Triggers on "check my PR", "check PR", "/my-pr-checker <number>". argument-hint: "<pr-number>" allowed-tools: Bash, Read, Edit, Write, Glob, Grep, WebFetch, WebSearch
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
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
When needed:
- **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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with Home Assistant. Using natural language, control smart home devices, query states, execute services and manage your automations.
Repo: homeassistant-ai/ha-mcp
Other skills on ha-mcp.
- /bat-adhoc
Run bot acceptance tests to validate MCP tools work correctly from a real AI agent's perspective. Use when testing PRs, detecting regressions, or verifying tool changes end-to-end with Claude/Gemini CLIs.
Open skill - /bat-story-eval
Compare MCP tool behavior between target and baseline versions using pre-built and custom stories with diff-based triage.
Open skill - /contrib-pr-review
Review a contribution PR for safety, quality, and readiness. Checks for security concerns, test coverage, size appropriateness, and intent alignment. Use when reviewing external contributions.
Open skill - /contributors-update
Find merged PR authors missing from README and update the contributors list after approval
Open skill - /issue-analysis
Deep analysis of a single GitHub issue with codebase exploration, implementation planning, and architectural assessment. Use when you need to analyze a GitHub issue, assess its complexity, plan implementation approaches, and post a structured analysis comment. Triggers on
Open skill - /issue-to-pr-resolver
Implement a GitHub issue end-to-end — create a worktree branch, implement the feature with tests, create a draft PR, then iteratively resolve all CI failures and review comments until the PR is clean. Use when you need to fully implement a GitHub issue from start to merge-ready.
Open skill

