fix(skill): reviewer uses create_pull_review, not create_issue_comment #112

Merged
charles merged 1 commit from fix/reviewer-formal-pull-review into main 2026-04-19 23:24:07 +00:00
Collaborator

Summary

The reviewer skill said "pick APPROVED or REQUEST_CHANGES — never COMMENT" but never named the tool. The agent interpreted that as "post a comment whose body begins with REQUEST_CHANGES", which renders fine in the UI but does not fire Forgejo's pull_request_rejected webhook event — so handleChangesRequested never runs and the PR stalls silently.

Hit live on PR #110 earlier today: reviewer posted change requests via create_issue_comment, boss was never dispatched on address-review, and I had to manually escalate via create_pull_review (PR #110 issuecomment-6069) to unblock.

Fix

skills/review.md step 6 now names the tool explicitly:

  • Use mcp__forgejo__create_pull_review with state: "APPROVED" | "REQUEST_CHANGES".
  • Never use mcp__forgejo__create_issue_comment for the verdict. Warning includes the #111 reference so the next reviewer reads the backstory if it forgets.
  • Clarified that the full findings live in the review body (markdown fine).

Test plan

  • just qa — 357 pass, 0 fail
  • grep confirms the only create_issue_comment reference under skills/ is the warning line in review.md
  • Next real reviewer dispatch on a PR with blocking findings: list_pull_reviews shows a state: REQUEST_CHANGES entry and boss gets auto-dispatched on address-review (no manual escalation)

Closes #111.

🤖 Generated with Claude Code

## Summary The reviewer skill said *"pick APPROVED or REQUEST_CHANGES — never COMMENT"* but never named the tool. The agent interpreted that as *"post a comment whose body begins with REQUEST_CHANGES"*, which renders fine in the UI but does not fire Forgejo's `pull_request_rejected` webhook event — so `handleChangesRequested` never runs and the PR stalls silently. Hit live on PR #110 earlier today: reviewer posted change requests via `create_issue_comment`, boss was never dispatched on `address-review`, and I had to manually escalate via `create_pull_review` (PR #110 [issuecomment-6069](https://forge.jacquin.app/charles/claude-hooks/pulls/110#issuecomment-6069)) to unblock. ## Fix `skills/review.md` step 6 now names the tool explicitly: - **Use** `mcp__forgejo__create_pull_review` with `state: "APPROVED" | "REQUEST_CHANGES"`. - **Never use** `mcp__forgejo__create_issue_comment` for the verdict. Warning includes the #111 reference so the next reviewer reads the backstory if it forgets. - Clarified that the full findings live in the review `body` (markdown fine). ## Test plan - [x] `just qa` — 357 pass, 0 fail - [x] `grep` confirms the only `create_issue_comment` reference under `skills/` is the warning line in review.md - [ ] Next real reviewer dispatch on a PR with blocking findings: `list_pull_reviews` shows a `state: REQUEST_CHANGES` entry and boss gets auto-dispatched on `address-review` (no manual escalation) Closes #111. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(skill): reviewer uses create_pull_review, not create_issue_comment
All checks were successful
qa / qa (pull_request) Successful in 2m43s
qa / dockerfile (pull_request) Successful in 8s
a9802fb236
The previous skill said "pick APPROVED or REQUEST_CHANGES — never
COMMENT" but didn't name the tool. The reviewer agent interpreted that
as "post a comment whose body starts with REQUEST_CHANGES", which
renders fine in the UI but doesn't fire Forgejo's review lifecycle
event — so `handleChangesRequested` never runs and the PR stalls.

Hit live on PR #110 (2026-04-19): reviewer posted change requests via
`create_issue_comment`, webhook didn't dispatch boss on address-review,
operator had to manually escalate via `create_pull_review` to unblock.

Name the tool explicitly in step 6: `mcp__forgejo__create_pull_review`
with `state: APPROVED | REQUEST_CHANGES`. Warn against
`create_issue_comment` for the verdict.

Closes #111.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
charles deleted branch fix/reviewer-formal-pull-review 2026-04-19 23:24:08 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!112
No description provided.