diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-01 14:34:49 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-01 14:34:49 -0500 |
| commit | b5a5b9fb5f8f0abdb87553882ce26cd2ad5792bc (patch) | |
| tree | 0bb3281b0fd4bf316e874bf80433d7f29f49b1ea /claude-rules | |
| parent | 5dc03427571d88d407389e67d1c1c1936e8f61ce (diff) | |
| download | rulesets-b5a5b9fb5f8f0abdb87553882ce26cd2ad5792bc.tar.gz rulesets-b5a5b9fb5f8f0abdb87553882ce26cd2ad5792bc.zip | |
docs(commits): add post-review Slack notify + approve-vs-merge note
Step 8 of the PR review/publish flow now sends a one-line message to channel C0AM2MWHCJU after every approve or changes-requested verdict. The new step skips humanizer and personal-style passes since the message is short and templated.
The approve case sends "Approved on PR #N." with the PR URL on the next line. The changes-requested case sends "Changes Requested on PR #N" with the PR URL on the next line.
I also added an explicit line saying approve doesn't authorize a merge. That keeps the merge decision with the PR author. The team's practice is approve-then-author-merges, not approve-and-merge.
Diffstat (limited to 'claude-rules')
| -rw-r--r-- | claude-rules/commits.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/claude-rules/commits.md b/claude-rules/commits.md index 21037f0..a932777 100644 --- a/claude-rules/commits.md +++ b/claude-rules/commits.md @@ -285,6 +285,13 @@ enough to skip review" exemption on top of it. - Issue-thread comment (general PR discussion, not a formal review): `gh pr comment <N> --body-file /tmp/pr-<N>-comment.md`. - Inline code comment pinned to a specific line/hunk: no direct `gh` flag — use `gh api /repos/<owner>/<repo>/pulls/<N>/comments -F body=@/tmp/pr-<N>-comment.md -F commit_id=... -F path=... -F line=...`. 7. Verify the comment landed. `gh api /repos/<owner>/<repo>/pulls/<N>/reviews` for review-shaped comments, `gh api /repos/<owner>/<repo>/issues/<N>/comments` for issue-thread comments. +8. **Notify the PR author on Slack** (review-shaped comments only — `--approve` or `--request-changes`). After the review posts, send a one-line Slack message to channel `C0AM2MWHCJU` via the `slack-deepsat` MCP. No humanizer or personal-style passes — the message is short and templated. Two cases: + - Approved: `Approved on PR #N.\n<pr-url>` + - Changes requested: `Changes Requested on PR #N\n<pr-url>` + Replace `#N` with the PR number and `<pr-url>` with the GHE URL of the PR. The URL goes on its own line, immediately after the message. If the MCP doesn't have a post-message tool registered (for example, in a project where the Slack MCP is read-only), surface that to the user and skip the post — don't fall back to a different channel or asking the user to paste it. + Skip this step for plain `--comment` reviews (informal feedback, not a verdict) and for issue-thread or inline code comments. Approve and request-changes are the only verdicts that warrant the notification. + +**Approve does not authorize a merge.** The team's practice is approve-then-author-merges, not approve-and-merge. The Slack notification in Step 8 hands the merge decision to the PR author. Anything in `## Merge Strategy` below applies only to merges *you* are about to perform on your own branches — and even then, the merge needs its own explicit user confirmation per the rules there. **Exception:** trivial one-liners the user dictated verbatim in the conversation (e.g. "commit this as `chore: bump version`", "reply just |
