@rune-kit/rune 2.10.0 → 2.11.0

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 (205) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +8 -6
  3. package/commands/rune.md +168 -168
  4. package/contexts/dev.md +34 -34
  5. package/contexts/research.md +43 -43
  6. package/contexts/review.md +55 -55
  7. package/extensions/ai-ml/PACK.md +88 -88
  8. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  9. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  10. package/extensions/ai-ml/skills/deep-research.md +146 -146
  11. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  12. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  13. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  14. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  15. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  16. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  17. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  18. package/extensions/analytics/PACK.md +92 -92
  19. package/extensions/analytics/skills/ab-testing.md +72 -72
  20. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  21. package/extensions/analytics/skills/data-validation.md +68 -68
  22. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  23. package/extensions/analytics/skills/sql-patterns.md +57 -57
  24. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  25. package/extensions/analytics/skills/tracking-setup.md +71 -71
  26. package/extensions/backend/PACK.md +104 -104
  27. package/extensions/backend/skills/api-patterns.md +84 -84
  28. package/extensions/backend/skills/async-pipeline.md +193 -193
  29. package/extensions/backend/skills/auth-patterns.md +97 -97
  30. package/extensions/backend/skills/background-jobs.md +133 -133
  31. package/extensions/backend/skills/caching-patterns.md +108 -108
  32. package/extensions/backend/skills/cli-generation.md +133 -133
  33. package/extensions/backend/skills/database-patterns.md +87 -87
  34. package/extensions/backend/skills/middleware-patterns.md +104 -104
  35. package/extensions/chrome-ext/PACK.md +93 -93
  36. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  37. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  38. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  39. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  40. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  41. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  42. package/extensions/content/PACK.md +96 -96
  43. package/extensions/content/skills/blog-patterns.md +88 -88
  44. package/extensions/content/skills/cms-integration.md +131 -131
  45. package/extensions/content/skills/content-scoring.md +107 -107
  46. package/extensions/content/skills/i18n.md +83 -83
  47. package/extensions/content/skills/mdx-authoring.md +137 -137
  48. package/extensions/content/skills/reference.md +1014 -1014
  49. package/extensions/content/skills/seo-patterns.md +67 -67
  50. package/extensions/content/skills/video-repurpose.md +153 -153
  51. package/extensions/devops/PACK.md +101 -101
  52. package/extensions/devops/skills/chaos-testing.md +67 -67
  53. package/extensions/devops/skills/ci-cd.md +75 -75
  54. package/extensions/devops/skills/docker.md +58 -58
  55. package/extensions/devops/skills/edge-serverless.md +163 -163
  56. package/extensions/devops/skills/infra-as-code.md +158 -158
  57. package/extensions/devops/skills/kubernetes.md +110 -110
  58. package/extensions/devops/skills/monitoring.md +57 -57
  59. package/extensions/devops/skills/server-setup.md +64 -64
  60. package/extensions/devops/skills/ssl-domain.md +42 -42
  61. package/extensions/ecommerce/PACK.md +116 -116
  62. package/extensions/ecommerce/skills/cart-system.md +79 -79
  63. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  64. package/extensions/ecommerce/skills/order-management.md +126 -126
  65. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  66. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  67. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  68. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  69. package/extensions/gamedev/PACK.md +142 -142
  70. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  71. package/extensions/gamedev/skills/audio-system.md +129 -129
  72. package/extensions/gamedev/skills/camera-system.md +87 -87
  73. package/extensions/gamedev/skills/ecs.md +98 -98
  74. package/extensions/gamedev/skills/game-loops.md +72 -72
  75. package/extensions/gamedev/skills/input-system.md +199 -199
  76. package/extensions/gamedev/skills/multiplayer.md +180 -180
  77. package/extensions/gamedev/skills/particles.md +105 -105
  78. package/extensions/gamedev/skills/physics-engine.md +89 -89
  79. package/extensions/gamedev/skills/scene-management.md +146 -146
  80. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  81. package/extensions/gamedev/skills/webgl.md +71 -71
  82. package/extensions/mobile/PACK.md +106 -106
  83. package/extensions/mobile/skills/app-store-connect.md +152 -152
  84. package/extensions/mobile/skills/app-store-prep.md +66 -66
  85. package/extensions/mobile/skills/deep-linking.md +109 -109
  86. package/extensions/mobile/skills/flutter.md +60 -60
  87. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  88. package/extensions/mobile/skills/native-bridge.md +66 -66
  89. package/extensions/mobile/skills/ota-updates.md +97 -97
  90. package/extensions/mobile/skills/push-notifications.md +111 -111
  91. package/extensions/mobile/skills/react-native.md +82 -82
  92. package/extensions/saas/PACK.md +116 -116
  93. package/extensions/saas/skills/billing-integration.md +200 -200
  94. package/extensions/saas/skills/feature-flags.md +130 -130
  95. package/extensions/saas/skills/multi-tenant.md +103 -103
  96. package/extensions/saas/skills/onboarding-flow.md +139 -139
  97. package/extensions/saas/skills/subscription-flow.md +95 -95
  98. package/extensions/saas/skills/team-management.md +144 -144
  99. package/extensions/security/PACK.md +99 -99
  100. package/extensions/security/skills/api-security.md +140 -140
  101. package/extensions/security/skills/compliance.md +68 -68
  102. package/extensions/security/skills/owasp-audit.md +64 -64
  103. package/extensions/security/skills/pentest-patterns.md +77 -77
  104. package/extensions/security/skills/secret-mgmt.md +65 -65
  105. package/extensions/security/skills/supply-chain.md +65 -65
  106. package/extensions/trading/PACK.md +80 -80
  107. package/extensions/trading/skills/chart-components.md +55 -55
  108. package/extensions/trading/skills/experiment-loop.md +125 -125
  109. package/extensions/trading/skills/fintech-patterns.md +47 -47
  110. package/extensions/trading/skills/indicator-library.md +58 -58
  111. package/extensions/trading/skills/quant-analysis.md +111 -111
  112. package/extensions/trading/skills/realtime-data.md +58 -58
  113. package/extensions/trading/skills/trade-logic.md +104 -104
  114. package/extensions/ui/PACK.md +130 -130
  115. package/extensions/ui/skills/a11y-audit.md +91 -91
  116. package/extensions/ui/skills/animation-patterns.md +127 -127
  117. package/extensions/ui/skills/component-patterns.md +100 -100
  118. package/extensions/ui/skills/design-decision.md +108 -108
  119. package/extensions/ui/skills/design-system.md +68 -68
  120. package/extensions/ui/skills/landing-patterns.md +155 -155
  121. package/extensions/ui/skills/palette-picker.md +173 -173
  122. package/extensions/ui/skills/react-health.md +90 -90
  123. package/extensions/ui/skills/type-system.md +125 -125
  124. package/extensions/ui/skills/web-vitals.md +153 -153
  125. package/extensions/zalo/PACK.md +145 -145
  126. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  127. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  128. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  129. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  130. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  131. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  132. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  133. package/hooks/auto-format/index.cjs +48 -48
  134. package/hooks/hooks.json +111 -111
  135. package/hooks/post-session-reflect/index.cjs +189 -189
  136. package/hooks/pre-compact/index.cjs +95 -95
  137. package/hooks/run-hook.cmd +1 -1
  138. package/hooks/secrets-scan/index.cjs +100 -100
  139. package/hooks/session-start/index.cjs +71 -71
  140. package/hooks/typecheck/index.cjs +65 -65
  141. package/package.json +63 -63
  142. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  143. package/references/ui-pro-max-data/charts.csv +26 -26
  144. package/references/ui-pro-max-data/colors.csv +161 -161
  145. package/references/ui-pro-max-data/styles.csv +68 -68
  146. package/references/ui-pro-max-data/typography.csv +74 -74
  147. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  148. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  149. package/skills/adversary/SKILL.md +283 -283
  150. package/skills/asset-creator/SKILL.md +157 -157
  151. package/skills/audit/SKILL.md +147 -2
  152. package/skills/autopsy/SKILL.md +335 -335
  153. package/skills/brainstorm/SKILL.md +342 -342
  154. package/skills/browser-pilot/SKILL.md +168 -168
  155. package/skills/constraint-check/SKILL.md +165 -165
  156. package/skills/context-engine/SKILL.md +404 -404
  157. package/skills/cook/SKILL.md +917 -863
  158. package/skills/db/SKILL.md +273 -273
  159. package/skills/debug/SKILL.md +465 -465
  160. package/skills/dependency-doctor/SKILL.md +265 -235
  161. package/skills/deploy/SKILL.md +274 -231
  162. package/skills/design/DESIGN-REFERENCE.md +365 -365
  163. package/skills/design/SKILL.md +589 -589
  164. package/skills/doc-processor/SKILL.md +254 -254
  165. package/skills/docs/SKILL.md +374 -374
  166. package/skills/docs-seeker/SKILL.md +177 -177
  167. package/skills/fix/SKILL.md +330 -330
  168. package/skills/git/SKILL.md +339 -339
  169. package/skills/hallucination-guard/SKILL.md +219 -219
  170. package/skills/incident/SKILL.md +254 -253
  171. package/skills/integrity-check/SKILL.md +169 -169
  172. package/skills/journal/SKILL.md +240 -240
  173. package/skills/launch/SKILL.md +344 -344
  174. package/skills/logic-guardian/SKILL.md +251 -251
  175. package/skills/marketing/SKILL.md +290 -289
  176. package/skills/mcp-builder/SKILL.md +425 -425
  177. package/skills/neural-memory/SKILL.md +362 -362
  178. package/skills/onboard/SKILL.md +404 -403
  179. package/skills/perf/SKILL.md +346 -346
  180. package/skills/plan/SKILL.md +433 -428
  181. package/skills/preflight/SKILL.md +415 -415
  182. package/skills/problem-solver/SKILL.md +380 -284
  183. package/skills/rescue/SKILL.md +474 -474
  184. package/skills/retro/SKILL.md +3 -1
  185. package/skills/review/SKILL.md +612 -588
  186. package/skills/review-intake/SKILL.md +249 -249
  187. package/skills/safeguard/SKILL.md +200 -200
  188. package/skills/sast/SKILL.md +190 -190
  189. package/skills/scaffold/SKILL.md +328 -287
  190. package/skills/scope-guard/SKILL.md +180 -180
  191. package/skills/scout/SKILL.md +263 -263
  192. package/skills/sentinel/SKILL.md +382 -381
  193. package/skills/sentinel-env/SKILL.md +254 -254
  194. package/skills/sequential-thinking/SKILL.md +234 -234
  195. package/skills/session-bridge/SKILL.md +543 -543
  196. package/skills/skill-forge/SKILL.md +581 -581
  197. package/skills/skill-router/SKILL.md +3 -0
  198. package/skills/surgeon/SKILL.md +215 -215
  199. package/skills/team/SKILL.md +556 -537
  200. package/skills/test/SKILL.md +614 -614
  201. package/skills/trend-scout/SKILL.md +145 -145
  202. package/skills/verification/SKILL.md +326 -326
  203. package/skills/video-creator/SKILL.md +201 -201
  204. package/skills/watchdog/SKILL.md +168 -168
  205. package/skills/worktree/SKILL.md +140 -140
@@ -1,253 +1,254 @@
1
- ---
2
- name: incident
3
- description: "Structured incident response. Use when user reports an outage, production error, or says 'incident', 'something is down', 'users are affected'. Triage severity, contain blast radius, root-cause, document timeline, generate postmortem."
4
- disable-model-invocation: true
5
- metadata:
6
- author: runedev
7
- version: "0.2.0"
8
- layer: L2
9
- model: sonnet
10
- group: delivery
11
- tools: "Read, Write, Edit, Bash, Glob, Grep"
12
- listen: incident.detected
13
- ---
14
-
15
- # incident
16
-
17
- ## Purpose
18
-
19
- Structured incident response for production issues. Follows a strict order: triage first, contain before investigating, root-cause after stable, postmortem last. Prevents the most common incident anti-pattern — developers debugging while the system is still on fire. Covers P1 outages, P2 degraded service, and P3 minor issues with appropriate urgency at each level.
20
-
21
- ## Triggers
22
-
23
- - `/rune incident "description of what's broken"` — direct user invocation
24
- - Called by `launch` (L1): watchdog alerts during Phase 3 VERIFY
25
- - Called by `deploy` (L2): health check fails post-deploy
26
- - Signal: auto-triggers when `watchdog` emits `incident.detected` — no manual invocation needed
27
-
28
- ## Calls (outbound)
29
-
30
- - `watchdog` (L3): current system state — which endpoints are down, response times
31
- - `autopsy` (L2): root cause analysis after containment
32
- - `journal` (L3): record incident timeline and decisions
33
- - `sentinel` (L2): check for security dimension (data exposure, unauthorized access)
34
-
35
- ## Called By (inbound)
36
-
37
- - `launch` (L1): monitoring alert during production verification
38
- - `deploy` (L2): post-deploy health check failure
39
- - User: `/rune incident` direct invocation
40
-
41
- ## Executable Steps
42
-
43
- ### Step 1 — Triage
44
-
45
- Classify severity using this matrix:
46
-
47
- | Severity | Definition | Contain Within |
48
- |----------|-----------|----------------|
49
- | **P1** | Full outage — core feature unavailable for all users | 15 minutes |
50
- | **P2** | Partial degradation — feature broken for subset of users or degraded for all | 1 hour |
51
- | **P3** | Minor issuecosmetic, edge case, or non-blocking degradation | 4 hours |
52
-
53
- P1 indicators: 5xx on root `/`, auth endpoint down, payment flow broken, data loss detected
54
- P2 indicators: elevated error rate (>1%) on key flow, 1+ regions down, performance >5x baseline
55
- P3 indicators: UI glitch, non-critical feature broken, low error rate (<0.1%)
56
-
57
- Emit: `TRIAGE: [P1|P2|P3] — [one-line impact description]`
58
-
59
- ### Step 2 — Contain
60
-
61
- <HARD-GATE>
62
- During active incident (before CONTAINED status), DO NOT attempt code fixes or root cause analysis.
63
- Contain first. Ship code during active P1/P2 without containment = turning P2s into P1s.
64
- </HARD-GATE>
65
-
66
- Choose containment strategy based on what's available and severity:
67
-
68
- | Strategy | When to Use |
69
- |----------|------------|
70
- | **Rollback** | Last deploy caused regression (check git log vs incident start time) |
71
- | **Feature flag off** | Feature-gated code disable without deploy |
72
- | **Traffic shift** | Multi-region: route away from affected region |
73
- | **Scale up** | Resource exhaustion (CPU/memory/connection pool) |
74
- | **Rate limit** | Abuse pattern or traffic spike |
75
- | **Manual intervention** | DB locked record, stuck job, cache corruption |
76
-
77
- Execute containment action. Then invoke `watchdog` to verify system is stable before proceeding.
78
-
79
- Emit: `CONTAINED: [strategy used] — [timestamp]` or `CONTAINMENT_FAILED: [what was tried] — escalate`
80
-
81
- ### Step 3 — Verify Containment
82
-
83
- Invoke `watchdog` with current base_url and critical endpoints.
84
-
85
- Proceed to Step 4 only if watchdog returns `ALL_HEALTHY` or `DEGRADED` with upward trend.
86
- If watchdog returns `DOWN` return to Step 2 with a different containment strategy.
87
-
88
- ### Step 4 — Security Check
89
-
90
- Invoke `sentinel` to check if the incident has a security dimension:
91
- - Data exposure (PII, credentials in logs/responses)
92
- - Unauthorized access pattern in logs
93
- - Injection attack vector triggered the incident
94
- - Dependency with known CVE involved
95
-
96
- If `sentinel` returns `BLOCK`: escalate to security incident — different protocol (notify security team, preserve logs, document access chain).
97
- If `sentinel` returns `PASS` or `WARN`: continue to root cause.
98
-
99
- ### Step 5 — Root Cause Analysis
100
-
101
- Invoke `autopsy` with context:
102
- - Incident start timestamp
103
- - Failing components identified in Step 2-3
104
- - Recent deploy info (commit hash, deploy timestamp, changed files)
105
-
106
- `autopsy` returns: root cause hypothesis with evidence, affected code paths, contributing factors.
107
-
108
- Do not attempt fixes — `incident` only investigates. Any code changes are a separate task.
109
-
110
- ### Step 6 — Timeline Construction
111
-
112
- Construct incident timeline using:
113
- - Incident start time (when first detected)
114
- - Triage time (when severity classified)
115
- - Containment time (when system stabilized)
116
- - RCA time (when root cause identified)
117
- - Resolution time (when fully resolved)
118
-
119
- Format:
120
- ```
121
- [HH:MM] Incident detected — [who/what detected it]
122
- [HH:MM] Triage: [P1/P2/P3] [impact]
123
- [HH:MM] Containment started — [strategy]
124
- [HH:MM] CONTAINED — [watchdog confirms stable]
125
- [HH:MM] RCA: [root cause summary]
126
- [HH:MM] Resolution: [what was done]
127
- ```
128
-
129
- Invoke `journal` to record the timeline and decisions in `.rune/adr/` as an incident ADR.
130
-
131
- ### Step 7 — Postmortem
132
-
133
- Generate postmortem report and save as `.rune/incidents/INCIDENT-[YYYY-MM-DD]-[slug].md`:
134
-
135
- ```markdown
136
- # Incident Report: [title]
137
-
138
- **Severity**: [P1|P2|P3]
139
- **Date**: [YYYY-MM-DD]
140
- **Duration**: [time from detection to resolution]
141
- **Impact**: [users affected, data affected, revenue impact if known]
142
-
143
- ## Timeline
144
- [from Step 6]
145
-
146
- ## Root Cause
147
- [from autopsy — specific, not vague]
148
-
149
- ## Contributing Factors
150
- [from autopsy — what made this worse]
151
-
152
- ## What Went Well
153
- [containment speed, detection, communication]
154
-
155
- ## What Went Wrong
156
- [detection lag, failed first containment, etc.]
157
-
158
- ## Prevention Actions
159
-
160
- | Action | Owner | Due | Priority |
161
- |--------|-------|-----|----------|
162
- | [specific action] | [team/person] | [date] | P1/P2/P3 |
163
-
164
- ## Lessons Learned
165
- [3-5 bullet points]
166
- ```
167
-
168
- ## Output Format
169
-
170
- ```
171
- ## Incident Response: [title]
172
-
173
- ### Triage
174
- P2 — Login service returning 503 for ~30% of users
175
-
176
- ### Containment
177
- Strategy: Rollback to commit abc123 (pre-deploy from 14:32)
178
- Status: CONTAINED at 15:07 watchdog confirms ALL_HEALTHY
179
-
180
- ### Security Check
181
- sentinel: PASS — no data exposure detected
182
-
183
- ### Root Cause (from autopsy)
184
- Connection pool exhausted new feature added synchronous DB call in middleware,
185
- reducing available connections from 20 to 3 under load
186
- File: src/middleware/auth.ts:47
187
-
188
- ### Timeline
189
- 14:32 Deploy completed
190
- 14:45 Alerts fired — 503 rate >1%
191
- 14:47 TRIAGE: P2
192
- 14:52 Containment: rollback initiated
193
- 15:07 CONTAINED
194
- 15:20 RCA complete
195
- 15:35 Postmortem drafted
196
-
197
- ### Postmortem saved
198
- .rune/incidents/INCIDENT-2026-02-24-login-503.md
199
- ```
200
-
201
- ## Constraints
202
-
203
- 1. MUST triage before any other action — severity determines urgency, approach, and escalation path
204
- 2. MUST contain before root-causeinvestigating while system is down prolongs the incident
205
- 3. MUST invoke watchdog to verify containment never assume contained without measurement
206
- 4. MUST invoke sentinel before closingevery incident has a potential security dimension
207
- 5. MUST NOT make code changes during incident response — incident investigates only; fixes are a separate task
208
- 6. MUST generate postmortem for every P1 and P2P3 optional
209
-
210
- ## Mesh Gates (L1/L2 only)
211
-
212
- | Gate | Requires | If Missing |
213
- |------|----------|------------|
214
- | Triage Gate | Severity classified (P1/P2/P3) before any other step | Classify before proceeding |
215
- | Containment Gate | watchdog confirms HEALTHY/DEGRADED-improving before RCA | Return to containment if still DOWN |
216
- | Security Gate | sentinel ran before closing incident | Run sentinel do not skip |
217
- | Postmortem Gate | All sections populated (Timeline, RCA, Prevention Actions) before status = Resolved | Complete or note as DRAFT |
218
-
219
- ## Returns
220
-
221
- | Artifact | Format | Location |
222
- |----------|--------|----------|
223
- | Incident response report | Markdown | inline (chat output) |
224
- | Incident timeline | Text (HH:MM format) | inline + postmortem |
225
- | Postmortem document | Markdown | `.rune/incidents/INCIDENT-<date>-<slug>.md` |
226
- | Prevention actions table | Markdown table | postmortem |
227
- | Journal entry (incident ADR) | Text | `.rune/adr/` (via `rune:journal`) |
228
-
229
- ## Sharp Edges
230
-
231
- Known failure modes for this skill. Check these before declaring done.
232
-
233
- | Failure Mode | Severity | Mitigation |
234
- |---|---|---|
235
- | Starting RCA before containment confirmed | CRITICAL | HARD-GATE: check CONTAINED status before calling autopsy |
236
- | Declaring incident resolved without watchdog verification | HIGH | MUST call watchdog after containment not just assume |
237
- | Postmortem Prevention Actions without owners or dates | MEDIUM | Every action needs owner + due date otherwise it never happens |
238
- | Skipping sentinel because "looks like a performance issue" | HIGH | Security dimension is not always obviousalways run sentinel |
239
- | P1 triage without 15-minute containment urgency | HIGH | P1 SLA = 15 min to contain flag if containment exceeds threshold |
240
-
241
- ## Done When
242
-
243
- - Severity triaged (P1/P2/P3) with impact description
244
- - Containment executed and watchdog confirms stable
245
- - sentinel ran and security dimension addressed (or escalated)
246
- - Root cause identified via autopsy with file:line evidence
247
- - Full timeline constructed
248
- - Postmortem saved to .rune/incidents/ with Prevention Actions table
249
- - journal entry recorded
250
-
251
- ## Cost Profile
252
-
253
- ~3000-8000 tokens input, ~1000-2500 tokens output. Sonnet for response coordination.
1
+ ---
2
+ name: incident
3
+ description: "Structured incident response. Use when user reports an outage, production error, or says 'incident', 'something is down', 'users are affected'. Triage severity, contain blast radius, root-cause, document timeline, generate postmortem."
4
+ disable-model-invocation: true
5
+ metadata:
6
+ author: runedev
7
+ version: "0.2.0"
8
+ layer: L2
9
+ model: sonnet
10
+ group: delivery
11
+ tools: "Read, Write, Edit, Bash, Glob, Grep"
12
+ listen: incident.detected
13
+ ---
14
+
15
+ # incident
16
+
17
+ ## Purpose
18
+
19
+ Structured incident response for production issues. Follows a strict order: triage first, contain before investigating, root-cause after stable, postmortem last. Prevents the most common incident anti-pattern — developers debugging while the system is still on fire. Covers P1 outages, P2 degraded service, and P3 minor issues with appropriate urgency at each level.
20
+
21
+ ## Triggers
22
+
23
+ - `/rune incident "description of what's broken"` — direct user invocation
24
+ - Called by `launch` (L1): watchdog alerts during Phase 3 VERIFY
25
+ - Called by `deploy` (L2): health check fails post-deploy
26
+ - Signal: auto-triggers when `watchdog` emits `incident.detected` — no manual invocation needed
27
+
28
+ ## Calls (outbound)
29
+
30
+ - `watchdog` (L3): current system state — which endpoints are down, response times
31
+ - `autopsy` (L2): root cause analysis after containment
32
+ - `journal` (L3): record incident timeline and decisions
33
+ - `sentinel` (L2): check for security dimension (data exposure, unauthorized access)
34
+ - `neural-memory` (ext): after resolution — capture incident root cause + fix pattern cross-session so the same failure mode is never diagnosed twice
35
+
36
+ ## Called By (inbound)
37
+
38
+ - `launch` (L1): monitoring alert during production verification
39
+ - `deploy` (L2): post-deploy health check failure
40
+ - User: `/rune incident` direct invocation
41
+
42
+ ## Executable Steps
43
+
44
+ ### Step 1 — Triage
45
+
46
+ Classify severity using this matrix:
47
+
48
+ | Severity | Definition | Contain Within |
49
+ |----------|-----------|----------------|
50
+ | **P1** | Full outagecore feature unavailable for all users | 15 minutes |
51
+ | **P2** | Partial degradationfeature broken for subset of users or degraded for all | 1 hour |
52
+ | **P3** | Minor issue — cosmetic, edge case, or non-blocking degradation | 4 hours |
53
+
54
+ P1 indicators: 5xx on root `/`, auth endpoint down, payment flow broken, data loss detected
55
+ P2 indicators: elevated error rate (>1%) on key flow, 1+ regions down, performance >5x baseline
56
+ P3 indicators: UI glitch, non-critical feature broken, low error rate (<0.1%)
57
+
58
+ Emit: `TRIAGE: [P1|P2|P3] — [one-line impact description]`
59
+
60
+ ### Step 2 — Contain
61
+
62
+ <HARD-GATE>
63
+ During active incident (before CONTAINED status), DO NOT attempt code fixes or root cause analysis.
64
+ Contain first. Ship code during active P1/P2 without containment = turning P2s into P1s.
65
+ </HARD-GATE>
66
+
67
+ Choose containment strategy based on what's available and severity:
68
+
69
+ | Strategy | When to Use |
70
+ |----------|------------|
71
+ | **Rollback** | Last deploy caused regression (check git log vs incident start time) |
72
+ | **Feature flag off** | Feature-gated code disable without deploy |
73
+ | **Traffic shift** | Multi-region: route away from affected region |
74
+ | **Scale up** | Resource exhaustion (CPU/memory/connection pool) |
75
+ | **Rate limit** | Abuse pattern or traffic spike |
76
+ | **Manual intervention** | DB locked record, stuck job, cache corruption |
77
+
78
+ Execute containment action. Then invoke `watchdog` to verify system is stable before proceeding.
79
+
80
+ Emit: `CONTAINED: [strategy used] — [timestamp]` or `CONTAINMENT_FAILED: [what was tried] — escalate`
81
+
82
+ ### Step 3 — Verify Containment
83
+
84
+ Invoke `watchdog` with current base_url and critical endpoints.
85
+
86
+ Proceed to Step 4 only if watchdog returns `ALL_HEALTHY` or `DEGRADED` with upward trend.
87
+ If watchdog returns `DOWN` — return to Step 2 with a different containment strategy.
88
+
89
+ ### Step 4 — Security Check
90
+
91
+ Invoke `sentinel` to check if the incident has a security dimension:
92
+ - Data exposure (PII, credentials in logs/responses)
93
+ - Unauthorized access pattern in logs
94
+ - Injection attack vector triggered the incident
95
+ - Dependency with known CVE involved
96
+
97
+ If `sentinel` returns `BLOCK`: escalate to security incident — different protocol (notify security team, preserve logs, document access chain).
98
+ If `sentinel` returns `PASS` or `WARN`: continue to root cause.
99
+
100
+ ### Step 5 — Root Cause Analysis
101
+
102
+ Invoke `autopsy` with context:
103
+ - Incident start timestamp
104
+ - Failing components identified in Step 2-3
105
+ - Recent deploy info (commit hash, deploy timestamp, changed files)
106
+
107
+ `autopsy` returns: root cause hypothesis with evidence, affected code paths, contributing factors.
108
+
109
+ Do not attempt fixes — `incident` only investigates. Any code changes are a separate task.
110
+
111
+ ### Step 6 — Timeline Construction
112
+
113
+ Construct incident timeline using:
114
+ - Incident start time (when first detected)
115
+ - Triage time (when severity classified)
116
+ - Containment time (when system stabilized)
117
+ - RCA time (when root cause identified)
118
+ - Resolution time (when fully resolved)
119
+
120
+ Format:
121
+ ```
122
+ [HH:MM] Incident detected — [who/what detected it]
123
+ [HH:MM] Triage: [P1/P2/P3] — [impact]
124
+ [HH:MM] Containment started — [strategy]
125
+ [HH:MM] CONTAINED [watchdog confirms stable]
126
+ [HH:MM] RCA: [root cause summary]
127
+ [HH:MM] Resolution: [what was done]
128
+ ```
129
+
130
+ Invoke `journal` to record the timeline and decisions in `.rune/adr/` as an incident ADR.
131
+
132
+ ### Step 7 — Postmortem
133
+
134
+ Generate postmortem report and save as `.rune/incidents/INCIDENT-[YYYY-MM-DD]-[slug].md`:
135
+
136
+ ```markdown
137
+ # Incident Report: [title]
138
+
139
+ **Severity**: [P1|P2|P3]
140
+ **Date**: [YYYY-MM-DD]
141
+ **Duration**: [time from detection to resolution]
142
+ **Impact**: [users affected, data affected, revenue impact if known]
143
+
144
+ ## Timeline
145
+ [from Step 6]
146
+
147
+ ## Root Cause
148
+ [from autopsy — specific, not vague]
149
+
150
+ ## Contributing Factors
151
+ [from autopsy — what made this worse]
152
+
153
+ ## What Went Well
154
+ [containment speed, detection, communication]
155
+
156
+ ## What Went Wrong
157
+ [detection lag, failed first containment, etc.]
158
+
159
+ ## Prevention Actions
160
+
161
+ | Action | Owner | Due | Priority |
162
+ |--------|-------|-----|----------|
163
+ | [specific action] | [team/person] | [date] | P1/P2/P3 |
164
+
165
+ ## Lessons Learned
166
+ [3-5 bullet points]
167
+ ```
168
+
169
+ ## Output Format
170
+
171
+ ```
172
+ ## Incident Response: [title]
173
+
174
+ ### Triage
175
+ P2 — Login service returning 503 for ~30% of users
176
+
177
+ ### Containment
178
+ Strategy: Rollback to commit abc123 (pre-deploy from 14:32)
179
+ Status: CONTAINED at 15:07 — watchdog confirms ALL_HEALTHY
180
+
181
+ ### Security Check
182
+ sentinel: PASS — no data exposure detected
183
+
184
+ ### Root Cause (from autopsy)
185
+ Connection pool exhausted new feature added synchronous DB call in middleware,
186
+ reducing available connections from 20 to 3 under load
187
+ File: src/middleware/auth.ts:47
188
+
189
+ ### Timeline
190
+ 14:32 Deploy completed
191
+ 14:45 Alerts fired — 503 rate >1%
192
+ 14:47 TRIAGE: P2
193
+ 14:52 Containment: rollback initiated
194
+ 15:07 CONTAINED
195
+ 15:20 RCA complete
196
+ 15:35 Postmortem drafted
197
+
198
+ ### Postmortem saved
199
+ .rune/incidents/INCIDENT-2026-02-24-login-503.md
200
+ ```
201
+
202
+ ## Constraints
203
+
204
+ 1. MUST triage before any other action severity determines urgency, approach, and escalation path
205
+ 2. MUST contain before root-cause investigating while system is down prolongs the incident
206
+ 3. MUST invoke watchdog to verify containment never assume contained without measurement
207
+ 4. MUST invoke sentinel before closing every incident has a potential security dimension
208
+ 5. MUST NOT make code changes during incident responseincident investigates only; fixes are a separate task
209
+ 6. MUST generate postmortem for every P1 and P2 — P3 optional
210
+
211
+ ## Mesh Gates (L1/L2 only)
212
+
213
+ | Gate | Requires | If Missing |
214
+ |------|----------|------------|
215
+ | Triage Gate | Severity classified (P1/P2/P3) before any other step | Classify before proceeding |
216
+ | Containment Gate | watchdog confirms HEALTHY/DEGRADED-improving before RCA | Return to containment if still DOWN |
217
+ | Security Gate | sentinel ran before closing incident | Run sentinel do not skip |
218
+ | Postmortem Gate | All sections populated (Timeline, RCA, Prevention Actions) before status = Resolved | Complete or note as DRAFT |
219
+
220
+ ## Returns
221
+
222
+ | Artifact | Format | Location |
223
+ |----------|--------|----------|
224
+ | Incident response report | Markdown | inline (chat output) |
225
+ | Incident timeline | Text (HH:MM format) | inline + postmortem |
226
+ | Postmortem document | Markdown | `.rune/incidents/INCIDENT-<date>-<slug>.md` |
227
+ | Prevention actions table | Markdown table | postmortem |
228
+ | Journal entry (incident ADR) | Text | `.rune/adr/` (via `rune:journal`) |
229
+
230
+ ## Sharp Edges
231
+
232
+ Known failure modes for this skill. Check these before declaring done.
233
+
234
+ | Failure Mode | Severity | Mitigation |
235
+ |---|---|---|
236
+ | Starting RCA before containment confirmed | CRITICAL | HARD-GATE: check CONTAINED status before calling autopsy |
237
+ | Declaring incident resolved without watchdog verification | HIGH | MUST call watchdog after containmentnot just assume |
238
+ | Postmortem Prevention Actions without owners or dates | MEDIUM | Every action needs owner + due date otherwise it never happens |
239
+ | Skipping sentinel because "looks like a performance issue" | HIGH | Security dimension is not always obviousalways run sentinel |
240
+ | P1 triage without 15-minute containment urgency | HIGH | P1 SLA = 15 min to contain — flag if containment exceeds threshold |
241
+
242
+ ## Done When
243
+
244
+ - Severity triaged (P1/P2/P3) with impact description
245
+ - Containment executed and watchdog confirms stable
246
+ - sentinel ran and security dimension addressed (or escalated)
247
+ - Root cause identified via autopsy with file:line evidence
248
+ - Full timeline constructed
249
+ - Postmortem saved to .rune/incidents/ with Prevention Actions table
250
+ - journal entry recorded
251
+
252
+ ## Cost Profile
253
+
254
+ ~3000-8000 tokens input, ~1000-2500 tokens output. Sonnet for response coordination.