Skip to content

Claude PR review

Claude PR review #17

Workflow file for this run

name: Claude PR review
# On-demand: comment "/review" on a pull request and the review starts.
# Deliberately NOT "@claude" — that would also trigger the official Claude app
# installed on this repo and you'd get two reviews per mention.
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
# One review per PR — a fresh /review cancels the in-flight run instead of stacking.
concurrency:
group: claude-review-${{ github.event.issue.number || github.event.pull_request.number }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: write
id-token: write # claude-code-action fetches an OIDC token for auth
actions: read # let the reviewer read this PR's CI results
jobs:
review:
# Only on a PR (not a plain issue), only when someone comments "/review".
if: |
(github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '/review')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '/review'))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0 # review skill diffs against the merge-base
- uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
trigger_phrase: "/review"
allowed_bots: claude-agent-ahrzb # allow our agents to /review too, not just humans
plugin_marketplaces: https://github.com/anthropics/claude-plugins-official.git
plugins: superpowers@claude-plugins-official
# Grant the comment tools — without these the agent has no way to
# write anything back to the PR (this was the "nothing gets posted" bug).
claude_args: >-
--model claude-sonnet-5 --max-turns 30
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"
track_progress: true # tracking comment + PR context
prompt: |
Someone requested a code review of this pull request by commenting
"/review". Use the superpowers:requesting-code-review skill for the
review methodology. Determine the PR's base branch and its diff with
`gh pr view` and `gh pr diff`.
Then POST the review to GitHub — a review that isn't posted is useless:
- inline comments (mcp__github_inline_comment__create_inline_comment)
for specific, line-level issues
- one top-level PR comment (`gh pr comment`) for the overall summary
and assessment
Report only what you verified in the diff. No speculative findings, no
style nits. If nothing needs changing, post a one-line top-level
comment saying so.