name: Claude Review Mode on: pull_request: types: [opened, synchronize] issue_comment: types: [created] jobs: code-review: # Run on PR events, or when someone comments "@claude review" on a PR if: | github.event_name == 'pull_request' || (github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '@claude review')) runs-on: ubuntu-latest permissions: contents: read pull-requests: write issues: write statuses: write # May be needed for some review operations checks: write # May be needed for review checks # Note: id-token not needed since review mode doesn't use OIDC for GitHub auth steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 # Full history for better diff analysis - name: Code Review with Claude uses: km-anthropic/claude-code-action@main with: mode: review anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} # github_token not needed - uses default GITHUB_TOKEN for GitHub operations timeout_minutes: "30" custom_instructions: | Focus on: - Code quality and maintainability - Security vulnerabilities - Performance issues - Best practices and design patterns - Test coverage gaps Be constructive and provide specific suggestions for improvements. Use GitHub's suggestion format when proposing code changes.