@decocms/start 0.19.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 (185) hide show
  1. package/.cursor/skills/deco-api-call-dedup/SKILL.md +443 -0
  2. package/.cursor/skills/deco-apps-architecture/SKILL.md +255 -0
  3. package/.cursor/skills/deco-apps-architecture/app-pattern.md +288 -0
  4. package/.cursor/skills/deco-apps-architecture/commerce-types.md +239 -0
  5. package/.cursor/skills/deco-apps-architecture/new-app-guide.md +268 -0
  6. package/.cursor/skills/deco-apps-architecture/scripts-codegen.md +148 -0
  7. package/.cursor/skills/deco-apps-architecture/shared-utils.md +181 -0
  8. package/.cursor/skills/deco-apps-architecture/vtex-deep-structure.md +253 -0
  9. package/.cursor/skills/deco-apps-architecture/website-app.md +169 -0
  10. package/.cursor/skills/deco-apps-vtex-porting/SKILL.md +189 -0
  11. package/.cursor/skills/deco-apps-vtex-porting/adaptation-patterns.md +335 -0
  12. package/.cursor/skills/deco-apps-vtex-porting/commerce-porting.md +155 -0
  13. package/.cursor/skills/deco-apps-vtex-porting/cookie-auth-patterns.md +148 -0
  14. package/.cursor/skills/deco-apps-vtex-porting/structure-map.md +234 -0
  15. package/.cursor/skills/deco-apps-vtex-porting/transform-mapping.md +99 -0
  16. package/.cursor/skills/deco-apps-vtex-porting/website-porting.md +194 -0
  17. package/.cursor/skills/deco-apps-vtex-review/SKILL.md +234 -0
  18. package/.cursor/skills/deco-async-rendering-architecture/SKILL.md +270 -0
  19. package/.cursor/skills/deco-async-rendering-site-guide/SKILL.md +417 -0
  20. package/.cursor/skills/deco-cms-layout-caching/SKILL.md +293 -0
  21. package/.cursor/skills/deco-cms-route-config/SKILL.md +388 -0
  22. package/.cursor/skills/deco-core-architecture/SKILL.md +185 -0
  23. package/.cursor/skills/deco-core-architecture/blocks.md +196 -0
  24. package/.cursor/skills/deco-core-architecture/deco-vs-deco-start.md +191 -0
  25. package/.cursor/skills/deco-core-architecture/engine.md +220 -0
  26. package/.cursor/skills/deco-core-architecture/hooks-components.md +157 -0
  27. package/.cursor/skills/deco-core-architecture/plugins-clients.md +136 -0
  28. package/.cursor/skills/deco-core-architecture/runtime.md +116 -0
  29. package/.cursor/skills/deco-core-architecture/site-usage.md +165 -0
  30. package/.cursor/skills/deco-e2e-testing/SKILL.md +372 -0
  31. package/.cursor/skills/deco-e2e-testing/discovery.md +337 -0
  32. package/.cursor/skills/deco-e2e-testing/scripts/scaffold.sh +81 -0
  33. package/.cursor/skills/deco-e2e-testing/selectors.md +175 -0
  34. package/.cursor/skills/deco-e2e-testing/templates/package.json +18 -0
  35. package/.cursor/skills/deco-e2e-testing/templates/playwright.config.ts +65 -0
  36. package/.cursor/skills/deco-e2e-testing/templates/scripts/baseline.ts +279 -0
  37. package/.cursor/skills/deco-e2e-testing/templates/scripts/run-e2e.ts +194 -0
  38. package/.cursor/skills/deco-e2e-testing/templates/specs/ecommerce-flow.spec.ts +612 -0
  39. package/.cursor/skills/deco-e2e-testing/templates/tsconfig.json +12 -0
  40. package/.cursor/skills/deco-e2e-testing/templates/utils/metrics-collector.ts +918 -0
  41. package/.cursor/skills/deco-e2e-testing/troubleshooting.md +602 -0
  42. package/.cursor/skills/deco-edge-caching/SKILL.md +316 -0
  43. package/.cursor/skills/deco-full-analysis/SKILL.md +898 -0
  44. package/.cursor/skills/deco-full-analysis/checklists/asset-optimization.md +251 -0
  45. package/.cursor/skills/deco-full-analysis/checklists/bug-fix.md +189 -0
  46. package/.cursor/skills/deco-full-analysis/checklists/cache-strategy.md +144 -0
  47. package/.cursor/skills/deco-full-analysis/checklists/dependency-update.md +150 -0
  48. package/.cursor/skills/deco-full-analysis/checklists/hydration-fix.md +191 -0
  49. package/.cursor/skills/deco-full-analysis/checklists/image-optimization.md +180 -0
  50. package/.cursor/skills/deco-full-analysis/checklists/loader-optimization.md +165 -0
  51. package/.cursor/skills/deco-full-analysis/checklists/seo-fix.md +183 -0
  52. package/.cursor/skills/deco-full-analysis/checklists/site-cleanup.md +281 -0
  53. package/.cursor/skills/deco-full-analysis/discovery.md +548 -0
  54. package/.cursor/skills/deco-incident-debugging/SKILL.md +378 -0
  55. package/.cursor/skills/deco-incident-debugging/headless-mode.md +510 -0
  56. package/.cursor/skills/deco-incident-debugging/learnings-index.md +227 -0
  57. package/.cursor/skills/deco-incident-debugging/triage-workflow.md +312 -0
  58. package/.cursor/skills/deco-islands-migration/SKILL.md +251 -0
  59. package/.cursor/skills/deco-loader-n-plus-1-detector/SKILL.md +275 -0
  60. package/.cursor/skills/deco-performance-audit/SKILL.md +530 -0
  61. package/.cursor/skills/deco-performance-audit/tools-reference.md +428 -0
  62. package/.cursor/skills/deco-performance-audit/workflow.md +457 -0
  63. package/.cursor/skills/deco-server-functions-invoke/SKILL.md +92 -0
  64. package/.cursor/skills/deco-server-functions-invoke/architecture.md +166 -0
  65. package/.cursor/skills/deco-server-functions-invoke/generator.md +122 -0
  66. package/.cursor/skills/deco-server-functions-invoke/problem.md +98 -0
  67. package/.cursor/skills/deco-server-functions-invoke/troubleshooting.md +110 -0
  68. package/.cursor/skills/deco-site-deployment/SKILL.md +396 -0
  69. package/.cursor/skills/deco-site-memory-debugging/SKILL.md +121 -0
  70. package/.cursor/skills/deco-site-memory-debugging/cdp-connection.md +222 -0
  71. package/.cursor/skills/deco-site-memory-debugging/memory-analysis.md +362 -0
  72. package/.cursor/skills/deco-site-patterns/SKILL.md +124 -0
  73. package/.cursor/skills/deco-site-patterns/app-composition.md +337 -0
  74. package/.cursor/skills/deco-site-patterns/client-patterns.md +341 -0
  75. package/.cursor/skills/deco-site-patterns/cms-wiring.md +230 -0
  76. package/.cursor/skills/deco-site-patterns/section-patterns.md +340 -0
  77. package/.cursor/skills/deco-site-scaling-tuning/SKILL.md +240 -0
  78. package/.cursor/skills/deco-site-scaling-tuning/analysis-scripts.md +267 -0
  79. package/.cursor/skills/deco-start-architecture/SKILL.md +218 -0
  80. package/.cursor/skills/deco-start-architecture/admin-protocol.md +156 -0
  81. package/.cursor/skills/deco-start-architecture/cms-resolution.md +201 -0
  82. package/.cursor/skills/deco-start-architecture/code-quality.md +158 -0
  83. package/.cursor/skills/deco-start-architecture/gap-analysis.md +129 -0
  84. package/.cursor/skills/deco-start-architecture/sdk-utilities.md +197 -0
  85. package/.cursor/skills/deco-start-architecture/worker-entry-caching.md +154 -0
  86. package/.cursor/skills/deco-startup-analysis/SKILL.md +248 -0
  87. package/.cursor/skills/deco-storefront-test-checklist/SKILL.md +369 -0
  88. package/.cursor/skills/deco-tanstack-hydration-fixes/SKILL.md +468 -0
  89. package/.cursor/skills/deco-tanstack-navigation/SKILL.md +681 -0
  90. package/.cursor/skills/deco-tanstack-search/SKILL.md +411 -0
  91. package/.cursor/skills/deco-tanstack-storefront-patterns/SKILL.md +1013 -0
  92. package/.cursor/skills/deco-to-tanstack-migration/SKILL.md +518 -0
  93. package/.cursor/skills/deco-to-tanstack-migration/references/codemod-commands.md +174 -0
  94. package/.cursor/skills/deco-to-tanstack-migration/references/commerce/README.md +78 -0
  95. package/.cursor/skills/deco-to-tanstack-migration/references/deco-framework/README.md +128 -0
  96. package/.cursor/skills/deco-to-tanstack-migration/references/gotchas.md +719 -0
  97. package/.cursor/skills/deco-to-tanstack-migration/references/imports/README.md +70 -0
  98. package/.cursor/skills/deco-to-tanstack-migration/references/platform-hooks/README.md +154 -0
  99. package/.cursor/skills/deco-to-tanstack-migration/references/signals/README.md +220 -0
  100. package/.cursor/skills/deco-to-tanstack-migration/references/vite-config/README.md +78 -0
  101. package/.cursor/skills/deco-to-tanstack-migration/templates/package-json.md +55 -0
  102. package/.cursor/skills/deco-to-tanstack-migration/templates/root-route.md +110 -0
  103. package/.cursor/skills/deco-to-tanstack-migration/templates/router.md +96 -0
  104. package/.cursor/skills/deco-to-tanstack-migration/templates/setup-ts.md +167 -0
  105. package/.cursor/skills/deco-to-tanstack-migration/templates/vite-config.md +122 -0
  106. package/.cursor/skills/deco-to-tanstack-migration/templates/worker-entry.md +67 -0
  107. package/.cursor/skills/deco-typescript-fixes/SKILL.md +178 -0
  108. package/.cursor/skills/deco-typescript-fixes/common-fixes.md +330 -0
  109. package/.cursor/skills/deco-typescript-fixes/strategy.md +148 -0
  110. package/.cursor/skills/deco-variant-selection-perf/SKILL.md +272 -0
  111. package/.cursor/skills/deco-vtex-fetch-cache/SKILL.md +225 -0
  112. package/.cursor/skills/find-skills/SKILL.md +133 -0
  113. package/.cursor/skills/incident-report/SKILL.md +179 -0
  114. package/.cursor/skills/incident-report/references/5-whys.md +75 -0
  115. package/.cursor/skills/incident-report/templates/client-report.md +187 -0
  116. package/.cursor/skills/incident-report/templates/internal-report.md +206 -0
  117. package/.cursor/skills/template-skill/SKILL.md +38 -0
  118. package/.github/workflows/release.yml +32 -0
  119. package/.releaserc.json +25 -0
  120. package/CLAUDE.md +135 -0
  121. package/GAP_ANALYSIS.md +224 -0
  122. package/GAP_ANALYSIS_V2.md +1013 -0
  123. package/biome.json +39 -0
  124. package/knip.json +5 -0
  125. package/package.json +87 -0
  126. package/scripts/generate-blocks.ts +69 -0
  127. package/scripts/generate-invoke.ts +378 -0
  128. package/scripts/generate-schema.ts +657 -0
  129. package/src/admin/cors.ts +29 -0
  130. package/src/admin/decofile.ts +72 -0
  131. package/src/admin/index.ts +24 -0
  132. package/src/admin/invoke.ts +163 -0
  133. package/src/admin/liveControls.ts +29 -0
  134. package/src/admin/meta.ts +70 -0
  135. package/src/admin/render.ts +205 -0
  136. package/src/admin/schema.ts +686 -0
  137. package/src/admin/setup.ts +44 -0
  138. package/src/cms/index.ts +59 -0
  139. package/src/cms/loader.ts +180 -0
  140. package/src/cms/registry.ts +162 -0
  141. package/src/cms/resolve.ts +1005 -0
  142. package/src/cms/sectionLoaders.ts +294 -0
  143. package/src/hooks/DecoPageRenderer.tsx +444 -0
  144. package/src/hooks/LazySection.tsx +109 -0
  145. package/src/hooks/LiveControls.tsx +108 -0
  146. package/src/hooks/SectionErrorFallback.tsx +85 -0
  147. package/src/hooks/index.ts +8 -0
  148. package/src/index.ts +5 -0
  149. package/src/matchers/builtins.ts +184 -0
  150. package/src/matchers/posthog.ts +154 -0
  151. package/src/middleware/decoState.ts +55 -0
  152. package/src/middleware/healthMetrics.ts +131 -0
  153. package/src/middleware/index.ts +80 -0
  154. package/src/middleware/liveness.ts +21 -0
  155. package/src/middleware/observability.ts +205 -0
  156. package/src/routes/adminRoutes.ts +83 -0
  157. package/src/routes/cmsRoute.ts +302 -0
  158. package/src/routes/components.tsx +34 -0
  159. package/src/routes/index.ts +15 -0
  160. package/src/sdk/analytics.ts +72 -0
  161. package/src/sdk/cacheHeaders.ts +268 -0
  162. package/src/sdk/cachedLoader.ts +206 -0
  163. package/src/sdk/clx.ts +3 -0
  164. package/src/sdk/cookie.ts +39 -0
  165. package/src/sdk/createInvoke.ts +57 -0
  166. package/src/sdk/csp.ts +59 -0
  167. package/src/sdk/env.ts +27 -0
  168. package/src/sdk/index.ts +63 -0
  169. package/src/sdk/instrumentedFetch.ts +137 -0
  170. package/src/sdk/invoke.ts +133 -0
  171. package/src/sdk/mergeCacheControl.ts +150 -0
  172. package/src/sdk/redirects.ts +217 -0
  173. package/src/sdk/requestContext.ts +184 -0
  174. package/src/sdk/serverTimings.ts +68 -0
  175. package/src/sdk/signal.ts +41 -0
  176. package/src/sdk/sitemap.ts +143 -0
  177. package/src/sdk/urlUtils.ts +117 -0
  178. package/src/sdk/useDevice.ts +82 -0
  179. package/src/sdk/useId.ts +7 -0
  180. package/src/sdk/useScript.ts +101 -0
  181. package/src/sdk/workerEntry.ts +703 -0
  182. package/src/sdk/wrapCaughtErrors.ts +107 -0
  183. package/src/types/index.ts +39 -0
  184. package/src/types/widgets.ts +13 -0
  185. package/tsconfig.json +13 -0
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: incident-report
3
+ description: Create incident reports and post-mortems for platform issues. Supports both internal technical reports and client-facing communications. Use when documenting outages, security vulnerabilities, data leaks, performance degradation, or any production incident.
4
+ ---
5
+
6
+ # Incident Report Skill
7
+
8
+ Generate comprehensive incident reports and post-mortems following team standards. Supports two report types: internal technical analysis and client-facing communications.
9
+
10
+ ## Quick Start
11
+
12
+ 1. **Classify** the incident (severity, type, audience)
13
+ 2. **Gather** information using the discovery prompts
14
+ 3. **Generate** the appropriate report using templates
15
+ 4. **Review** using the checklist
16
+
17
+ ## Phase 1: Classification
18
+
19
+ ### Severity Levels
20
+
21
+ | Level | Criteria | Response Time |
22
+ |-------|----------|---------------|
23
+ | **P0 Critical** | Data breach, cross-tenant exposure, complete outage | Immediate |
24
+ | **P1 High** | Partial outage, significant performance degradation, security vulnerability | < 1 hour |
25
+ | **P2 Medium** | Degraded service, non-critical feature down | < 4 hours |
26
+ | **P3 Low** | Minor issue, cosmetic, workaround available | Next business day |
27
+
28
+ ### Incident Types
29
+
30
+ - **Outage**: Service unavailable or severely degraded
31
+ - **Security**: Vulnerability, unauthorized access, data exposure
32
+ - **Data Leak**: Customer data exposed to wrong party
33
+ - **Performance**: Latency spikes, memory issues, 5xx errors
34
+ - **Configuration**: Misconfig causing issues, deployment failures
35
+
36
+ ### Report Audience
37
+
38
+ | Audience | Report Type | Focus |
39
+ |----------|-------------|-------|
40
+ | **Internal** | Technical post-mortem | Root cause, technical details, action items |
41
+ | **Client** | Customer communication | Impact, resolution, prevention, reassurance |
42
+
43
+ ## Phase 2: Information Gathering
44
+
45
+ Before writing, gather these details. Ask the user if any are missing:
46
+
47
+ ### Core Facts (Required)
48
+
49
+ ```
50
+ - Incident date and time (with timezone)
51
+ - Duration of impact
52
+ - Affected systems/services
53
+ - Affected customers/sites
54
+ - Who detected it (monitoring, customer report, internal)
55
+ - Current status (ongoing, resolved, monitoring)
56
+ ```
57
+
58
+ ### Technical Details (Internal Reports)
59
+
60
+ ```
61
+ - What was the root cause?
62
+ - What was the timeline? (detection → investigation → fix → verification)
63
+ - What commands/logs showed the issue?
64
+ - What was the fix applied?
65
+ - Were there any secondary effects?
66
+ ```
67
+
68
+ ### Impact Assessment
69
+
70
+ ```
71
+ - Number of affected requests/users
72
+ - Error rates (percentage)
73
+ - Revenue impact (if applicable)
74
+ - Data exposure scope (if security/data leak)
75
+ - Customer complaints received
76
+ ```
77
+
78
+ ### Resolution Details
79
+
80
+ ```
81
+ - What immediate fix was applied?
82
+ - Who was involved in resolution?
83
+ - How was the fix verified?
84
+ - Are there follow-up actions needed?
85
+ ```
86
+
87
+ ## Phase 3: Generate Report
88
+
89
+ ### Internal Technical Report
90
+
91
+ Use template: [templates/internal-report.md](templates/internal-report.md)
92
+
93
+ Structure:
94
+ 1. **TL;DR** - 3-5 bullet summary for busy readers
95
+ 2. **Executive Summary** - One paragraph overview
96
+ 3. **Timeline** - Chronological events
97
+ 4. **Root Cause Analysis** - Technical deep-dive
98
+ 5. **Impact** - Quantified effects
99
+ 6. **Resolution** - What was done
100
+ 7. **Action Items** - TODO list with owners
101
+ 8. **Lessons Learned** - Blameless retrospective
102
+ 9. **References** - Links, logs, PRs
103
+
104
+ ### Client-Facing Report
105
+
106
+ Use template: [templates/client-report.md](templates/client-report.md)
107
+
108
+ Structure:
109
+ 1. **Subject Line** - Clear, professional
110
+ 2. **Acknowledgment** - We take this seriously
111
+ 3. **What Happened** - Non-technical explanation
112
+ 4. **Impact on You** - Specific to this client
113
+ 5. **Resolution** - What we did
114
+ 6. **Prevention** - What we're doing to prevent recurrence
115
+ 7. **Contact** - Who to reach for questions
116
+
117
+ ## Phase 4: Review Checklist
118
+
119
+ Before finalizing, verify:
120
+
121
+ ### Content Quality
122
+ - [ ] Timeline is accurate and complete
123
+ - [ ] Root cause is clearly identified (not symptoms)
124
+ - [ ] Impact is quantified with real numbers
125
+ - [ ] Action items have owners and priorities
126
+ - [ ] No blame assigned to individuals
127
+
128
+ ### Client Reports Additional
129
+ - [ ] Technical jargon removed or explained
130
+ - [ ] Tone is professional and empathetic
131
+ - [ ] Next steps are clear
132
+ - [ ] Contact information included
133
+ - [ ] Client-specific impact addressed
134
+
135
+ ### Security Incidents Additional
136
+ - [ ] Scope of exposure documented
137
+ - [ ] Affected data types listed
138
+ - [ ] Customer notification requirements checked
139
+ - [ ] Compliance implications noted (LGPD, GDPR)
140
+
141
+ ## Blameless Post-Mortem Principles
142
+
143
+ 1. **Focus on systems, not people** - "The monitoring gap allowed..." not "John failed to..."
144
+ 2. **Assume good intent** - Everyone was trying to do the right thing
145
+ 3. **Learn, don't punish** - Goal is improvement, not blame
146
+ 4. **Be specific** - "Deploy at 14:32 caused..." not "Recent changes caused..."
147
+ 5. **Quantify impact** - "2% of 30k requests = 600 errors" not "some errors"
148
+
149
+ ## Writing Tips
150
+
151
+ ### For Internal Reports
152
+ - Be technically precise
153
+ - Include actual commands, logs, configs
154
+ - Link to related PRs, issues, dashboards
155
+ - Use diagrams for complex flows
156
+
157
+ ### For Client Reports
158
+ - Lead with resolution/status
159
+ - Avoid defensive language
160
+ - Be specific about prevention measures
161
+ - Keep under 500 words unless complex
162
+ - Translate technical terms
163
+
164
+ ## File Naming Convention
165
+
166
+ ```
167
+ {slug}-{YYYY-MM-DD}.md
168
+
169
+ Examples:
170
+ - istio-xds-message-overflow-2026-02-03.md
171
+ - openbox2-traffic-spike-502-2026-02-05.md
172
+ - aviator-cross-tenant-routing-2026-02-03.md
173
+ ```
174
+
175
+ ## Additional Resources
176
+
177
+ - [templates/internal-report.md](templates/internal-report.md) - Full internal template
178
+ - [templates/client-report.md](templates/client-report.md) - Client communication template
179
+ - [references/5-whys.md](references/5-whys.md) - Root cause analysis technique
@@ -0,0 +1,75 @@
1
+ # 5-Whys Root Cause Analysis
2
+
3
+ A simple technique to find the true root cause of an incident by asking "Why?" repeatedly.
4
+
5
+ ## How to Use
6
+
7
+ 1. Start with the problem statement
8
+ 2. Ask "Why did this happen?"
9
+ 3. For each answer, ask "Why?" again
10
+ 4. Continue until you reach a root cause (usually 5 iterations)
11
+ 5. Stop when you reach something actionable
12
+
13
+ ## Example: Cross-Tenant Routing
14
+
15
+ ```
16
+ Problem: Customer A's site showed Customer B's content
17
+
18
+ Why 1: Why did Customer A see Customer B's content?
19
+ → Because the routing rules sent traffic to the wrong backend
20
+
21
+ Why 2: Why were routing rules pointing to wrong backend?
22
+ → Because the Envoy proxy was using stale/outdated configuration
23
+
24
+ Why 3: Why was Envoy using stale configuration?
25
+ → Because it couldn't receive new config updates from istiod
26
+
27
+ Why 4: Why couldn't it receive config updates?
28
+ → Because the gRPC message exceeded the 4MB size limit
29
+
30
+ Why 5: Why was the message over 4MB?
31
+ → Because we have 14,000 services and the default limit was never adjusted for our scale
32
+
33
+ ROOT CAUSE: Infrastructure configuration not updated to match platform scale
34
+ ```
35
+
36
+ ## Example: Memory-Related 502 Errors
37
+
38
+ ```
39
+ Problem: 2% of requests returned 502 during traffic spike
40
+
41
+ Why 1: Why did requests return 502?
42
+ → Because the application pods were killed/restarted
43
+
44
+ Why 2: Why were pods killed?
45
+ → Because they exceeded memory limits (OOMKilled)
46
+
47
+ Why 3: Why did they exceed memory limits?
48
+ → Because traffic increased 150x (200 → 30k req/min) and memory usage scaled with connections
49
+
50
+ Why 4: Why didn't we scale before hitting limits?
51
+ → Because HPA was based on CPU, not memory, and CPU didn't spike proportionally
52
+
53
+ Why 5: Why wasn't memory included in scaling metrics?
54
+ → Because we hadn't profiled memory behavior under high-concurrency scenarios
55
+
56
+ ROOT CAUSE: Autoscaling configuration not calibrated for memory-intensive traffic patterns
57
+ ```
58
+
59
+ ## Tips
60
+
61
+ - **Don't stop at symptoms** - "The server crashed" is a symptom, not a cause
62
+ - **Don't blame people** - "John didn't check" → "The checklist didn't include this verification"
63
+ - **Multiple branches are OK** - Complex incidents often have multiple contributing root causes
64
+ - **Actionable = root cause** - If you can write a TODO to fix it, you've found the root cause
65
+
66
+ ## Common Root Cause Categories
67
+
68
+ | Category | Example Root Causes |
69
+ |----------|-------------------|
70
+ | **Configuration** | Defaults not adjusted for scale, missing limits |
71
+ | **Monitoring** | No alert for this failure mode, wrong thresholds |
72
+ | **Process** | No runbook, unclear ownership, missing checklist |
73
+ | **Architecture** | Single point of failure, no circuit breaker |
74
+ | **Testing** | Edge case not covered, no load testing |
75
+ | **Documentation** | Outdated docs, tribal knowledge not written down |
@@ -0,0 +1,187 @@
1
+ # Client-Facing Incident Report Template
2
+
3
+ Use this template for customer communications. Adapt tone and detail level based on relationship and incident severity.
4
+
5
+ ---
6
+
7
+ ## Email Template (Standard)
8
+
9
+ ```markdown
10
+ **Assunto:** [Status] Incidente de [Tipo] - [Nome do Site/Cliente]
11
+
12
+ Prezado(a) [Nome],
13
+
14
+ [Agradecemos por nos comunicar | Entramos em contato proativamente] sobre o incidente ocorrido em [data].
15
+
16
+ **Resumo do que aconteceu:**
17
+
18
+ [Explicação em 2-3 frases, sem jargão técnico. Foque no que o cliente experimentou, não nos detalhes internos.]
19
+
20
+ **Impacto no seu site:**
21
+
22
+ - [Impacto específico 1 - ex: "Aproximadamente X% das requisições retornaram erro"]
23
+ - [Impacto específico 2 - ex: "O problema durou X minutos"]
24
+ - [Se houve exposição de dados: detalhar exatamente o que foi exposto]
25
+
26
+ **O que fizemos para resolver:**
27
+
28
+ 1. [Ação imediata tomada]
29
+ 2. [Verificação realizada]
30
+ 3. [Resultado: "Após essas ações, o problema foi resolvido e verificamos que..."]
31
+
32
+ **O que estamos fazendo para evitar que isso aconteça novamente:**
33
+
34
+ - [Medida preventiva 1 - seja específico]
35
+ - [Medida preventiva 2]
36
+ - [Medida preventiva 3 se aplicável]
37
+
38
+ **Próximos passos:**
39
+
40
+ [Se houver ações pendentes do lado deco ou do cliente]
41
+
42
+ Permanecemos à disposição para quaisquer esclarecimentos adicionais.
43
+
44
+ Atenciosamente,
45
+
46
+ **[Nome]**
47
+ [Cargo], Deco.cx
48
+ [Email] | [WhatsApp se apropriado]
49
+ ```
50
+
51
+ ---
52
+
53
+ ## Email Template (Security/Data Exposure - Formal)
54
+
55
+ ```markdown
56
+ **Assunto:** Comunicado de Segurança - Incidente em [Data]
57
+
58
+ Prezado(a) [Nome],
59
+
60
+ Entramos em contato para informá-lo(a) sobre um incidente de segurança que afetou [escopo].
61
+
62
+ **O que aconteceu:**
63
+
64
+ Em [data], identificamos [descrição não-técnica do problema]. [Duração do problema].
65
+
66
+ **Quais dados foram potencialmente afetados:**
67
+
68
+ - [Tipo de dado 1 - ex: "Conteúdo HTML das páginas"]
69
+ - [Tipo de dado 2 - ex: "Dados de carrinho de compras"]
70
+ - [Esclarecer o que NÃO foi afetado se relevante]
71
+
72
+ **Impacto no seu ambiente:**
73
+
74
+ [Descrição específica para este cliente]
75
+
76
+ **Ações tomadas:**
77
+
78
+ 1. [Correção aplicada]
79
+ 2. [Verificação de segurança]
80
+ 3. [Limpeza de cache/dados se aplicável]
81
+
82
+ **Medidas preventivas implementadas:**
83
+
84
+ 1. [Medida técnica 1]
85
+ 2. [Medida técnica 2]
86
+ 3. [Medida de monitoramento]
87
+
88
+ **Recomendações para sua equipe:**
89
+
90
+ - [Se houver ações recomendadas do lado do cliente]
91
+
92
+ **Contatos para o comitê de investigação (se aplicável):**
93
+
94
+ | Nome | Função | E-mail | WhatsApp |
95
+ |------|--------|--------|----------|
96
+ | [Nome] | [Cargo] | [email] | [telefone] |
97
+
98
+ Lamentamos profundamente qualquer inconveniente causado e reafirmamos nosso compromisso com a segurança dos dados de nossos clientes.
99
+
100
+ Atenciosamente,
101
+
102
+ **[Nome do Executivo/Co-fundador]**
103
+ [Cargo], Deco.cx
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Email Template (Performance Degradation)
109
+
110
+ ```markdown
111
+ **Assunto:** Relatório de Incidente - Degradação de Performance em [Data]
112
+
113
+ Prezado(a) [Nome],
114
+
115
+ Gostaríamos de compartilhar detalhes sobre o incidente de performance que afetou [site/serviço] em [data].
116
+
117
+ **O que aconteceu:**
118
+
119
+ Durante [período], observamos [descrição do problema - ex: "um aumento significativo no tempo de resposta" ou "erros intermitentes 502"].
120
+
121
+ **Números do impacto:**
122
+
123
+ - Período afetado: [horário início] às [horário fim]
124
+ - Taxa de erro: [X% das requisições]
125
+ - Tempo médio de resposta: [se aplicável]
126
+
127
+ **Causa identificada:**
128
+
129
+ [Explicação simplificada - ex: "Um aumento inesperado de tráfego excedeu a capacidade de memória alocada para o serviço"]
130
+
131
+ **Ações tomadas:**
132
+
133
+ 1. [Ação de mitigação]
134
+ 2. [Ajuste de capacidade]
135
+ 3. [Monitoramento intensificado]
136
+
137
+ **Melhorias implementadas:**
138
+
139
+ - [Ajuste de infraestrutura]
140
+ - [Novo alerta configurado]
141
+ - [Processo atualizado]
142
+
143
+ Continuamos monitorando ativamente e estamos à disposição para qualquer esclarecimento.
144
+
145
+ Atenciosamente,
146
+
147
+ **[Nome]**
148
+ [Cargo], Deco.cx
149
+ ```
150
+
151
+ ---
152
+
153
+ ## Writing Guidelines for Client Reports
154
+
155
+ ### DO
156
+
157
+ - Start with the current status (resolved/ongoing)
158
+ - Acknowledge the impact on their business
159
+ - Be specific about what happened and what was done
160
+ - Provide concrete prevention measures
161
+ - Include contact information for follow-up
162
+ - Use "we" language (we identified, we fixed)
163
+
164
+ ### DON'T
165
+
166
+ - Use technical jargon without explanation
167
+ - Be defensive or make excuses
168
+ - Blame third parties (even if true)
169
+ - Minimize the impact
170
+ - Make promises you can't keep
171
+ - Share internal details that don't help the customer
172
+
173
+ ### Tone Calibration
174
+
175
+ | Severity | Tone | Signer |
176
+ |----------|------|--------|
177
+ | P0 Critical | Formal, executive-level | Co-founder/CEO |
178
+ | P1 High | Professional, detailed | Engineering Lead |
179
+ | P2 Medium | Professional, concise | Support/Account Manager |
180
+ | P3 Low | Friendly, informative | Support Team |
181
+
182
+ ### Translation Notes (PT-BR)
183
+
184
+ - "Incidente" not "problema" or "bug"
185
+ - "Identificamos" not "descobrimos"
186
+ - "Implementamos medidas" not "consertamos"
187
+ - "Lamentamos o inconveniente" (use sparingly, once per email)
@@ -0,0 +1,206 @@
1
+ # Internal Incident Report Template
2
+
3
+ Copy and fill in this template for technical post-mortems.
4
+
5
+ ---
6
+
7
+ ```markdown
8
+ # Incident: [Brief Descriptive Title]
9
+
10
+ **Date of incident:** YYYY-MM-DD
11
+ **Severity:** [P0 Critical | P1 High | P2 Medium | P3 Low]
12
+ **Type:** [Outage | Security | Data Leak | Performance | Configuration]
13
+ **Affected systems:** [List systems, clusters, services]
14
+ **Root cause:** [One-line summary]
15
+ **Impact:** [One-line impact summary]
16
+
17
+ ---
18
+
19
+ ## TL;DR - Critical Information
20
+
21
+ ### What Happened
22
+ 1. [First key point]
23
+ 2. [Second key point]
24
+ 3. [Third key point]
25
+
26
+ ### Immediate Fix Applied
27
+ ```code
28
+ [The fix that resolved the issue]
29
+ ```
30
+
31
+ ### Why This Matters
32
+ - [Business/security implication 1]
33
+ - [Business/security implication 2]
34
+
35
+ ---
36
+
37
+ ## Executive Summary
38
+
39
+ [One paragraph (3-5 sentences) explaining what happened, what caused it, what was the impact, and how it was resolved. Written for someone who will only read this section.]
40
+
41
+ ---
42
+
43
+ ## Timeline
44
+
45
+ All times in UTC-3 (São Paulo).
46
+
47
+ | Time | Event |
48
+ |------|-------|
49
+ | HH:MM | [Detection: How was the issue detected?] |
50
+ | HH:MM | [Investigation: First investigative action] |
51
+ | HH:MM | [Escalation: Who was brought in?] |
52
+ | HH:MM | [Identification: Root cause identified] |
53
+ | HH:MM | [Mitigation: Temporary fix applied] |
54
+ | HH:MM | [Resolution: Permanent fix deployed] |
55
+ | HH:MM | [Verification: Confirmed resolution] |
56
+
57
+ **Total duration:** X hours Y minutes
58
+ **Time to detection:** X minutes
59
+ **Time to resolution:** X hours Y minutes
60
+
61
+ ---
62
+
63
+ ## Root Cause Analysis
64
+
65
+ ### The Problem
66
+
67
+ [Detailed technical explanation of what went wrong. Include architecture context if needed.]
68
+
69
+ ### Why It Happened
70
+
71
+ [Use 5-Whys or similar technique]
72
+
73
+ 1. **Why** did [symptom]? → Because [cause 1]
74
+ 2. **Why** did [cause 1]? → Because [cause 2]
75
+ 3. **Why** did [cause 2]? → Because [cause 3]
76
+ 4. **Why** did [cause 3]? → Because [root cause]
77
+
78
+ ### Contributing Factors
79
+
80
+ - [Factor 1 - e.g., missing monitoring]
81
+ - [Factor 2 - e.g., configuration drift]
82
+ - [Factor 3 - e.g., insufficient testing]
83
+
84
+ ---
85
+
86
+ ## Impact Assessment
87
+
88
+ ### Quantified Impact
89
+
90
+ | Metric | Value |
91
+ |--------|-------|
92
+ | Duration | X hours |
93
+ | Affected requests | X / Y total (Z%) |
94
+ | Error rate | X% |
95
+ | Affected customers | X sites |
96
+ | Revenue impact | [If applicable] |
97
+
98
+ ### Affected Customers
99
+
100
+ [List specific customers if known, or describe the affected segment]
101
+
102
+ ### Data Exposure (if applicable)
103
+
104
+ - **Data types exposed:** [List specific data types]
105
+ - **Exposure scope:** [Who could see what]
106
+ - **Duration of exposure:** [Time window]
107
+
108
+ ---
109
+
110
+ ## Resolution
111
+
112
+ ### Immediate Fix
113
+
114
+ [What was done to stop the bleeding]
115
+
116
+ ```yaml
117
+ # Configuration change, command, or code
118
+ [Actual fix applied]
119
+ ```
120
+
121
+ ### Verification Steps
122
+
123
+ ```bash
124
+ # Commands used to verify the fix
125
+ [Verification commands]
126
+ ```
127
+
128
+ ### Rollback Plan (if applicable)
129
+
130
+ [How to undo the fix if it causes issues]
131
+
132
+ ---
133
+
134
+ ## Action Items
135
+
136
+ ### Priority 1: Critical (This Week)
137
+
138
+ | Action | Owner | Status | Due |
139
+ |--------|-------|--------|-----|
140
+ | [Action 1] | @name | TODO | YYYY-MM-DD |
141
+ | [Action 2] | @name | TODO | YYYY-MM-DD |
142
+
143
+ ### Priority 2: High (This Sprint)
144
+
145
+ | Action | Owner | Status | Due |
146
+ |--------|-------|--------|-----|
147
+ | [Action 3] | @name | TODO | YYYY-MM-DD |
148
+
149
+ ### Priority 3: Medium (This Quarter)
150
+
151
+ | Action | Owner | Status | Due |
152
+ |--------|-------|--------|-----|
153
+ | [Action 4] | @name | TODO | YYYY-MM-DD |
154
+
155
+ ---
156
+
157
+ ## Lessons Learned
158
+
159
+ ### What Went Well
160
+ - [Positive 1 - e.g., quick detection]
161
+ - [Positive 2 - e.g., effective communication]
162
+
163
+ ### What Could Be Improved
164
+ - [Improvement 1]
165
+ - [Improvement 2]
166
+
167
+ ### Process Gaps Identified
168
+ - [Gap 1 - e.g., no runbook existed]
169
+ - [Gap 2 - e.g., monitoring blind spot]
170
+
171
+ ---
172
+
173
+ ## Monitoring & Alerting
174
+
175
+ ### Existing Alerts (that fired or should have)
176
+
177
+ | Alert | Status | Notes |
178
+ |-------|--------|-------|
179
+ | [Alert name] | [Fired/Did not fire] | [Why] |
180
+
181
+ ### New Alerts Needed
182
+
183
+ ```yaml
184
+ # Prometheus/Grafana alert definition
185
+ [Alert configuration]
186
+ ```
187
+
188
+ ---
189
+
190
+ ## References
191
+
192
+ - **Slack thread:** [link]
193
+ - **Related PRs:** [links]
194
+ - **Logs:** [link to log explorer query]
195
+ - **Dashboard:** [link to relevant dashboard]
196
+ - **Related incidents:** [links to similar past incidents]
197
+
198
+ ---
199
+
200
+ ## Document History
201
+
202
+ | Date | Author | Changes |
203
+ |------|--------|---------|
204
+ | YYYY-MM-DD | [Name] | Initial draft |
205
+ | YYYY-MM-DD | [Name] | Added [section] |
206
+ ```
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: template-skill
3
+ description: A template skill to use as a starting point for new skills. Copy this folder and customize.
4
+ ---
5
+
6
+ # Template Skill
7
+
8
+ This is a template for creating new Agent Skills.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Describe when Claude should activate this skill.
13
+
14
+ ## Quick Start
15
+
16
+ 1. Step one
17
+ 2. Step two
18
+ 3. Step three
19
+
20
+ ## Files in This Skill
21
+
22
+ | File | Purpose |
23
+ |------|---------|
24
+ | `SKILL.md` | This overview |
25
+ | Add more files as needed... |
26
+
27
+ ## Examples
28
+
29
+ Add examples of how to use this skill.
30
+
31
+ ## Guidelines
32
+
33
+ - Guideline 1
34
+ - Guideline 2
35
+
36
+ ## Related Resources
37
+
38
+ - Link to related docs or resources
@@ -0,0 +1,32 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: write
9
+ packages: write
10
+ issues: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ release:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - uses: actions/setup-node@v4
22
+ with:
23
+ node-version: 22
24
+ registry-url: https://registry.npmjs.org
25
+
26
+ - run: npm install
27
+
28
+ - name: Release
29
+ run: npx semantic-release
30
+ env:
31
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}