eai-org/agent-toolkit/skills/fetch-pr-review/SKILL.md
fetch-pr-review
Fetch all reviewer comments from a pull request URL (GitHub, Azure DevOps, …) and save them as a self-contained markdown PR-REVIEW file in the task's planning directory. Fetch only — no fixing or replying.
- Source repository stars
- 30
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
Fetch only — capture the review feedback left on a pull request; never fix code, reply, or judge the comments. Output is a self-contained .PR-REVIEW.md a fresh session can pick up and act on (e.g. via /refine-pr-review).
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/eai-org/agent-toolkit --skill "skills/fetch-pr-review"Inspect the Agent Skill "fetch-pr-review" from https://github.com/eai-org/agent-toolkit/blob/f950517c4b09c5c3892f6dd43d58770a63f7b249/skills/fetch-pr-review/SKILL.md at commit f950517c4b09c5c3892f6dd43d58770a63f7b249. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
PR review:
Source Branch → State {open/merged/…} Author {display name} Linked ticket — omit if none Fetched {today YYYY-MM-DD}
Source Branch → State {open/merged/…} Author {display name} Linked ticket — omit if none Fetched {today YYYY-MM-DD}comments oldest first as — , status flagclaude --name refine-pr- "/refine-pr-review /.PR-REVIEW.md" - 02
Review verdicts — one per reviewer: verdict + summary text
Review the “Review verdicts — one per reviewer: verdict + summary text” section in the pinned source before continuing.
Review and apply the “Review verdicts — one per reviewer: verdict + summary text” source section. - 03
Next step
State clearly when done, using project-relative paths. List any thread whose status needed a user decision and how it was marked. Then hand off the next phase as a single copy-pasteable launch command — session name and prompt combined, so one paste starts the session. Use the l…
State clearly when done, using project-relative paths. List any thread whose status needed a user decision and how it was marked. Then hand off the next phase as a single copy-pasteable launch command — session name and…Then offer the alternative — clearing the current session instead (vendor-agnostic — /clear below is only the example; use the clear command of the agent tool in use): - 04
Source & access
Identify the platform from the PR URL (host shape) and fetch through the matching MCP server or CLI — e.g. GitHub MCP / gh for GitHub PRs, Azure DevOps MCP for ADO pull requests. Use whichever equivalent tools are connected; tool name prefixes vary by config. If the input is amb…
Identify the platform from the PR URL (host shape) and fetch through the matching MCP server or CLI — e.g. GitHub MCP / gh for GitHub PRs, Azure DevOps MCP for ADO pull requests. Use whichever equivalent tools are conne… - 05
Golden rule: never assume — ask
Every uncertainty is confirmed with the user before proceeding: a thread's resolved status, the planning directory, the slug, anything ambiguous in between. A plausible guess is a question, not an answer.
Every uncertainty is confirmed with the user before proceeding: a thread's resolved status, the planning directory, the slug, anything ambiguous in between. A plausible guess is a question, not an answer.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 85/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 30 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- eai-org/agent-toolkit
- Skill path
- skills/fetch-pr-review/SKILL.md
- Commit
- f950517c4b09c5c3892f6dd43d58770a63f7b249
- License
- MIT
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
PR review fetcher
Fetch only — capture the review feedback left on a pull request; never fix code, reply, or
judge the comments. Output is a self-contained .PR-REVIEW.md a fresh session can pick up and act
on (e.g. via /refine-pr-review).
Source & access
Identify the platform from the PR URL (host shape) and fetch through the matching MCP server or
CLI — e.g. GitHub MCP / gh for GitHub PRs, Azure DevOps MCP for ADO pull requests. Use
whichever equivalent tools are connected; tool name prefixes vary by config. If the input is
ambiguous, or no matching MCP/CLI is available, ask the user / stop — don't guess.
Golden rule: never assume — ask
Every uncertainty is confirmed with the user before proceeding: a thread's resolved status, the planning directory, the slug, anything ambiguous in between. A plausible guess is a question, not an answer.
Your task
- Resolve the input. Accept a full PR URL; extract repo/project and PR id. If unrecognizable, ask.
- Fetch the PR metadata — title, description, source/target branch, state, author, linked
ticket/work item — and all feedback:
- inline review threads (file, line, code context, full reply chain);
- top-level review verdicts (approve / request changes / …) with their summary text;
- general conversation comments;
- bot comments (CI, linters, coverage, …) — captured too, but grouped separately from human feedback.
- Determine each thread's status (see Status flags).
- Decide the output directory — the planning directory of the task the PR belongs to,
following the project's/user's convention for where plans live (default:
.agents/plans/). Guess the task's existing home from PR context (linked ticket id, branch name, PR title) — its<id>-<slug>/subdirectory, or the shared parent/group directory holding its<id>-<slug>.TICKET.mdwhen the ticket lives flat there — and confirm the guess with the user; when not sure, always ask. If no matching exists, propose a new<id>-<slug>(ticket id prefix when bound to one, kebab-case slug from the PR title), confirm, and create it. - Pick the file name —
<slug>.PR-REVIEW.md, where<slug>is the planning directory name — in a shared directory, the ticket's own<id>-<slug>instead (e.g.1234-some-task.PR-REVIEW.md). If it already exists and this is a new review round, write<slug>.PR-REVIEW-2.md,-3, … — never overwrite; history per round is kept on purpose. - Write the document (see structure below).
- Print the result — project-relative paths and the next-step line.
Status flags
Capture every comment, resolved or not, with its state from the platform's own signal (e.g. GitHub thread resolution, ADO thread status):
- Open / active → actionable; no flag needed.
- Resolved (closed, fixed, won't fix, …) → keep it, marked resolved, with the platform's
original status verbatim —
wontFixis resolved but carries different intent thanfixed. - Outdated (anchored to code later commits changed) → distinct outdated flag, never merged into resolved: the code moved, but the concern may still be valid — say so in the document.
- Unclear — the platform gives no clear signal, or the thread reads ambiguous (e.g. a reply says "done" but the thread is still open) → ask the user how to mark it; never decide alone.
Document structure
Must stand on its own: a fresh session with no access to the PR must be able to locate every spot in the code and understand every piece of feedback without re-fetching.
# PR review: <title>
> **Source** [<PR id>](<url>)
> **Branch** <source> → <target>
> **State** {open/merged/…}
> **Author** {display name}
> **Linked ticket** [<id>](<url>) — omit if none
> **Fetched** {today YYYY-MM-DD}
## Review verdicts — one per reviewer: verdict + summary text
## Inline threads — one ### per thread: `path:line`, quoted code context/diff hunk,
comments oldest first as <author> — <date>, status flag
## General comments — non-inline human conversation, oldest first
## Bot comments — automated feedback, grouped by bot
Omit empty sections. Quote file paths, code, identifiers, and user-facing strings verbatim — never alter or translate them.
Boundaries
- The PR stays untouched — fetching is read-only: no replies, no resolving threads, no votes, approvals, or edits.
- Do not fix, analyze, or triage the feedback — capture and flag only.
- The only files you create: the
.PR-REVIEW.md(and its planning directory if new).
Next step
State clearly when done, using project-relative paths. List any thread whose status needed a
user decision and how it was marked. Then hand off the next phase as a
single copy-pasteable launch command — session name and prompt combined, so one paste starts the
session. Use the launch syntax of the agent tool in use (vendor-agnostic — claude below is only
the example), naming the session refine-pr-<slug>:
claude --name refine-pr-<slug> "/refine-pr-review <output-dir>/<slug>.PR-REVIEW.md"
Then offer the alternative — clearing the current session instead (vendor-agnostic — /clear below
is only the example; use the clear command of the agent tool in use):
OR /clear and run:
/refine-pr-review <output-dir>/<slug>.PR-REVIEW.md
Alternatives
Compare before choosing
aAAaqwq/AGI-Super-Team
code-review-quality
Conduct context-driven code reviews focusing on quality, testability, and maintainability. Use when reviewing code, providing feedback, or establishing review practices.
alirezarezvani/claude-skills
adversarial-reviewer
Adversarial code review that breaks the self-review monoculture. Use when you want a genuinely critical review of recent changes, before merging a PR, or when you suspect Claude is being too agreeable about code quality. Forces perspective shifts through hostile reviewer personas that catch blind spots the author's mental model shares with the reviewer.
event4u-app/agent-config
code-review
Use when the user says "review this", "check my code", or wants feedback on changes. Reviews for correctness, quality, security, and coding standards.
ruvnet/RuView
github-code-review
Comprehensive GitHub code review with AI-powered swarm coordination