Agent skill

Load PR Comments

by NeoLabHQ in NeoLabHQ/context-engineering-kit

A skill your agent uses to load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix.

GPL-3.0Auto-check passedAgent Workflows

Install Load PR Comments

skills CLI
$ npx skills add NeoLabHQ/context-engineering-kit --skill load-pr-comments -a claude-code

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

GitHub CLI
$ gh skill install NeoLabHQ/context-engineering-kit load-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/NeoLabHQ/context-engineering-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/load-pr-comments .claude/skills/load-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
load-pr-comments
GitHub stars
1.7k
Token cost
~2.1k tokens
SKILL.md length
903 words
Files
1
Skills in repo
57
Repo updated
First seen
Licence
GPL-3.0

At a glance

A skill your agent uses to load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix.

  • Works in 7 steps: Verify what tools are available → Resolve the Target PR → Retrieve UNRESOLVED Comments → …
  • Load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix
  • SKILL.md covers Critical Guidelines, Step 0: Verify what tools are…, Step 1: Resolve the Target PR and Step 2: Retrieve UNRESOLVED…, plus 5 more sections
  • Calls gh; reaches github.com

What it does

Load PR Comments is an agent skill from NeoLabHQ/context-engineering-kit. Use to load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix.

Its SKILL.md is about 2.1k 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 Agent Workflows, covering Pull requests and Subagents. It works with GitHub and Model Context Protocol. The repository describes itself as: Hand-crafted Claude Code Skills focused on improving agent results quality. Compatible with OpenCode, Cursor, Antigravity, Gemini CLI, and others. Includes CodeRabbit open-source… The licence is GPL-3.0.

When your agent uses it

  • Load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix
  • Tasks that involve Pull requests
  • Tasks that involve Subagents

Example prompts

  • “/load-pr-comments”

Workflow steps

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

  1. Verify what tools are available
  2. Resolve the Target PR
  3. Retrieve UNRESOLVED Comments
  4. Group and Rewrite as Tasks
  5. .gitignore Handling
  6. Write Files
  7. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 23e2428. 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

    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

Load PR Comments loads about 2.1k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 903 words of instructions outside code blocks.

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

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 NeoLabHQ/context-engineering-kit at commit 23e2428, republished under its GPL-3.0 licence (© NeoLabHQ). 903 words, ~2,070 tokens.

Download SKILL.mdSave it as .claude/skills/load-pr-comments/SKILL.md (or your agent's skills folder).
name
load-pr-comments
description
Use to load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/*.md for parallel agents to fix.

Load Unresolved PR Review Comments as Parallel Tasks

Load ONLY open/UNRESOLVED PR review threads and rewrite them into grouped markdown task files under .specs/comments/*.md, each safe for a separate parallel agent to implement with no overlap.

Critical Guidelines

  • You MUST load ONLY threads where the resolved state is false. Skip resolved threads.
  • You MUST rewrite each comment as an actionable TASK requirement, not a summary. Preserve substance (code suggestions, exact instructions) verbatim.
  • You MUST NOT post, reply to, or modify anything on GitHub. This skill is read-only against the API.
  • You MUST group comments so each file is independently implementable with NO duplication across files.

Step 0: Verify what tools are available

  1. Check if GitHub CLI is installed and authenticated:

    bash
    gh auth status
  2. Check if the GitHub MCP server is available:

    bash
    mcp__MCP_DOCKER__pull_request_read

    or simular command without MCP_DOCKER prefix, if installed directly.

  • if both are available, use any that have enough accesses to the repository.
  • if github mcp server avaiable but have different structure, adjust in order to fit the expected structure.
  • if none is available, try to load directly through curl in case if it is public repository. If it is private, ask user to install GitHub CLI or GitHub MCP server.
  • if MCP server not installed, but github cli is installed, but not authenticated, ask user to run gh auth login to authenticate.

Step 1: Resolve the Target PR

  • An explicit PR argument ALWAYS takes precedence over current-branch resolution. If a PR number or URL was passed, use it (a URL like https://github.com/{owner}/{repo}/pull/{n} → number {n}) and do NOT consult the current branch.
  • Otherwise default to the PR of the CURRENT branch:
bash
gh pr view --json number,url,headRefName   # current branch's PR
  • Resolve repo owner/name: gh repo view --json owner,name.
  • If no PR exists for the branch, gh pr view errors with "no pull requests found" — STOP and report that no PR is associated with the branch (ask for a PR number/URL).

Step 2: Retrieve UNRESOLVED Comments

Resolved/unresolved is a GraphQL reviewThreads { isResolved } concept — the REST /pulls/{n}/comments endpoint does NOT expose it. Use one of the two approaches below; if the primary is unavailable, fall back to the other.

Primary: gh CLI (GraphQL)

Filter isResolved == false directly in the jq:

bash
gh api graphql -f query='
query($owner:String!,$repo:String!,$pr:Int!){
  repository(owner:$owner,name:$repo){
    pullRequest(number:$pr){
      reviewThreads(first:100){
        nodes {
          isResolved
          isOutdated
          path
          line
          startLine
          originalLine
          comments(first:50){
            nodes { author{login} body diffHunk url }
          }
        }
      }
    }
  }
}' -F owner=OWNER -F repo=REPO -F pr=PR_NUMBER \
  --jq '[.data.repository.pullRequest.reviewThreads.nodes[]
         | select(.isResolved==false)
         | {path, isOutdated,
            line: (.line // .startLine // .originalLine),
            comments: [.comments.nodes[]
             | {author: .author.login, url, body, diffHunk}]}]'

This returns each unresolved thread with its file path, an isOutdated flag, a usable line, and ordered comments (author, body, permalink url, diffHunk).

IMPORTANT: For OUTDATED threads line is null (the diff moved). The jq above already falls back line // startLine // originalLine, so line is never null when any anchor exists. When ALL three are null, omit the :<line> segment entirely in the template — never render path:null.

Fallback: GitHub MCP

If the GitHub MCP server (MCP_DOCKER) is available, use the mcp__MCP_DOCKER__pull_request_read tool with method: "get_review_comments":

mcp__MCP_DOCKER__pull_request_read
  method: "get_review_comments"
  owner: "OWNER"
  repo: "REPO"
  pullNumber: PR_NUMBER
  perPage: 100

It returns review_threads[], each with is_resolved, is_outdated, is_collapsed (all snake_case — verified against this tool's response) and comments[] (body, path, author, html_url). Keep only threads where is_resolved is false. Note the MCP comment objects expose path but NOT a line number, so use the html_url as the location anchor. Paginate with after: <endCursor> while pageInfo.hasNextPage is true.

Show full SKILL.md (404 more words)Show less

Step 3: Group and Rewrite as Tasks

Convert unresolved threads into focused task files for parallel agents.

Deduplicate FIRST (before grouping): if two or more threads request the same change at the same path (and same/overlapping line), or carry an identical suggested fix, collapse them into ONE requirement. Do not emit a separate line item per duplicate thread — this matters most in the nitpick file where repeated trivial suggestions cluster.

Rewrite rules per thread:

  • Drop conversation framing and author names. Output a task, not a transcript.
  • If a HUMAN reviewer left feedback, write THAT as the requirement.
  • If only a bot/AI suggestion exists (Claude, CodeRabbit, Copilot, etc.), write that fix suggestion as the requirement.
  • Preserve substance — do NOT summarize away code blocks, suggested diffs, or exact wording.
  • Add context: a short issue description and a link to the file/line (the comment url/html_url, plus path:line) when available. If line is null (outdated/unanchorable thread), write just path with no :line segment and note it is outdated.

Before/after (lock in "rewrite as task, do not summarize"):

  • Raw thread (bot): "commands is incorrect, real commands is more like /add-task /plan-task /implement-task"
  • Task requirement: "- [ ] Replace the listed commands with the correct ones: /add-task, /plan-task, /implement-task" (suggestion preserved verbatim, conversation framing dropped — NOT "fix the commands").

Grouping rules:

  • Group by file or by functionality so two agents never touch the same area → NO conflicts, NO duplicated work.
  • Do NOT duplicate a comment across files.
  • Aggregate nitpicks / trivial one-line changes into ONE combined file (e.g. nitpicks.md).
  • Cap at ≤5 files total. Do NOT over-combine unrelated changes — each file must be a single, focused, independently-implementable unit of work.

Step 4: .gitignore Handling

Ensure generated comment files are ignored. This is idempotent: it appends the entry only if missing, and >> CREATES .gitignore if it does not exist.

bash
grep -qF '.specs/comments/*.md' .gitignore 2>/dev/null || printf '\n.specs/comments/*.md\n' >> .gitignore

Step 5: Write Files

bash
mkdir -p .specs/comments

Write each group as .specs/comments/<kebab-topic>.md using this template:

markdown
# Tasks: <focused topic, e.g. Fix incorrect command names in README-zh>

## <Topic 1>

File: `<path>:<line>` (omit `:<line>` when line is null; append " (outdated)" if isOutdated)
<Issue description for the change>

### Requirements

- [ ] <Reviewer requirement or bot fix suggestion, substance preserved>
- [ ] <Next requirement in this topic>

## <Topic 2>

File: `<path>:<line>` 
<Issue description for the change>

### Requirements

- [ ] <Reviewer requirement or bot fix suggestion, substance preserved>
- [ ] <Next requirement in this topic>

Step 6: Report

Summarize: target PR (number + url), count of unresolved threads loaded, files created with their topics, and any threads skipped (resolved) or limitations hit (e.g. MCP unavailable).

Edge Cases

SituationHandling
No PR for current branchgh pr view errors → report and request a PR number/URL
Argument is a URLExtract trailing number after /pull/
Zero unresolved threadsCreate no files; report "no unresolved comments"
>100 threadsPaginate (GraphQL after cursor / MCP after)
MCP unavailableUse gh GraphQL; if both unavailable, report limitation
Only resolved threads existSkip all; report none actionable

© NeoLabHQ, GPL-3.0. 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/load-pr-comments of NeoLabHQ/context-engineering-kit.

Open the folder on GitHubat commit 23e2428

Compare with similar skills

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

Load PR Comments compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Load PR Comments this skillNeoLabHQ/context-engineering-kit1.7k—~2.1kAutomated safety check: PassGPL-3.0
Open PRArcadeAI/arcade-mcp1k—~2.9kAutomated safety check: PassMIT
Gh Issuestrpc-group/trpc-agent-go1.9k8 repos~8.7kAutomated safety check: PassApache-2.0
GitHub Review Iterationprisma/orm48k—~2.2kAutomated safety check: PassApache-2.0
Cherry Studio PR ReviewCherryHQ/cherry-studio52k—~3.9kAutomated safety check: PassAGPL-3.0
PR Cyclejaemk/cached2.1k—~4.8kAutomated safety check: NotesMIT

Similar skills

  • Open PR

    ArcadeAI/arcade-mcp

    Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR.

    1k GitHub stars~2.9k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Gh Issues

    trpc-group/trpc-agent-go

    Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments.

    1.9k GitHub starsUsed in 8 repos~8.7k tokens
    Agent WorkflowsAuto-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
  • Cherry Studio PR Review

    CherryHQ/cherry-studio

    Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.

    52k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Cycle

    jaemk/cached

    PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.

    2.1k GitHub stars~4.8k tokensUpdated 8 days ago
    DevelopmentAuto-check: notes
  • PR Review

    jaemk/self_update

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.

    961 GitHub stars~1.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes

More from NeoLabHQ/context-engineering-kit

All 57 skills in this repo
  • Git Notes

    NeoLabHQ/context-engineering-kit

    A skill your agent uses when adding metadata to commits without changing history, tracking review status, test results, code quality annotations, or supplementing commit messages post-hoc - provides…

    1.7k GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Prompt Engineering

    NeoLabHQ/context-engineering-kit

    A skill your agent uses when you writing commands, hooks, skills for Agent, or prompts for sub agents or any other LLM interaction, including optimizing prompts, improving LLM outputs, or designing…

    1.7k GitHub stars~4.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Multi Agent Patterns

    NeoLabHQ/context-engineering-kit

    Design multi-agent architectures for complex tasks. An agent skill from NeoLabHQ/context-engineering-kit.

    1.7k GitHub starsUsed in 6 repos~6k tokens
    Auto-check passed
  • Review PR

    NeoLabHQ/context-engineering-kit

    Review an existing GitHub pull request and post inline review comments on its diff.

    1.7k GitHub stars~3.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Subagent Driven Development

    NeoLabHQ/context-engineering-kit

    A skill your agent uses when executing implementation plans with independent tasks in the current session or facing 3+ independent issues that can be investigated without shared state or…

    1.7k GitHub stars~2.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Test Prompt

    NeoLabHQ/context-engineering-kit

    A skill your agent uses when creating or editing any prompt (commands, hooks, skills, subagent instructions) to verify it produces desired behavior - applies RED-GREEN-REFACTOR cycle to prompt…

    1.7k GitHub stars~5k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Load PR Comments

What does Load PR Comments do?

A skill your agent uses to load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix. Load PR Comments is an agent skill from NeoLabHQ/context-engineering-kit.md for parallel agents to fix.

When should I use Load PR Comments?

Load PR Comments fits situations like: load open/unresolved PR review comments then aggregate them as tasks in .specs/comments/.md for parallel agents to fix; tasks that involve Pull requests; tasks that involve Subagents.

How do I install Load PR Comments in Claude Code?

Run `npx skills add NeoLabHQ/context-engineering-kit --skill load-pr-comments -a claude-code`. Or copy the skill folder (skills/load-pr-comments in NeoLabHQ/context-engineering-kit) into .claude/skills/load-pr-comments in your project. Claude Code loads it when a task matches its description.

How do I install Load PR Comments in Codex?

Run `npx skills add NeoLabHQ/context-engineering-kit --skill load-pr-comments -a codex`. Or copy the skill folder (skills/load-pr-comments in NeoLabHQ/context-engineering-kit) into .agents/skills/load-pr-comments in your project. Codex loads it when a task matches its description.

Can I use Load 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 NeoLabHQ/context-engineering-kit --skill load-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/load-pr-comments, .gemini/skills/load-pr-comments, .github/skills/load-pr-comments and .opencode/skills/load-pr-comments in your project.

What does Load PR Comments need to run?

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

Does Load 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 Load 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 Load PR Comments use?

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

How many tokens does Load PR Comments use?

About 2.1k tokens (SKILL.md is roughly 8.3k 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 Load PR Comments?

Skills that share tags, products or a category with Load PR Comments: Open PR (ArcadeAI/arcade-mcp, 1k stars), Gh Issues (trpc-group/trpc-agent-go, 1.9k stars), GitHub Review Iteration (prisma/orm, 48k stars) and Cherry Studio PR Review (CherryHQ/cherry-studio, 52k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Load PR Comments?

NeoLabHQ (a GitHub organization) maintains it in NeoLabHQ/context-engineering-kit, which has 1,749 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on August 26, 2026.

Source: NeoLabHQ/context-engineering-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.