You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/review/SKILL.md
+31-9Lines changed: 31 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,38 +95,60 @@ If any checks are failing:
95
95
96
96
### 2d. Gather all review comments
97
97
98
-
Fetch **all** review comments from both Claude and Greptile:
98
+
Fetch **all** review comments from both Claude and Greptile. You MUST check all three endpoints — Claude's feedback often appears in the `/reviews` and `/comments` endpoints, not just issue comments:
99
99
100
100
```bash
101
-
# PR review comments (inline code comments)
101
+
# PR review comments (inline code comments — Claude and Greptile both use these)
**Important:** Go through the results from ALL three endpoints. Build a complete list of actionable items from every reviewer before starting fixes. Do not skip any reviewer's comments.
112
+
113
+
### 2e. Address every comment from EVERY reviewer
114
+
115
+
You must address comments from **all** reviewers — Claude (claude-code-review bot), Greptile, and any humans. Do not only address one reviewer's comments and skip another's. Process each reviewer's feedback systematically.
112
116
113
117
For **each** review comment — including minor suggestions, nits, style feedback, and optional improvements:
114
118
115
119
1.**Read the comment carefully.** Understand what the reviewer is asking for.
116
120
2.**Read the relevant code** at the file and line referenced.
117
121
3.**Make the change.** Even if the comment is marked as "nit" or "suggestion" or "minor" — address it. The goal is zero outstanding comments.
118
122
4.**If you disagree** with a suggestion (e.g., it would introduce a bug or contradicts project conventions), do NOT silently ignore it. Reply to the comment explaining why you chose a different approach.
119
-
5.**Reply to each comment** explaining what you did:
123
+
5.**Reply to each comment** explaining what you did. The reply mechanism depends on where the comment lives:
124
+
125
+
**For inline PR review comments** (from Claude, Greptile, or humans — these have a `path` and `line`):
120
126
```bash
121
127
gh api repos/optave/codegraph/pulls/<number>/comments/<comment-id>/replies \
122
128
-f body="Fixed — <brief description of what was changed>"
123
129
```
124
-
For issue-style comments, reply on the issue:
130
+
131
+
**For top-level PR review bodies** (Claude often leaves a summary review with `CHANGES_REQUESTED` or `COMMENT` state — these come from the `/reviews` endpoint and have no `path`):
132
+
```bash
133
+
# Reply on the PR conversation thread so the reviewer sees it
134
+
gh api repos/optave/codegraph/issues/<number>/comments \
135
+
-f body="Addressed Claude's review feedback:\n- <bullet per item addressed>"
gh api repos/optave/codegraph/issues/<number>/comments \
127
141
-f body="Addressed: <summary of changes made>"
128
142
```
129
143
144
+
**Checklist before moving on:** After addressing all comments, verify you haven't missed a reviewer:
145
+
```bash
146
+
# List all unique reviewers who left comments
147
+
gh api repos/optave/codegraph/pulls/<number>/comments --paginate --jq '[.[].user.login] | unique | .[]'
148
+
gh api repos/optave/codegraph/pulls/<number>/reviews --paginate --jq '[.[].user.login] | unique | .[]'
149
+
# Confirm you addressed comments from EVERY reviewer listed
150
+
```
151
+
130
152
### 2f. Commit and push fixes
131
153
132
154
After addressing all comments for a PR:
@@ -187,8 +209,8 @@ After processing all PRs, output a summary table:
187
209
188
210
-**Never rebase.** Always `git merge <base>` to resolve conflicts.
189
211
-**Never force-push** unless fixing a commit message that fails commitlint. Amend + force-push is the only way to fix a pushed commit title (messages are part of the SHA). This is safe on feature branches. For all other problems, fix with a new commit.
190
-
-**Address ALL comments**, even minor/nit/optional ones. Leave zero unaddressed.
191
-
-**Always reply to comments** explaining what was done. Don't just fix silently.
212
+
-**Address ALL comments from ALL reviewers** (Claude, Greptile, and humans), even minor/nit/optional ones. Leave zero unaddressed. Do not only respond to one reviewer and skip another.
213
+
-**Always reply to comments** explaining what was done. Don't just fix silently. Every reviewer must see a reply on their feedback.
192
214
-**Don't re-trigger Greptile if already approved.** If your last reply to a Greptile comment has a positive emoji reaction (👍, ✅, 🎉) from `greptileai`, it's already satisfied — skip re-triggering.
193
215
-**Only re-trigger Claude** if you addressed Claude's feedback specifically.
0 commit comments