// "Intelligently triage bug reports and error messages by searching for duplicates in Jira and offering to create new issues or add comments to existing ones. When Claude needs to: (1) Triage a bug report or error message, (2) Check if an issue is a duplicate, (3) Find similar past issues, (4) Create a new bug ticket with proper context, or (5) Add information to an existing ticket. Searches Jira for similar issues, identifies duplicates, checks fix history, and helps create well-structured bug reports."
| name | triage-issue |
| description | Intelligently triage bug reports and error messages by searching for duplicates in Jira and offering to create new issues or add comments to existing ones. When Claude needs to: (1) Triage a bug report or error message, (2) Check if an issue is a duplicate, (3) Find similar past issues, (4) Create a new bug ticket with proper context, or (5) Add information to an existing ticket. Searches Jira for similar issues, identifies duplicates, checks fix history, and helps create well-structured bug reports. |
triage bug, check duplicate, is this a duplicate, search for similar issues, create bug ticket, file a bug, report this error, triage this error, bug report, error message, similar issues, duplicate bug, who fixed this, has this been reported, search bugs, find similar bugs, create issue, file issue
Automatically triage bug reports and error messages by searching Jira for duplicates, identifying similar past issues, and helping create well-structured bug tickets or add context to existing issues. This skill eliminates manual duplicate checking and ensures bugs are properly documented with relevant historical context.
Use this skill when: Users need to triage error messages, bug reports, or issues to determine if they're duplicates and take appropriate action.
Follow this 6-step process to effectively triage issues:
Analyze the bug report or error message to identify search terms.
Error signature:
Context:
Symptoms:
Input: "Users getting 'Connection timeout' error when trying to login on mobile app" Extracted:
Input: "NullPointerException in PaymentProcessor.processRefund() line 245" Extracted:
Search Jira using extracted keywords to find similar or duplicate issues.
Execute multiple targeted searches to catch duplicates that may use different wording:
Search 1: Error-focused
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND (text ~ "error signature" OR summary ~ "error signature") AND type = Bug ORDER BY created DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)
Search 2: Component-focused
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND text ~ "component keywords" AND type = Bug ORDER BY updated DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)
Search 3: Symptom-focused
searchJiraIssuesUsingJql(
cloudId="...",
jql='project = "PROJ" AND summary ~ "symptom keywords" AND type = Bug ORDER BY priority DESC, updated DESC',
fields=["summary", "description", "status", "resolution", "created", "updated", "assignee"],
maxResults=20
)
Use key terms only:
Search recent first:
created DESC or updated DESC to find recent similar issuesDon't over-filter:
Evaluate the search results to determine if this is a duplicate or a new issue.
High confidence duplicate (>90%):
Likely duplicate (70-90%):
Possibly related (40-70%):
Likely new issue (<40%):
If similar resolved issues are found:
Extract relevant information:
Present this context to help with triage decision.
CRITICAL: Always present findings and wait for user decision before taking any action.
🔍 **Triage Results: Likely Duplicate**
I found a very similar issue already reported:
**PROJ-456** - Connection timeout during mobile login
Status: Open | Priority: High | Created: 3 days ago
Assignee: @john.doe
https://yoursite.atlassian.net/browse/PROJ-456
**Similarity:**
- Same error: "Connection timeout"
- Same component: Mobile app login
- Same symptoms: Users unable to login
**Difference:**
- Original report mentioned iOS specifically, this report doesn't specify platform
**Recommendation:** Add your details as a comment to PROJ-456
Would you like me to:
1. Add a comment to PROJ-456 with your error details
2. Create a new issue anyway (if you think this is different)
3. Show me more details about PROJ-456 first
🔍 **Triage Results: Possibly Related Issues Found**
I found 2 potentially related issues:
**1. PROJ-789** - Mobile app authentication failures
Status: Resolved | Fixed: 2 weeks ago | Fixed by: @jane.smith
https://yoursite.atlassian.net/browse/PROJ-789
**2. PROJ-234** - Login timeout on slow connections
Status: Open | Priority: Medium | Created: 1 month ago
https://yoursite.atlassian.net/browse/PROJ-234
**Assessment:** Your error seems related but has unique aspects
**Recommendation:** Create a new issue, but reference these related tickets
Would you like me to create a new bug ticket?
🔍 **Triage Results: No Duplicates Found**
I searched Jira for:
- "Connection timeout" errors
- Mobile login issues
- Authentication failures
No similar open or recent issues found.
**Recommendation:** Create a new bug ticket
**Note:** I found 1 old resolved issue (PROJ-123 from 8 months ago) about login timeouts, but it was for web, not mobile, and was resolved as "configuration error."
Would you like me to create a new bug ticket for this issue?
Based on user's choice, either add a comment or create a new issue.
If user wants to add to existing issue:
Fetch the full issue first to understand context:
getJiraIssue(
cloudId="...",
issueIdOrKey="PROJ-456"
)
Then add the comment:
addCommentToJiraIssue(
cloudId="...",
issueIdOrKey="PROJ-456",
commentBody="[formatted comment - see below]"
)
Comment Structure:
## Additional Instance Reported
**Reporter:** [User's name or context]
**Date:** [Current date]
**Error Details:**
[Paste relevant error message or stack trace]
**Context:**
- Environment: [e.g., Production, iOS 16.5]
- User Impact: [e.g., 50+ users affected in last hour]
- Steps to Reproduce: [if provided]
**Additional Notes:**
[Any unique aspects of this instance]
---
*Added via triage automation*
If user wants to create new issue:
First, check available issue types:
getJiraProjectIssueTypesMetadata(
cloudId="...",
projectIdOrKey="PROJ"
)
Determine appropriate issue type:
Create the issue:
createJiraIssue(
cloudId="...",
projectKey="PROJ",
issueTypeName="Bug",
summary="[Clear, specific summary - see below]",
description="[Detailed description - see below]",
additional_fields={
"priority": {"name": "Medium"} # Adjust based on user input severity assessment
}
)
Summary Format:
Use the pattern: [Component] [Error Type] - [Brief Symptom]
Examples:
Description Structure:
## Issue Description
[1-2 sentence summary of the problem]
## Error Details
[Error message or stack trace]
## Environment
- **Platform:** [e.g., Mobile iOS, Web, API]
- **Version:** [if known]
- **Environment:** [Production/Staging/etc]
## Steps to Reproduce
1. [Step 1]
2. [Step 2]
3. [Step 3]
## Expected Behavior
[What should happen]
## Actual Behavior
[What actually happens]
## User Impact
- **Frequency:** [e.g., Every time, Intermittent]
- **Affected Users:** [e.g., All users, Mobile users only]
- **Severity:** [e.g., Users cannot complete checkout]
## Additional Context
[Any other relevant information]
## Related Issues
[If applicable, reference similar issues found during triage]
- See also: PROJ-123 (similar but resolved)
---
*Created via automated triage*
After taking action, confirm what was done.
✅ **Comment Added Successfully**
Added details to existing issue: **PROJ-456**
https://yoursite.atlassian.net/browse/PROJ-456
**What I included:**
- Your error details
- Environment context
- User impact information
**Next Steps:**
- The assignee (@john.doe) will be notified
- Monitor PROJ-456 for updates
- If this turns out to be different, we can still create a separate ticket
✅ **New Issue Created**
**PROJ-890** - Mobile Login: Connection timeout during authentication
https://yoursite.atlassian.net/browse/PROJ-890
Type: Bug | Priority: Medium | Status: Open
**What's Included:**
- Complete error details and stack trace
- Environment and reproduction steps
- User impact assessment
- References to related issues (PROJ-123, PROJ-789)
**Next Steps:**
- Issue will be reviewed during next triage meeting
- Consider setting priority based on user impact
- Assign to appropriate team member
If you find 3+ very similar issues:
🔍 **Triage Results: Multiple Possible Duplicates**
I found 3 issues that might be related:
**Most Likely Duplicate:**
**PROJ-456** - [summary] (Open, 2 days ago)
Match: 95% - Same error and component
**Also Possibly Related:**
**PROJ-234** - [summary] (Open, 1 month ago)
Match: 70% - Similar symptoms, different error
**PROJ-123** - [summary] (Resolved, 8 months ago)
Match: 60% - Related component, but was fixed
**Recommendation:**
1. Add to PROJ-456 (most similar)
2. Reference PROJ-234 in your comment (might be related)
3. Note PROJ-123 was previously fixed (possible regression)
Which issue should I add your details to? (Or create new)
If user doesn't specify which project:
Which Jira project should I search for similar issues?
Available projects:
- BACKEND (Backend Services)
- MOBILE (Mobile Apps)
- WEB (Web Platform)
- INFRA (Infrastructure)
Or tell me the project key directly (e.g., BACKEND, MOBILE)
If the bug report lacks critical details:
I need more information to effectively triage this issue:
**What I have:**
- Error: "Something went wrong"
**What would help:**
- Specific error message or code
- Which part of the system (login, payment, etc.)
- What the user was trying to do
- Which environment (production, staging, mobile, web)
Can you provide any of these details?
If you find a resolved issue that matches:
🔍 **Triage Results: Possible Regression**
This looks like it might be a regression of a previously fixed issue:
**PROJ-567** - [Same issue description]
Status: Resolved (Fixed) | Fixed: 3 months ago | Fixed by: @jane.smith
Resolution: [Brief description of fix]
https://yoursite.atlassian.net/browse/PROJ-567
**This suggests:**
- The original fix may not have fully addressed the root cause
- OR there's been a regression in recent changes
- OR this is a different issue with similar symptoms
**Recommendation:** Create a new issue and link it to PROJ-567 as "may be related to" or "regression of"
Should I create a new issue with this context?
If creating an issue fails due to required fields:
getJiraIssueTypeMetaWithFields(
cloudId="...",
projectIdOrKey="PROJ",
issueTypeId="10001"
)
This project requires additional fields to create a Bug:
- Severity: [High/Medium/Low]
- Affected Version: [Version number]
Please provide these values so I can create the issue.
createJiraIssue(
...existing parameters...,
additional_fields={
"priority": {"name": "High"},
"customfield_10001": {"value": "Production"}
}
)
Do: ✅ Use multiple search queries with different angles ✅ Include both open and resolved issues in search ✅ Search for error signatures and symptoms separately ✅ Look at recent issues first (last 30-90 days) ✅ Check for patterns (multiple reports of same thing)
Don't: ❌ Search with entire error messages (too specific) ❌ Only search open issues (miss fix history) ❌ Ignore resolved issues (miss regressions) ❌ Use too many keywords (reduces matches)
Do: ✅ Write clear, specific summaries with component names ✅ Include complete error messages in code blocks ✅ Add environment and impact details ✅ Reference related issues found during search ✅ Use "Bug" issue type for actual bugs
Don't: ❌ Create vague summaries like "Error in production" ❌ Paste entire stack traces in summary (use description) ❌ Skip reproduction steps ❌ Forget to mention user impact ❌ Hard-code issue type without checking availability
High Confidence Duplicates:
Likely Different Issues:
When Unsure:
User Input:
Triage this error: "Connection timeout error when users try to login on iOS app"
Process:
Output:
✅ Comment added to PROJ-456
Your iOS-specific error details have been added to the existing issue.
The assignee will be notified.
User Input:
Error: NullPointerException in PaymentProcessor.processRefund() at line 245
Stack trace: [full stack trace]
Process:
Output:
✅ New Issue Created
PROJ-890 - Payment API: NullPointerException in refund processing
https://yoursite.atlassian.net/browse/PROJ-890
References related issue PROJ-789 for context.
User Input:
Users can't upload files larger than 5MB, getting "Upload failed" error
Process:
Output:
✅ New Issue Created (Possible Regression)
PROJ-891 - File Upload: Upload failed for files >5MB (Regression?)
https://yoursite.atlassian.net/browse/PROJ-891
This may be a regression of PROJ-234, which was resolved 2 months ago.
Issue includes reference to original fix for investigation.
This skill is for triaging bugs and errors only. Do NOT use for:
❌ Feature requests (use spec-to-backlog) ❌ General task creation (use capture-tasks-from-meeting-notes) ❌ Searching for information (use search-company-knowledge) ❌ Generating status reports (use generate-status-report)
Use this skill specifically for: ✅ "Is this a duplicate bug?" ✅ "Triage this error message" ✅ "Has this been reported before?" ✅ "Create a bug ticket for this"
Primary workflow: Extract → Search → Analyze → Present → Execute → Confirm
Search tool: searchJiraIssuesUsingJql(cloudId, jql, fields, maxResults)
Action tools:
addCommentToJiraIssue(cloudId, issueIdOrKey, commentBody) - Add to existingcreateJiraIssue(cloudId, projectKey, issueTypeName, summary, description) - Create newIssue type: Always prefer "Bug" for error reports, check with getJiraProjectIssueTypesMetadata
Remember: