/ .github / workflows / auto-issue-comment.yml
auto-issue-comment.yml
 1  name: Auto Issue Comment
 2  
 3  on:
 4    workflow_dispatch:
 5  #   issues:
 6  #     types: [opened]
 7  
 8  jobs:
 9    # Trigger Claude by adding the 'claude' label (only if not already labeled)
10    # Note: @claude in comments only works from human users (not bots)
11    # The claude.yml workflow listens for issues:labeled event with 'claude' label
12    trigger-claude:
13      # Skip if issue was already created with 'claude' label to avoid double-trigger
14      if: |
15        !contains(toJSON(github.event.issue.labels), 'claude')
16      runs-on: ubuntu-latest
17      permissions:
18        issues: write
19      steps:
20        - name: Add claude label to trigger analysis
21          uses: actions/github-script@v7
22          with:
23            github-token: ${{ secrets.GH_TOKEN }}
24            script: |
25              // Check if 'claude' label already exists on this issue
26              const labels = context.payload.issue.labels.map(l => l.name);
27              if (labels.includes('claude')) {
28                console.log('Issue already has claude label, skipping');
29                return;
30              }
31  
32              // Add label to trigger claude.yml via issues:labeled event
33              await github.rest.issues.addLabels({
34                issue_number: context.issue.number,
35                owner: context.repo.owner,
36                repo: context.repo.repo,
37                labels: ['claude']
38              });
39  
40              // Also post instructions as a comment for context
41              await github.rest.issues.createComment({
42                issue_number: context.issue.number,
43                owner: context.repo.owner,
44                repo: context.repo.repo,
45                body: '🤖 Auto-triaging with Claude. Analyzing issue and implementing a fix...\n\nClaude will:\n1. Classify this issue\n2. Search codebase for root cause\n3. Implement a minimal fix following AGENTS.md\n4. Create a PR with the changes'
46              });