Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 5 additions & 34 deletions .github/workflows/claude-review.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
name: Claude Review

on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
types: [ready_for_review, synchronize]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Restore opened pull_request trigger

Restricting pull_request.types to ready_for_review and synchronize skips the initial review for PRs opened as non-draft, because ready_for_review only fires when a draft is explicitly converted to ready. In this configuration, a normal PR opened in ready state will not run Claude review until a later push triggers synchronize, which is a functional regression from the previous behavior and can leave first-pass changes unreviewed.

Useful? React with 👍 / 👎.


concurrency:
group: claude-review-${{ github.event.pull_request.number }}
Expand All @@ -11,36 +12,6 @@ permissions: {}

jobs:
review:
if: github.event.pull_request.draft == false && github.event.pull_request.head.repo.fork == false
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
id-token: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 1

- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
track_progress: true
prompt: |
REPO: ${{ github.repository }}
PR NUMBER: ${{ github.event.pull_request.number }}

Please review this pull request with a focus on:
- Code quality and best practices
- Potential bugs or issues
- Security implications
- Performance considerations

Provide detailed feedback using inline comments for specific issues.

# --max-turns caps how many tool-use cycles Claude can run, which
# bounds token spend per invocation. The allowed `gh pr` commands are
# scoped to this PR's number so a misfire can't reach into another PR.
claude_args: |
--max-turns 30
--allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment ${{ github.event.pull_request.number }}:*),Bash(gh pr diff ${{ github.event.pull_request.number }}:*),Bash(gh pr view ${{ github.event.pull_request.number }}:*)"
uses: stellar/actions/.github/workflows/claude-review.yml@main
secrets:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
Loading