GitHub Ops
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.
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…
$ npx skills add latitude-dev/latitude-llm --skill review-pr-comments -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install latitude-dev/latitude-llm review-pr-comments --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/latitude-dev/latitude-llm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/review-pr-comments .claude/skills/review-pr-comments && 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 "review-pr-comments" agent skill from https://github.com/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-comments into .claude/skills/review-pr-comments/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr-comments", 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/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-commentsType 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 latitude-dev/latitude-llm --skill review-pr-comments -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install latitude-dev/latitude-llm review-pr-comments --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/latitude-dev/latitude-llm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/review-pr-comments .agents/skills/review-pr-comments && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-pr-comments" agent skill from https://github.com/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-comments into .agents/skills/review-pr-comments/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr-comments", 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 latitude-dev/latitude-llm --skill review-pr-comments -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install latitude-dev/latitude-llm review-pr-comments --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/latitude-dev/latitude-llm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/review-pr-comments .cursor/skills/review-pr-comments && 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 "review-pr-comments" agent skill from https://github.com/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-comments into .cursor/skills/review-pr-comments/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr-comments", 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/latitude-dev/latitude-llm.git --path .agents/skills/review-pr-comments--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 latitude-dev/latitude-llm --skill review-pr-comments -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install latitude-dev/latitude-llm review-pr-comments --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/latitude-dev/latitude-llm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/review-pr-comments .gemini/skills/review-pr-comments && 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 "review-pr-comments" agent skill from https://github.com/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-comments into .gemini/skills/review-pr-comments/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr-comments", 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 latitude-dev/latitude-llm review-pr-commentsInstalls 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 latitude-dev/latitude-llm --skill review-pr-comments -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/latitude-dev/latitude-llm.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/review-pr-comments .github/skills/review-pr-comments && 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 "review-pr-comments" agent skill from https://github.com/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-comments into .github/skills/review-pr-comments/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr-comments", 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 latitude-dev/latitude-llm --skill review-pr-comments -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install latitude-dev/latitude-llm review-pr-comments --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/latitude-dev/latitude-llm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/review-pr-comments .opencode/skills/review-pr-comments && 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 "review-pr-comments" agent skill from https://github.com/latitude-dev/latitude-llm/tree/development/.agents/skills/review-pr-comments into .opencode/skills/review-pr-comments/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr-comments", 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.
review-pr-commentsTriages 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…
Review PR Comments is an agent skill from 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 resolve. Groups duplicate comments into one fix. Use when addressing PR review comments, Copilot inline threads, or babysitting PR feedback.
Its SKILL.md is about 2.6k 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 Pull requests and GraphQL. It works with GraphQL and GitHub. The repository describes itself as: Open-source observability for AI agents. Find where your agents fail, dispatch your coding agent to fix it, and verify the fix against real traces. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 12e8591. It shows what the files ask for, not the result of running them.
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.
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.
Review PR Comments loads about 2.6k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 1,187 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 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.
The full file from latitude-dev/latitude-llm at commit 12e8591, republished under its MIT licence (© latitude-dev). 1,187 words, ~2,607 tokens.
.claude/skills/review-pr-comments/SKILL.md (or your agent's skills folder).Walk the current PR’s feedback in order, one topic at a time. Treat each comment as something to read and answer; treat each underlying issue as something to fix once. If several comments say the same thing (or the first fix already covers a later remark), do not redo the same code work—use one commit for that shared fix and reply on each later comment pointing at that commit (e.g. “Addressed in <sha> — same fix as …”).
gh authenticated (gh auth status).gh pr view without a number targets it).gh command per stepgh pr …, gh api (REST), and gh api graphql hit different GitHub APIs—same intent, not interchangeable. There is no blanket rule favoring one surface; choose whatever is correct and clearest for that action.
| Step | Typically strongest option | Why |
|---|---|---|
| Quick PR metadata | gh pr view --json number,url,title,… | Native fields, branch defaults |
| Readable timeline + review summaries | gh pr view --comments | Human-readable; good scan |
| Structured issue comments / review objects | gh pr view --json comments,reviews,latestReviews | Easy JSON for sorting |
| Inline comments plus threads, resolve state | gh api graphql (reviewThreads) | Threads + isResolved + thread.id for mutations |
| Flat list of inline comments only | gh api repos/{owner}/{repo}/pulls/<n>/comments --paginate | Simple; reply ids (id) for REST replies |
| Post a conversation comment | gh pr comment | Correct for timeline |
| Reply under a line comment | gh api -X POST …/pulls/<n>/comments/<id>/replies | gh pr comment does not thread on the diff |
| Resolve a review thread | gh api graphql (resolveReviewThread) | Only API that exposes it |
| Inspect the patch | gh pr diff | First-class diff |
| Need UI context (complex thread) | gh pr view --web | When it helps—no ban |
Facts that drive the choice (not preferences): gh pr view does not return inline PullRequestReviewComment payloads in JSON (see §2.1)—load those with REST or GraphQL or you will miss most line-level review and Copilot feedback.
From the repo root:
gh pr view --json number,url,title,headRefName,baseRefNameIf no PR exists for the branch, stop and tell the user.
Build a full work list before changing code. Most reviewer and Copilot feedback is on PullRequestReviewComment (inline on the diff), not in issue comments. If you only run gh pr view, you will miss that feedback.
gh pr view does and does not include| Source | What you get |
|---|---|
gh pr view --comments | Renders issue-level conversation comments and review submission summaries (the body of each review). It does not list individual inline line comments. A review that says “Copilot generated 1 comment” only references that inline comment—the inline text is not in this output. |
gh pr view --json comments | Issue / timeline comments on the PR only. Often empty when all feedback is inline. |
gh pr view --json reviews,latestReviews | Submitted review metadata and review bodies (summary text), not the per-line PullRequestReviewComment payloads. |
gh pr view --help lists JSON fields such as comments, reviews, latestReviews, reviewRequests—there is no field for inline review comments or reviewThreads. No gh pr subcommand exposes GET /repos/.../pulls/{pr}/comments.
Conclusion: after only gh pr view, you are still blind to inline comments until you also load PullRequestReviewComment data (REST or GraphQL below).
You must load inline comments every time; gh pr alone cannot. Choose one or combine:
A — GraphQL: best when you want threads (id, isResolved), grouping, inline bodies path / line / author, and thread.id for resolve—in one shaped query.
Resolve owner and repo once (examples):
gh repo view --json owner,name -q '"\(.owner.login)/\(.name)"'
# or: OWNER=$(gh repo view --json owner -q .owner.login); NAME=$(gh repo view --json name -q .name)Example query (raise first / paginate if the PR is huge):
gh api graphql -f query='
query($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
pageInfo { hasNextPage endCursor }
nodes {
id
isResolved
isOutdated
comments(first: 50) {
nodes {
databaseId
body
path
line
createdAt
author { login }
}
}
}
}
}
}
}' -f owner='OWNER' -f name='REPO' -F number=PR_NUMBERIf pageInfo.hasNextPage is true, follow with additional requests using after: cursors on reviewThreads (same pattern as standard GraphQL pagination).
Use thread.id (Node id) for §3.7 resolve. Use each comment’s databaseId as the REST id when posting .../pulls/{n}/comments/{id}/replies (they are the same numeric id GitHub uses in the REST API).
B — REST: flat list of every inline comment—minimal mental overhead; each node has id for .../replies.
gh api "repos/{owner}/{repo}/pulls/PR_NUMBER/comments" --paginateEach item includes id, body, path, line, in_reply_to_id, created_at, html_url, etc. No thread grouping or isResolved—prefer A when you need those.
Use gh pr where it is strongest (readable + structured issue/review summaries):
gh pr view [<PR_NUMBER>] --comments
gh pr view [<PR_NUMBER>] --json comments,reviews,latestReviews
gh pr diff [<PR_NUMBER>]Combine issue/timeline comments (from JSON or --comments) with every inline comment (from §2.2). Normalize timestamps and sort chronologically (oldest first) unless the user specifies otherwise. When using GraphQL threads, flatten reviewThreads → comments for ordering, but keep thread.id handy for resolve and for understanding which replies belong together.
Duplication: cluster items that ask for the same change; implement once and reply to each comment in that cluster.
For each item in chronological order:
Combine whatever helps: gh pr view output, gh api / GraphQL payloads, gh pr diff, and gh pr view --web if the UI makes thread context obvious. Goal is complete understanding, not a specific subcommand.
Classify: change request, question, nit, or discussion. Note which files/behavior it touches.
Decide if it is right, unclear, or you disagree. Skip or discuss without code when appropriate.
If this comment’s underlying issue is already fixed by a commit you made for an earlier comment in this run, do not edit the code again—go to 3.6 and reply that it is covered.
Otherwise, apply only that scoped fix. Same cluster → one commit for that cluster.
After pushing, capture commit SHA (e.g. git rev-parse HEAD) for replies.
Timeline / issue comment — gh pr comment is the right surface:
gh pr comment [<PR_NUMBER>] --body '...'Inline thread — REST reply endpoint (only reliable way to nest under the line):
gh api -X POST "repos/{owner}/{repo}/pulls/<PR_NUMBER>/comments/<COMMENT_ID>/replies" -f body='...'<COMMENT_ID> is the REST id / GraphQL databaseId of the comment you answer (from §2.2).
The PR number is required on this path. …/pulls/comments/<id>/replies (no number) is a valid prefix for reading and editing a single comment, so it looks plausible, but it 404s for replies.
Formal review summary when it fits the workflow:
gh pr review [<PR_NUMBER>] --comment -b '...'Duplicate-addressed items: short replies (“Same fix as … in <sha>.”).
When appropriate (fixed, declined with closure, etc.—not open questions): GraphQL is the API that supports resolve. Use thread.id from §2.2 A:
gh api graphql -f query='
mutation($id: ID!) {
resolveReviewThread(input: { threadId: $id }) {
thread { isResolved }
}
}' -f id=<THREAD_ID>If you only used REST B, fetch thread ids via a GraphQL query once, or resolve in the browser—either is fine if it matches team practice.
gh pr view as sufficient for “all PR comments”—you still need inline data from REST or GraphQL (§2.1–2.2)..../replies).gh pr comment where a REST threaded reply was needed (feedback belongs on the diff line).Not an anti-pattern: one commit for several comments that share the same issue; reply on each item with pointers to that commit.
© latitude-dev, 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 .agents/skills/review-pr-comments of latitude-dev/latitude-llm.
Open the folder on GitHubat commit 12e8591
Review 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review PR Comments this skilllatitude-dev/latitude-llm | 4.7k | — | ~2.6k | Automated safety check: Pass | MIT | |
| GitHub Opsdaymade/claude-code-skills | 1.4k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Gh QueueLanternOps/breeze | 131 | — | ~5k | Automated safety check: Pass | AGPL-3.0 | |
| Reply To PR Threadstobihagemann/turbo | 407 | — | ~941 | Automated safety check: Pass | MIT | |
| Create Cuda Python Pull RequestNVIDIA/cuda-python | 3.4k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Flow Next Resolve PRgmickel/flow-next | 707 | — | ~1.1k | Automated safety check: Pass | MIT |
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.
LanternOps/breeze
A skill your agent uses when reviewing, triaging, or managing the incoming GitHub backlog on the Breeze repo — PRs, Discussions, AND Issues.
tobihagemann/turbo
Draft, confirm, and post replies to GitHub PR review threads.
NVIDIA/cuda-python
Create a CUDA Python pull request from an approved personal or organization-owned fork, including the GitHub CLI GraphQL fallback for renamed organization-owned forks.
gmickel/flow-next
Resolve PR review feedback. An agent skill from gmickel/flow-next.
ayutaz/piper-plus
PR 作成直後の review チェック / 全 open PR の未解決 review thread (isResolved=false) を gh api graphql で集計し、 N 日以上未対応のものを backlog として表示する。
latitude-dev/latitude-llm
Configure Better Auth server and client, set up database adapters, manage sessions, add plugins, and handle environment variables.
latitude-dev/latitude-llm
Create, validate, preview, and publish self-contained HTML artifacts.
latitude-dev/latitude-llm
Continuously monitor GitHub PR CI checks and automatically fix failures until all checks pass.
latitude-dev/latitude-llm
This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal…
latitude-dev/latitude-llm
Review the current conversation context and git changes, then persist durable repository knowledge into dev-docs/.md by domain and into AGENTS.md for cross-cutting repo rules.
latitude-dev/latitude-llm
Enables or disables Latitude production maintenance mode by redirecting all publicly exposed production services to the Better Stack status page.
Categories
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…. Review PR Comments is an agent skill from 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 resolve.
Review PR Comments fits situations like: addressing PR review comments; copilot inline threads; babysitting PR feedback.
Run `npx skills add latitude-dev/latitude-llm --skill review-pr-comments -a claude-code`. Or copy the skill folder (.agents/skills/review-pr-comments in latitude-dev/latitude-llm) into .claude/skills/review-pr-comments in your project. Claude Code loads it when a task matches its description.
Run `npx skills add latitude-dev/latitude-llm --skill review-pr-comments -a codex`. Or copy the skill folder (.agents/skills/review-pr-comments in latitude-dev/latitude-llm) into .agents/skills/review-pr-comments 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 latitude-dev/latitude-llm --skill review-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/review-pr-comments, .gemini/skills/review-pr-comments, .github/skills/review-pr-comments and .opencode/skills/review-pr-comments in your project.
Going by SKILL.md and its folder, Review PR Comments needs the command-line tools its instructions call (gh and git).
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 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.
Review 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.
About 2.6k tokens (SKILL.md is roughly 10k 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 Review PR Comments: GitHub Ops (daymade/claude-code-skills, 1.4k stars), Gh Queue (LanternOps/breeze, 131 stars), Reply To PR Threads (tobihagemann/turbo, 407 stars) and Create Cuda Python Pull Request (NVIDIA/cuda-python, 3.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
latitude-dev (a GitHub organization) maintains it in latitude-dev/latitude-llm, which has 4,714 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 7, 2026.
Source: latitude-dev/latitude-llm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.