Review PR Comments
latitude-dev/latitude-llm
Triages a PR with GitHub CLI: loads issue-level and inline review feedback (gh pr view, gh api REST, gh api graphql as appropriate), walks items in order, replies in the correct thread, optional…
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.
$ npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install homeassistant-ai/ha-mcp issue-to-pr-resolver --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/homeassistant-ai/ha-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/issue-to-pr-resolver .claude/skills/issue-to-pr-resolver && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "issue-to-pr-resolver" agent skill from https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolver into .claude/skills/issue-to-pr-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "issue-to-pr-resolver", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolverType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install homeassistant-ai/ha-mcp issue-to-pr-resolver --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/homeassistant-ai/ha-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/issue-to-pr-resolver .agents/skills/issue-to-pr-resolver && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "issue-to-pr-resolver" agent skill from https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolver into .agents/skills/issue-to-pr-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "issue-to-pr-resolver", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install homeassistant-ai/ha-mcp issue-to-pr-resolver --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/homeassistant-ai/ha-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/issue-to-pr-resolver .cursor/skills/issue-to-pr-resolver && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "issue-to-pr-resolver" agent skill from https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolver into .cursor/skills/issue-to-pr-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "issue-to-pr-resolver", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/homeassistant-ai/ha-mcp.git --path .claude/skills/issue-to-pr-resolver--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install homeassistant-ai/ha-mcp issue-to-pr-resolver --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/homeassistant-ai/ha-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/issue-to-pr-resolver .gemini/skills/issue-to-pr-resolver && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "issue-to-pr-resolver" agent skill from https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolver into .gemini/skills/issue-to-pr-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "issue-to-pr-resolver", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install homeassistant-ai/ha-mcp issue-to-pr-resolverInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/homeassistant-ai/ha-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/issue-to-pr-resolver .github/skills/issue-to-pr-resolver && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "issue-to-pr-resolver" agent skill from https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolver into .github/skills/issue-to-pr-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "issue-to-pr-resolver", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install homeassistant-ai/ha-mcp issue-to-pr-resolver --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/homeassistant-ai/ha-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/issue-to-pr-resolver .opencode/skills/issue-to-pr-resolver && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "issue-to-pr-resolver" agent skill from https://github.com/homeassistant-ai/ha-mcp/tree/master/.claude/skills/issue-to-pr-resolver into .opencode/skills/issue-to-pr-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "issue-to-pr-resolver", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
issue-to-pr-resolverImplement 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.
Issue To PR Resolver is an agent skill from homeassistant-ai/ha-mcp. 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. Triggers on "implement issue", "resolve issue", "/issue-to-pr-resolver <number".
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering GraphQL, Failing and flaky tests and Git worktrees. It works with GitHub. The repository describes itself as: The Unofficial and Awesome Home Assistant MCP Server. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 10d63fa. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadEditWriteGlobGrepWebFetchWebSearchFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Issue To PR Resolver loads about 1.2k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 308 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Edit, Write, Glob, Grep, WebFetch, WebSearchAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from homeassistant-ai/ha-mcp at commit 10d63fa, republished under its MIT licence (© homeassistant-ai). 308 words, ~1,155 tokens.
.claude/skills/issue-to-pr-resolver/SKILL.md (or your agent's skills folder).Implement GitHub issue #$ARGUMENTS in homeassistant-ai/ha-mcp end-to-end.
Read the issue:
gh issue view "$ARGUMENTS" --repo homeassistant-ai/ha-mcp --json title,body,labels,comments,authorCreate a worktree from repo root:
cd "$(git rev-parse --show-toplevel)"
git checkout master && git pull origin master
git worktree add "worktree/issue-$ARGUMENTS" -b "feature/issue-$ARGUMENTS"
git -C "worktree/issue-$ARGUMENTS" submodule update --init --recursive
cd "worktree/issue-$ARGUMENTS"AGENTS.md for patterns, naming, error handling)src/ha_mcp/tools/ need E2E testsPhilosophy: Work autonomously. Don't ask about every small decision. Fix unrelated test failures encountered. Document all choices for the final summary.
If a non-obvious choice has significant consequences, present the available options to the user and let them choose.
Write the PR body to local/pr-body-$ARGUMENTS.md first. local/ is git-ignored, so a new worktree does not have it; create it with mkdir -p local if it does not exist. Build the body from .github/pull_request_template.md: keep its headings, put Closes #$ARGUMENTS and the description under ## What does this PR do?, and delete ## Future improvements unless the user has confirmed work to defer. Then push and create the PR:
git push -u origin "feature/issue-$ARGUMENTS"
PR_NUMBER=$(gh pr create --draft \
--repo homeassistant-ai/ha-mcp \
--title "<descriptive title>" \
--body-file "local/pr-body-$ARGUMENTS.md" | grep -oE '[0-9]+$')Wait for CI:
gh pr checks "$PR_NUMBER" --repo homeassistant-ai/ha-mcp --watchBefore marking ready (gh pr ready), update the PR description to reflect all changes made.
Repeat until all checks green and no unresolved threads:
Check for issues:
gh pr checks "$PR_NUMBER" --repo homeassistant-ai/ha-mcp
gh api repos/homeassistant-ai/ha-mcp/pulls/"$PR_NUMBER"/comments \
--jq '.[] | {id, path, line, author: .user.login, body}'
gh api graphql -F pr="$PR_NUMBER" -f query='query($pr: Int!) { repository(owner:"homeassistant-ai", name:"ha-mcp") { pullRequest(number:$pr) { reviewThreads(first:100) { nodes { id isResolved comments(first:1) { nodes { databaseId body } } } } } } }'Resolve each comment (both steps required):
# 1. Reply on the inline thread
gh api repos/homeassistant-ai/ha-mcp/pulls/"$PR_NUMBER"/comments/<COMMENT_ID>/replies \
-f body="✅ Fixed in [commit]. [explanation]"
# or: -f body="📝 Not addressing because [reason]."
# 2. Resolve the thread via GraphQL
gh api graphql -f query='mutation($threadId: ID!) { resolveReviewThread(input: {threadId: $threadId}) { thread { id isResolved } } }' \
-f threadId="<PRRT_...>"After pushing fixes, wait and re-check:
gh pr checks "$PR_NUMBER" --repo homeassistant-ai/ha-mcp --watchOnce all checks pass and all threads resolved:
gh pr comment "$PR_NUMBER" --repo homeassistant-ai/ha-mcp --body "## Implementation Summary
**Choices Made:**
- [key technical decisions with rationale]
**Problems Encountered:**
- [issues faced and how resolved]
- [unrelated test failures fixed, if any]
"Report to user: PR number, status, key choices.
## Future improvements without the user explicitly confirming the work is out of scope.© homeassistant-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/issue-to-pr-resolver of homeassistant-ai/ha-mcp.
Open the folder on GitHubat commit 10d63fa
Issue To PR Resolver next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Issue To PR Resolver this skillhomeassistant-ai/ha-mcp | 5k | — | ~1.2k | Automated safety check: Notes | MIT | |
| Review PR Commentslatitude-dev/latitude-llm | 4.7k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Copilot PR Autopilotgithub/awesome-copilot | 40k | — | ~3.4k | Automated safety check: Pass | MIT | |
| GitHub Opsdaymade/claude-code-skills | 1.4k | — | ~3.8k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| React Router Bug Fix Workflowremix-run/react-router | 57k | — | ~1.3k | Automated safety check: Pass | MIT |
latitude-dev/latitude-llm
Triages a PR with GitHub CLI: loads issue-level and inline review feedback (gh pr view, gh api REST, gh api graphql as appropriate), walks items in order, replies in the correct thread, optional…
github/awesome-copilot
Copilot left 14 review comments on your PR — half are nits. An agent skill from github/awesome-copilot.
daymade/claude-code-skills
Operates GitHub via gh CLI and REST/GraphQL — PRs, issues, Actions, repos, collaborators, org permissions, 2FA — with explicit target, authorization, and independent readback.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
remix-run/react-router
Fixes a React Router bug reported in a GitHub issue end to end: fetching the issue, validating the reproduction, writing a failing test and implementing the fix on a new branch.
brunosabot/streamline-card
A skill your agent uses when the user asks to fix a bug, references a GitHub issue number, or describes an issue and wants a fix.
homeassistant-ai/ha-mcp
Run bot acceptance tests to validate MCP tools work correctly from a real AI agent's perspective.
homeassistant-ai/ha-mcp
Review a contribution PR for safety, quality, and readiness.
homeassistant-ai/ha-mcp
Deep analysis of a single GitHub issue with codebase exploration, implementation planning, and architectural assessment.
homeassistant-ai/ha-mcp
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.
homeassistant-ai/ha-mcp
Compare MCP tool behavior between target and baseline versions using pre-built and custom stories with diff-based triage.
homeassistant-ai/ha-mcp
Find merged PR authors missing from README and update the contributors list after approval
Works with
Categories
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. Issue To PR Resolver is an agent skill from homeassistant-ai/ha-mcp. 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.
Issue To PR Resolver fits situations like: you need to fully implement a GitHub issue from start to merge-ready; implement issue; /issue-to-pr-resolver <number.
Run `npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a claude-code`. Or copy the skill folder (.claude/skills/issue-to-pr-resolver in homeassistant-ai/ha-mcp) into .claude/skills/issue-to-pr-resolver in your project. Claude Code loads it when a task matches its description.
Run `npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a codex`. Or copy the skill folder (.claude/skills/issue-to-pr-resolver in homeassistant-ai/ha-mcp) into .agents/skills/issue-to-pr-resolver in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add homeassistant-ai/ha-mcp --skill issue-to-pr-resolver -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/issue-to-pr-resolver, .gemini/skills/issue-to-pr-resolver, .github/skills/issue-to-pr-resolver and .opencode/skills/issue-to-pr-resolver in your project.
Going by SKILL.md and its folder, Issue To PR Resolver needs the command-line tools its instructions call (gh and git). Its frontmatter pre-approves these tools: Bash, Read, Edit, Write, Glob, Grep, WebFetch, WebSearch.
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Issue To PR Resolver is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Issue To PR Resolver: Review PR Comments (latitude-dev/latitude-llm, 4.7k stars), Copilot PR Autopilot (github/awesome-copilot, 40k stars), GitHub Ops (daymade/claude-code-skills, 1.4k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
homeassistant-ai (a GitHub organization) maintains it in homeassistant-ai/ha-mcp, which has 5,002 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 10, 2026.
Source: homeassistant-ai/ha-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.