address-review
Skill262 starsChanged 2 months agoApache-2.0View on GitHub
Address review comments on a GitHub pull request
- Commits and pushes
We split this skill into the rules it gives an agent
21 rules. 0 are common, 20 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 21 edited versions we read keep these.
20
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Read AGENTS.md first. It is the canonical project guide for this repository.
- Distinctive: line 69
If there are no unaddressed comments, say so and return to the original branch.
- Distinctive: line 86
If the programmer chooses Fix, apply the change and move on.
- Distinctive: line 90
After walking through all comments:
- Distinctive: line 93
If any code fixes were made, run the /commit skill to create a commit with the changes, then push:
- Distinctive: line 100
If there are queued replies, show all of them in a final summary:
- Distinctive: line 112
Ask the programmer for final confirmation before posting.
- Distinctive: line 122
After all replies are posted, return to the original branch:
- Distinctive: line 130
Follow these rules strictly when drafting replies:
- Distinctive: line 132
Write as a human developer, not an AI.
- Distinctive: line 133
No markdown headings (#, ##, ###) in replies.
- Distinctive: line 134
Keep replies concise — 1-3 sentences.
- Distinctive: line 137
No bullet lists. Keep it flowing as natural text.
- Distinctive: line 143
Never post anything to GitHub without explicit programmer confirmation
- Distinctive: line 144
Never modify code without programmer approval
- Very specific: line 147
Always checkout with --detach to avoid creating local branches
- Distinctive: line 148
Never push while in detached state.
- Distinctive: line 149
After everything is done, return to the original branch
- Distinctive: line 150
No emojis in any output
- Distinctive: line 151
No markdown headings in any output or posted content
- Distinctive: line 152
If an API call fails, show the error and ask the programmer how to proceed
“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Address review comments on a GitHub pull request.
Read AGENTS.md first. It is the canonical project guide for this repository.
The argument is a PR number (e.g. /address-review 98). If no number is given, ask the user.
Phase 1: Fetch and display comments
- Save the current branch name:
git rev-parse --abbrev-ref HEAD - Checkout the PR branch:
gh pr checkout <number> --detach Fetch review data (pick one):
REST (simple): Lists inline review comments; it does not include per-thread
resolvedstatus, so you cannot rely on it alone to skip resolved threads.
gh api repos/{owner}/{repo}/pulls/<number>/comments --paginateGraphQL (for filtering resolved threads): Returns reviewThreads with isResolved, isOutdated, paths/lines, and nested comments—use this when step 5 must honor “already resolved.” Paginate with cursor (use null or omit for the first page; then pass reviewThreads.pageInfo.endCursor while hasNextPage is true).
gh api graphql -f query='
query($owner:String!, $repo:String!, $number:Int!, $cursor:String) {
repository(owner:$owner, name:$repo) {
pullRequest(number:$number) {
reviewThreads(first:100, after:$cursor) {
pageInfo { hasNextPage endCursor }
nodes {
isResolved
isOutdated
path
line
originalLine
comments(first:100) {
nodes {
databaseId
body
author { login }
createdAt
url
}
}
}
}
}
}
}' -F owner={owner} -F repo={repo} -F number=<number> -F cursor=<cursor>First page: pass JSON null for cursor (see gh help api / your shell for how gh expects null). Later pages: set cursor to the previous response’s reviewThreads.pageInfo.endCursor until hasNextPage is false.
- Group comments by file. For each comment, extract:
id,path,line(ororiginal_line),body,user.login,in_reply_to_id(to detect threads). If you used GraphQL, mapdatabaseIdtoidand thread fields as needed. - Filter out threads that are already resolved (when using GraphQL method).
- Present a numbered summary to the programmer:
PR #<number> — <n> unaddressed review comments
1. <file>:<line> — @<author>: <first 80 chars of comment>
2. <file>:<line> — @<author>: <first 80 chars of comment>
...If there are no unaddressed comments, say so and return to the original branch.
Phase 2: Walk through each comment
For each comment in order, show:
- The full comment body
- The file path and line number
- The relevant code context (read ~10 lines around the commented line from the actual file)
- The author who left the comment
Then ask the programmer what to do using AskUserQuestion with these options:
- Fix — Make a code change to address the comment. After the programmer picks this, analyze the comment and the surrounding code, propose a fix, and apply it with Edit. Show the programmer what changed and confirm before moving to the next comment.
- Reply — Draft a reply to the comment. Write a concise, human-sounding response (see tone rules below). Show the exact text to the programmer. They can modify it. Queue the reply for posting in Phase 3.
- Skip — Move to the next comment without action.
If the programmer chooses Fix, apply the change and move on. If they choose Reply, queue it. Track all code changes and queued replies separately.
Phase 3: Commit, push, and post replies
After walking through all comments:
Code changes: If any code fixes were made, run the /commit skill to create a commit with the changes, then push:
git pushReplies: If there are queued replies, show all of them in a final summary:
Queued replies:
1. <file>:<line> — reply to @<author>:
"<reply text>"
2. <file>:<line> — reply to @<author>:
"<reply text>"Ask the programmer for final confirmation before posting. They can modify any reply text at this point.
Post each reply as a separate API call:
gh api repos/{owner}/{repo}/pulls/<number>/comments/<comment_id>/replies \
--method POST \
-f body="<reply text>"After all replies are posted, return to the original branch:
git checkout <original-branch>Reply tone and style
Follow these rules strictly when drafting replies:
- Write as a human developer, not an AI. Never mention AI, automation, or tools.
- No markdown headings (#, ##, ###) in replies. Plain text and inline formatting only.
- Keep replies concise — 1-3 sentences. Get to the point.
- Conversational, collaborative tone: "good catch, fixed in the latest push", "I think this is fine because...", "yeah, updated this to use X instead"
- Be direct but not dismissive. If you disagree with a comment, explain briefly why.
- No bullet lists. Keep it flowing as natural text.
- No emojis.
- The programmer gets final say on every reply before it is posted.
Rules
- Never post anything to GitHub without explicit programmer confirmation
- Never modify code without programmer approval
- Show exact reply text before queuing it
- The programmer can modify any reply at any point
- Always checkout with
--detachto avoid creating local branches - Never push while in detached state. Before any push, explicitly checkout the target branch after programmer confirmation
- After everything is done, return to the original branch
- No emojis in any output
- No markdown headings in any output or posted content
- If an API call fails, show the error and ask the programmer how to proceed
$ARGUMENTS
Other versions21 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 21
- oxcaml/oxcaml★ 927same name
- cashew-labs/libretto★ 898same name
- saffron-health/libretto★ 883same name
- gittower/git-flow-next★ 458same name
- fpindej/netrock★ 234same name
- saffron-health/opencode-gui★ 59same name
- michaelegner/architecture-intelligence-platform★ 9same name
- fedemelo/agent-config★ 4same name
- lestrrat/claude-code★ 4same name
- magnusrodseth/dotfiles★ 3same name
11 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use open-pr, pr-description and 3 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Google CloudSkillopen-pr
Commits local changes to a new Git branch and opens a GitHub pull request through the configured GitHub MCP server. Use when proposing code changes in a new pull request. Don't use for local-only commits without a remote GitHub repository.
Also in 3 projects that use this
MicrosoftSkillpr-description
Draft Nacelle PR titles, pull request descriptions, commit titles, commit descriptions, and squash commit messages. Use when asked for PR or commit wording, a branch summary, or a PR description that can be used in a commit. Omit validation sections from commit bodies and remove filler.
Also in 3 projects that use this
DockerSkillreview-pr
Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.
Also in 3 projects that use this
MicrosoftSkillpr-review
Verify the technical accuracy of a vscode-docs pull request against the VS Code source code in microsoft/vscode. Use when reviewing a docs PR for factual correctness: setting names, command IDs, default values, API shapes, keybindings, versioned availability, and described behavior.
Also in 3 projects that use this
- +1 more from microsoft
In this repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- commitSkill
- docsSkill
- implementSkill
- issueSkill
- lintSkill
- sink-paritySkill
- summarySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

