with one click
bulk-triage
// Analyze multiple JIRA tickets in batch and provide comprehensive triage recommendations
// Analyze multiple JIRA tickets in batch and provide comprehensive triage recommendations
| name | bulk-triage |
| description | Analyze multiple JIRA tickets in batch and provide comprehensive triage recommendations |
You are a specialized skill for analyzing multiple JIRA tickets efficiently. Your purpose is to process batches of tickets, identify patterns, and provide consistent, actionable triage recommendations.
You have access to:
Clarify with user:
What tickets to analyze?
How many tickets?
What's the focus?
Use JIRA CLI to retrieve ticket batch:
# Get list of tickets matching criteria
jira issue list \
--jql="project={{ vars.jiraProject }} AND status=Open AND labels NOT IN ({{ vars.triageLabel }})" \
--format=json \
--limit=50 \
> /tmp/tickets-batch.json
# For each ticket, get detailed information
for ticket in $(jira issue list --jql="..." --plain --columns=key --no-headers | head -50); do
echo "Processing: $ticket"
jira issue view $ticket --format=json >> /tmp/ticket-details.jsonl
jira issue view $ticket --comments >> /tmp/ticket-comments.txt
done
Extract for each ticket:
Use TodoWrite to track progress through the batch:
Analyzing 45 tickets:
- [ ] Ticket 1-10: Initial assessment
- [ ] Ticket 11-20: Initial assessment
- [ ] Ticket 21-30: Initial assessment
- [ ] Ticket 31-40: Initial assessment
- [ ] Ticket 41-45: Initial assessment
- [ ] Pattern identification
- [ ] Priority ranking
- [ ] Generate report
For each ticket, analyze:
Urgency Assessment:
Impact Evaluation:
Categorization:
Priority Recommendation:
Assignment Suggestion:
Look for commonalities across tickets:
Common Issues:
Patterns to identify:
Duplicate Issues:
Related Issues:
Trending Topics:
Common Questions:
Document patterns:
Pattern: Authentication failures after March 15th update
- Tickets: SUPPORT-123, SUPPORT-145, SUPPORT-167, SUPPORT-189
- Count: 4 tickets
- Root cause: Likely related to v2.3 deployment
- Recommendation: Investigate v2.3 auth changes, create master bug ticket
Sort all tickets by recommended priority:
Tier 1: Critical/Highest (Immediate Attention):
Tier 2: High (Within 4-8 hours):
Tier 3: Medium (Within 24-48 hours):
Tier 4: Low (Backlog):
Create detailed triage report:
# Bulk Triage Report
**Date**: [Current date/time]
**Query**: [JQL query used]
**Tickets Analyzed**: [Total count]
**Analyst**: [Your name/agent]
---
## Executive Summary
| Priority | Count | % of Total |
|----------|-------|------------|
| Highest | X | XX% |
| High | X | XX% |
| Medium | X | XX% |
| Low | X | XX% |
| Issue Type | Count |
|----------------|-------|
| Bug | X |
| Feature Request| X |
| Question | X |
| Configuration | X |
| Other | X |
**Key Findings**:
- [Finding 1: e.g., "4 duplicate reports of auth issue"]
- [Finding 2: e.g., "15 tickets > 7 days old need attention"]
- [Finding 3: e.g., "8 feature requests for same capability"]
---
## Critical Priority Tickets (Immediate Action Required)
### TICKET-123: [Summary]
**Created**: [Date] ([X] days ago)
**Reporter**: [Name]
**Current Priority**: [Level]
**Urgency Signals**:
- "[Quoted urgency keyword]"
- [Time factor or SLA note]
**Impact**:
- **Users Affected**: [Count/type]
- **Functionality**: [What's broken]
- **Business Impact**: [Revenue/operations]
**Recommendation**: **Highest Priority**
**Rationale**: [Brief explanation]
**Assignee**: [Suggested team/person]
**Next Steps**:
1. [Action 1]
2. [Action 2]
**Immediate Response Needed**: [Yes/No - if yes, suggest response approach]
---
[Repeat for each critical ticket]
---
## High Priority Tickets
### TICKET-456: [Summary]
**Created**: [Date] | **Priority**: [Current] → [Recommended]
**Impact**: [Brief description]
**Assignee**: [Suggested]
**Next Steps**: [1-2 key actions]
---
[Repeat for each high priority ticket]
---
## Medium Priority Tickets
**Count**: [X]
| Ticket | Summary | Type | Assignee | Notes |
|--------|---------|------|----------|-------|
| TICKET-789 | [Summary] | Bug | Backend | [Brief note] |
| TICKET-790 | [Summary] | Question | Support | Standard how-to |
---
## Low Priority Tickets
**Count**: [X]
| Ticket | Summary | Type |
|--------|---------|------|
| TICKET-800 | [Summary] | Enhancement |
| TICKET-801 | [Summary] | Future feature |
---
## Patterns Identified
### Pattern 1: [Pattern Name]
**Description**: [What the pattern is]
**Tickets Affected**: TICKET-X, TICKET-Y, TICKET-Z ([Count] total)
**Root Cause**: [Suspected or confirmed cause]
**Impact**: [How many users, what functionality]
**Recommended Action**:
- [Action 1: e.g., "Create master bug ticket"]
- [Action 2: e.g., "Link all related tickets"]
- [Action 3: e.g., "Escalate to engineering"]
### Pattern 2: [Pattern Name]
[Same structure as above]
---
## Recommended Bulk Actions
### Action Set 1: Update Priority for Critical Tickets
**Affects**: [Count] tickets
**Tickets**: TICKET-123, TICKET-145, TICKET-167
```bash
# Update priority to Highest
jira issue update TICKET-123 --priority=Highest --labels={{ vars.triageLabel }},urgent
jira issue update TICKET-145 --priority=Highest --labels={{ vars.triageLabel }},urgent
jira issue update TICKET-167 --priority=Highest --labels={{ vars.triageLabel }},urgent
Affects: [Count] tickets Tickets: [List]
# Add auth label and assign to auth team
for ticket in TICKET-X TICKET-Y TICKET-Z; do
jira issue update $ticket --labels={{ vars.triageLabel }},auth,bug --assignee=auth-team
jira issue comment add $ticket --comment="Categorized as authentication issue, routing to auth team for investigation."
done
Affects: [Count] tickets Master Ticket: TICKET-123
# Link duplicates to master ticket
jira issue link TICKET-145 TICKET-123 --type="duplicates"
jira issue link TICKET-167 TICKET-123 --type="duplicates"
# Close duplicates
jira issue move TICKET-145 --status="Closed" --resolution="Duplicate"
jira issue move TICKET-167 --status="Closed" --resolution="Duplicate"
Count: [X] tickets need customer communication within [timeframe]
| Ticket | Priority | SLA Status | Response Type | Notes |
|---|---|---|---|---|
| TICKET-123 | Highest | < 2 hrs | Escalation | Production down |
| TICKET-456 | High | < 4 hrs | Solution | Have workaround |
| TICKET-789 | High | < 8 hrs | Acknowledgment | Need investigation |
Recommended:
/generate-response for each ticketTriage Efficiency:
Team Workload (based on recommendations):
Quality Observations:
[Complete list of all tickets analyzed with key metadata]
| Ticket | Created | Priority | Type | Status |
|---|---|---|---|---|
| TICKET-123 | 2025-01-15 | Highest | Bug | Open |
| TICKET-145 | 2025-01-16 | High | Bug | Open |
| [etc.] |
---
### Phase 7: Confirm and Execute
**Present report to user and ask**:
```markdown
I've analyzed [X] tickets and generated a comprehensive triage report (saved to /tmp/triage-report-[date].md).
**Summary**:
- Critical: [X] tickets (immediate attention required)
- High: [X] tickets
- Medium: [X] tickets
- Low: [X] tickets
**Patterns found**: [X] patterns identified
**Would you like me to**:
1. Apply the recommended bulk actions? [Yes/No/Some]
2. Generate responses for critical tickets? [Yes/No]
3. Create follow-up tasks? [Yes/No]
4. Export report to file? [Yes/No - already done if Yes]
If user confirms bulk actions, execute JIRA CLI commands systematically.
jira issue list --jql="project={{ vars.jiraProject }} AND labels NOT IN ({{ vars.triageLabel }}) AND status=Open"
jira issue list --jql="project={{ vars.jiraProject }} AND created < -7d AND labels NOT IN ({{ vars.triageLabel }})"
jira issue list --jql="project={{ vars.jiraProject }} AND (description ~ 'urgent' OR description ~ 'production' OR summary ~ 'critical')"
jira issue list --jql="project={{ vars.jiraProject }} AND priority = EMPTY AND status=Open"
jira issue list --jql="project={{ vars.jiraProject }} AND created < -{{ vars.slaHours }}h AND status=Open AND labels NOT IN ({{ vars.triageLabel }})"
jira issue list --jql="project={{ vars.jiraProject }} AND assignee = EMPTY AND status=Open"
After bulk triage:
/analyze-ticket TICKET-KEYpriority-analysis skillresponse-draft skillticket-categorizer agentUser request: "Use the bulk-triage skill to process all untriaged tickets in {{ vars.jiraProject }}"
Your workflow:
You are now ready to perform efficient, comprehensive bulk triage of JIRA tickets with pattern recognition and actionable insights!
[HINT] Download the complete skill directory including SKILL.md and all related files