Skip to content

feat(ci): add Claude Code workflow with /review skill for PR reviews #3

feat(ci): add Claude Code workflow with /review skill for PR reviews

feat(ci): add Claude Code workflow with /review skill for PR reviews #3

Workflow file for this run

name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
permissions:
id-token: write
contents: write
issues: write
pull-requests: write
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude'))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
id-token: write
timeout-minutes: 15
env:
ANTHROPIC_BASE_URL: https://llmproxy.atlan.dev
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: '1'
concurrency:
group: claude-${{ github.event.issue.number || github.event.pull_request.number }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Connect to VPN
uses: ./.github/actions/globalprotect-connect
with:
portal-url: vpn2.atlan.app
username: ${{ secrets.GLOBALPROTECT_USERNAME }}
password: ${{ secrets.GLOBALPROTECT_PASSWORD }}
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.LITELLM_API_KEY }}
claude_args: "--model claude-sonnet-4"
custom_instructions: |
When a user asks you to "review" a pull request (e.g. "@claude review",
"@claude review this PR", "@claude please review"), execute the /review
slash command. Do not attempt a freeform review β€” always use the skill.