$npx -y skills add decebals/claude-code-java --skill issue-triageTriage and categorize GitHub issues with priority labels. Use when user says "triage issues", "check issues", "review open issues", or during regular maintenance of GitHub issue backlog.
| 1 | # Issue Triage Skill |
| 2 | |
| 3 | Efficiently triage GitHub issues for Java projects with categorization and prioritization. |
| 4 | |
| 5 | ## When to Use |
| 6 | - User says "triage issues" / "check recent issues" |
| 7 | - Regular maintenance workflow |
| 8 | - After vacation/break (backlog processing) |
| 9 | - Weekly/monthly issue review |
| 10 | |
| 11 | ## Prerequisites |
| 12 | |
| 13 | **Recommended**: GitHub MCP server configured for optimal token usage |
| 14 | ```bash |
| 15 | claude mcp add github --transport http \ |
| 16 | https://api.githubcopilot.com/mcp/ |
| 17 | ``` |
| 18 | |
| 19 | **Alternative**: Use `gh` CLI (less token-efficient) |
| 20 | |
| 21 | ## Workflow |
| 22 | |
| 23 | ### 1. Fetch Issues |
| 24 | |
| 25 | **With GitHub MCP** (recommended): |
| 26 | ``` |
| 27 | Tool: list_issues |
| 28 | Parameters: { |
| 29 | "state": "open", |
| 30 | "sort": "updated", |
| 31 | "per_page": 10 |
| 32 | } |
| 33 | ``` |
| 34 | |
| 35 | **With gh CLI**: |
| 36 | ```bash |
| 37 | gh issue list --state open --limit 10 --json number,title,labels,body,url |
| 38 | ``` |
| 39 | |
| 40 | ### 2. Categorize Each Issue |
| 41 | |
| 42 | Analyze issue content and assign category: |
| 43 | |
| 44 | #### Bug Report ✅ |
| 45 | **Indicators**: |
| 46 | - Has stack trace or error message |
| 47 | - Steps to reproduce provided |
| 48 | - Expected vs actual behavior described |
| 49 | - Mentions specific version numbers |
| 50 | |
| 51 | **Actions**: |
| 52 | - Label: `bug` |
| 53 | - Verify reproducibility from description |
| 54 | - Check for duplicate bugs |
| 55 | - Add to milestone if critical |
| 56 | |
| 57 | **Example**: |
| 58 | ``` |
| 59 | Issue #234: "NPE when loading plugin from directory" |
| 60 | - Stack trace: ✅ |
| 61 | - Reproduction steps: ✅ |
| 62 | - Version info: ✅ |
| 63 | → Label: bug, high-priority |
| 64 | ``` |
| 65 | |
| 66 | #### Feature Request 💡 |
| 67 | **Indicators**: |
| 68 | - Asks for new functionality |
| 69 | - Use case described |
| 70 | - "It would be nice if..." / "Could you add..." |
| 71 | - Rationale provided |
| 72 | |
| 73 | **Actions**: |
| 74 | - Label: `enhancement` |
| 75 | - Assess alignment with project goals |
| 76 | - Mark for discussion if non-trivial |
| 77 | - Ask for community feedback |
| 78 | |
| 79 | #### Question/Support ❓ |
| 80 | **Indicators**: |
| 81 | - "How do I..." / "Can someone help..." |
| 82 | - Configuration/usage questions |
| 83 | - Not a bug or feature request |
| 84 | |
| 85 | **Actions**: |
| 86 | - Label: `question` |
| 87 | - Provide answer or link to docs |
| 88 | - Suggest StackOverflow for complex help |
| 89 | - Close after answer if resolved |
| 90 | |
| 91 | #### Duplicate 🔄 |
| 92 | **Search for similar issues**: |
| 93 | - Use GitHub search: `is:issue <keywords>` |
| 94 | - Check recently closed issues |
| 95 | - Look for same error messages |
| 96 | |
| 97 | **Actions**: |
| 98 | - Link to original: "Duplicate of #123" |
| 99 | - Close with polite comment |
| 100 | - Ask reporter to comment on original if they have additional info |
| 101 | |
| 102 | #### Invalid/Unclear ⚠️ |
| 103 | **Indicators**: |
| 104 | - Missing critical information |
| 105 | - Off-topic or spam |
| 106 | - Not enough context to proceed |
| 107 | |
| 108 | **Actions**: |
| 109 | - Request clarification with template |
| 110 | - Set "needs-more-info" label |
| 111 | - Auto-close if no response after 14 days |
| 112 | |
| 113 | ### 3. Priority Assessment |
| 114 | |
| 115 | #### Critical (P0) 🔴 |
| 116 | **Criteria**: |
| 117 | - Security vulnerability |
| 118 | - Data loss/corruption risk |
| 119 | - Complete functionality breakdown |
| 120 | - Affects production systems |
| 121 | |
| 122 | **Actions**: |
| 123 | - Label: `critical` |
| 124 | - Notify maintainers immediately |
| 125 | - Add to current milestone |
| 126 | - Consider hotfix release |
| 127 | |
| 128 | **Examples**: |
| 129 | ``` |
| 130 | - "SQL injection vulnerability in plugin loader" |
| 131 | - "All plugins fail to load after upgrade" |
| 132 | - "ClassLoader leak causes OutOfMemoryError" |
| 133 | ``` |
| 134 | |
| 135 | #### High (P1) 🟠 |
| 136 | **Criteria**: |
| 137 | - Core feature broken |
| 138 | - Affects many users |
| 139 | - Workaround exists but painful |
| 140 | - Regression from previous version |
| 141 | |
| 142 | **Actions**: |
| 143 | - Label: `high-priority` |
| 144 | - Add to next milestone |
| 145 | - Include in release notes |
| 146 | |
| 147 | **Examples**: |
| 148 | ``` |
| 149 | - "Plugin dependencies not resolved correctly" |
| 150 | - "Hot reload crashes application" |
| 151 | ``` |
| 152 | |
| 153 | #### Medium (P2) 🟡 |
| 154 | **Criteria**: |
| 155 | - Edge case bug |
| 156 | - Enhancement with clear value |
| 157 | - Documentation gap |
| 158 | - Affects some users occasionally |
| 159 | |
| 160 | **Actions**: |
| 161 | - Label: `medium-priority` |
| 162 | - Consider for future milestone |
| 163 | - Good for contributors |
| 164 | |
| 165 | **Examples**: |
| 166 | ``` |
| 167 | - "Improve error message for invalid plugin" |
| 168 | - "Add plugin lifecycle listener" |
| 169 | ``` |
| 170 | |
| 171 | #### Low (P3) 🟢 |
| 172 | **Criteria**: |
| 173 | - Nice-to-have feature |
| 174 | - Cosmetic issues |
| 175 | - Very rare edge case |
| 176 | - Documentation improvements |
| 177 | |
| 178 | **Actions**: |
| 179 | - Label: `low-priority` |
| 180 | - "Contributions welcome" tag |
| 181 | - Backlog for future |
| 182 | |
| 183 | **Examples**: |
| 184 | ``` |
| 185 | - "Add more examples to README" |
| 186 | - "Typo in JavaDoc" |
| 187 | ``` |
| 188 | |
| 189 | ### 4. Response Templates |
| 190 | |
| 191 | #### Need More Information |
| 192 | ```markdown |
| 193 | Thanks for reporting this issue! |
| 194 | |
| 195 | To investigate further, could you provide: |
| 196 | - Java version (java -version) |
| 197 | - Library version |
| 198 | - Minimal reproducible example |
| 199 | - Full stack trace (if applicable) |
| 200 | - Configuration files (if relevant) |
| 201 | |
| 202 | This will help us diagnose and fix the issue faster. |
| 203 | ``` |
| 204 | |
| 205 | #### Duplicate |
| 206 | ```markdown |
| 207 | Thanks for reporting! This is being tracked in #123. |
| 208 | |
| 209 | Closing as duplicate. Feel free to add any additional context |
| 210 | or information to the original issue. |
| 211 | ``` |
| 212 | |
| 213 | #### Won't Fix (with rationale) |
| 214 | ```markdown |
| 215 | Thank you for the suggestion. After consideration, this doesn't |
| 216 | align with the project's current direction because [reason]. |
| 217 | |
| 218 | Consider [alternative approach] instead, which might better |
| 219 | serve your use case. |
| 220 | |
| 221 | If you feel strongly about this, please open a discussion in |
| 222 | our [forum/discussi |