agentleFS
decebalsdecebals/claude-code-java/skills/issue-triage/SKILL.md

issue-triage

Skill763 starsChanged 56 days agoMITView on GitHub

Triage 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.

We split this skill into the rules it gives an agent

19 rules. 0 are common, 17 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 49 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    After vacation/break (backlog processing)

    line 14
  2. Very specific:

    Alternative: Use gh CLI (less token-efficient)

    line 25
  3. Distinctive:

    Verify reproducibility from description

    line 59
  4. Distinctive:

    Check for duplicate bugs

    line 60
  5. Distinctive:

    Add to milestone if critical

    line 61
  6. Distinctive:

    Ask for community feedback

    line 83
  7. Distinctive:

    Not a bug or feature request

    line 89
  8. Very specific:

    Use GitHub search: is:issue <keywords>

    line 99
  9. Distinctive:

    Check recently closed issues

    line 100
  10. Distinctive:

    Look for same error messages

    line 101
  11. Distinctive:

    Ask reporter to comment on original if they have additional info

    line 106
  12. Distinctive:

    Not enough context to proceed

    line 112
  13. Distinctive:

    Add to current milestone

    line 131
  14. Distinctive:

    Add to next milestone

    line 150
  15. Distinctive:

    Consider for future milestone

    line 168
  16. Distinctive:

    Don't read entire 50-comment threads

    line 299
  17. Distinctive:

    Check last 2-3 comments for updates

    line 301
  18. Distinctive:

    After each triage session, report:

    line 399
  19. Distinctive:

    Close decisively: - Don't let issues linger indefinitely

    line 430

“Common” is measured: kept by at least 6 in 10 of the 49 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Issue Triage Skill

Efficiently triage GitHub issues for Java projects with categorization and prioritization.

When to Use

  • User says "triage issues" / "check recent issues"
  • Regular maintenance workflow
  • After vacation/break (backlog processing)
  • Weekly/monthly issue review

Prerequisites

Recommended: GitHub MCP server configured for optimal token usage

claude mcp add github --transport http \
  https://api.githubcopilot.com/mcp/

Alternative: Use gh CLI (less token-efficient)

Workflow

1. Fetch Issues

With GitHub MCP (recommended):

Tool: list_issues
Parameters: {
  "state": "open",
  "sort": "updated", 
  "per_page": 10
}

With gh CLI:

gh issue list --state open --limit 10 --json number,title,labels,body,url

2. Categorize Each Issue

Analyze issue content and assign category:

Bug Report ✅

Indicators:

  • Has stack trace or error message
  • Steps to reproduce provided
  • Expected vs actual behavior described
  • Mentions specific version numbers

Actions:

  • Label: bug
  • Verify reproducibility from description
  • Check for duplicate bugs
  • Add to milestone if critical

Example:

Issue #234: "NPE when loading plugin from directory"
- Stack trace: ✅
- Reproduction steps: ✅
- Version info: ✅
→ Label: bug, high-priority

Feature Request 💡

Indicators:

  • Asks for new functionality
  • Use case described
  • "It would be nice if..." / "Could you add..."
  • Rationale provided

Actions:

  • Label: enhancement
  • Assess alignment with project goals
  • Mark for discussion if non-trivial
  • Ask for community feedback

Question/Support ❓

Indicators:

  • "How do I..." / "Can someone help..."
  • Configuration/usage questions
  • Not a bug or feature request

Actions:

  • Label: question
  • Provide answer or link to docs
  • Suggest StackOverflow for complex help
  • Close after answer if resolved

Duplicate 🔄

Search for similar issues:

  • Use GitHub search: is:issue <keywords>
  • Check recently closed issues
  • Look for same error messages

Actions:

  • Link to original: "Duplicate of #123"
  • Close with polite comment
  • Ask reporter to comment on original if they have additional info

Invalid/Unclear ⚠️

Indicators:

  • Missing critical information
  • Off-topic or spam
  • Not enough context to proceed

Actions:

  • Request clarification with template
  • Set "needs-more-info" label
  • Auto-close if no response after 14 days

3. Priority Assessment

Critical (P0) 🔴

Criteria:

  • Security vulnerability
  • Data loss/corruption risk
  • Complete functionality breakdown
  • Affects production systems

Actions:

  • Label: critical
  • Notify maintainers immediately
  • Add to current milestone
  • Consider hotfix release

Examples:

- "SQL injection vulnerability in plugin loader"
- "All plugins fail to load after upgrade"
- "ClassLoader leak causes OutOfMemoryError"

High (P1) 🟠

Criteria:

  • Core feature broken
  • Affects many users
  • Workaround exists but painful
  • Regression from previous version

Actions:

  • Label: high-priority
  • Add to next milestone
  • Include in release notes

Examples:

- "Plugin dependencies not resolved correctly"
- "Hot reload crashes application"

Medium (P2) 🟡

Criteria:

  • Edge case bug
  • Enhancement with clear value
  • Documentation gap
  • Affects some users occasionally

Actions:

  • Label: medium-priority
  • Consider for future milestone
  • Good for contributors

Examples:

- "Improve error message for invalid plugin"
- "Add plugin lifecycle listener"

Low (P3) 🟢

Criteria:

  • Nice-to-have feature
  • Cosmetic issues
  • Very rare edge case
  • Documentation improvements

Actions:

  • Label: low-priority
  • "Contributions welcome" tag
  • Backlog for future

Examples:

- "Add more examples to README"
- "Typo in JavaDoc"

4. Response Templates

Need More Information

Thanks for reporting this issue! 

To investigate further, could you provide:
- Java version (java -version)
- Library version
- Minimal reproducible example
- Full stack trace (if applicable)
- Configuration files (if relevant)

This will help us diagnose and fix the issue faster.

Duplicate

Thanks for reporting! This is being tracked in #123.

Closing as duplicate. Feel free to add any additional context 
or information to the original issue.

Won't Fix (with rationale)

Thank you for the suggestion. After consideration, this doesn't 
align with the project's current direction because [reason].

Consider [alternative approach] instead, which might better 
serve your use case.

If you feel strongly about this, please open a discussion in 
our [forum/discussions] to gather community feedback.

Acknowledged Bug

Confirmed! This is a valid bug. 

I've added it to milestone X.Y and labeled it as [priority].
Contributions welcome if anyone wants to tackle it!

Reproduction verified with:
- Java 17
- Version 3.10.0
- Ubuntu 22.04

Feature Request - Under Consideration

Interesting idea! This aligns with our goal of [project goal].

I've labeled this as 'enhancement' for further discussion.
Community feedback welcome - upvote with 👍 if you'd find 
this useful.

Some questions to consider:
- [question 1]
- [question 2]

Question Answered

To achieve this, you can [solution].

Example:
\`\`\`java
[code example]
\`\`\`

Also check our documentation: [link]

Let me know if this solves your issue!

Token Optimization Strategies

Batch Processing

# Process multiple issues in one prompt
"Triage issues #234-243, categorize and prioritize"

Savings: ~60% fewer tokens vs one-by-one

Use Structured GitHub MCP Calls

  • One call to list issues → cache results
  • Targeted calls for details only when needed
  • Batch label updates

Savings: ~40% fewer tokens vs repeated bash calls

Cache Issue List

# First prompt
"Fetch the last 20 issues, save list in memory"

# Subsequent prompts
"Analyze issue #5 from cached list"
"Mark #7-#9 as duplicate"

Focus on First Post + Recent Comments

  • Don't read entire 50-comment threads
  • Skim first post for context
  • Check last 2-3 comments for updates

Anti-patterns

❌ Avoid:

# One-by-one processing
"Check issue #234"
"Now check issue #235"
"Now check issue #236"
→ Wastes tokens on repeated context loading

# Over-analyzing
Reading entire 100-comment thread
Checking all related PRs
Deep diving into code for each issue
→ Diminishing returns after certain point

# Premature closing
Closing issues without proper investigation
Missing duplicates due to poor search
→ Frustrates users, creates duplicate work

✅ Prefer:

# Batch operations
"Triage issues #234-250, categorize, prioritize"

# Quick triage decisions
Fast categorization → Can revisit if needed
Surface-level analysis for most issues
Deep dive only for critical/complex ones

# Thorough duplicate search
Quick keyword search before marking duplicate
Link to specific comment if clarification exists

Automation Opportunities

Auto-close stale issues

# Issues with no activity for 90 days and "needs-more-info" label
"Find stale issues (>90 days, needs-more-info label), 
suggest closing with polite message"

Label by keywords

# Auto-label based on content
"java.lang.NullPointerException" → bug
"add support for" → enhancement
"how do I" → question

Weekly summary

# Generate triage summary
"Summarize issues from last week:
- New bugs: X
- Feature requests: Y
- Questions: Z
- Closed: W"

Integration with GitHub

With GitHub MCP

// Structured workflow
1. list_issues → get open issues
2. get_issue → details for each
3. add_labels → categorize
4. create_comment → respond
5. close_issue → if needed

With gh CLI

# List issues
gh issue list --json number,title,labels,body

# View specific issue
gh issue view 234

# Add labels
gh issue edit 234 --add-label "bug,high-priority"

# Comment
gh issue comment 234 --body "Thanks for reporting..."

# Close
gh issue close 234 --comment "Fixed in v2.1"

Metrics to Track

After each triage session, report:

📊 Triage Summary
─────────────────
Issues processed: 15
├─ Bugs: 5 (2 critical, 3 high)
├─ Enhancements: 4
├─ Questions: 3
├─ Duplicates: 2
└─ Invalid: 1

Actions taken:
├─ Labeled: 15
├─ Responded: 12
├─ Closed: 3
└─ Milestoned: 5

Time saved: ~45 minutes (vs manual)
Token usage: 3,200 tokens

Best Practices

  1. Regular cadence - Weekly triage prevents backlog
  2. Be respectful - Users took time to report
  3. Link resources - Docs, related issues, examples
  4. Ask questions - Better to clarify than assume
  5. Welcome contributions - Encourage community involvement
  6. Track patterns - Common issues suggest documentation gaps
  7. Celebrate reporters - Thank users for good bug reports
  8. Close decisively - Don't let issues linger indefinitely

Example Workflow

# Monday morning triage
claude code ~/projects/pf4j

> view .claude/skills/issue-triage/SKILL.md
> "Triage the last 15 issues from pf4j/pf4j,
   categorize, prioritize and suggest responses"

[Claude analyzes and presents summary]

> "Apply labels and post the suggested responses"

[Claude executes actions]

> "Generate summary for release notes"

Result: 15 issues triaged in ~10 minutes vs ~45 minutes manual

Download now (ZIP)

  • Other versions61 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 61

    1. denoland/deno★ 109ksame name
    2. modelcontextprotocol/servers★ 92ksame name
    3. rtk-ai/rtk★ 85ksame name
    4. rustfs/rustfs★ 36ksame name
    5. dotnet/maui★ 23ksame name
    6. ImranR98/Obtainium★ 21ksame name
    7. dotnet/runtime★ 18ksame name
    8. ComposioHQ/awesome-codex-skills★ 17ksame name
    9. composio-community/awesome-codex-skills★ 16ksame name
    10. Arize-ai/phoenix★ 12ksame name

    51 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use meeting-notes-and-actions, pr-review-ci-fix and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • ComposioHQSkill

      meeting-notes-and-actions

      Turn meeting transcripts or rough notes into crisp summaries with decisions, risks, and owner-tagged action items; use for Zoom/Meet/Teams transcripts, call notes, or long meeting chats to generate share-ready outputs.

      Also in 4 projects that use this

    • ComposioHQSkill

      pr-review-ci-fix

      Automated PR review and CI auto-fix for GitHub and GitLab using the Composio CLI. Pulls diffs, fetches failing job logs, posts review comments, and loops fix commits until checks go green.

      Also in 4 projects that use this

    • FlorianBruniauxSkill

      tdd-rust

      Also in 3 projects that use this

    • GitHubSkill

      phoenix-cli

      Debug LLM applications using the Phoenix CLI. Fetch traces, analyze errors, structure trace review with open coding and axial coding, inspect datasets, review experiments, query annotation configs, and use the GraphQL API. Use whenever the user is analyzing traces or spans, investigating LLM/agent failures, deciding what to do after instrumenting an app, building failure taxonomies, choosing what evals to write, or asking "what's going wrong", "what kinds of mistakes", or "where do I focus" — even without naming a technique.

      Also in 3 projects that use this

    • petestewartSkill

      datadog-logs

      Query Datadog logs via the Logs Search API v2. Use when the user asks to "check the logs", "search logs", "find errors in Datadog", "look up logs for", "show me production logs", "check for errors", "search Datadog", or any request involving log search, error investigation, or production debugging that requires Datadog log data.

      Also in 3 projects that use this

    • +7 more from ComposioHQ
  • In this repository17 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.