skills/github-pr-reply-guide/SKILL.md
Responding to GitHub PR review feedback. Workflow for analyzing review threads, implementing changes and posting replies with commit references. Use when addressing PR reviews or responding to reviewer feedback. Follow the user's writing voice and prose style guides for reply text.
npx skillsauth add jitsusama/agentic-harness.pi github-pr-reply-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.
Use the PR reply workflow when a PR has review feedback to address:
The pr_reply tool manages the workflow through a series
of actions. You drive the conversation; the tool provides
data and tracks state.
Call pr_reply with action activate and a PR reference.
pr_reply(action: "activate", pr: "#123")
The tool fetches all reviews and threads, shows the user a summary panel and returns all thread data for batch analysis.
Analyze all threads at once, then provide your analysis:
pr_reply(action: "generate-analysis", analyses: [...], reviewer_analyses: [...])
For each thread, provide:
thread_id: the thread ID from the activation data.recommendation: implement, reply, skip or defer.analysis: your reasoning (shown to the user in the
workspace).For each reviewer, provide:
reviewer: their username.assessment: brief character assessment (thorough,
nitpicky, collaborative, blocking, etc.).Call pr_reply with action review to show the workspace.
The user navigates reviewer tabs, browses threads and
chooses actions directly in the workspace.
The workspace has:
[o] Overview: reviewer comment, thread summary list.[t] Threads: selectable list with your recommendation.[s] Source: code around the selected thread.The workspace returns the user's chosen action:
Implement (code changes needed):
pr_reply(action: "implement", use_tdd: true)
Make changes, run tests, commit. Then:
pr_reply(action: "done", reply_body: "Extracted validation as suggested. abc1234")
Reply (no code changes):
pr_reply(action: "reply", reply_body: "Good point; I'll address this in a follow-up.")
Skip and Defer are handled inline in the workspace;
the user presses k or d directly.
After any action, call review to reopen the workspace:
pr_reply(action: "review")
When all threads are done:
pr_reply(action: "deactivate")
Your job is to think critically, not to agree with the reviewer by default. The user trusts your judgement, so give them a real opinion rather than a summary of what happened.
What they're actually asking: Read the original comment and the full conversation. Is the suggestion sound? Does it genuinely improve the code, or is it just a style preference?
Evaluate on merits: Don't accept feedback just because a reviewer said it. Think about whether the change actually improves things or just adds complexity for marginal benefit.
Check conversation state: If the user already replied with good reasoning and the reviewer dropped it, recommend skipping. Don't re-open settled conversations.
Priority: CHANGES_REQUESTED threads are required. COMMENTED and APPROVED threads are optional; be selective.
Outdated: The code has changed since the comment. It may still be relevant, or it may have been addressed already by other changes.
Recommend TDD when:
Recommend direct implementation when:
Reply text should follow the user's writing voice and prose style guides. Beyond that:
Good: "Extracted the validation logic as suggested. abc1234" Bad: "Done.\n\nCommits:\n- abc1234"
When implementing with TDD:
pr_reply(action: "implement", use_tdd: true).tdd_phase(action: "start").pr_reply(action: "done", reply_body: "...").If a reply fails to post, retry with the same text.
If tests fail during implementation, fix before calling
done. The thread stays in "implementing" state.
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.