Skip to content

feat(ci): Add Claude issue triage and similar issues workflows#977

Merged
yamadashy merged 6 commits intomainfrom
chore/claude
Nov 29, 2025
Merged

feat(ci): Add Claude issue triage and similar issues workflows#977
yamadashy merged 6 commits intomainfrom
chore/claude

Conversation

@yamadashy
Copy link
Owner

Add automated issue management workflows using Claude Code Action:

Changes

  • claude-issue-triage.yml: Automatically labels new issues based on content analysis

    • Analyzes issue title, description, and technical areas
    • Applies appropriate labels (bug, enhancement, question, etc.)
    • No comments posted, only labels applied
  • claude-issue-similar.yml: Finds and suggests related issues

    • Searches for similar issues when a new issue is opened
    • Posts a comment with up to 3 related issues if found
    • Helps reduce duplicate issues and connect related discussions
  • claude.yml & claude-code-review.yml: Use Opus model for higher quality responses

Checklist

  • Run npm run test (N/A - workflow files only)
  • Run npm run lint (N/A - workflow files only)

Add automated issue labeling workflow that triggers when new issues
are opened. Claude analyzes the issue content and applies appropriate
labels without posting comments.
Configure claude.yml and claude-code-review.yml to use the Opus model
for higher quality responses in issue handling and PR reviews.
Add workflow that searches for related issues when a new issue is opened
and posts a comment with up to 3 similar issues if found.
@gemini-code-assist
Copy link
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 29, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Four GitHub Actions workflows are modified and introduced. Existing claude-code-review.yml and claude.yml workflows now include explicit --model opus parameter. Two new workflows are added: claude-issue-similar.yml to find and comment with related issues upon issue creation, and claude-issue-triage.yml to automatically label issues based on content analysis.

Changes

Cohort / File(s) Summary
Existing Claude workflows
.github/workflows/claude-code-review.yml, .github/workflows/claude.yml
Add explicit --model opus parameter to claude_args, enabling concrete model selection in Claude Code Action invocations
New issue-related workflows
.github/workflows/claude-issue-similar.yml, .github/workflows/claude-issue-triage.yml
Introduce two new GitHub Actions workflows: claude-issue-similar.yml searches and comments with up to 3 related issues when issues are opened; claude-issue-triage.yml automatically analyzes and applies repository labels to new issues

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review focus areas:
    • Claude action invocation patterns and prompt configurations in all four workflows
    • Correctness of gh CLI commands and filtering logic in claude-issue-similar.yml search and selection
    • Label selection logic and repository label assumptions in claude-issue-triage.yml
    • Permission scopes and OAuth token usage across new workflows

Possibly related PRs

  • PR #906: Modifies the same claude-code-review.yml workflow with additional prompt configuration changes
  • PR #887: Updates Claude-related GitHub Actions workflows including claude-code-review.yml
  • PR #884: Modifies claude_args configuration in the Claude Code Review workflow with tool allowance changes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: adding Claude issue triage and similar issues workflows. It is concise, clear, and directly reflects the primary modifications.
Description check ✅ Passed The description comprehensively covers all changes with clear sections, explains the purpose of each workflow, and addresses the checklist items. All required template elements are present and completed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Nov 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.38%. Comparing base (b3f7c1d) to head (c23e3e3).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #977   +/-   ##
=======================================
  Coverage   90.38%   90.38%           
=======================================
  Files         110      110           
  Lines        7890     7890           
  Branches     1528     1528           
=======================================
  Hits         7131     7131           
  Misses        759      759           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Nov 29, 2025

Deploying repomix with  Cloudflare Pages  Cloudflare Pages

Latest commit: c23e3e3
Status: ✅  Deploy successful!
Preview URL: https://48c074be.repomix.pages.dev
Branch Preview URL: https://chore-claude.repomix.pages.dev

View logs

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b3f7c1d and 5cb8ac2.

📒 Files selected for processing (4)
  • .github/workflows/claude-code-review.yml (1 hunks)
  • .github/workflows/claude-issue-similar.yml (1 hunks)
  • .github/workflows/claude-issue-triage.yml (1 hunks)
  • .github/workflows/claude.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
  • GitHub Check: Build and run (windows-latest, 24.x)
  • GitHub Check: Build and run (windows-latest, 25.x)
  • GitHub Check: Build and run (macos-latest, 24.x)
  • GitHub Check: Build and run (ubuntu-latest, 20.x)
  • GitHub Check: Build and run (windows-latest, 20.x)
  • GitHub Check: Build and run (ubuntu-latest, 22.x)
  • GitHub Check: Test (windows-latest, 20.x)
  • GitHub Check: Test (windows-latest, 22.x)
  • GitHub Check: Build and run (windows-latest, 22.x)
  • GitHub Check: Test (windows-latest, 24.x)
  • GitHub Check: Build and run with Bun (windows-latest, latest)
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (6)
.github/workflows/claude.yml (1)

48-48: LGTM. Straightforward addition of the opus model specification aligns with the PR goal.

.github/workflows/claude-issue-triage.yml (2)

25-25: Note the use of allowed_non_write_users: "*".

Setting allowed_non_write_users: "*" allows the Claude action to execute for any user, regardless of repository write permissions. For public repositories with issue automation, this is likely intentional to ensure all users' issues get triaged. However, verify this aligns with your security and operational posture, especially if sensitive actions expand in scope.


27-75: Prompt structure and instructions are clear and well-designed.

The prompt provides explicit instructions to avoid posting comments, fetch available labels, analyze issue context, and apply only repository labels. The guidance on label categories (bug, enhancement, question, documentation, etc.) is helpful, and the conditional logic (only label if applicable) reduces noise.

.github/workflows/claude-issue-similar.yml (2)

25-25: Note the use of allowed_non_write_users: "*".

Same consideration as claude-issue-triage.yml: this setting allows any user to trigger the Claude automation. For public issue tracking, this is likely intentional, but verify it aligns with your operational and security policies.


27-75: Prompt logic and structure are well-designed.

The multi-step approach (fetch issue details, search for similar, analyze, filter to top 3, post or skip) is sound. The conditional "don't post if no matches" prevents noise, and the output format is user-friendly with explanations of relevance.

.github/workflows/claude-code-review.yml (1)

64-66: The claude_args syntax is valid, but the allowed-tools list includes several unused tools that could be trimmed.

Line 66 uses valid syntax: --model opus is an accepted shorthand (per Claude Code documentation), and the --allowed-tools parameter syntax is correct. However, comparing the allowlist to the actual prompt usage (lines 39–62):

Tools actually used in prompt:

  • gh pr view (line 55: reads existing comments)
  • mcp__github_inline_comment__create_inline_comment (line 59: creates inline comments)
  • gh pr comment (line 61: posts PR comment)

Tools in allowlist but never invoked:

  • Bash(gh issue view:*)
  • Bash(gh search:*)
  • Bash(gh issue list:*)
  • Bash(gh pr diff:*)
  • Bash(gh pr list:*)

Recommendation: Consider removing unused tools to follow the principle of least privilege. If these are intentionally retained for future extensibility or model experimentation, document that intent in a comment.

yamadashy and others added 2 commits November 29, 2025 18:10
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Fork PRs cannot access secrets, and bot PRs fail OIDC workflow
validation. Adding conditions to skip these cases prevents
unnecessary workflow failures.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant