ci: add focused Claude workflows with context-aware prompts

Add claude-mention.yml for @claude mentions in issues/PRs and
claude-pr-review.yml for automatic PR reviews.

Key improvements:
- claude-mention: Triggers on @claude with project-specific prompt
- claude-pr-review: Auto-reviews PRs from new contributors with CONTRIBUTING.md criteria
- Both workflows: Restricted permissions (read-only contents, no merge capability)

🤖 Generated with Claude Code (https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Vinta Chen
2026-01-08 12:03:05 +08:00
parent e803fd3e48
commit e65cc4917f
2 changed files with 88 additions and 0 deletions

45
.github/workflows/claude-mention.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: Claude Mention
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude-mention:
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 == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read # Cannot merge PR
pull-requests: write
issues: read
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
additional_permissions: |
actions: read
prompt: |
If this is a PR adding a project or library, review against CONTRIBUTING.md criteria.
Otherwise, follow the instructions in the comment or issue that tagged you.

43
.github/workflows/claude-pr-review.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Claude PR Review
on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened, labeled]
paths:
- "README.md"
jobs:
claude-pr-review:
if: |
github.event.label.name == 'claude-review' ||
github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' ||
github.event.pull_request.author_association == 'FIRST_TIMER' ||
github.event.pull_request.author_association == 'NONE'
runs-on: ubuntu-latest
permissions:
contents: read # Cannot merge PR
pull-requests: write
issues: read
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
with:
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
plugin_marketplaces: "https://github.com/anthropics/claude-code.git"
plugins: "code-review@claude-code-plugins"
prompt: |
Review this PR against the acceptance criteria in CONTRIBUTING.md.
Focus on: Industry Standard, Rising Star, or Hidden Gem criteria.
Check for automatic rejection reasons (abandoned, duplicates, spam).
/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}