github-issue-triage
Analyze GitHub issues for the Nx repository and provide assignment recommendations based on technology stack, team expertise, and priority classification rules.
When & Why to Use This Skill
This Claude skill automates the GitHub issue triage process for the Nx repository by analyzing technical context and team expertise. It streamlines repository maintenance by providing intelligent assignment recommendations, priority classification, and bulk CLI command generation to ensure issues are handled by the right specialists efficiently.
Use Cases
- Automated routing of incoming GitHub issues to specific domain experts based on technology keywords like Angular, React, Webpack, or Nx Core.
- Standardizing issue priority levels (High, Medium, Low) based on user impact, such as workspace creation failures, security CVEs, or documentation gaps.
- Generating batch GitHub CLI commands to efficiently update labels and assignees for multiple issues simultaneously, reducing manual overhead for maintainers.
- Analyzing error patterns and stack traces within issue bodies to distinguish between framework-specific bugs and core Nx infrastructure problems.
| name | github-issue-triage |
|---|---|
| description | Analyze GitHub issues for the Nx repository and provide assignment recommendations based on technology stack, team expertise, and priority classification rules. |
| allowed-tools | Bash, Read, Grep, Glob |
GitHub Issue Triage Skill
This skill provides comprehensive logic for triaging GitHub issues in the Nx repository.
Team Expertise Mapping
Primary Team Members
- @barbados-clemens - Documentation, lifecycle hooks, developer experience, API docs
- @lourw - Java/Gradle
- @leosvelperez - Angular (primary), TypeScript, testing tools (Jest/Cypress/Playwright), ESLint issues
- @Coly010 - Webpack/Rollup/Rspack configs, Module Federation, Storybook, Vue, bundler optimization, React Native, Nx Release, Publishing, migration utilities, React, Node/NestJS/Express, NextJS, Remix, create-nx-workspace, preset issues
- @AgentEnder - Nx Core (caching/daemon/graph), installation issues, plugin system, devkit, affected calculation
Assignment Logic (Check in Order)
1. Technology Keywords in Title/Body
Look for these keywords and match to assignees:
| Keywords | Assignee | Reason |
|---|---|---|
| "Angular", "ng serve", "@angular" | @leosvelperez | Angular specialist |
| "Nest", "NestJS", "@nx/nest" | @Coly010 | Backend framework support |
| "Next", "NextJS", "@nx/next" | @Coly010 | Framework support |
| "React", "@nx/react" | @Coly010 | Framework support |
| "webpack", "rollup", "rspack", "bundler" | @Coly010 | Bundler expertise |
| "Module Federation", "MF" | @Coly010 | Advanced bundling feature |
| "create-nx-workspace", "preset" | @Coly010 | Workspace setup |
| "cache", "daemon", "affected", "nx reset" | @AgentEnder | Nx core functionality |
| "plugin", "generator", "executor" | @AgentEnder | Plugin system & devkit |
| "docs", "documentation", "lifecycle" | @barbados-clemens | Documentation focus |
2. Error Pattern Analysis
Examine error messages and stack traces to identify:
- Compilation/build failures with Angular → @leosvelperez
- Webpack configuration errors → @Coly010
- Installation/dependency issues → @AgentEnder
- Preset/generator failures → Check technology first, fallback to @AgentEnder
3. Scope Assignment
Match scope labels to technology:
- Use
scope: angularfor Angular-specific issues - Use
scope: reactfor React-specific issues - Use
scope: nodefor Node/NestJS/Express issues - Use
scope: bundlersfor webpack/rollup/rspack issues - Use
scope: coreonly for caching/daemon/graph issues - Use
scope: miscfor installation/setup issues - Use
scope: dxfor documentation/developer experience issues
Priority Classification Rules
Apply priorities conservatively:
| Priority | Criteria |
|---|---|
| High | Blocks many users (workspace creation failures, compilation blockers, security CVEs) |
| Medium | Standard bugs, configuration issues, generator problems |
| Low | Documentation improvements, UI enhancements, edge cases |
Validation Steps
Before finalizing assignments:
- Check issue body for actual error messages and stack traces
- Review reproduction steps to identify the root problem area
- Consider scope - does this affect a specific framework or Nx core?
- Verify priority - how many users would be blocked?
- Cross-check - does the technology keyword match the actual problem?
Bulk Operations
Assignment Command Template
# Assign single issue
gh issue edit 12345 --repo nrwl/nx --add-assignee username
# Batch assign to same person
gh issue edit 12345 12346 12347 --repo nrwl/nx --add-assignee username
# Batch assign to different people (sequential)
gh issue edit 12345 12346 --repo nrwl/nx --add-assignee user1
gh issue edit 12347 12348 --repo nrwl/nx --add-assignee user2
Label Command Template
# Apply scope labels
gh issue edit 12345 12346 --repo nrwl/nx --add-label "scope: angular"
# Apply priority labels
gh issue edit 12345 --repo nrwl/nx --add-label "priority: high"
gh issue edit 12346 12347 --repo nrwl/nx --add-label "priority: medium"
Browser Verification (MANDATORY)
After all assignments are complete, open every assigned issue in the browser for manual review.
Command by OS
macOS:
for issue in ISSUE_NUMBERS; do open "https://github.com/nrwl/nx/issues/$issue"; done
Linux:
for issue in ISSUE_NUMBERS; do xdg-open "https://github.com/nrwl/nx/issues/$issue"; done
Windows:
for issue in ISSUE_NUMBERS; do start "https://github.com/nrwl/nx/issues/$issue"; done
Alternative (CLI-based, one at a time):
gh issue view ISSUE_NUMBER --repo nrwl/nx --web
Workflow Best Practices
- Always inspect the full issue - Don't assign based on title alone
- Check comments - Users often provide context in discussions
- Look for duplicate markers - Sometimes issues reference others
- Consider workload - Don't overload one assignee
- Validate assignments - Browser verification is non-negotiable
- Document reasoning - Leave a comment explaining the assignment if complex
Assignment Examples
Example 1: Angular + Build Issue
- Title: "Angular build fails with Module Federation setup"
- Keywords: "Angular", "Module Federation", "build fails"
- Recommendation: @Coly010 (bundler + framework specialist)
- Scope:
scope: bundlers - Priority:
priority: high(blocks users from building)
Example 2: Installation Problem
- Title: "npm install fails with peer dependency conflict"
- Keywords: "install", "dependency"
- Recommendation: @AgentEnder (installation issues)
- Scope:
scope: misc - Priority:
priority: high(blocks workspace setup)
Example 3: Documentation Request
- Title: "Add lifecycle hooks documentation"
- Keywords: "docs", "documentation", "lifecycle"
- Recommendation: @barbados-clemens (documentation specialist)
- Scope:
scope: dx - Priority:
priority: low(enhancement, not blocking)