skills/github-pr-review-guide/SKILL.md
Pull request review workflow. Context gathering, code analysis and structured review posting. Use when reviewing someone else's PR. Pairs with code-review-standard for evaluation criteria and comment-format for comment structure. Follow the user's writing voice and prose style guides for review text.
npx skillsauth add jitsusama/agentic-harness.pi github-pr-review-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Understand the why before evaluating the what. The tool crawls deep context automatically (linked issues, parent/sub-issues, cross-references up to 5 levels). You analyze that context and generate structured comments, then the user reviews them in an interactive panel.
The pr_review tool drives the workflow. Each call returns
context or shows a panel.
| Action | Purpose |
|--------|---------|
| activate | Parse PR ref, resolve repo, crawl deep context |
| generate-analysis | Provide synopsis, scope, roles and reference summaries |
| generate-comments | Provide structured review comments |
| overview | Show Phase 1 overview panel |
| review | Show Phase 2 review panel |
| add-comment | Add a review comment |
| update-comment | Edit an existing comment by ID |
| remove-comment | Delete comment(s) by ID or IDs |
| list-comments | Show all comments with their IDs |
| submit | Show final review summary panel |
| post | Submit review to GitHub |
| deactivate | Clean up and exit |
activate → generate-analysis → overview
→ generate-comments → DISCUSS
→ review → (steer cycles) → submit → post → deactivate
Call activate with a PR reference (URL, #123, or
owner/repo#123). The tool:
After receiving the activation briefing, analyze the PR
thoroughly. Use read to examine source files and rg
via bash to search for patterns. Then call
generate-analysis with:
synopsis: a conversational, approachable summary
for a human reviewer. Lead with the motivation, then
explain the approach. Write like you're catching up a
teammate, not a commit message or changelog entry.scope_analysis: markdown assessment of scope quality
(focused? too broad? well-organized?).source_roles: for each discovered source file, one
sentence explaining why it's relevant to the PR.reference_summaries: for each discovered reference,
a one-sentence plain-language summary of what it is and
why it matters to this PR (matched by URL).Do not generate comments yet. The user gets a first pass through the code before comments shape their thinking.
After generate-analysis, call overview to show the
overview panel. The user sees the synopsis, categorised
references, and per-file tabs with Diff, Notes and Source
views. This is their first pass through the code.
The user can take notes on individual files during the
overview. When they press Ctrl+Enter to proceed, any
notes are included in the result text. If they steer,
process their feedback and call overview again.
After the user finishes the overview, call
generate-comments with structured review comments
informed by your analysis and any user notes from the
overview:
comments: structured review comments, each with:
file (path or null for PR-level)startLine, endLine (or null for file-level)label: conventional comment labeldecorations: ["blocking"], ["non-blocking"], etc.subject: one-line summarydiscussion: detailed explanationcategory: "file", "title", or "scope"Use the comment-format and code-review-standard
skills for format and quality guidance.
If the user left notes during the overview, use them as direction. Notes signal what the reviewer noticed and cares about; generate comments that address those observations where appropriate.
Category rules:
scope: only about scope concerns (focus, organization).
Set file to null: these merge into the review body.title: about title accuracy and description completeness.
Set file to null: these merge into the review body.file: code quality, tests, implementation. Must have a
file path and line range (GitHub only supports inline
comments on diff lines).After generate-comments, comments are proposed (not
yet committed to the review). Present your review approach
conversationally:
During conversation:
list-comments to see all comments with their IDs.update-comment, remove-comment (supports arrays
via comment_ids), and add-comment to adjust.When the user is satisfied (e.g., "looks good", "proceed",
"let's review"), call review directly. Proposed comments
are promoted to pending automatically when the review
panel opens. The user can call overview again themselves
if they want another pass through the code, but the agent
should not force a second overview just for promotion.
Call review to show the review panel. One tab per changed
file plus Desc and Scope tabs. Each tab has three views:
o): diff with comment indicators.c): selectable comment list with
approve/reject/steer actions.s): full file content.The user reviews comments, approves/rejects them and can steer for changes. Tabs auto-complete when all comments are resolved. 'h' manually marks a tab handled.
If the user steers:
update-comment
then call review.add-comment
then call review.review.Call submit to show the submit panel. You can optionally
provide review_body and verdict to pre-fill.
The user sees the review summary with verdict, comment counts and approved comments. They can post directly or steer to edit the body/verdict.
If they steer, update review_body/verdict and call
submit again.
The submit panel's post action calls post automatically.
If needed, call post directly. Then call deactivate
to exit review mode.
For small PRs (1-3 files, few changes), generate fewer
comments. Don't force the user through every phase if the
PR is straightforward; a simple review might skip straight
from generate-comments to submit.
For large PRs, be thorough. Use the source file discovery to understand the full impact and generate comments across multiple categories.
When a panel returns steer feedback:
The steer note includes context about what was being viewed.
When the user gives qualitative feedback during conversation (before the overview panel), always research first: read the relevant code, check linked issues and search for patterns. Build context before proposing or modifying comments.
update-comment to edit.list-comments to discover them.comment_ids (array) with remove-comment for bulk removal.development
Structure of a quest README and the documents that live under it: frontmatter shape, the four core and four optional body sections, emoji glyphs, ID format, alias notation, Cast bullets and Journey entries. Use when writing or editing a quest README, a plan, research, brief or report document under a quest. Pairs with quest-convention for choices like kind, promotion and reordering. Follow the prose-standard for voice.
tools
Operational conventions for the quest system: when to use a quest versus a subquest versus a sidequest, when to scaffold a plan or research document, how to reorder priorities, when to add optional sections, when to conclude versus retire, the resuscitate pattern. Use when driving the quest tool, deciding kind, promoting or parking work, or organising a project as quests. Pairs with quest-format for the on-disk shape.
development
Markdown structure rules: Title Case headings with their exceptions, the line-width target and its legitimate exceptions, reference-style links, fenced code blocks with language tags, tables and lists. Use when writing or editing any markdown file (README, AGENTS, docs, plans, skill files), or when adding a heading, link, table or code block. Owns markdown structure; pairs with prose-standard, which owns voice, grammar, spelling and punctuation.
tools
How to measure whether convention corrections keep recurring in the pi session logs, by category and by week. Use to record a baseline before the convention gates take effect and to re-run afterwards to confirm the recurring categories bend down. Pairs with the convention gates (pr-guardian, issue-guardian, commit-guardian, slack-integration) and the convention-context extension.