Triaging KTLO
Overview
Transforms a chaotic KTLO (Keep The Lights On) backlog into a structured product view. Categorizes issues into 5 buckets, surfaces the top 20, and recommends stop/fix/defer actions.
When to Use
- Inherited a messy Jira backlog
- Support team keeps escalating issues
- Need to present KTLO to leadership
- Want to find patterns in operational burden
Core Pattern
Step 1: Load Jira Export
Read files in inputs/jira/ (CSV preferred, but accept HTML/PDF/MD).
Required columns (or equivalents):
- Issue key, Summary, Status, Priority
- Component/Product area
- Created date, Updated date
- Labels, Customer impact (if present)
- Escalation flag, Linked tickets
If columns are missing, note what's unknown.
Step 2: Categorize into 5 Buckets
| Bucket |
Definition |
Signals |
| 1. Revenue/Renewal Risk |
Could cause churn or block deals |
"customer threatening to leave", "blocker for renewal", escalation tags |
| 2. Customer Trust & Data Integrity |
Errors, data corruption, incorrect outputs |
"data mismatch", "wrong values", "sync failed" |
| 3. Operational Burden |
High support volume, field escalations |
Multiple linked tickets, repeat issues, "workaround" in comments |
| 4. Paper Cuts (UX Friction) |
Annoyances that don't break things |
"confusing", "should be easier", "unexpected behavior" |
| 5. Tech Debt Blocking Roadmap |
Can't build new things until fixed |
Dependencies mentioned, "refactor needed", "legacy" |
Step 3: Score and Rank
For each issue, note:
- Which bucket(s) it belongs to
- Severity (Critical/High/Medium/Low)
- Recency (last updated)
- Volume (linked tickets, duplicates)
Step 4: Generate Output
Write to outputs/ktlo/ktlo-triage-YYYY-MM-DD.md:
---
generated: YYYY-MM-DD HH:MM
skill: triaging-ktlo
sources:
- inputs/jira/export.csv (modified: YYYY-MM-DD)
downstream:
- outputs/roadmap/Qx-YYYY-charters.md
---
# KTLO Triage: [Date]
## Executive Summary
[3 sentences: What's the state of KTLO? What's most urgent?]
## Bucket Overview
| Bucket | Count | Critical | High | Med | Low |
|--------|-------|----------|------|-----|-----|
| 1. Revenue Risk | N | N | N | N | N |
| 2. Trust/Data | N | N | N | N | N |
| 3. Ops Burden | N | N | N | N | N |
| 4. Paper Cuts | N | N | N | N | N |
| 5. Tech Debt | N | N | N | N | N |
| **Total** | N | N | N | N | N |
## Top 20 Issues
| Rank | Key | Summary | Bucket | Severity | Why It Matters | Who Feels Pain | Next Step |
|------|-----|---------|--------|----------|----------------|----------------|-----------|
| 1 | ABC-123 | [summary] | 1 | Critical | [reason] | [persona] | [action] |
| ... | ... | ... | ... | ... | ... | ... | ... |
## Patterns Observed
1. **[Pattern]:** [Description] — Affected issues: [list keys]
2. ...
## Recommendations
### STOP (Deprioritize/Close)
| Key | Reason |
|-----|--------|
| ... | [why this can be closed or deprioritized] |
### FIX (Address Soon)
| Key | Reason | Suggested Sprint |
|-----|--------|------------------|
| ... | [why urgent] | [Q1/Q2/etc] |
### DEFER (Later / Needs More Info)
| Key | Reason |
|-----|--------|
| ... | [why this can wait] |
## Unknowns / Missing Data
- [What columns were missing?]
- [What context would help?]
## Sources Used
- [file paths]
## Claims Ledger
| Claim | Type | Source |
|-------|------|--------|
| [Issue affects X customers] | Evidence/Unknown | [from ticket or "Not stated"] |
Step 5: Copy to History & Update Tracker
- Copy to
history/triaging-ktlo/ktlo-triage-YYYY-MM-DD.md
- Update
alerts/stale-outputs.md
Quick Reference
| Bucket |
Key Signal |
| 1. Revenue Risk |
"churn", "renewal", escalation |
| 2. Trust/Data |
"incorrect", "mismatch", "corruption" |
| 3. Ops Burden |
Multiple tickets, workarounds |
| 4. Paper Cuts |
"confusing", "annoying" |
| 5. Tech Debt |
"refactor", "legacy", "blocker" |
Common Mistakes
- Missing buckets: Only listing revenue risk → Check all 5 buckets
- No severity: "These are all important" → Rank by Critical/High/Med/Low
- Guessing impact: "This affects many customers" → Only state if in ticket
- Ignoring patterns: Treating each ticket independently → Group related issues
- No next steps: Just listing issues → Every issue needs suggested action
Verification Checklist
Evidence Tracking
| Claim |
Type |
Source |
| [Issue is Critical] |
Evidence |
[ticket priority field] |
| [Affects enterprise customers] |
Evidence/Unknown |
[stated in ticket or "Unknown"] |
| [Pattern affects N tickets] |
Evidence |
[list of ticket keys] |
1---2name: triaging-ktlo3description: Use when you have a Jira backlog export and need to turn KTLO tickets into a product-view with prioritized buckets.4---5
6# Triaging KTLO
7
8## Overview
9
10Transforms a chaotic KTLO (Keep The Lights On) backlog into a structured product view. Categorizes issues into 5 buckets, surfaces the top 20, and recommends stop/fix/defer actions.
11
12## When to Use
13
14- Inherited a messy Jira backlog
15- Support team keeps escalating issues
16- Need to present KTLO to leadership
17- Want to find patterns in operational burden
18
19## Core Pattern
20
21**Step 1: Load Jira Export**
22
23Read files in `inputs/jira/` (CSV preferred, but accept HTML/PDF/MD).
24
25Required columns (or equivalents):
26- Issue key, Summary, Status, Priority
27- Component/Product area
28- Created date, Updated date
29- Labels, Customer impact (if present)
30- Escalation flag, Linked tickets
31
32If columns are missing, note what's unknown.
33
34**Step 2: Categorize into 5 Buckets**
35
36| Bucket | Definition | Signals |
37|--------|------------|---------|
38| **1. Revenue/Renewal Risk** | Could cause churn or block deals | "customer threatening to leave", "blocker for renewal", escalation tags |
39| **2. Customer Trust & Data Integrity** | Errors, data corruption, incorrect outputs | "data mismatch", "wrong values", "sync failed" |
40| **3. Operational Burden** | High support volume, field escalations | Multiple linked tickets, repeat issues, "workaround" in comments |
41| **4. Paper Cuts (UX Friction)** | Annoyances that don't break things | "confusing", "should be easier", "unexpected behavior" |
42| **5. Tech Debt Blocking Roadmap** | Can't build new things until fixed | Dependencies mentioned, "refactor needed", "legacy" |
43
44**Step 3: Score and Rank**
45
46For each issue, note:
47- Which bucket(s) it belongs to
48- Severity (Critical/High/Medium/Low)
49- Recency (last updated)
50- Volume (linked tickets, duplicates)
51
52**Step 4: Generate Output**
53
54Write to `outputs/ktlo/ktlo-triage-YYYY-MM-DD.md`:
55
56```markdown
57---
58generated: YYYY-MM-DD HH:MM
59skill: triaging-ktlo
60sources:
61 - inputs/jira/export.csv (modified: YYYY-MM-DD)
62downstream:
63 - outputs/roadmap/Qx-YYYY-charters.md
64---
65
66# KTLO Triage: [Date]
67
68## Executive Summary
69[3 sentences: What's the state of KTLO? What's most urgent?]
70
71## Bucket Overview
72
73| Bucket | Count | Critical | High | Med | Low |
74|--------|-------|----------|------|-----|-----|
75| 1. Revenue Risk | N | N | N | N | N |
76| 2. Trust/Data | N | N | N | N | N |
77| 3. Ops Burden | N | N | N | N | N |
78| 4. Paper Cuts | N | N | N | N | N |
79| 5. Tech Debt | N | N | N | N | N |
80| **Total** | N | N | N | N | N |
81
82## Top 20 Issues
83
84| Rank | Key | Summary | Bucket | Severity | Why It Matters | Who Feels Pain | Next Step |
85|------|-----|---------|--------|----------|----------------|----------------|-----------|
86| 1 | ABC-123 | [summary] | 1 | Critical | [reason] | [persona] | [action] |
87| ... | ... | ... | ... | ... | ... | ... | ... |
88
89## Patterns Observed
901. **[Pattern]:** [Description] — Affected issues: [list keys]
912. ...
92
93## Recommendations
94
95### STOP (Deprioritize/Close)
96| Key | Reason |
97|-----|--------|
98| ... | [why this can be closed or deprioritized] |
99
100### FIX (Address Soon)
101| Key | Reason | Suggested Sprint |
102|-----|--------|------------------|
103| ... | [why urgent] | [Q1/Q2/etc] |
104
105### DEFER (Later / Needs More Info)
106| Key | Reason |
107|-----|--------|
108| ... | [why this can wait] |
109
110## Unknowns / Missing Data
111- [What columns were missing?]
112- [What context would help?]
113
114## Sources Used
115- [file paths]
116
117## Claims Ledger
118| Claim | Type | Source |
119|-------|------|--------|
120| [Issue affects X customers] | Evidence/Unknown | [from ticket or "Not stated"] |
121```
122
123**Step 5: Copy to History & Update Tracker**
124
125- Copy to `history/triaging-ktlo/ktlo-triage-YYYY-MM-DD.md`
126- Update `alerts/stale-outputs.md`
127
128## Quick Reference
129
130| Bucket | Key Signal |
131|--------|------------|
132| 1. Revenue Risk | "churn", "renewal", escalation |
133| 2. Trust/Data | "incorrect", "mismatch", "corruption" |
134| 3. Ops Burden | Multiple tickets, workarounds |
135| 4. Paper Cuts | "confusing", "annoying" |
136| 5. Tech Debt | "refactor", "legacy", "blocker" |
137
138## Common Mistakes
139
140- **Missing buckets:** Only listing revenue risk → Check all 5 buckets
141- **No severity:** "These are all important" → Rank by Critical/High/Med/Low
142- **Guessing impact:** "This affects many customers" → Only state if in ticket
143- **Ignoring patterns:** Treating each ticket independently → Group related issues
144- **No next steps:** Just listing issues → Every issue needs suggested action
145
146## Verification Checklist
147
148- [ ] All Jira files read
149- [ ] Issues categorized into 5 buckets
150- [ ] Counts are accurate
151- [ ] Top 20 ranked with reasons
152- [ ] Stop/Fix/Defer recommendations provided
153- [ ] Patterns identified and documented
154- [ ] Unknown/missing data noted
155- [ ] Metadata header complete
156- [ ] Copied to history, tracker updated
157
158## Evidence Tracking
159
160| Claim | Type | Source |
161|-------|------|--------|
162| [Issue is Critical] | Evidence | [ticket priority field] |
163| [Affects enterprise customers] | Evidence/Unknown | [stated in ticket or "Unknown"] |
164| [Pattern affects N tickets] | Evidence | [list of ticket keys] |