@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.
- package/LICENSE +21 -21
- package/README.md +8 -6
- package/commands/rune.md +168 -168
- package/contexts/dev.md +34 -34
- package/contexts/research.md +43 -43
- package/contexts/review.md +55 -55
- package/extensions/ai-ml/PACK.md +88 -88
- package/extensions/ai-ml/skills/ai-agents.md +172 -172
- package/extensions/ai-ml/skills/code-sandbox.md +187 -187
- package/extensions/ai-ml/skills/deep-research.md +146 -146
- package/extensions/ai-ml/skills/embedding-search.md +66 -66
- package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
- package/extensions/ai-ml/skills/llm-architect.md +125 -125
- package/extensions/ai-ml/skills/llm-integration.md +64 -64
- package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
- package/extensions/ai-ml/skills/rag-patterns.md +66 -66
- package/extensions/ai-ml/skills/web-extraction.md +114 -114
- package/extensions/analytics/PACK.md +92 -92
- package/extensions/analytics/skills/ab-testing.md +72 -72
- package/extensions/analytics/skills/dashboard-patterns.md +83 -83
- package/extensions/analytics/skills/data-validation.md +68 -68
- package/extensions/analytics/skills/funnel-analysis.md +81 -81
- package/extensions/analytics/skills/sql-patterns.md +57 -57
- package/extensions/analytics/skills/statistical-analysis.md +79 -79
- package/extensions/analytics/skills/tracking-setup.md +71 -71
- package/extensions/backend/PACK.md +104 -104
- package/extensions/backend/skills/api-patterns.md +84 -84
- package/extensions/backend/skills/async-pipeline.md +193 -193
- package/extensions/backend/skills/auth-patterns.md +97 -97
- package/extensions/backend/skills/background-jobs.md +133 -133
- package/extensions/backend/skills/caching-patterns.md +108 -108
- package/extensions/backend/skills/cli-generation.md +133 -133
- package/extensions/backend/skills/database-patterns.md +87 -87
- package/extensions/backend/skills/middleware-patterns.md +104 -104
- package/extensions/chrome-ext/PACK.md +93 -93
- package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
- package/extensions/chrome-ext/skills/cws-publish.md +104 -104
- package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
- package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
- package/extensions/chrome-ext/skills/ext-storage.md +133 -133
- package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
- package/extensions/content/PACK.md +96 -96
- package/extensions/content/skills/blog-patterns.md +88 -88
- package/extensions/content/skills/cms-integration.md +131 -131
- package/extensions/content/skills/content-scoring.md +107 -107
- package/extensions/content/skills/i18n.md +83 -83
- package/extensions/content/skills/mdx-authoring.md +137 -137
- package/extensions/content/skills/reference.md +1014 -1014
- package/extensions/content/skills/seo-patterns.md +67 -67
- package/extensions/content/skills/video-repurpose.md +153 -153
- package/extensions/devops/PACK.md +101 -101
- package/extensions/devops/skills/chaos-testing.md +67 -67
- package/extensions/devops/skills/ci-cd.md +75 -75
- package/extensions/devops/skills/docker.md +58 -58
- package/extensions/devops/skills/edge-serverless.md +163 -163
- package/extensions/devops/skills/infra-as-code.md +158 -158
- package/extensions/devops/skills/kubernetes.md +110 -110
- package/extensions/devops/skills/monitoring.md +57 -57
- package/extensions/devops/skills/server-setup.md +64 -64
- package/extensions/devops/skills/ssl-domain.md +42 -42
- package/extensions/ecommerce/PACK.md +116 -116
- package/extensions/ecommerce/skills/cart-system.md +79 -79
- package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
- package/extensions/ecommerce/skills/order-management.md +126 -126
- package/extensions/ecommerce/skills/payment-integration.md +472 -472
- package/extensions/ecommerce/skills/shopify-dev.md +69 -69
- package/extensions/ecommerce/skills/subscription-billing.md +93 -93
- package/extensions/ecommerce/skills/tax-compliance.md +117 -117
- package/extensions/gamedev/PACK.md +142 -142
- package/extensions/gamedev/skills/asset-pipeline.md +74 -74
- package/extensions/gamedev/skills/audio-system.md +129 -129
- package/extensions/gamedev/skills/camera-system.md +87 -87
- package/extensions/gamedev/skills/ecs.md +98 -98
- package/extensions/gamedev/skills/game-loops.md +72 -72
- package/extensions/gamedev/skills/input-system.md +199 -199
- package/extensions/gamedev/skills/multiplayer.md +180 -180
- package/extensions/gamedev/skills/particles.md +105 -105
- package/extensions/gamedev/skills/physics-engine.md +89 -89
- package/extensions/gamedev/skills/scene-management.md +146 -146
- package/extensions/gamedev/skills/threejs-patterns.md +90 -90
- package/extensions/gamedev/skills/webgl.md +71 -71
- package/extensions/mobile/PACK.md +106 -106
- package/extensions/mobile/skills/app-store-connect.md +152 -152
- package/extensions/mobile/skills/app-store-prep.md +66 -66
- package/extensions/mobile/skills/deep-linking.md +109 -109
- package/extensions/mobile/skills/flutter.md +60 -60
- package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
- package/extensions/mobile/skills/native-bridge.md +66 -66
- package/extensions/mobile/skills/ota-updates.md +97 -97
- package/extensions/mobile/skills/push-notifications.md +111 -111
- package/extensions/mobile/skills/react-native.md +82 -82
- package/extensions/saas/PACK.md +116 -116
- package/extensions/saas/skills/billing-integration.md +200 -200
- package/extensions/saas/skills/feature-flags.md +130 -130
- package/extensions/saas/skills/multi-tenant.md +103 -103
- package/extensions/saas/skills/onboarding-flow.md +139 -139
- package/extensions/saas/skills/subscription-flow.md +95 -95
- package/extensions/saas/skills/team-management.md +144 -144
- package/extensions/security/PACK.md +99 -99
- package/extensions/security/skills/api-security.md +140 -140
- package/extensions/security/skills/compliance.md +68 -68
- package/extensions/security/skills/owasp-audit.md +64 -64
- package/extensions/security/skills/pentest-patterns.md +77 -77
- package/extensions/security/skills/secret-mgmt.md +65 -65
- package/extensions/security/skills/supply-chain.md +65 -65
- package/extensions/trading/PACK.md +80 -80
- package/extensions/trading/skills/chart-components.md +55 -55
- package/extensions/trading/skills/experiment-loop.md +125 -125
- package/extensions/trading/skills/fintech-patterns.md +47 -47
- package/extensions/trading/skills/indicator-library.md +58 -58
- package/extensions/trading/skills/quant-analysis.md +111 -111
- package/extensions/trading/skills/realtime-data.md +58 -58
- package/extensions/trading/skills/trade-logic.md +104 -104
- package/extensions/ui/PACK.md +130 -130
- package/extensions/ui/skills/a11y-audit.md +91 -91
- package/extensions/ui/skills/animation-patterns.md +127 -127
- package/extensions/ui/skills/component-patterns.md +100 -100
- package/extensions/ui/skills/design-decision.md +108 -108
- package/extensions/ui/skills/design-system.md +68 -68
- package/extensions/ui/skills/landing-patterns.md +155 -155
- package/extensions/ui/skills/palette-picker.md +173 -173
- package/extensions/ui/skills/react-health.md +90 -90
- package/extensions/ui/skills/type-system.md +125 -125
- package/extensions/ui/skills/web-vitals.md +153 -153
- package/extensions/zalo/PACK.md +145 -145
- package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
- package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
- package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
- package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
- package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
- package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
- package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
- package/hooks/auto-format/index.cjs +48 -48
- package/hooks/hooks.json +111 -111
- package/hooks/post-session-reflect/index.cjs +189 -189
- package/hooks/pre-compact/index.cjs +95 -95
- package/hooks/run-hook.cmd +1 -1
- package/hooks/secrets-scan/index.cjs +100 -100
- package/hooks/session-start/index.cjs +71 -71
- package/hooks/typecheck/index.cjs +65 -65
- package/package.json +63 -63
- package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
- package/references/ui-pro-max-data/charts.csv +26 -26
- package/references/ui-pro-max-data/colors.csv +161 -161
- package/references/ui-pro-max-data/styles.csv +68 -68
- package/references/ui-pro-max-data/typography.csv +74 -74
- package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
- package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
- package/skills/adversary/SKILL.md +283 -283
- package/skills/asset-creator/SKILL.md +157 -157
- package/skills/audit/SKILL.md +147 -2
- package/skills/autopsy/SKILL.md +335 -335
- package/skills/brainstorm/SKILL.md +342 -342
- package/skills/browser-pilot/SKILL.md +168 -168
- package/skills/constraint-check/SKILL.md +165 -165
- package/skills/context-engine/SKILL.md +404 -404
- package/skills/cook/SKILL.md +917 -863
- package/skills/db/SKILL.md +273 -273
- package/skills/debug/SKILL.md +465 -465
- package/skills/dependency-doctor/SKILL.md +265 -235
- package/skills/deploy/SKILL.md +274 -231
- package/skills/design/DESIGN-REFERENCE.md +365 -365
- package/skills/design/SKILL.md +589 -589
- package/skills/doc-processor/SKILL.md +254 -254
- package/skills/docs/SKILL.md +374 -374
- package/skills/docs-seeker/SKILL.md +177 -177
- package/skills/fix/SKILL.md +330 -330
- package/skills/git/SKILL.md +339 -339
- package/skills/hallucination-guard/SKILL.md +219 -219
- package/skills/incident/SKILL.md +254 -253
- package/skills/integrity-check/SKILL.md +169 -169
- package/skills/journal/SKILL.md +240 -240
- package/skills/launch/SKILL.md +344 -344
- package/skills/logic-guardian/SKILL.md +251 -251
- package/skills/marketing/SKILL.md +290 -289
- package/skills/mcp-builder/SKILL.md +425 -425
- package/skills/neural-memory/SKILL.md +362 -362
- package/skills/onboard/SKILL.md +404 -403
- package/skills/perf/SKILL.md +346 -346
- package/skills/plan/SKILL.md +433 -428
- package/skills/preflight/SKILL.md +415 -415
- package/skills/problem-solver/SKILL.md +380 -284
- package/skills/rescue/SKILL.md +474 -474
- package/skills/retro/SKILL.md +3 -1
- package/skills/review/SKILL.md +612 -588
- package/skills/review-intake/SKILL.md +249 -249
- package/skills/safeguard/SKILL.md +200 -200
- package/skills/sast/SKILL.md +190 -190
- package/skills/scaffold/SKILL.md +328 -287
- package/skills/scope-guard/SKILL.md +180 -180
- package/skills/scout/SKILL.md +263 -263
- package/skills/sentinel/SKILL.md +382 -381
- package/skills/sentinel-env/SKILL.md +254 -254
- package/skills/sequential-thinking/SKILL.md +234 -234
- package/skills/session-bridge/SKILL.md +543 -543
- package/skills/skill-forge/SKILL.md +581 -581
- package/skills/skill-router/SKILL.md +3 -0
- package/skills/surgeon/SKILL.md +215 -215
- package/skills/team/SKILL.md +556 -537
- package/skills/test/SKILL.md +614 -614
- package/skills/trend-scout/SKILL.md +145 -145
- package/skills/verification/SKILL.md +326 -326
- package/skills/video-creator/SKILL.md +201 -201
- package/skills/watchdog/SKILL.md +168 -168
- package/skills/worktree/SKILL.md +140 -140
package/skills/incident/SKILL.md
CHANGED
|
@@ -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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- `
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
| **
|
|
51
|
-
| **
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
| **
|
|
72
|
-
| **
|
|
73
|
-
| **
|
|
74
|
-
| **
|
|
75
|
-
| **
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
If `sentinel` returns `
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
[HH:MM]
|
|
123
|
-
[HH:MM]
|
|
124
|
-
[HH:MM]
|
|
125
|
-
[HH:MM]
|
|
126
|
-
[HH:MM]
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
**
|
|
140
|
-
**
|
|
141
|
-
**
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
14:
|
|
191
|
-
14:
|
|
192
|
-
14:
|
|
193
|
-
|
|
194
|
-
15:
|
|
195
|
-
15:
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
|
216
|
-
|
|
|
217
|
-
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
| Incident
|
|
225
|
-
|
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
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 outage — core feature unavailable for all users | 15 minutes |
|
|
51
|
+
| **P2** | Partial degradation — feature 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 response — incident 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 containment — not 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 obvious — always 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.
|