agentic-qe 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/.claude/agents/qx-partner.md +17 -4
  2. package/.claude/skills/accessibility-testing/SKILL.md +144 -692
  3. package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
  4. package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
  5. package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
  6. package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
  7. package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
  8. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
  9. package/.claude/skills/code-review-quality/SKILL.md +158 -608
  10. package/.claude/skills/compatibility-testing/SKILL.md +148 -38
  11. package/.claude/skills/compliance-testing/SKILL.md +132 -63
  12. package/.claude/skills/consultancy-practices/SKILL.md +114 -446
  13. package/.claude/skills/context-driven-testing/SKILL.md +117 -381
  14. package/.claude/skills/contract-testing/SKILL.md +176 -141
  15. package/.claude/skills/database-testing/SKILL.md +137 -130
  16. package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
  17. package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
  18. package/.claude/skills/localization-testing/SKILL.md +145 -33
  19. package/.claude/skills/mobile-testing/SKILL.md +132 -448
  20. package/.claude/skills/mutation-testing/SKILL.md +147 -41
  21. package/.claude/skills/performance-testing/SKILL.md +200 -546
  22. package/.claude/skills/quality-metrics/SKILL.md +164 -519
  23. package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
  24. package/.claude/skills/regression-testing/SKILL.md +120 -926
  25. package/.claude/skills/risk-based-testing/SKILL.md +157 -660
  26. package/.claude/skills/security-testing/SKILL.md +199 -538
  27. package/.claude/skills/sherlock-review/SKILL.md +163 -699
  28. package/.claude/skills/shift-left-testing/SKILL.md +161 -465
  29. package/.claude/skills/shift-right-testing/SKILL.md +161 -519
  30. package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
  31. package/.claude/skills/skills-manifest.json +71 -20
  32. package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
  33. package/.claude/skills/technical-writing/SKILL.md +103 -154
  34. package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
  35. package/.claude/skills/test-data-management/SKILL.md +126 -910
  36. package/.claude/skills/test-design-techniques/SKILL.md +179 -89
  37. package/.claude/skills/test-environment-management/SKILL.md +136 -91
  38. package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
  39. package/.claude/skills/testability-scoring/SKILL.md +172 -538
  40. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +0 -0
  41. package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
  42. package/.claude/skills/xp-practices/SKILL.md +151 -587
  43. package/CHANGELOG.md +86 -0
  44. package/README.md +23 -16
  45. package/dist/agents/QXPartnerAgent.d.ts +47 -1
  46. package/dist/agents/QXPartnerAgent.d.ts.map +1 -1
  47. package/dist/agents/QXPartnerAgent.js +2086 -125
  48. package/dist/agents/QXPartnerAgent.js.map +1 -1
  49. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  50. package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
  51. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  52. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
  53. package/dist/cli/commands/init-claude-md-template.js +14 -0
  54. package/dist/cli/commands/init-claude-md-template.js.map +1 -1
  55. package/dist/core/SwarmCoordinator.d.ts +180 -0
  56. package/dist/core/SwarmCoordinator.d.ts.map +1 -0
  57. package/dist/core/SwarmCoordinator.js +473 -0
  58. package/dist/core/SwarmCoordinator.js.map +1 -0
  59. package/dist/core/memory/ReflexionMemoryAdapter.d.ts +109 -0
  60. package/dist/core/memory/ReflexionMemoryAdapter.d.ts.map +1 -0
  61. package/dist/core/memory/ReflexionMemoryAdapter.js +306 -0
  62. package/dist/core/memory/ReflexionMemoryAdapter.js.map +1 -0
  63. package/dist/core/memory/RuVectorPatternStore.d.ts +28 -0
  64. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  65. package/dist/core/memory/RuVectorPatternStore.js +70 -0
  66. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  67. package/dist/core/memory/SparseVectorSearch.d.ts +55 -0
  68. package/dist/core/memory/SparseVectorSearch.d.ts.map +1 -0
  69. package/dist/core/memory/SparseVectorSearch.js +130 -0
  70. package/dist/core/memory/SparseVectorSearch.js.map +1 -0
  71. package/dist/core/memory/TieredCompression.d.ts +81 -0
  72. package/dist/core/memory/TieredCompression.d.ts.map +1 -0
  73. package/dist/core/memory/TieredCompression.js +270 -0
  74. package/dist/core/memory/TieredCompression.js.map +1 -0
  75. package/dist/core/memory/index.d.ts +6 -0
  76. package/dist/core/memory/index.d.ts.map +1 -1
  77. package/dist/core/memory/index.js +29 -1
  78. package/dist/core/memory/index.js.map +1 -1
  79. package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
  80. package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
  81. package/dist/core/metrics/MetricsAggregator.js +482 -0
  82. package/dist/core/metrics/MetricsAggregator.js.map +1 -0
  83. package/dist/core/metrics/index.d.ts +5 -0
  84. package/dist/core/metrics/index.d.ts.map +1 -0
  85. package/dist/core/metrics/index.js +11 -0
  86. package/dist/core/metrics/index.js.map +1 -0
  87. package/dist/core/optimization/SwarmOptimizer.d.ts +5 -0
  88. package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -1
  89. package/dist/core/optimization/SwarmOptimizer.js +17 -0
  90. package/dist/core/optimization/SwarmOptimizer.js.map +1 -1
  91. package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
  92. package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
  93. package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
  94. package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
  95. package/dist/core/orchestration/WorkflowOrchestrator.d.ts +13 -0
  96. package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -1
  97. package/dist/core/orchestration/WorkflowOrchestrator.js +32 -0
  98. package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -1
  99. package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
  100. package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
  101. package/dist/core/recovery/CircuitBreaker.js +382 -0
  102. package/dist/core/recovery/CircuitBreaker.js.map +1 -0
  103. package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
  104. package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
  105. package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
  106. package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
  107. package/dist/core/recovery/RetryStrategy.d.ts +127 -0
  108. package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
  109. package/dist/core/recovery/RetryStrategy.js +314 -0
  110. package/dist/core/recovery/RetryStrategy.js.map +1 -0
  111. package/dist/core/recovery/index.d.ts +8 -0
  112. package/dist/core/recovery/index.d.ts.map +1 -0
  113. package/dist/core/recovery/index.js +27 -0
  114. package/dist/core/recovery/index.js.map +1 -0
  115. package/dist/core/skills/DependencyResolver.d.ts +99 -0
  116. package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
  117. package/dist/core/skills/DependencyResolver.js +260 -0
  118. package/dist/core/skills/DependencyResolver.js.map +1 -0
  119. package/dist/core/skills/ManifestGenerator.d.ts +114 -0
  120. package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
  121. package/dist/core/skills/ManifestGenerator.js +449 -0
  122. package/dist/core/skills/ManifestGenerator.js.map +1 -0
  123. package/dist/core/skills/index.d.ts +9 -0
  124. package/dist/core/skills/index.d.ts.map +1 -0
  125. package/dist/core/skills/index.js +24 -0
  126. package/dist/core/skills/index.js.map +1 -0
  127. package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts +5 -0
  128. package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -1
  129. package/dist/mcp/handlers/chaos/chaos-inject-failure.js +36 -2
  130. package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
  131. package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts +5 -0
  132. package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -1
  133. package/dist/mcp/handlers/chaos/chaos-inject-latency.js +36 -2
  134. package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
  135. package/dist/mcp/server.d.ts +9 -9
  136. package/dist/mcp/server.d.ts.map +1 -1
  137. package/dist/mcp/server.js +1 -2
  138. package/dist/mcp/server.js.map +1 -1
  139. package/dist/types/qx.d.ts +113 -7
  140. package/dist/types/qx.d.ts.map +1 -1
  141. package/dist/types/qx.js.map +1 -1
  142. package/dist/visualization/api/RestEndpoints.js +1 -1
  143. package/dist/visualization/api/RestEndpoints.js.map +1 -1
  144. package/package.json +15 -54
@@ -1,601 +1,209 @@
1
1
  ---
2
2
  name: bug-reporting-excellence
3
- description: Write high-quality bug reports that get fixed quickly. Use when reporting bugs, training teams on bug reporting, or establishing bug report standards.
3
+ description: "Write high-quality bug reports that get fixed quickly. Use when reporting bugs, training teams on bug reporting, or establishing bug report standards."
4
+ category: quality-communication
5
+ priority: high
6
+ tokenEstimate: 900
7
+ agents: [qe-quality-analyzer, qe-production-intelligence, qe-flaky-test-hunter]
8
+ implementation_status: optimized
9
+ optimization_version: 1.0
10
+ last_optimized: 2025-12-03
11
+ dependencies: []
12
+ quick_reference_card: true
13
+ tags: [bugs, reporting, communication, triage, quality]
4
14
  ---
5
15
 
6
16
  # Bug Reporting Excellence
7
17
 
8
- ## Core Philosophy
18
+ <default_to_action>
19
+ When reporting bugs:
20
+ 1. TITLE: `[Component] fails [Condition] causing [Impact]`
21
+ 2. DESCRIBE: Expected behavior → Actual behavior → Steps to reproduce
22
+ 3. INCLUDE: Environment, severity, screenshots/logs, business impact
23
+ 4. ISOLATE: Narrow down conditions (browser, user, amount thresholds)
24
+ 5. ONE BUG = ONE REPORT (don't combine issues)
9
25
 
10
- A good bug report saves hours of investigation. A bad bug report wastes everyone's time. Your job isn't just finding bugs - it's communicating them effectively.
11
-
12
- **Key principle:** Make it easy for someone to reproduce, understand, and fix the issue.
26
+ **Bug Report Formula:**
27
+ ```markdown
28
+ ## [Component] Issue Title
29
+ **Severity:** Critical/High/Medium/Low
30
+ **Environment:** Production/Staging/Dev
13
31
 
14
- ## The Perfect Bug Report Structure
32
+ ### Expected Behavior
33
+ What should happen
15
34
 
16
- ### Title: One-Line Summary
35
+ ### Actual Behavior
36
+ What actually happens (with error messages)
17
37
 
18
- **Bad:** "Checkout broken"
19
- **Good:** "Payment fails with Visa cards when order total > $1000"
38
+ ### Steps to Reproduce
39
+ 1. Step one
40
+ 2. Step two
41
+ 3. Observe issue
20
42
 
21
- **Formula:** `[Component] fails [Condition] causing [Impact]`
43
+ ### Impact
44
+ How this affects users/business
45
+ ```
22
46
 
23
- ### Description: Three Parts
47
+ **Critical Success Factors:**
48
+ - Reproducible steps (100%)
49
+ - Environment info (100%)
50
+ - Business impact stated (90%)
51
+ - Screenshots or logs (80%)
52
+ </default_to_action>
24
53
 
25
- #### 1. Expected Behavior
26
- What should happen?
54
+ ## Quick Reference Card
27
55
 
28
- **Example:**
29
- ```
30
- When a user adds items to cart and proceeds to checkout with a valid Visa card,
31
- the payment should be processed successfully and the order should be created.
32
- ```
56
+ ### Severity Levels
33
57
 
34
- #### 2. Actual Behavior
35
- What actually happens?
58
+ | Level | Definition | Examples |
59
+ |-------|------------|----------|
60
+ | **Critical** | System down, data loss, security | DB deleted, payments broken, credentials exposed |
61
+ | **High** | Major feature broken, many users | Can't checkout, search broken, dashboard fails |
62
+ | **Medium** | Partial break, workaround exists | Filter broken (refresh works), slow export |
63
+ | **Low** | Cosmetic, rare edge case | Button wraps on mobile, tooltip wrong color |
36
64
 
37
- **Example:**
38
- ```
39
- Payment fails with error "Card declined" even though the card is valid.
40
- User remains on checkout page, order is not created.
41
- Error appears in console: "Payment gateway timeout: 30000ms exceeded"
42
- ```
65
+ ### Title Formula
66
+ ❌ Bad: "Checkout broken"
67
+ ✅ Good: "Payment fails with Visa cards when order total > $1000"
43
68
 
44
- #### 3. Steps to Reproduce
45
- How to make it happen?
69
+ **Pattern:** `[Component] fails [Condition] causing [Impact]`
46
70
 
47
- **Example:**
48
- ```
49
- 1. Log in as test user (test@example.com / password123)
50
- 2. Add "Premium Widget" to cart (SKU: WIDGET-001)
51
- 3. Add quantity: 15 (total: $1,050)
52
- 4. Go to checkout
53
- 5. Enter Visa card: 4532 1234 5678 9010
54
- 6. Click "Place Order"
55
- 7. Observe error message
56
- ```
71
+ ---
57
72
 
58
- ## Essential Information to Include
73
+ ## Essential Information
59
74
 
60
75
  ### Environment Details
61
76
  ```
62
77
  Browser: Chrome 120.0.6099.109 (Windows)
63
78
  OS: Windows 11 Pro
64
- Screen: 1920x1080
65
79
  URL: https://example.com/checkout
66
80
  Date/Time: 2025-10-17 14:23 UTC
67
81
  User: test@example.com (ID: 12345)
82
+ Request ID: abc-123-def-456
68
83
  ```
69
84
 
70
- ### Impact/Severity
71
-
72
- **Critical:** System down, data loss, security breach
73
- - "Production database deleted"
74
- - "Payment processing completely broken"
75
- - "User credentials exposed"
76
-
77
- **High:** Major feature broken, many users affected
78
- - "Cannot checkout with Visa cards"
79
- - "Search returns no results"
80
- - "Admin dashboard doesn't load"
81
-
82
- **Medium:** Feature partially broken, workaround exists
83
- - "Filtering by price doesn't update results (refresh works)"
84
- - "Export button slow (but completes eventually)"
85
-
86
- **Low:** Minor issue, cosmetic, rare edge case
87
- - "Button text wraps on mobile"
88
- - "Tooltip shows wrong color"
89
- - "Error message has typo"
90
-
91
85
  ### Supporting Evidence
92
86
 
93
- **Screenshots/Videos**
94
- - Annotate important areas
95
- - Show full screen (URL bar, console visible)
96
- - Include multiple steps if needed
97
-
98
- **Error Messages**
99
- ```
100
- Network Error:
101
- POST /api/checkout HTTP/1.1
102
- Status: 504 Gateway Timeout
103
- Response: {
87
+ **Error Messages:**
88
+ ```json
89
+ {
104
90
  "error": "Payment service unavailable",
105
91
  "code": "GATEWAY_TIMEOUT",
106
92
  "requestId": "abc-123-def-456"
107
93
  }
108
94
  ```
109
95
 
110
- **Console Logs**
96
+ **Console Logs:**
111
97
  ```
112
98
  [ERROR] PaymentGateway: Connection timeout after 30000ms
113
99
  at PaymentGateway.charge (gateway.js:145)
114
- at CheckoutController.processPayment (checkout.js:67)
115
- at async CheckoutController.submit (checkout.js:23)
116
- ```
117
-
118
- **Network Traces**
119
- ```
120
- Request ID: abc-123-def-456
121
- Duration: 30,142ms
122
- Payment gateway endpoint: https://gateway.example.com/v1/charge
123
- Request body: { amount: 1050, currency: 'USD', card: '4532...9010' }
124
- ```
125
-
126
- ## Bug Report Template
127
-
128
- ```markdown
129
- ## [Component] Issue Title
130
-
131
- **Severity:** [Critical/High/Medium/Low]
132
- **Environment:** [Production/Staging/Dev]
133
- **Affected Users:** [All/Specific segment/Single user]
134
-
135
- ### Expected Behavior
136
- What should happen
137
-
138
- ### Actual Behavior
139
- What actually happens
140
-
141
- ### Steps to Reproduce
142
- 1. Step one
143
- 2. Step two
144
- 3. Step three
145
- 4. Observe issue
146
-
147
- ### Environment
148
- - Browser/App:
149
- - OS:
150
- - Version:
151
- - User account:
152
- - Date/time:
153
-
154
- ### Supporting Evidence
155
- [Screenshots, error messages, logs]
156
-
157
- ### Impact
158
- How this affects users/business
159
-
160
- ### Additional Context
161
- Any other relevant information
162
-
163
- ### Possible Cause (Optional)
164
- If you have insights into why this might be happening
165
100
  ```
166
101
 
167
- ## Examples of Excellent Bug Reports
102
+ ---
168
103
 
169
- ### Example 1: Performance Issue
104
+ ## Example: Excellent Bug Report
170
105
 
171
106
  ```markdown
172
107
  ## [Checkout] Payment processing times out for orders > $1000
173
108
 
174
109
  **Severity:** High
175
110
  **Environment:** Production
176
- **Affected Users:** ~15% of premium purchases (orders > $1000)
111
+ **Affected Users:** ~15% of premium purchases
177
112
 
178
113
  ### Expected Behavior
179
- Payment should complete within 5 seconds regardless of order amount.
114
+ Payment completes within 5 seconds regardless of amount.
180
115
 
181
116
  ### Actual Behavior
182
- For orders above $1000, payment gateway request times out after 30 seconds.
183
- User sees "Payment failed" error. Order is not created.
117
+ For orders above $1000, payment gateway times out after 30 seconds.
118
+ User sees "Payment failed" error. Order not created.
184
119
 
185
120
  ### Steps to Reproduce
186
- 1. Visit https://example.com
187
- 2. Add items totaling $1,050 to cart
188
- 3. Proceed to checkout
189
- 4. Enter payment info: Visa 4532 1234 5678 9010
190
- 5. Click "Place Order"
191
- 6. Wait 30+ seconds
192
- 7. Observe timeout error
121
+ 1. Add items totaling $1,050 to cart
122
+ 2. Proceed to checkout
123
+ 3. Enter payment: Visa 4532 1234 5678 9010
124
+ 4. Click "Place Order"
125
+ 5. Wait 30+ seconds
126
+ 6. Observe timeout error
193
127
 
194
128
  ### Environment
195
129
  - Browser: Chrome 120 (Windows 11)
196
130
  - User: test@example.com
197
- - Time: 2025-10-17 14:23 UTC
198
131
  - Request ID: abc-123-def-456
199
132
 
200
- ### Supporting Evidence
201
-
202
- Error in console:
203
- ```
204
- [ERROR] PaymentGateway timeout: 30000ms exceeded
205
- ```
206
-
207
- Network tab shows:
208
- - Request to /api/checkout: 30.14s
209
- - Payment gateway call: 29.98s (timeout)
210
-
211
- Screenshot attached: [timeout-error.png]
133
+ ### Evidence
134
+ Console error: `PaymentGateway timeout: 30000ms exceeded`
135
+ Network: /api/checkout: 30.14s (timeout)
212
136
 
213
137
  ### Impact
214
- - Lost revenue: ~$15K/week from failed premium orders
215
- - Customer frustration: 23 support tickets this week
138
+ - Lost revenue: ~$15K/week from failed orders
139
+ - 23 support tickets this week
216
140
  - Affects 15% of orders over $1000
217
141
 
218
142
  ### Additional Context
219
- Issue started after Oct 15 deployment (v2.3.0)
220
- Possibly related to PR #456 (fraud check improvements)
221
-
222
- ### Possible Cause
223
- New fraud check service for orders > $1000 is slow.
224
- Might need caching or async processing.
143
+ Started after Oct 15 deployment (v2.3.0)
144
+ Possibly related to PR #456 (fraud check)
225
145
  ```
226
146
 
227
- ### Example 2: UI Bug
228
-
229
- ```markdown
230
- ## [Cart] "Remove" button hidden on mobile Safari
231
-
232
- **Severity:** Medium
233
- **Environment:** Production
234
- **Affected Users:** Mobile Safari users (~8% of traffic)
235
-
236
- ### Expected Behavior
237
- "Remove" button should be visible next to each cart item on all devices.
238
-
239
- ### Actual Behavior
240
- On mobile Safari (iOS), "Remove" button is cut off and not clickable.
241
-
242
- ### Steps to Reproduce
243
- 1. Open https://example.com on iPhone (Safari)
244
- 2. Add 2+ items to cart
245
- 3. Navigate to cart page
246
- 4. Try to remove an item
247
- 5. Observe button is partially hidden
248
-
249
- ### Environment
250
- - Device: iPhone 14 Pro (iOS 17.1)
251
- - Browser: Safari 17
252
- - Viewport: 390x844
253
- - Time: 2025-10-17
254
-
255
- ### Supporting Evidence
256
- Screenshot: [cart-mobile-bug.png]
257
- - Shows button cut off at edge of screen
258
-
259
- Comparison on Chrome iOS: Works correctly
260
-
261
- ### Impact
262
- - Users cannot remove items from cart on iOS Safari
263
- - Workaround: Use desktop or Chrome mobile
264
- - Affects ~300 users/day
265
-
266
- ### Additional Context
267
- CSS issue. Button has `position: absolute` and exceeds container width.
268
-
269
- ### Possible Cause
270
- ```css
271
- .cart-item-remove {
272
- position: absolute;
273
- right: -10px; /* This is the problem */
274
- }
275
- ```
276
-
277
- Suggested fix: Change to `right: 10px;`
278
- ```
279
-
280
- ## Anti-Patterns: Bad Bug Reports
281
-
282
- ### ❌ Vague Description
283
-
284
- **Bad:**
285
- ```
286
- Title: Checkout is broken
287
- Description: It doesn't work.
288
- ```
289
-
290
- **Problem:**
291
- - What doesn't work?
292
- - Which part of checkout?
293
- - What did you try?
294
-
295
- **Good:**
296
- ```
297
- Title: Payment submission button does nothing when clicked
298
- Description: [Full details with steps, expected vs actual behavior]
299
- ```
300
-
301
- ### ❌ No Steps to Reproduce
302
-
303
- **Bad:**
304
- ```
305
- Title: I saw an error
306
- Description: There was an error message on the screen.
307
- ```
308
-
309
- **Problem:**
310
- - How did you get to that screen?
311
- - What were you doing?
312
- - Can anyone else reproduce it?
313
-
314
- ### ❌ Missing Environment Info
315
-
316
- **Bad:**
317
- ```
318
- Title: Page loads slowly
319
- Description: The page takes forever to load.
320
- ```
321
-
322
- **Problem:**
323
- - Which page?
324
- - Which browser?
325
- - How slow is "slow"?
326
- - Is it always slow or sometimes?
327
-
328
- ### ❌ Combining Multiple Issues
329
-
330
- **Bad:**
331
- ```
332
- Title: Multiple bugs found
333
- Description:
334
- 1. Cart doesn't update
335
- 2. Payment fails sometimes
336
- 3. Footer is misaligned
337
- 4. Email notifications are slow
338
- ```
339
-
340
- **Problem:** Four separate issues, each needs its own investigation and fix.
341
-
342
- **Good:** Create four separate bug reports.
343
-
344
- ### ❌ Feature Requests Disguised as Bugs
345
-
346
- **Bad:**
347
- ```
348
- Title: [BUG] No dark mode
349
- Description: The app doesn't have dark mode.
350
- ```
351
-
352
- **Problem:** Missing feature ≠ bug. File as feature request.
353
-
354
- ## Advanced Techniques
355
-
356
- ### Root Cause Analysis
357
-
358
- Don't just report symptoms. Investigate:
359
-
360
- ```markdown
361
- **Symptom:** Payment timeout
362
-
363
- **Investigation:**
364
- 1. Checked network tab → 30s timeout
365
- 2. Checked server logs → Payment gateway slow
366
- 3. Checked gateway metrics → High latency for fraud checks
367
- 4. Checked recent changes → New fraud service deployed Oct 15
368
-
369
- **Root Cause:** New fraud checking service adds 28s latency
370
-
371
- **Suggested Fix:**
372
- - Make fraud check async
373
- - Or optimize fraud service queries
374
- - Or increase timeout threshold
375
- ```
376
-
377
- ### Isolation and Simplification
378
-
379
- **Original:** Payment fails on checkout
380
- **After isolation:**
381
- - Works with Mastercard ✓
382
- - Fails with Visa ✗
383
- - Only for amounts > $1000 ✗
384
- - Only in production environment ✗
385
-
386
- **Simplified repro:**
387
- ```
388
- 1. Use Visa card
389
- 2. Order total > $1000
390
- 3. In production
391
- 4. Observe failure
392
- ```
393
-
394
- ### Regression Testing
395
-
396
- **When reopening bugs:**
397
- ```markdown
398
- ## [RE-OPENED] Payment timeout still occurs
399
-
400
- **Original bug:** #12345 (marked as fixed in v2.3.1)
401
-
402
- **Current status:** Still failing in v2.3.2
403
-
404
- **New evidence:**
405
- - Tested with fix from v2.3.1
406
- - Issue persists for orders > $5000 (different threshold)
407
- - Previous fix only addressed orders $1000-$5000
408
-
409
- **Steps to reproduce:**
410
- [Updated steps with new threshold]
411
- ```
412
-
413
- ## Bug Triage Guidelines
414
-
415
- ### Questions Developers Will Ask
416
-
417
- **"Can you reproduce it consistently?"**
418
- - Always: High priority
419
- - Sometimes: Document conditions
420
- - Once: Hard to fix, low priority
421
-
422
- **"Does it happen in other environments?"**
423
- - Production only: Likely config issue
424
- - All environments: Code bug
425
- - Dev only: Environment-specific
426
-
427
- **"Is there a workaround?"**
428
- - No workaround + high impact = Critical
429
- - Easy workaround + low impact = Low priority
430
-
431
- **"What's the business impact?"**
432
- - Lost revenue: High priority
433
- - Cosmetic issue: Low priority
434
- - Data loss: Critical
435
-
436
- ## Tools for Better Bug Reports
437
-
438
- ### Screen Recording
439
- - **Loom** - Quick screen recording with annotation
440
- - **OBS Studio** - Professional recording
441
- - **Built-in OS tools** - Windows Game Bar, macOS Screenshot
442
-
443
- ### Browser DevTools
444
- - Network tab (HAR file export)
445
- - Console logs (copy all)
446
- - Performance profiling
447
- - Screenshots with annotations
448
-
449
- ### Bug Tracking Systems
450
- - **Jira** - Enterprise standard
451
- - **Linear** - Modern, fast
452
- - **GitHub Issues** - For open source
453
- - **Azure DevOps** - Microsoft stack
454
-
455
- ### Collaboration
456
- - **Slack/Teams** - Quick questions
457
- - **Confluence** - Documentation
458
- - **Miro/Figma** - Visual explanation
459
-
460
- ## Communication Tips
461
-
462
- ### Be Objective, Not Judgmental
463
-
464
- **Bad:** "This stupid button doesn't work because someone wrote terrible code"
465
- **Good:** "The submit button doesn't respond to clicks. Investigating why."
466
-
467
- ### Assume Good Intent
468
-
469
- **Bad:** "Lazy devs broke checkout again"
470
- **Good:** "Checkout issue appeared after yesterday's deployment. Might be related to PR #456."
471
-
472
- ### Be Specific About Impact
473
-
474
- **Vague:** "This is really bad"
475
- **Specific:** "15% of orders are failing, costing ~$15K/week in lost revenue"
476
-
477
- ### Offer to Help
478
-
479
- **Passive:** "Button is broken"
480
- **Helpful:** "Button is broken. I can pair with a dev to investigate or test fixes."
481
-
482
- ## Follow-Up
483
-
484
- ### After Reporting
485
-
486
- 1. **Monitor** for questions from developers
487
- 2. **Test** the fix when deployed
488
- 3. **Verify** it actually resolves the issue
489
- 4. **Document** if regression occurs
490
-
491
- ### Closing Bug Reports
492
-
493
- **Verified fixed:**
494
- ```
495
- ✓ Tested in staging (v2.3.2)
496
- ✓ Verified with original repro steps
497
- ✓ No longer reproducible
498
- ✓ Closing as resolved
499
- ```
500
-
501
- **Won't fix:**
502
- ```
503
- Accepted as "won't fix" due to:
504
- - Low impact (< 0.1% users)
505
- - Workaround exists (use desktop)
506
- - Cost of fix > benefit
507
- ```
508
-
509
- ## Metrics for Bug Report Quality
147
+ ---
510
148
 
511
- ### Good Bug Reports Have:
512
- - Clear, reproducible steps (100%)
513
- - Environment information (100%)
514
- - Expected vs actual behavior (100%)
515
- - Screenshots or logs (80%)
516
- - Business impact stated (90%)
517
- - Quick developer response time (<1 day)
149
+ ## Anti-Patterns
518
150
 
519
- ### Poor Bug Reports Have:
520
- - Developers asking for more info (>3 times)
521
- - Multiple rounds of clarification needed
522
- - Cannot be reproduced
523
- - Marked as "invalid" or "duplicate"
151
+ | Bad | Problem | ✅ Good |
152
+ |--------|---------|--------|
153
+ | "Checkout is broken" | What doesn't work? | "Payment button doesn't respond when clicked" |
154
+ | "I saw an error" | No reproduction steps | Full steps with conditions |
155
+ | "Page loads slowly" | No specifics | "Dashboard takes 12s to load (should be <3s)" |
156
+ | Multiple bugs in one | Can't track separately | One report per bug |
524
157
 
525
- ## Using with QE Agents
158
+ ---
526
159
 
527
- ### Automated Bug Triage
160
+ ## Agent Integration
528
161
 
529
- **qe-quality-analyzer** assists in bug triage and categorization:
530
162
  ```typescript
531
- // Agent analyzes and triages bug report
532
- const triage = await agent.triageBug({
163
+ // Automated bug triage
164
+ const triage = await Task("Triage Bug", {
533
165
  title: 'Payment fails for orders > $1000',
534
166
  description: bugDescription,
535
- steps: reproductionsteps,
536
- expectedBehavior: '...',
537
- actualBehavior: '...',
538
- attachments: screenshots
539
- });
540
-
541
- // Returns:
542
- // {
543
- // severity: 'critical',
544
- // priority: 'high',
545
- // likelyComponent: 'payment-service',
546
- // suggestedAssignee: 'payments-team',
547
- // relatedIssues: ['#123', '#456'],
548
- // estimatedImpact: '5% of transactions affected'
549
- // }
550
- ```
167
+ steps: reproductionSteps
168
+ }, "qe-quality-analyzer");
551
169
 
552
- ### Intelligent Bug Duplication Detection
170
+ // Returns: { severity, priority, component, suggestedAssignee, relatedIssues }
553
171
 
554
- ```typescript
555
- // Agent detects duplicate bug reports
556
- const duplicateCheck = await agent.checkDuplicates({
172
+ // Duplicate detection
173
+ const dupeCheck = await Task("Check Duplicates", {
557
174
  bugReport: newBug,
558
- searchIn: 'open-and-closed',
559
175
  similarityThreshold: 0.85
560
- });
561
-
562
- // Returns:
563
- // {
564
- // isDuplicate: true,
565
- // originalIssue: '#789',
566
- // similarity: 0.92,
567
- // recommendation: 'Close as duplicate of #789'
568
- // }
569
- ```
570
-
571
- ### Bug Report Quality Enhancement
176
+ }, "qe-quality-analyzer");
572
177
 
573
- ```typescript
574
- // Agent improves bug report quality
575
- const enhanced = await qe-quality-analyzer.enhanceBugReport({
178
+ // Bug report enhancement
179
+ const enhanced = await Task("Enhance Report", {
576
180
  originalReport: userSubmittedBug,
577
181
  addMissingInfo: true,
578
- suggestReproSteps: true,
579
182
  identifyRootCause: true
580
- });
581
-
582
- // Agent adds:
583
- // - Environment details
584
- // - Browser/OS information
585
- // - Clearer reproduction steps
586
- // - Potential root cause analysis
183
+ }, "qe-production-intelligence");
587
184
  ```
588
185
 
589
- ### Fleet Coordination for Bug Investigation
186
+ ---
187
+
188
+ ## Agent Coordination Hints
189
+
190
+ ### Memory Namespace
191
+ ```
192
+ aqe/bug-reports/
193
+ ├── triaged/* - Bug triage results
194
+ ├── duplicates/* - Duplicate detection
195
+ ├── patterns/* - Recurring bug patterns
196
+ └── root-cause/* - Root cause analyses
197
+ ```
590
198
 
199
+ ### Fleet Coordination
591
200
  ```typescript
592
201
  const bugFleet = await FleetManager.coordinate({
593
202
  strategy: 'bug-investigation',
594
203
  agents: [
595
204
  'qe-quality-analyzer', // Triage and categorize
596
205
  'qe-flaky-test-hunter', // Check if test-related
597
- 'qe-regression-risk-analyzer', // Assess regression risk
598
- 'qe-production-intelligence' // Check production logs
206
+ 'qe-production-intelligence' // Check production logs
599
207
  ],
600
208
  topology: 'parallel'
601
209
  });
@@ -604,23 +212,14 @@ const bugFleet = await FleetManager.coordinate({
604
212
  ---
605
213
 
606
214
  ## Related Skills
607
-
608
- **Communication:**
609
215
  - [technical-writing](../technical-writing/) - Clear bug documentation
610
- - [code-review-quality](../code-review-quality/) - Bug reporting in reviews
611
-
612
- **Testing:**
613
- - [exploratory-testing-advanced](../exploratory-testing-advanced/) - Finding bugs through exploration
614
- - [agentic-quality-engineering](../agentic-quality-engineering/) - Agent-driven bug workflows
216
+ - [exploratory-testing-advanced](../exploratory-testing-advanced/) - Finding bugs
217
+ - [sherlock-review](../sherlock-review/) - Root cause investigation
615
218
 
616
219
  ---
617
220
 
618
221
  ## Remember
619
222
 
620
- Your bug report is the starting point for someone else's work. Make it:
621
- - **Complete** - All info needed to understand and fix
622
- - **Clear** - Anyone can follow your steps
623
- - **Concise** - No unnecessary information
624
- - **Actionable** - Developer knows what to do next
223
+ Your bug report is the starting point for someone else's work. Make it **complete** (all info needed), **clear** (anyone can follow), **concise** (no noise), and **actionable** (developer knows next step).
625
224
 
626
225
  **Good bug reports = Faster fixes = Better product = Happier users**