fix(skill): address Claude review comments in /review skill#543
Conversation
…ot just Greptile's
|
Claude finished @carlos-alm's task —— View job Code Review in Progress
|
Greptile SummaryThis PR improves the Key changes:
The changes are consistent with the rest of the skill and the approaches used elsewhere in the document. No critical logic or syntax issues were found. Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant A as Skill (Claude Agent)
participant GH as GitHub API
A->>GH: GET /pulls/<n>/comments (inline review comments)
GH-->>A: [{id, user, body, path, line}]
A->>GH: GET /pulls/<n>/reviews (top-level review bodies)
GH-->>A: [{id, user, body, state}]
A->>GH: GET /issues/<n>/comments (issue-style comments)
GH-->>A: [{id, user, body}]
Note over A: Build complete list of actionable items<br/>from ALL reviewers (Claude, Greptile, humans)
loop For each inline comment (path + line)
A->>GH: POST /pulls/<n>/comments/<id>/replies<br/>body="Fixed — <description>"
end
loop For each top-level review body (no path)
A->>GH: POST /issues/<n>/comments<br/>body=$'Addressed Claude review:\n- <items>'
end
loop For each issue-style comment
A->>GH: POST /issues/<n>/comments<br/>body="Addressed: <summary>"
end
Note over A: Reviewer checklist:<br/>query all 3 endpoints for unique logins,<br/>confirm every reviewer was addressed
A->>GH: POST /issues/<n>/comments — @greptileai (if no positive reaction)
A->>GH: POST /issues/<n>/comments — @claude (if Claude feedback addressed)
Last reviewed commit: "fix(skill): add /rev..." |
| **Checklist before moving on:** After addressing all comments, verify you haven't missed a reviewer: | ||
| ```bash | ||
| # List all unique reviewers who left comments | ||
| gh api repos/optave/codegraph/pulls/<number>/comments --paginate --jq '[.[].user.login] | unique | .[]' | ||
| gh api repos/optave/codegraph/pulls/<number>/reviews --paginate --jq '[.[].user.login] | unique | .[]' | ||
| # Confirm you addressed comments from EVERY reviewer listed | ||
| ``` |
There was a problem hiding this comment.
Reviewer checklist missing the third endpoint
The checklist queries only two of the three endpoints introduced in Step 2d, meaning any reviewer who exclusively left issue-style comments (e.g., @greptileai trigger responses, which the document explicitly places in the issues endpoint) will not appear in the deduplication list and could be silently missed.
The fix is to add the third endpoint to the checklist:
| **Checklist before moving on:** After addressing all comments, verify you haven't missed a reviewer: | |
| ```bash | |
| # List all unique reviewers who left comments | |
| gh api repos/optave/codegraph/pulls/<number>/comments --paginate --jq '[.[].user.login] | unique | .[]' | |
| gh api repos/optave/codegraph/pulls/<number>/reviews --paginate --jq '[.[].user.login] | unique | .[]' | |
| # Confirm you addressed comments from EVERY reviewer listed | |
| ``` | |
| **Checklist before moving on:** After addressing all comments, verify you haven't missed a reviewer: | |
| ```bash | |
| # List all unique reviewers who left comments | |
| gh api repos/optave/codegraph/pulls/<number>/comments --paginate --jq '[.[].user.login] | unique | .[]' | |
| gh api repos/optave/codegraph/pulls/<number>/reviews --paginate --jq '[.[].user.login] | unique | .[]' | |
| gh api repos/optave/codegraph/issues/<number>/comments --paginate --jq '[.[].user.login] | unique | .[]' | |
| # Confirm you addressed comments from EVERY reviewer listed |
There was a problem hiding this comment.
Fixed in 30c63a2 — added the issues endpoint to the reviewer checklist so commenters who only left issue-style comments (e.g. @greptileai trigger responses) are included in the deduplication check.
There was a problem hiding this comment.
Confirmed ✓ — the issues endpoint is now included in the checklist, so reviewers who only leave issue-style comments will be caught.
| # Reply on the PR conversation thread so the reviewer sees it | ||
| gh api repos/optave/codegraph/issues/<number>/comments \ | ||
| -f body="Addressed Claude's review feedback:\n- <bullet per item addressed>" | ||
| ``` |
There was a problem hiding this comment.
Literal
\n won't produce a newline via -f body=
When using gh api -f body="...", the shell does not interpret escape sequences inside double-quoted strings — \n is passed as the two characters \ and n to the GitHub API, which will appear literally in the posted comment rather than as a line break.
To produce an actual newline, use ANSI-C quoting ($'...') or a heredoc:
| # Reply on the PR conversation thread so the reviewer sees it | |
| gh api repos/optave/codegraph/issues/<number>/comments \ | |
| -f body="Addressed Claude's review feedback:\n- <bullet per item addressed>" | |
| ``` | |
| gh api repos/optave/codegraph/issues/<number>/comments \ | |
| -f body=$'Addressed Claude\'s review feedback:\n- <bullet per item addressed>' |
Alternatively, pass the body via --input with a JSON payload for full control over escaping.
There was a problem hiding this comment.
Fixed in 30c63a2 — switched to ANSI-C quoting ($'...') so \n is interpreted as an actual newline by the shell before being passed to the GitHub API.
- Use ANSI-C quoting ($'...') for body with newlines so \n is not passed literally to the GitHub API - Add issues endpoint to the reviewer checklist so issue-style commenters (e.g. @greptileai trigger responses) are not silently missed
|
Fixed the remaining Step 2b inconsistency in f8cbb0a — added the missing |

Summary
/reviewskill to explicitly require addressing Claude's review comments, not just Greptile'sTest plan
/reviewon a PR that has both Claude and Greptile comments and verify both are addressed