Agent skill

Resolve PR Comments

by nimblehq in nimblehq/ios-templates

Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively.

MITAuto-check passedDevelopment

Install Resolve PR Comments

skills CLI
$ npx skills add nimblehq/ios-templates --skill resolve-pr-comments -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nimblehq/ios-templates resolve-pr-comments --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nimblehq/ios-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/resolve-pr-comments .claude/skills/resolve-pr-comments && rm -rf skills-src

Use ~/.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/

Facts

Skill name
resolve-pr-comments
GitHub stars
110
Token cost
~1.7k tokens
SKILL.md length
847 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively.

  • Works in 7 steps: Analyze and propose → Verify branch → Implement (if code change) → …
  • The user says /resolve-pr-comments optionally followed by a PR URL
  • SKILL.md covers Fetch Threads Workflow, Per-Thread Resolution Workflow, Reply Conventions and Error Handling, plus 1 more section
  • Calls gh and git; reaches github.com

What it does

Resolve PR Comments is an agent skill from nimblehq/ios-templates. Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively. Use when the user says /resolve-pr-comments optionally followed by a PR URL or a comment URL.

Its SKILL.md is about 1.7k 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 Development, covering Pull requests. It works with GitHub. The repository describes itself as: Our optimized iOS templates used in our projects. The licence is MIT.

When your agent uses it

  • The user says /resolve-pr-comments optionally followed by a PR URL
  • Tasks that involve Pull requests

Example prompts

  • “/resolve-pr-comments”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Analyze and propose
  2. Verify branch
  3. Implement (if code change)
  4. Draft commit message and reply, then confirm
  5. Commit and push
  6. Post the reply
  7. Mark thread resolved (conditional)

What it can do on your machine

Read from SKILL.md and the folder at commit f009d02. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Resolve PR Comments loads about 1.7k tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 847 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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.

SKILL.md

The full file from nimblehq/ios-templates at commit f009d02, republished under its MIT licence (© nimblehq). 847 words, ~1,746 tokens.

Download SKILL.mdSave it as .claude/skills/resolve-pr-comments/SKILL.md (or your agent's skills folder).
name
resolve-pr-comments
description
Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively. Use when the user says `/resolve-pr-comments` optionally followed by a PR URL or a comment URL.
disable-model-invocation
true
triggers
/resolve-pr-comments, resolve PR comments, address PR review, respond to code review, reply to PR thread

resolve-pr-comments

Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively.


Fetch Threads Workflow

Retrieve unresolved review threads from GitHub.

Workflow: Fetch Unresolved Threads
  1. Parse the URL provided by the user:
    • PR URL (/pull/123) — process all unresolved threads
    • Comment URL (/pull/123#discussion_r<ID>) — process that single thread
    • If no URL is provided, ask the user before proceeding
  2. Extract owner, repo, and pull_number from the URL
  3. Use gh CLI to fetch review threads for the PR
  4. Filter to threads where isResolved == false
  5. If a comment URL was given, further filter to the thread containing the comment with databaseId == <ID>
  6. If no unresolved threads exist, report that immediately and stop
  7. Validation: Threads fetched; unresolved threads identified; pagination limits noted (>100 threads or >20 comments per thread may be truncated — use comment URL to process in batches)

Per-Thread Resolution Workflow

Work through each unresolved thread collaboratively.

Workflow: Resolve a Thread

For each unresolved thread, display context then work through the steps below. Steps 2–5 apply only when a code change is needed; skip them otherwise.

Display format:

text
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Thread: <path>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Comments:
  [author] createdAt
  > body
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 1 — Analyze and propose

Reads the file at path to get current context, then proposes one of:

  • "No code change needed." — explain what reply to send and why no change is required
  • "Code change needed." — describe the change; ask: "Should I make this change?"

Wait for user confirmation or adjustment before proceeding.

If no code change: Draft the reply now, then skip to Step 6.

Brief factual explanation, 1–2 sentences. If referencing a specific piece of code, first use search or read to locate the snippet and determine the correct line number(s), then include it as a code block:

markdown
```{language inferred from file extension}
// {path}, line {N} — https://github.com/OWNER/REPO/blob/BRANCH/path/to/file#LN
relevant code here...
```

Use the current branch name for the link. Keep the snippet short.

No emoji unless the user uses them first. Wait for user approval before posting.


If code change — continue with Steps 2–7:

Step 2 — Verify branch

Fetch the PR's head ref and confirm the local checkout matches:

bash
gh pr view PULL_NUMBER --repo OWNER/REPO --json headRefName --jq '.headRefName'
git branch --show-current

If the two values differ, stop and tell the user: the local branch does not match the PR branch and they must switch before proceeding.

Step 3 — Implement (if code change)

Make the code change. Do not commit or push yet.

Step 4 — Draft commit message and reply, then confirm

Compose both drafts and present them together for user approval.

Commit message: Use the /commit skill convention ([#ID] Verb message). Derive the issue ID from the branch name (e.g. chore/609-add-skill → #609).

Reply: Vary the phrasing naturally based on the nature of the comment:

  • "Good catch, fixed in <sha>."
  • "Good point, updated in <sha>."
  • "Agreed, refactored in <sha>."
  • "Done, updated in <sha>."
  • "Fixed in <sha>."
  • Avoid repeating the same opener across multiple threads in the same PR.
  • Use <sha> as a placeholder since the commit hasn't happened yet.

No emoji unless the user uses them first.

Show both drafts at once:

Commit message: "[#609] Fix wording in skill documentation" Reply: "Good point, updated in <sha>." Does this look good?

Wait for explicit approval (or edits) before proceeding.

Show full SKILL.md (337 more words)Show less
Step 5 — Commit and push

Once the user approves:

  1. Stage and commit using the /commit skill with the approved message
  2. Capture the short SHA: git log --oneline -1
  3. Push: git push
Step 6 — Post the reply

Replace <sha> in the reply with the real short SHA, then post using in_reply_to (more reliable than the /replies endpoint, which 404s when the target comment is itself a reply):

bash
gh api repos/OWNER/REPO/pulls/PULL_NUMBER/comments \
  -X POST \
  -f body="REPLY TEXT" \
  -F in_reply_to=COMMENT_DATABASE_ID

COMMENT_DATABASE_ID is the databaseId of the thread's top-level comment in the thread (oldest in the thread). PULL_NUMBER is the PR number extracted from the URL.

Step 7 — Mark thread resolved (conditional)

Only resolve if the reply is conclusive — a code fix was made, or the explanation fully closes the discussion with no open questions.

Do not resolve if:

  • The reply asks a follow-up question or invites further discussion
  • The reply is a partial response pending reviewer confirmation
  • The user's reply draft suggests the thread should stay open

Ask the user: "Should I mark this thread as resolved?" if it's ambiguous.

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

Validation: Code change implemented (if required); commit pushed; reply posted with real SHA; thread resolved if conclusive


Reply Conventions

SituationReply format
Code changedVary naturally: "Good catch, fixed in <sha>." / "Good point, updated in <sha>." / "Agreed, refactored in <sha>." — match the tone, avoid repeating openers
No code changeBrief factual explanation, 1–2 sentences
Declined / won't fixPolite explanation of why, 1–2 sentences
  • Never post a reply without user approval
  • No emoji unless the user uses them first
  • Keep replies short and professional

Error Handling

ErrorAction
Thread already resolvedSkip silently and continue
gh api error posting replyShow the error and ask the user how to proceed — do not auto-retry
No unresolved threadsReport immediately and stop
>100 threads or >20 comments per threadResults may be truncated — use a comment URL to process in batches

Output Artifacts

When you ask for...You get...
PR URLAll unresolved threads processed one at a time
Comment URLThat single thread addressed
CompletionDone — X thread(s) resolved. summary

© nimblehq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/resolve-pr-comments of nimblehq/ios-templates.

Open the folder on GitHubat commit f009d02

Compare with similar skills

Resolve PR Comments 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.

Resolve PR Comments compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Resolve PR Comments this skillnimblehq/ios-templates110—~1.7kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0
Pull Request Title and Body Writeropeninterpreter/openinterpreter69k2 repos~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.

    48k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed

More from nimblehq/ios-templates

  • Swift Concurrency

    nimblehq/ios-templates

    Write, review, or fix Swift 6 concurrency code using actors, Sendable, structured concurrency, and the strict data-race-safety model.

    110 GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Swift Testing

    nimblehq/ios-templates

    Write, review, or migrate unit tests using Swift Testing (@Test, @Suite, expect, require).

    110 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Tophat Build Install

    nimblehq/ios-templates

    Find, build, and install mobile artifacts for the current repository through GitHub Actions and Tophat.

    110 GitHub stars~1k tokensUpdated 2 mo ago
    Auto-check passed
  • Commit

    nimblehq/ios-templates

    Generate and create a git commit following Nimble's Compass convention ([ID] Verb message).

    110 GitHub stars~790 tokensUpdated 2 mo ago
    Auto-check passed

Works with

Categories

Questions about Resolve PR Comments

What does Resolve PR Comments do?

Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively. Resolve PR Comments is an agent skill from nimblehq/ios-templates. Guided workflow to address, reply to, and resolve GitHub PR review threads — one at a time, collaboratively.

When should I use Resolve PR Comments?

Resolve PR Comments fits situations like: the user says /resolve-pr-comments optionally followed by a PR URL; tasks that involve Pull requests.

How do I install Resolve PR Comments in Claude Code?

Run `npx skills add nimblehq/ios-templates --skill resolve-pr-comments -a claude-code`. Or copy the skill folder (skills/resolve-pr-comments in nimblehq/ios-templates) into .claude/skills/resolve-pr-comments in your project. Claude Code loads it when a task matches its description.

How do I install Resolve PR Comments in Codex?

Run `npx skills add nimblehq/ios-templates --skill resolve-pr-comments -a codex`. Or copy the skill folder (skills/resolve-pr-comments in nimblehq/ios-templates) into .agents/skills/resolve-pr-comments in your project. Codex loads it when a task matches its description.

Can I use Resolve PR Comments in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nimblehq/ios-templates --skill resolve-pr-comments -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resolve-pr-comments, .gemini/skills/resolve-pr-comments, .github/skills/resolve-pr-comments and .opencode/skills/resolve-pr-comments in your project.

What does Resolve PR Comments need to run?

Going by SKILL.md and its folder, Resolve PR Comments needs the command-line tools its instructions call (gh and git).

Does Resolve PR Comments access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Resolve PR Comments safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Resolve PR Comments use?

Resolve PR Comments is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Resolve PR Comments use?

About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Resolve PR Comments?

Skills that share tags, products or a category with Resolve PR Comments: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Create Pull Request (cline/cline, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Resolve PR Comments?

nimblehq (a GitHub organization) maintains it in nimblehq/ios-templates, which has 110 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on July 27, 2026.

Source: nimblehq/ios-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.