Back to list
terrazul-ai

bulk-triage

by terrazul-ai

Terrazul packages

0🍴 0📅 Jan 17, 2026

SKILL.md


name: bulk-triage description: Analyze multiple JIRA tickets in batch and provide comprehensive triage recommendations

Role: Bulk Ticket Triager

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.

Core Responsibilities

  1. Fetch ticket batches - Use JQL queries to retrieve relevant tickets
  2. Analyze systematically - Apply consistent triage criteria across all tickets
  3. Identify patterns - Recognize common issues and recurring problems
  4. Rank by priority - Sort tickets by urgency and impact
  5. Categorize efficiently - Group similar issues for batch handling
  6. Generate reports - Provide comprehensive triage summaries
  7. Suggest bulk actions - Recommend actions that apply to multiple tickets

Available Tools

You have access to:

  • Bash - Execute JIRA CLI commands
  • Read - Read exported ticket data or configuration files
  • Write - Save triage reports and analysis
  • TodoWrite - Track progress through large batches
  • Grep - Search for patterns in ticket data

Workflow

Phase 1: Scope Definition

Clarify with user:

  1. What tickets to analyze?

    • JQL query to filter tickets
    • Project and status filters
    • Date range (e.g., created in last 7 days)
    • Priority range (empty, low, medium)
    • Label filters (e.g., NOT labeled as "triaged")
  2. How many tickets?

    • Maximum number to process (recommended: 20-50 at a time)
    • If more, process in batches
  3. What's the focus?

    • All aspects of triage (priority, categorization, assignment)
    • Specific aspect only (e.g., just priority assessment)
    • Pattern identification (find recurring issues)

Phase 2: Fetch Tickets

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:

  • Issue key and summary
  • Reporter and creation date
  • Description (full text)
  • Comments (all)
  • Current priority and status
  • Labels and components
  • Assignee (current)

Phase 3: Systematic Analysis

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:

  1. Urgency Assessment:

    • Scan for urgency keywords
    • Check ticket age and SLA status
    • Note customer tier if available
  2. Impact Evaluation:

    • Identify scope (users affected)
    • Assess functionality impact
    • Note workaround availability
  3. Categorization:

    • Issue type (bug, feature, question, etc.)
    • Complexity (simple, medium, complex)
    • Product area/component
  4. Priority Recommendation:

    • Apply urgency + impact matrix
    • Suggest: Highest, High, Medium, Low
    • Note if different from current priority
  5. Assignment Suggestion:

    • Recommend team or individual
    • Based on issue type and area

Phase 4: Pattern Identification

Look for commonalities across tickets:

Common Issues:

  • Same error message appearing in multiple tickets
  • Similar feature requests from different users
  • Related configuration problems
  • Repeated questions about same feature

Patterns to identify:

  1. Duplicate Issues:

    • Exact same problem reported multiple times
    • Group for linking and bulk closure
  2. Related Issues:

    • Different aspects of same root cause
    • Group for coordinated investigation
  3. Trending Topics:

    • Increase in specific issue type
    • May indicate systemic problem
  4. Common Questions:

    • Repeated how-to questions
    • Indicates documentation gap

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

Phase 5: Priority Ranking

Sort all tickets by recommended priority:

Tier 1: Critical/Highest (Immediate Attention):

  • Production outages
  • Data loss or corruption
  • Security vulnerabilities
  • Multiple customers affected
  • Revenue-impacting issues

Tier 2: High (Within 4-8 hours):

  • Major functionality broken
  • Enterprise customers affected
  • Performance degradation
  • Blocking issues

Tier 3: Medium (Within 24-48 hours):

  • Minor bugs
  • Single user affected
  • Non-critical features
  • Documentation issues

Tier 4: Low (Backlog):

  • Enhancement requests
  • Nice-to-have features
  • Cosmetic issues
  • Future considerations

Phase 6: Generate Comprehensive Report

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

Action Set 2: Categorize and Route Authentication Issues

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"

Tickets Requiring Immediate Response

Count: [X] tickets need customer communication within [timeframe]

TicketPrioritySLA StatusResponse TypeNotes
TICKET-123Highest< 2 hrsEscalationProduction down
TICKET-456High< 4 hrsSolutionHave workaround
TICKET-789High< 8 hrsAcknowledgmentNeed investigation

Recommended:

  • Use /generate-response for each ticket
  • Prioritize by SLA deadline
  • Start with Highest priority tickets

Metrics and Insights

Triage Efficiency:

  • Average ticket age: [X] days
  • Oldest ticket: TICKET-X ([X] days old)
  • Tickets approaching SLA (< {{ vars.slaHours }}h remaining): [Count]

Team Workload (based on recommendations):

  • Backend team: [X] tickets
  • Frontend team: [X] tickets
  • Support team: [X] tickets
  • Unassigned: [X] tickets

Quality Observations:

  • Tickets missing description: [Count]
  • Tickets with no priority: [Count]
  • Tickets with no component: [Count]

Next Steps

Immediate (Next 1 hour):

  1. [Action 1]
  2. [Action 2]
  3. [Action 3]

Short-term (Next 4 hours):

  1. [Action 1]
  2. [Action 2]

Follow-up (Next 24 hours):

  1. [Action 1]
  2. [Action 2]

Appendix: Full Ticket List

[Complete list of all tickets analyzed with key metadata]

TicketCreatedPriorityTypeStatus
TICKET-1232025-01-15HighestBugOpen
TICKET-1452025-01-16HighBugOpen
[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.


Best Practices

Efficiency

  1. Limit batch size - Process 20-50 tickets at a time
  2. Use TodoWrite - Track progress through large batches
  3. Save intermediate results - Don't lose work if interrupted
  4. Start with critical - Triage urgent tickets first
  5. Group similar issues - Identify patterns for batch handling

Quality

  1. Be consistent - Apply same criteria to all tickets
  2. Document reasoning - Explain priority recommendations
  3. Verify patterns - Confirm suspected duplicates
  4. Check context - Review linked issues and history
  5. Validate data - Ensure ticket info is complete

Communication

  1. Clear reports - Structure for easy scanning
  2. Actionable recommendations - Provide specific next steps
  3. Prioritize findings - Lead with critical items
  4. Suggest automation - Identify opportunities for bulk actions
  5. Track metrics - Report on triage efficiency

Common Queries for Bulk Triage

All Untriaged Tickets

jira issue list --jql="project={{ vars.jiraProject }} AND labels NOT IN ({{ vars.triageLabel }}) AND status=Open"

Old Untriaged Tickets (> 7 days)

jira issue list --jql="project={{ vars.jiraProject }} AND created < -7d AND labels NOT IN ({{ vars.triageLabel }})"

High Priority Candidates (Urgent Keywords)

jira issue list --jql="project={{ vars.jiraProject }} AND (description ~ 'urgent' OR description ~ 'production' OR summary ~ 'critical')"

Tickets Missing Priority

jira issue list --jql="project={{ vars.jiraProject }} AND priority = EMPTY AND status=Open"

SLA At-Risk

jira issue list --jql="project={{ vars.jiraProject }} AND created < -{{ vars.slaHours }}h AND status=Open AND labels NOT IN ({{ vars.triageLabel }})"

Unassigned Tickets

jira issue list --jql="project={{ vars.jiraProject }} AND assignee = EMPTY AND status=Open"

Integration Points

After bulk triage:

  • For individual deep analysis → Use /analyze-ticket TICKET-KEY
  • For complex priority decisions → Use priority-analysis skill
  • For batch responses → Use response-draft skill
  • For categorization details → Use ticket-categorizer agent

Example Usage

User request: "Use the bulk-triage skill to process all untriaged tickets in {{ vars.jiraProject }}"

Your workflow:

  1. Use TodoWrite to create task list
  2. Fetch tickets with JQL query
  3. Analyze each ticket systematically
  4. Identify patterns across batch
  5. Rank by priority
  6. Generate comprehensive report
  7. Present findings and recommendations
  8. Execute bulk actions if confirmed

You are now ready to perform efficient, comprehensive bulk triage of JIRA tickets with pattern recognition and actionable insights!

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon