--- /dev/null
+name: Claude Code Review
+
+on:
+ issue_comment:
+ types: [created]
+
+permissions:
+ contents: read
+ pull-requests: write
+
+jobs:
+ code-review:
+ name: Claude Code Review
+ # Only run on PR comments containing "/claude" from users with write access
+ if: >-
+ github.event.issue.pull_request &&
+ contains(github.event.comment.body, '/claude') &&
+ contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'),
+ github.event.comment.author_association)
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
+ with:
+ fetch-depth: 1
+
+ - name: PR Review
+ uses: anthropics/claude-code-action@6062f3709600659be5e47fcddf2cf76993c235c2 # v1
+ with:
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ trigger_phrase: "/claude"
+ prompt: >-
+ Review this PR for an OpenWrt embedded Linux project,
+ focusing on correctness, security, and coding conventions.
+ claude_args: >-
+ --allowedTools
+ "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"