opencode-skills-collection 4.1.0 → 4.1.2

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 (219) hide show
  1. package/README.md +46 -42
  2. package/bundled-skills/.antigravity-install-manifest.json +127 -1
  3. package/bundled-skills/360-feedback-system/SKILL.md +481 -0
  4. package/bundled-skills/access-matrix/SKILL.md +338 -0
  5. package/bundled-skills/accounting-audit-system-builder/SKILL.md +302 -0
  6. package/bundled-skills/accounting-audit-system-builder/references/catalog.md +114 -0
  7. package/bundled-skills/accounting-software-selection/SKILL.md +427 -0
  8. package/bundled-skills/accounting-software-selection/references/build-artifacts.md +362 -0
  9. package/bundled-skills/accounting-software-selection/references/common-pitfalls.md +44 -0
  10. package/bundled-skills/accounting-software-selection/references/field-reference.md +93 -0
  11. package/bundled-skills/accounting-software-selection/references/select-options.md +202 -0
  12. package/bundled-skills/admin-access-register/SKILL.md +381 -0
  13. package/bundled-skills/advanced-analytics-dashboard/SKILL.md +318 -0
  14. package/bundled-skills/ai-image-generation-studio/SKILL.md +259 -0
  15. package/bundled-skills/ai-logo-maker/SKILL.md +259 -0
  16. package/bundled-skills/ai-multilingual-dubbing/SKILL.md +259 -0
  17. package/bundled-skills/ai-photo-restyler/SKILL.md +259 -0
  18. package/bundled-skills/ai-podcast-voiceover/SKILL.md +259 -0
  19. package/bundled-skills/alumni-re-hire-tracker/SKILL.md +314 -0
  20. package/bundled-skills/announcement-board/SKILL.md +336 -0
  21. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +48 -3
  22. package/bundled-skills/asset-it-management/SKILL.md +407 -0
  23. package/bundled-skills/attendance/SKILL.md +331 -0
  24. package/bundled-skills/audit-log/SKILL.md +314 -0
  25. package/bundled-skills/audit-preparation/SKILL.md +416 -0
  26. package/bundled-skills/beatra/SKILL.md +260 -0
  27. package/bundled-skills/board-governance/SKILL.md +360 -0
  28. package/bundled-skills/brand-growth-system-builder/SKILL.md +360 -0
  29. package/bundled-skills/brand-kit-print-collateral/SKILL.md +498 -0
  30. package/bundled-skills/buddy-program-manager/SKILL.md +329 -0
  31. package/bundled-skills/budget-cash-flow/SKILL.md +352 -0
  32. package/bundled-skills/busabase/SKILL.md +118 -0
  33. package/bundled-skills/business-email-template/SKILL.md +480 -0
  34. package/bundled-skills/business-email-template/references/common-pitfalls.md +30 -0
  35. package/bundled-skills/business-website-setup/SKILL.md +489 -0
  36. package/bundled-skills/business-website-setup/references/common-pitfalls.md +32 -0
  37. package/bundled-skills/candidate-talent-pool/SKILL.md +359 -0
  38. package/bundled-skills/capacity-workload-planner/SKILL.md +354 -0
  39. package/bundled-skills/changelog-entry/SKILL.md +141 -0
  40. package/bundled-skills/clients-accounts/SKILL.md +398 -0
  41. package/bundled-skills/code-of-conduct/SKILL.md +488 -0
  42. package/bundled-skills/code-of-conduct/references/common-pitfalls.md +31 -0
  43. package/bundled-skills/company-email-accounts/SKILL.md +404 -0
  44. package/bundled-skills/competency-matrix/SKILL.md +335 -0
  45. package/bundled-skills/contract-document-renewal/SKILL.md +396 -0
  46. package/bundled-skills/course-upskilling-requests/SKILL.md +354 -0
  47. package/bundled-skills/credit-cycle-analysis/SKILL.md +303 -0
  48. package/bundled-skills/credit-cycle-analysis/references/best-practices.md +35 -0
  49. package/bundled-skills/credit-cycle-analysis/references/common-pitfalls.md +5 -0
  50. package/bundled-skills/credit-cycle-analysis/references/examples.md +34 -0
  51. package/bundled-skills/credit-cycle-analysis/references/field-reference.md +47 -0
  52. package/bundled-skills/credit-cycle-analysis/references/how-it-works.md +494 -0
  53. package/bundled-skills/credit-cycle-analysis/references/security-notes.md +16 -0
  54. package/bundled-skills/credit-cycle-analysis/references/select-options.md +32 -0
  55. package/bundled-skills/csv-manual-export/SKILL.md +499 -0
  56. package/bundled-skills/csv-manual-export/references/common-pitfalls.md +19 -0
  57. package/bundled-skills/culture-retention/SKILL.md +346 -0
  58. package/bundled-skills/data-export-engine/SKILL.md +308 -0
  59. package/bundled-skills/data-privacy-controls/SKILL.md +317 -0
  60. package/bundled-skills/day-book/SKILL.md +499 -0
  61. package/bundled-skills/day-book/references/best-practices.md +32 -0
  62. package/bundled-skills/day-book/references/common-pitfalls.md +58 -0
  63. package/bundled-skills/day-book/references/field-reference.md +45 -0
  64. package/bundled-skills/day-book/references/how-it-works.md +7 -0
  65. package/bundled-skills/day-book/references/related-skills.md +18 -0
  66. package/bundled-skills/day-book/references/relations.md +14 -0
  67. package/bundled-skills/day-book/references/reusable-prompt.md +50 -0
  68. package/bundled-skills/day-book/references/security-safety-notes.md +19 -0
  69. package/bundled-skills/day-book/references/select-options.md +38 -0
  70. package/bundled-skills/dei-dashboard/SKILL.md +307 -0
  71. package/bundled-skills/design-theme-guide/SKILL.md +472 -0
  72. package/bundled-skills/disciplinary-pip-tracker/SKILL.md +345 -0
  73. package/bundled-skills/document-management-system/SKILL.md +328 -0
  74. package/bundled-skills/ecommerce-listing-image-set/SKILL.md +259 -0
  75. package/bundled-skills/employee-suggestion-hub/SKILL.md +322 -0
  76. package/bundled-skills/esop-equity-tracker/SKILL.md +331 -0
  77. package/bundled-skills/events-activities/SKILL.md +355 -0
  78. package/bundled-skills/expense-accounting/SKILL.md +496 -0
  79. package/bundled-skills/expense-accounting/references/common-pitfalls.md +41 -0
  80. package/bundled-skills/expense-accounting/references/related-skills.md +11 -0
  81. package/bundled-skills/expense-accounting/references/reusable-prompt.md +36 -0
  82. package/bundled-skills/expense-management/SKILL.md +351 -0
  83. package/bundled-skills/free-design-resources/SKILL.md +480 -0
  84. package/bundled-skills/free-design-resources/references/common-pitfalls.md +44 -0
  85. package/bundled-skills/free-design-resources/references/related-skills.md +24 -0
  86. package/bundled-skills/free-design-resources/references/reusable-prompt.md +12 -0
  87. package/bundled-skills/gamification-engine/SKILL.md +307 -0
  88. package/bundled-skills/gbp-local-seo-intent/SKILL.md +466 -0
  89. package/bundled-skills/gbp-local-seo-intent/references/best-practices.md +41 -0
  90. package/bundled-skills/gbp-local-seo-intent/references/common-pitfalls.md +40 -0
  91. package/bundled-skills/gbp-local-seo-intent/references/related-skills.md +17 -0
  92. package/bundled-skills/gbp-local-seo-intent/references/reusable-prompt.md +11 -0
  93. package/bundled-skills/gbp-local-seo-intent/references/security-safety-notes.md +27 -0
  94. package/bundled-skills/health-wellness/SKILL.md +334 -0
  95. package/bundled-skills/intern-program/SKILL.md +354 -0
  96. package/bundled-skills/internal-communication/SKILL.md +318 -0
  97. package/bundled-skills/inventory-stock-reconciliation/SKILL.md +470 -0
  98. package/bundled-skills/inventory-stock-reconciliation/references/best-practices.md +18 -0
  99. package/bundled-skills/inventory-stock-reconciliation/references/common-pitfalls.md +42 -0
  100. package/bundled-skills/inventory-stock-reconciliation/references/related-skills.md +13 -0
  101. package/bundled-skills/inventory-stock-reconciliation/references/relations.md +8 -0
  102. package/bundled-skills/inventory-stock-reconciliation/references/reusable-prompt.md +31 -0
  103. package/bundled-skills/inventory-stock-reconciliation/references/security-safety-notes.md +17 -0
  104. package/bundled-skills/inventory-stock-reconciliation/references/select-options.md +45 -0
  105. package/bundled-skills/invoices-billing/SKILL.md +385 -0
  106. package/bundled-skills/issue-grievance-tracker/SKILL.md +400 -0
  107. package/bundled-skills/json-schema-manual/SKILL.md +309 -0
  108. package/bundled-skills/json-schema-manual/references/best-practices.md +9 -0
  109. package/bundled-skills/json-schema-manual/references/common-pitfalls.md +25 -0
  110. package/bundled-skills/json-schema-manual/references/input-modules.md +203 -0
  111. package/bundled-skills/json-schema-manual/references/related-skills.md +8 -0
  112. package/bundled-skills/json-schema-manual/references/reusable-prompt.md +10 -0
  113. package/bundled-skills/json-schema-manual/references/security-safety-notes.md +13 -0
  114. package/bundled-skills/knowledge-base/SKILL.md +318 -0
  115. package/bundled-skills/kpi-tracker/SKILL.md +345 -0
  116. package/bundled-skills/learning-career-development/SKILL.md +349 -0
  117. package/bundled-skills/leave-management/SKILL.md +341 -0
  118. package/bundled-skills/legal-compliance-vault/SKILL.md +324 -0
  119. package/bundled-skills/linktree-link-hub/SKILL.md +453 -0
  120. package/bundled-skills/logo-image-design/SKILL.md +459 -0
  121. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +3 -3
  122. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +2 -1
  123. package/bundled-skills/mentorship-program/SKILL.md +332 -0
  124. package/bundled-skills/mirrord/SKILL.md +90 -0
  125. package/bundled-skills/monthly-closing-statements/SKILL.md +488 -0
  126. package/bundled-skills/monthly-closing-statements/references/related-skills.md +17 -0
  127. package/bundled-skills/monthly-closing-statements/references/reusable-prompt.md +8 -0
  128. package/bundled-skills/music-generation-studio/SKILL.md +259 -0
  129. package/bundled-skills/notification-reminder-hub/SKILL.md +324 -0
  130. package/bundled-skills/notion-manual-import/SKILL.md +376 -0
  131. package/bundled-skills/notion-manual-import/references/best-practices.md +10 -0
  132. package/bundled-skills/notion-manual-import/references/common-pitfalls.md +26 -0
  133. package/bundled-skills/notion-manual-import/references/input-modules.md +203 -0
  134. package/bundled-skills/notion-manual-import/references/related-skills.md +7 -0
  135. package/bundled-skills/notion-manual-import/references/reusable-prompt.md +8 -0
  136. package/bundled-skills/notion-manual-import/references/security-safety-notes.md +15 -0
  137. package/bundled-skills/observability-cloud-planning/SKILL.md +487 -0
  138. package/bundled-skills/observability-cloud-planning/references/common-pitfalls.md +39 -0
  139. package/bundled-skills/observability-cloud-planning/references/related-skills.md +20 -0
  140. package/bundled-skills/observability-cloud-planning/references/reusable-prompt.md +12 -0
  141. package/bundled-skills/observability-cloud-planning/references/security-safety-notes.md +30 -0
  142. package/bundled-skills/offboarding-exit/SKILL.md +343 -0
  143. package/bundled-skills/offer-appointment/SKILL.md +351 -0
  144. package/bundled-skills/okr-system/SKILL.md +355 -0
  145. package/bundled-skills/omentir-linkedin-outreach/SKILL.md +96 -0
  146. package/bundled-skills/onboarding-playbook/SKILL.md +292 -0
  147. package/bundled-skills/organization-design/SKILL.md +324 -0
  148. package/bundled-skills/party-ledger-reconciliation/SKILL.md +411 -0
  149. package/bundled-skills/payment-accounting/SKILL.md +421 -0
  150. package/bundled-skills/payments-received/SKILL.md +315 -0
  151. package/bundled-skills/payroll-finance/SKILL.md +351 -0
  152. package/bundled-skills/people-directory/SKILL.md +459 -0
  153. package/bundled-skills/performance-management/SKILL.md +367 -0
  154. package/bundled-skills/petty-cash-management/SKILL.md +448 -0
  155. package/bundled-skills/policy-acknowledgement/SKILL.md +314 -0
  156. package/bundled-skills/policy-library/SKILL.md +327 -0
  157. package/bundled-skills/poster-design-studio/SKILL.md +259 -0
  158. package/bundled-skills/pre-boarding/SKILL.md +326 -0
  159. package/bundled-skills/presentation-deck/SKILL.md +491 -0
  160. package/bundled-skills/presentation-deck/references/related-skills.md +19 -0
  161. package/bundled-skills/presentation-deck/references/reusable-prompt.md +11 -0
  162. package/bundled-skills/probation-tracker/SKILL.md +347 -0
  163. package/bundled-skills/product-photo-studio/SKILL.md +259 -0
  164. package/bundled-skills/project-based-performance/SKILL.md +323 -0
  165. package/bundled-skills/projects-work-management/SKILL.md +368 -0
  166. package/bundled-skills/promotion-upgrade-requests/SKILL.md +377 -0
  167. package/bundled-skills/purchase-accounting/SKILL.md +414 -0
  168. package/bundled-skills/receipt-accounting/SKILL.md +424 -0
  169. package/bundled-skills/recognition-rewards/SKILL.md +324 -0
  170. package/bundled-skills/recruitment-pipeline/SKILL.md +399 -0
  171. package/bundled-skills/remote-work-tracker/SKILL.md +306 -0
  172. package/bundled-skills/reports-analytics/SKILL.md +320 -0
  173. package/bundled-skills/salary-benchmarking/SKILL.md +318 -0
  174. package/bundled-skills/salary-wage-accounting/SKILL.md +412 -0
  175. package/bundled-skills/sales-accounting/SKILL.md +494 -0
  176. package/bundled-skills/sales-accounting/references/common-pitfalls.md +28 -0
  177. package/bundled-skills/sales-accounting/references/related-skills.md +13 -0
  178. package/bundled-skills/sales-accounting/references/reusable-prompt.md +8 -0
  179. package/bundled-skills/seo-directory-backlinks/SKILL.md +484 -0
  180. package/bundled-skills/seo-directory-backlinks/references/common-pitfalls.md +36 -0
  181. package/bundled-skills/seo-directory-backlinks/references/related-skills.md +15 -0
  182. package/bundled-skills/seo-directory-backlinks/references/reusable-prompt.md +11 -0
  183. package/bundled-skills/since-cutoff/SKILL.md +68 -0
  184. package/bundled-skills/skill-gap-analysis/SKILL.md +338 -0
  185. package/bundled-skills/social-media-setup/SKILL.md +477 -0
  186. package/bundled-skills/social-media-setup/references/common-pitfalls.md +34 -0
  187. package/bundled-skills/social-media-setup/references/related-skills.md +19 -0
  188. package/bundled-skills/social-media-setup/references/reusable-prompt.md +11 -0
  189. package/bundled-skills/social-media-setup/references/security-safety-notes.md +27 -0
  190. package/bundled-skills/sop-company-wiki/SKILL.md +324 -0
  191. package/bundled-skills/source-document-filing/SKILL.md +368 -0
  192. package/bundled-skills/spreadsheet-manual-build/SKILL.md +493 -0
  193. package/bundled-skills/spreadsheet-manual-build/references/best-practices.md +9 -0
  194. package/bundled-skills/spreadsheet-manual-build/references/common-pitfalls.md +22 -0
  195. package/bundled-skills/spreadsheet-manual-build/references/related-skills.md +8 -0
  196. package/bundled-skills/spreadsheet-manual-build/references/reusable-prompt.md +9 -0
  197. package/bundled-skills/spreadsheet-manual-build/references/security-safety-notes.md +16 -0
  198. package/bundled-skills/stakeholder-investor-reports/SKILL.md +303 -0
  199. package/bundled-skills/suno-lyrics-to-song/SKILL.md +259 -0
  200. package/bundled-skills/talking-avatar-video/SKILL.md +260 -0
  201. package/bundled-skills/tax-register/SKILL.md +363 -0
  202. package/bundled-skills/tds-booking-payment/SKILL.md +405 -0
  203. package/bundled-skills/team-calendar/SKILL.md +312 -0
  204. package/bundled-skills/telegram/assets/boilerplate/nodejs/package-lock.json +3 -3
  205. package/bundled-skills/telegram/assets/boilerplate/nodejs/package.json +1 -0
  206. package/bundled-skills/template-library/SKILL.md +304 -0
  207. package/bundled-skills/time-tracking/SKILL.md +353 -0
  208. package/bundled-skills/vendor-contractor-management/SKILL.md +327 -0
  209. package/bundled-skills/viral-video-teardown-remake/SKILL.md +260 -0
  210. package/bundled-skills/voice-cloning-studio/SKILL.md +260 -0
  211. package/bundled-skills/voiceover-narration-studio/SKILL.md +259 -0
  212. package/bundled-skills/whatsapp-cloud-api/assets/boilerplate/nodejs/package-lock.json +3 -3
  213. package/bundled-skills/whatsapp-cloud-api/assets/boilerplate/nodejs/package.json +1 -0
  214. package/dist/skill-pointer/index.d.ts +2 -1
  215. package/dist/skill-pointer/index.js +2 -1
  216. package/dist/skill-pointer/pointer-generator.d.ts +4 -2
  217. package/dist/skill-pointer/pointer-generator.js +4 -2
  218. package/package.json +1 -1
  219. package/skills_index.json +4312 -0
@@ -0,0 +1,487 @@
1
+ ---
2
+ name: observability-cloud-planning
3
+ description: 'Build a cloud, SLO, and incident-readiness register after intake. Use when an SME needs monitoring scope, alert ownership, cost limits, or service planning.'
4
+ category: engineering
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-09-27"
9
+ author: WHOISABHISHEKADHIKARI
10
+ tags: [sme, observability, monitoring, slo, sli, alerting, cloud-cost, uptime, incident, reliability, csv, sql, notion]
11
+ tools: []
12
+ source_repo: WHOISABHISHEKADHIKARI/sme-ops-system-builder
13
+ ---
14
+
15
+ # Cloud and Observability Planning
16
+
17
+ **What it is:** the plan for what the business runs on, what it watches, what wakes
18
+ someone up, and what that costs - written before any of it is bought.
19
+
20
+ ## Overview
21
+
22
+ Works out the smallest monitoring plan that would actually catch this business's worst
23
+ failure, then builds it only when asked. The default output is a short recommendation, not
24
+ a service register. The register - CSV, SQL DDL, JSON Schema, Notion mapping - is produced
25
+ on request, from one field list so the four cannot drift apart.
26
+
27
+ Layer: Layer 8: Operate. Fits: Growth stage. Table code: n/a.
28
+
29
+ **The rule this table exists to enforce:** an alert is a human cost, so `Alert Channel` and
30
+ `Severity` decide whether a person is woken at 3am. Everything else in this table exists to
31
+ make that decision possible: what the service does (`SLI Definition`), what good looks like
32
+ (`SLO Target`), what is measured (`Dashboard URL`), what it costs (`Monthly Cost Estimate`),
33
+ and - the field most tables leave out - what happens when the alert fires (`Runbook URL`).
34
+ An alert with no runbook converts a technical problem into a panicked one.
35
+
36
+ **The second rule:** `Phase` is the field that keeps this affordable. A ten-service stack
37
+ with four signals each, on a plan tier, ordered by what would hurt the business most. A
38
+ business with no developer should be running a managed platform and three alerts, not a
39
+ stack of collectors.
40
+
41
+ ## When to Use This Skill
42
+
43
+ - monitoring, observability, alerting, uptime, "we found out from a customer"
44
+ - SLI, SLO, error rate, latency, p95, p99
45
+ - "what should we watch", "how do we know the site is down"
46
+ - incident response, on-call, runbook, postmortem
47
+ - cloud cost, what is it costing, what should we turn off
48
+ - "which service should we use", VPS, containers, serverless, managed hosting
49
+ - incident readiness, status page, downtime prevention
50
+
51
+ Do not use it for: application code, infrastructure as code, or a deployment pipeline
52
+ (`devops-pipeline-designer`, `ci-cd-pipeline-builder` in the engineering pack); a security
53
+ architecture review (`security-and-privacy`); or a real incident, which is a live
54
+ situation, not a plan.
55
+
56
+ ## How It Works
57
+
58
+ Follow the shared execution contract. The module-specific rules below define only domain fields, decisions, calculations, and safety constraints.
59
+
60
+ ### Step 1 - Identify intent
61
+
62
+ Read the request and pick the intent before asking anything.
63
+
64
+ - "plan" / "set up" / "we need" -> artifacts wanted; go to Step 2.
65
+ - "the site is down" / "is it down" / "we are down" -> an incident, right now. Confirm the
66
+ user-facing failure first and point at the runbook; do not build anything.
67
+ - "what does this cost" / "review" / "audit" -> a review, not a build.
68
+ - "should we use" -> a decision question; answer with trade-offs, then offer the register.
69
+
70
+ Ask only if this is the highest-value missing fact; otherwise proceed without an opener:
71
+
72
+ > **Q:** What breaks for the business if the site or app is down for one hour, and who
73
+ > would notice first - a customer, a member of staff, or an automated system?
74
+
75
+ ### Step 2 - Ask only what is missing
76
+
77
+ Treat ambiguous replies as unanswered and ask which explicit option the user means. Record unknown values as `Unknown`; `Unknown` is not zero. A record must not be `Done` when a required check fails.
78
+
79
+ Skip anything already answered. Ask the rest one at a time, and stop as soon as the
80
+ remaining answers would not change the plan.
81
+
82
+ - **Failure** - What is the business-critical thing - the website, the booking form, the
83
+ till, email, the file uploads? / What is the worst realistic failure - down, slow, wrong
84
+ data, or an email that silently stops arriving? / How long is a customer willing to wait
85
+ before they complain, and how long before they leave?
86
+ - **Stack** - What is actually running today - shared hosting, a VPS, a managed platform, a
87
+ SaaS tool, containers? / Who set it up, and is that person still available? / Is there a
88
+ repository, and who can deploy?
89
+ - **Traffic** - Roughly how many visitors, orders or jobs a day? / Any seasonal or campaign
90
+ peaks that change it by an order of magnitude? / Are there peak periods where being slow
91
+ is worse than being down?
92
+ - **People** - Is there anyone who can be on call, and at what hours? / Does someone already
93
+ use a tool the business pays for? / Who is allowed to restart something at 3am?
94
+ - **Data and money** - What must not be lost, and what is the acceptable recovery point? /
95
+ What is the current monthly spend, roughly, and the budget ceiling? / Does anything
96
+ process a payment, personal data, or health data?
97
+
98
+ Never invent an answer. Traffic numbers, costs, hostnames, provider names, service
99
+ identifiers, error rates, uptime figures and recovery times the user has not supplied are
100
+ `Unknown`. A monitoring plan built on invented traffic or invented spend is worthless, and
101
+ invented SLOs are worse - they create an alert nobody can satisfy.
102
+
103
+ ### Step 3 - Hold the internal context
104
+
105
+ ```yaml
106
+ module: observability-cloud-planning
107
+ intent: null # set up | review | report | import
108
+ scale: null # Starter | Growth | Scale, only if the answer changes it
109
+ areas:
110
+ "Failure": null
111
+ "Stack": null
112
+ "Traffic": null
113
+ "People": null
114
+ "Data and money": null
115
+ requested_outputs: []
116
+ confirmed_facts: []
117
+ open_questions: []
118
+ ```
119
+
120
+ ### Step 4 - Recommend the smallest workflow
121
+
122
+ Build an already requested artifact without asking again. For advice-only requests, give a short recommendation and offer the relevant artifact.
123
+
124
+ **Recommended approach:** Start with the one thing whose failure stops the business earning -
125
+ usually the checkout or the booking form - and watch exactly that from outside the
126
+ infrastructure, so the check does not fail with the thing it is checking. Three signals and
127
+ no more: is it reachable, is it answering within a target time, and is the thing that
128
+ transacts money or data actually succeeding. One alert channel that reaches a human, a
129
+ runbook for each alert, and a named owner. Everything else - traces, log aggregation, five
130
+ custom dashboards, a status page - goes in a later phase once the first phase has proven
131
+ someone reads it.
132
+
133
+ **Why this one:** The failure mode of observability is not too little monitoring, it is too
134
+ much of the wrong. A business that installs fifteen alerts stops reading them within a
135
+ week and returns to finding out from customers. And external monitoring matters more than
136
+ internal: an uptime check that runs on the same box as the site reports the site is fine
137
+ right up to the moment it is not.
138
+
139
+ **Workflow:** Worst failure named → What must be measured to catch it, from outside →
140
+ Baseline measured, not assumed → Three signals defined with targets → Alerts with a channel
141
+ and a runbook each → Costs estimated against a ceiling → Owner and review date set →
142
+ Runbook rehearsed → Phase 2 only after phase 1 is being read → Quarterly review of alerts
143
+ kept, deleted and added
144
+
145
+ ### Step 5 - Build only on request
146
+
147
+ Once the user asks for it, derive the fields from the confirmed context and emit the
148
+ requested artifacts. For machine-readable text, keep prose outside the data; for files,
149
+ provide a usable link. Report material validation failures or limitations separately.
150
+
151
+ **A selected Notion output is rendered by `notion-manual-import`, so route the
152
+ Notion step there.** When the user selects Notion, hand that step to
153
+ ](https://github.com/sickn33/agentic-awesome-skills/blob/main/skills/notion-manual-import/SKILL.md): it holds the CSV, the property
154
+ mapping, the import steps and the verification checklist, and it renders the Field
155
+ Reference below instead of defining a table of its own. Do not restate the mapping
156
+ here and do not improvise the import steps. Manual CSV and mapping outputs need no
157
+ connection. For requested workspace changes, follow the shared contract: verify actual
158
+ tool access and the target before writing. A user saying "connected" is not tool evidence.
159
+ Never ask for a Notion password or token.
160
+
161
+ ```csv
162
+ Service ID,Service Name,Purpose,Criticality,Owner,Environment,Monitored From,SLI Definition,SLO Target,Dashboard URL,Log Source,Alert Channel,Severity,Alert Threshold,Runbook URL,Escalation Path,Monthly Cost Estimate,Data Handled,Deployment Method,Dependencies,Phase,Review Date,Status,Notes
163
+ ,Example Booking Service,Takes customer bookings and confirms by email,High,Example Owner,Production,External region outside the hosting provider,Uptime of the public booking page,99.5% monthly,Not yet created,Application and web server logs,Email and SMS to on-call,Critical,3 consecutive failed checks or 5 minutes above target,Not yet created,On-call then business owner,Unknown,Payment card details,Managed platform,None,1,2026-10-27,Not started,Example row - replace every value before use.
164
+ ```
165
+
166
+ ```sql
167
+ -- Engine assumption: PostgreSQL. For another engine use the engine's auto-increment
168
+ -- equivalent and keep the rest portable.
169
+ CREATE TABLE obs_service (
170
+ service_id BIGINT PRIMARY KEY,
171
+ service_name VARCHAR(100) NOT NULL,
172
+ purpose TEXT NOT NULL,
173
+ criticality VARCHAR(50) NOT NULL,
174
+ owner VARCHAR(255) NOT NULL,
175
+ environment VARCHAR(50) NOT NULL,
176
+ monitored_from VARCHAR(100) NOT NULL,
177
+ sli_definition TEXT NOT NULL,
178
+ slo_target VARCHAR(50) NOT NULL,
179
+ dashboard_url VARCHAR(255),
180
+ log_source VARCHAR(255) NOT NULL,
181
+ alert_channel VARCHAR(255) NOT NULL,
182
+ severity VARCHAR(50) NOT NULL,
183
+ alert_threshold VARCHAR(255) NOT NULL,
184
+ runbook_url VARCHAR(255),
185
+ escalation_path TEXT,
186
+ monthly_cost_estimate NUMERIC(10,2),
187
+ data_handled VARCHAR(255) NOT NULL,
188
+ deployment_method VARCHAR(100) NOT NULL,
189
+ dependencies TEXT,
190
+ phase VARCHAR(50) NOT NULL,
191
+ review_date DATE,
192
+ status VARCHAR(50) NOT NULL,
193
+ notes TEXT,
194
+ created_at TIMESTAMP DEFAULT NOW(),
195
+ updated_at TIMESTAMP DEFAULT NOW(),
196
+ CONSTRAINT obs_service_phase CHECK (phase IN ('1 - core','2 - deepen','3 - optional','Sunset')),
197
+ CONSTRAINT obs_service_status CHECK (status IN ('Not started','In progress','Blocked','Done','Cancelled')),
198
+ CONSTRAINT obs_service_severity CHECK (severity IN ('Info','Warning','Critical')),
199
+ CONSTRAINT obs_service_criticality CHECK (criticality IN ('Low','Medium','High','Critical')),
200
+ CONSTRAINT obs_service_cost_non_negative CHECK (monthly_cost_estimate IS NULL OR monthly_cost_estimate >= 0)
201
+ );
202
+
203
+ CREATE INDEX idx_obs_service_status ON obs_service (status);
204
+ CREATE INDEX idx_obs_service_phase ON obs_service (phase);
205
+ CREATE INDEX idx_obs_service_review ON obs_service (review_date);
206
+ ```
207
+
208
+ ```json
209
+ {
210
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
211
+ "title": "Cloud and Observability Plan",
212
+ "type": "object",
213
+ "additionalProperties": false,
214
+ "properties": {
215
+ "Service ID": { "type": "integer" },
216
+ "Service Name": { "type": "string" },
217
+ "Purpose": { "type": "string" },
218
+ "Criticality": { "type": "string" },
219
+ "Owner": { "type": "string" },
220
+ "Environment": { "type": "string" },
221
+ "Monitored From": { "type": "string" },
222
+ "SLI Definition": { "type": "string" },
223
+ "SLO Target": { "type": "string" },
224
+ "Dashboard URL": { "type": "string" },
225
+ "Log Source": { "type": "string" },
226
+ "Alert Channel": { "type": "string" },
227
+ "Severity": { "type": "string" },
228
+ "Alert Threshold": { "type": "string" },
229
+ "Runbook URL": { "type": "string" },
230
+ "Escalation Path": { "type": "string" },
231
+ "Monthly Cost Estimate": { "type": "number" },
232
+ "Data Handled": { "type": "string" },
233
+ "Deployment Method": { "type": "string" },
234
+ "Dependencies": { "type": "string" },
235
+ "Phase": { "type": "string" },
236
+ "Review Date": { "type": "string", "format": "date" },
237
+ "Status": { "type": "string" },
238
+ "Notes": { "type": "string" }
239
+ },
240
+ "required": [
241
+ "Service Name",
242
+ "Purpose",
243
+ "Criticality",
244
+ "Owner",
245
+ "Environment",
246
+ "Monitored From",
247
+ "SLI Definition",
248
+ "SLO Target",
249
+ "Log Source",
250
+ "Alert Channel",
251
+ "Severity",
252
+ "Alert Threshold",
253
+ "Data Handled",
254
+ "Deployment Method",
255
+ "Phase",
256
+ "Status"
257
+ ]
258
+ }
259
+ ```
260
+
261
+ ```markdown
262
+ | CSV column | Notion property | Set after import |
263
+ |---|---|---|
264
+ | Service ID | Text (preserve source ID) | Keep imported IDs as Text; optionally add a separate Unique ID property |
265
+ | Service Name | Title | Use as the database title |
266
+ | Purpose | Text | Leave as Text. What the business loses if this stops. Not a technical description |
267
+ | Criticality | Select (add options after import) | Convert to Select, add options: "Low", "Medium", "High", "Critical". Critical means the business stops earning |
268
+ | Owner | Text | Leave as Text. A named person. A service with no owner is unmonitored in practice |
269
+ | Environment | Select (add options after import) | Convert to Select, add options: "Production", "Staging", "Development". Monitoring a staging URL and calling it uptime is a common and expensive mistake |
270
+ | Monitored From | Text | Leave as Text. Where the check runs. It must not run on the thing it is checking |
271
+ | SLI Definition | Text | Leave as Text. The measurement in plain words - "public booking page answers in under 2 seconds for 95% of requests" |
272
+ | SLO Target | Text | Leave as Text. The number and the window, e.g. "99.5% monthly". A target nobody has ever met is a target that gets deleted |
273
+ | Dashboard URL | Text | Leave as Text. Blank until a dashboard exists, which is the correct state in phase 1 |
274
+ | Log Source | Text | Leave as Text. Where the logs are today, including "none - not collected" |
275
+ | Alert Channel | Text | Leave as Text. The specific route: which email, which SMS, which app. "Alerts" is not a channel |
276
+ | Severity | Select (add options after import) | Convert to Select, add options: "Info", "Warning", "Critical". Only Critical should page a human outside working hours |
277
+ | Alert Threshold | Text | Leave as Text. The condition that fires, written so it is unambiguous and testable |
278
+ | Runbook URL | Text | Leave as Text. Blank is a finding, not a formatting gap. An alert with no runbook must not ship |
279
+ | Escalation Path | Text | Leave as Text. Who is woken first, then who, then who gives up and calls the host |
280
+ | Monthly Cost Estimate | Number | Convert to Number, two decimal places. An estimate against a ceiling, in the business's own currency |
281
+ | Data Handled | Select (add options after import) | Convert to Select, add options: "None", "Personal data", "Payment card details", "Health data", "Credentials or secrets", "Business confidential", "Public only". Drives the log retention and access rules |
282
+ | Deployment Method | Text | Leave as Text. How a change reaches this service, and by whom |
283
+ | Dependencies | Text | Leave as Text. What this needs to work. "None" is a valid and worth recording answer |
284
+ | Phase | Select (add options after import) | Convert to Select, add options: "1 - core", "2 - deepen", "3 - optional", "Sunset". The affordability control |
285
+ | Review Date | Date | Convert to Date. When the alerts, the target and the cost are re-examined |
286
+ | Status | Select (add options after import) | Convert to Select, add options: "Not started", "In progress", "Blocked", "Done", "Cancelled" |
287
+ | Notes | Text | Leave as Text |
288
+ ```
289
+
290
+ The rows above are documentation examples only. Emit empty templates unless the user explicitly requests examples. `Dashboard URL` and `Runbook URL` read `Not yet
291
+ created` rather than a plausible-looking link, because a dead or wrong link in a runbook
292
+ column is worse than an obvious gap.
293
+
294
+ ## Field Reference
295
+
296
+ | # | Field | Type | SQL | JSON Schema | Notion | CSV example |
297
+ |---:|---|---|---|---|---|---|
298
+ | 1 | Service ID | `id` | `BIGINT PRIMARY KEY` | `integer` | Text or Notion auto-ID | (blank) |
299
+ | 2 | Service Name | `text` | `VARCHAR(100)` | `string` | Text | *(blank)* |
300
+ | 3 | Purpose | `long_text` | `TEXT` | `string` | Text | *(blank)* |
301
+ | 4 | Criticality | `select` | `VARCHAR(50)` | `string` | Select | High |
302
+ | 5 | Owner | `text` | `VARCHAR(255)` | `string` | Text | *(blank)* |
303
+ | 6 | Environment | `select` | `VARCHAR(50)` | `string` | Select | Production |
304
+ | 7 | Monitored From | `text` | `VARCHAR(100)` | `string` | Text | *(blank)* |
305
+ | 8 | SLI Definition | `long_text` | `TEXT` | `string` | Text | *(blank)* |
306
+ | 9 | SLO Target | `text` | `VARCHAR(50)` | `string` | Text | 99.5% monthly |
307
+ | 10 | Dashboard URL | `text` | `VARCHAR(255)` | `string` | Text | *(blank)* |
308
+ | 11 | Log Source | `text` | `VARCHAR(255)` | `string` | Text | *(blank)* |
309
+ | 12 | Alert Channel | `text` | `VARCHAR(255)` | `string` | Text | *(blank)* |
310
+ | 13 | Severity | `select` | `VARCHAR(50)` | `string` | Select | Critical |
311
+ | 14 | Alert Threshold | `text` | `VARCHAR(255)` | `string` | Text | *(blank)* |
312
+ | 15 | Runbook URL | `text` | `VARCHAR(255)` | `string` | Text | *(blank)* |
313
+ | 16 | Escalation Path | `long_text` | `TEXT` | `string` | Text | *(blank)* |
314
+ | 17 | Monthly Cost Estimate | `number` | `NUMERIC(10,2)` | `number` | Number | Unknown |
315
+ | 18 | Data Handled | `select` | `VARCHAR(255)` | `string` | Select | Personal data |
316
+ | 19 | Deployment Method | `text` | `VARCHAR(100)` | `string` | Text | *(blank)* |
317
+ | 20 | Dependencies | `long_text` | `TEXT` | `string` | Text | None |
318
+ | 21 | Phase | `select` | `VARCHAR(50)` | `string` | Select | 1 - core |
319
+ | 22 | Review Date | `date` | `DATE` | `string, format: date` | Date | *(blank)* |
320
+ | 23 | Status | `select` | `VARCHAR(50)` | `string` | Select | Not started |
321
+ | 24 | Notes | `long_text` | `TEXT` | `string` | Text | *(blank)* |
322
+
323
+ ## Select Options
324
+
325
+ **Criticality** - what the business loses. `Critical` means the business stops earning, not
326
+ that the service is technically important. A search index that goes down is `Low`; a
327
+ checkout that goes down is `Critical`.
328
+
329
+ ```
330
+ Low | Medium | High | Critical
331
+ ```
332
+
333
+ **Environment** - and the mistake this prevents: monitoring a staging URL and reporting it
334
+ as uptime. Production is the only environment that earns an alert.
335
+
336
+ ```
337
+ Production | Staging | Development
338
+ ```
339
+
340
+ **Severity** - the difference between a notification and a woken person. Only `Critical`
341
+ should reach a human outside working hours, because a `Warning` that pages at 3am trains
342
+ the on-call to ignore the channel.
343
+
344
+ ```
345
+ Info | Warning | Critical
346
+ ```
347
+
348
+ **Data Handled** - this is not documentation, it is an instruction. `Payment card details`,
349
+ `Health data` and `Credentials or secrets` change the log retention period, who may read
350
+ the logs, and whether the logs may be shipped to a third-party service at all.
351
+
352
+ ```
353
+ None | Personal data | Payment card details | Health data | Credentials or secrets | Business confidential | Public only
354
+ ```
355
+
356
+ **Phase** - the field that keeps this affordable. Phase 1 is what catches the worst failure
357
+ and is read. Nothing enters phase 2 until phase 1 is being read and acted on; a plan that
358
+ ships all phases at once is a plan nobody maintains.
359
+
360
+ ```
361
+ 1 - core | 2 - deepen | 3 - optional | Sunset
362
+ ```
363
+
364
+ **Status** - `Blocked` is the honest value whenever something depends on a person, a
365
+ contract or a decision that has not happened.
366
+
367
+ ```
368
+ Not started | In progress | Blocked | Done | Cancelled
369
+ ```
370
+
371
+ ## Relations
372
+
373
+ - `Dependencies` names other rows in this table. A cycle here is a design smell, not an
374
+ error, and it is worth finding deliberately.
375
+ - `Log Source` and `Data Handled` point at the data and access rules in
376
+ `data-privacy-controls` (`me-ops-system-builder`). Confirm the join before making it
377
+ live; a third-party log destination is a data transfer.
378
+ - `Runbook URL` points at `runbook-playbook` in the engineering pack. Blank there and blank
379
+ here is the same finding.
380
+
381
+ ## Examples
382
+
383
+ **Prompt**
384
+
385
+ ```
386
+ We run a booking site on a VPS. Last month it was down for a whole Sunday and we only
387
+ found out on Monday from a customer. We want to know if it goes down, and we do not know
388
+ what we should be paying for all this.
389
+ ```
390
+
391
+ **Context first** - one question per message, nothing already answered:
392
+
393
+ > **Q:** What breaks for the business if the site or app is down for one hour, and who
394
+ > would notice first - a customer, a member of staff, or an automated system?
395
+ > **A:** The booking form. A customer, obviously.
396
+ >
397
+ > **Q:** What is actually running today, and who set it up?
398
+ > **A:** A VPS with the site on it, set up by an agency we no longer deal with.
399
+ >
400
+ > **Q:** Roughly how many visitors or bookings a day?
401
+ > **A:** Maybe 20 bookings. It is much busier in December.
402
+ >
403
+ > **Q:** Is there anyone who could be on call, and at what hours?
404
+ > **A:** Me, evenings and weekends.
405
+ >
406
+ > **Q:** What is the current monthly spend, roughly, and the ceiling?
407
+ > **A:** Forty a month for the server. I would not want to spend much more than that.
408
+
409
+ **Recommended next step** - offered, not built:
410
+
411
+ > One external uptime check on the booking page, run from outside your provider, plus a
412
+ > check that a test booking actually completes. That catches the Sunday problem. Two
413
+ > alerts, both to your phone: the page unreachable for three checks running, and a test
414
+ > booking that fails. No dashboard, no log shipping, no tracing - the site does not earn
415
+ > that yet. A one-page runbook for each: what to check, how to restart it, and the agency
416
+ > number if it does not come back. December is your peak, so test it properly in November.
417
+ > Keep it near 40 a month, or you will pay more for storage than you do for the server.
418
+ >
419
+ > Workflow: Worst failure named → What must be measured, from outside → Baseline measured
420
+ > → Three signals with targets → Alerts with a channel and a runbook each → Costs
421
+ > estimated → Owner and review date set → Runbook rehearsed → Phase 2 only if phase 1 is
422
+ > being read
423
+ >
424
+ > Want the CSV, SQL DDL, JSON Schema and Notion mapping for this?
425
+
426
+ ## Best Practices
427
+
428
+ - Build when requested; recommend and offer a build for advice-only requests.
429
+ - One question per message. A batched intake reads as a form and gets guessed at.
430
+ - Monitor from outside the thing you are monitoring. A check on the same host as the site
431
+ reports the site healthy right up to the moment it is not.
432
+ - Monitor the transaction, not the server. A server can return 200 while the checkout throws
433
+ an exception on every attempt, and no amount of CPU monitoring catches that.
434
+ - Measure the baseline before setting the target. An SLO set above what the system has ever
435
+ done is a target that guarantees a permanently firing alert.
436
+ - Three signals to start. Reachability, latency, and the business transaction. Resist the
437
+ fourth until the first three are read.
438
+ - Only `Critical` pages a human. Everything else is a notification for working hours, or it
439
+ is deleted. Alert fatigue is the normal end state of an unmaintained alerting setup.
440
+ - No alert without a runbook. Blank `Runbook URL` is a finding that blocks going live.
441
+ - Set the alert threshold in advance and test it. An alert that has never fired is an
442
+ untested assumption.
443
+ - Track cost against a ceiling the business named. A plan with no ceiling becomes an
444
+ invoice nobody predicted.
445
+ - Name an owner per service. A service with no owner is unmonitored in practice, whatever
446
+ the dashboards say.
447
+ - Set a review date and honour it. Every quarter, ask of each alert: did a human act on
448
+ this? If not, delete it.
449
+ - Never log secrets, tokens, full card numbers, or unnecessary personal data. `Data
450
+ Handled` exists to make that decision explicit before the logs are shipped anywhere.
451
+ - If logs go to a third-party service, that is a data transfer with its own agreement.
452
+ Confirm it rather than assuming it is fine.
453
+ - Keep phase 1 small enough to maintain. An unmaintained 40-service plan is worse than a
454
+ maintained three-service one.
455
+ - Derive all four artifacts from the field list in this file, never by hand.
456
+ - If the user requests an example row, keep it obviously fake so nobody imports it as a real service.
457
+
458
+ ## Limitations
459
+
460
+ - This is a plan. It does not deploy anything, install an agent, open a dashboard, create an
461
+ alert or read a log.
462
+ - It has no access to the business's infrastructure, so it cannot measure a baseline, read a
463
+ metric, or verify an SLO. Every value in this table comes from the user.
464
+ - Costs are estimates by definition and depend on region, tier, retention and traffic that
465
+ this skill cannot see. Treat `Monthly Cost Estimate` as a planning figure, never as a
466
+ quote, and never as a provider price list.
467
+ - It does not recommend a specific provider on a current price. Provider capabilities,
468
+ pricing and free tiers change; verify against the provider's own current documentation.
469
+ - Log volume, cardinality and ingestion cost are the usual cause of an unexpected bill, and
470
+ they cannot be estimated here without real traffic.
471
+ - It cannot tell you what is currently running, what is currently alerting, or whether the
472
+ current setup already covers the worst failure. That needs access.
473
+ - Uptime, latency and error-rate targets are engineering commitments. They are not
474
+ business promises, and a target that is missed is a trigger for a decision, not a
475
+ contractual breach.
476
+ - SLOs do not replace a backup, a restore test, or a disaster recovery plan. A monitored
477
+ service with no tested restore is still a lost database.
478
+ - Compliance requirements around logging, retention and personal data are jurisdiction and
479
+ sector specific, and are not modelled here.
480
+ - Security monitoring, intrusion detection and access review are out of scope; use
481
+ `security-and-privacy`.
482
+ - It cannot judge whether a provider, region or architecture is right. It structures the
483
+ question.
484
+
485
+
486
+ See the [Security & Safety Notes](references/security-safety-notes.md) reference for the full guidance.
487
+
@@ -0,0 +1,39 @@
1
+ # Common Pitfalls
2
+
3
+ - **Problem:** a static mapping is described as a completed workspace build.
4
+ **Solution:** deliver manual mappings without a connection; claim a live change only
5
+ after the authorized tool operation succeeds.
6
+ - **Problem:** asked all five questions in one message.
7
+ **Solution:** ask one, wait, and drop any the first answer already covered.
8
+ - **Problem:** an uptime check running on the same server as the site.
9
+ **Solution:** monitor from outside, ideally from a different provider or region. A
10
+ self-hosted check cannot observe its own failure.
11
+ - **Problem:** monitoring the server, not the booking.
12
+ **Solution:** add a synthetic check that completes a real transaction end to end. That is
13
+ the signal that matches the business loss.
14
+ - **Problem:** twenty alerts, none read.
15
+ **Solution:** three signals, `Critical` only for waking someone, and a quarterly review
16
+ that deletes anything no human acted on. Alert fatigue is not a tooling problem.
17
+ - **Problem:** an SLO of 99.99% on a business that has never measured above 98%.
18
+ **Solution:** measure the baseline, then set a target you can hold. A permanently firing
19
+ alert is a target that has already failed.
20
+ - **Problem:** an alert with no runbook, discovered at 3am.
21
+ **Solution:** blank `Runbook URL` blocks going live. Write the runbook first, and rehearse
22
+ it while the site is up.
23
+ - **Problem:** the whole stack arrived at once and nothing is maintained after month two.
24
+ **Solution:** phase it. Phase 2 only when phase 1 is being read and acted on.
25
+ - **Problem:** logs shipped to a third party, including personal data and card fragments.
26
+ **Solution:** decide what may leave the business before the agent is installed, not after.
27
+ Scrub at source.
28
+ - **Problem:** December arrived and the plan had never been tested under load.
29
+ **Solution:** test in November. A peak season is the one time a monitoring plan must
30
+ already be proven.
31
+ - **Problem:** a service with no named owner.
32
+ **Solution:** assign one. An unowned service is unmonitored regardless of its dashboards.
33
+ - **Problem:** all four artifacts drift apart.
34
+ **Solution:** derive all four from the field list in this file, never by hand.
35
+ - **Problem:** Notion import shows every column as Text.
36
+ **Solution:** that is expected. Apply the property mapping table once, after import.
37
+
38
+
39
+ See the [Related Skills](references/related-skills.md) reference for the full guidance.
@@ -0,0 +1,20 @@
1
+ # Related Skills
2
+
3
+ - @brand-growth-system-builder - routes to this skill and the other 12 brand and growth modules.
4
+ - @business-website-setup - the site whose availability this table protects.
5
+ - `devops-pipeline-designer` (engineering pack) - how a change reaches the service in
6
+ `Deployment Method`.
7
+ - `runbook-playbook` (engineering pack) - the document every `Runbook URL` should point at.
8
+ - `ci-cd-pipeline-builder` (engineering pack) - deployment, alerting on build failure.
9
+ - `security-and-privacy` (engineering pack) - access control, secrets, incident response.
10
+ - `data-privacy-controls` (`me-ops-system-builder`) - what may be logged and for how long.
11
+ - `cloud-cost-variance-tracker` (`me-ops-system-builder`) - reconciling `Monthly Cost
12
+ Estimate` against the real invoice.
13
+ - `legal-compliance-vault` (`me-ops-system-builder`) - where the data-processing agreement
14
+ for a third-party log destination is stored.
15
+ - @code-of-conduct - what may be recorded about a person, and who may read it.
16
+ - @gbp-local-seo-intent - the phone number and hours that must stay correct when the site
17
+ is down, since a monitoring alert and a listing are the same promise.
18
+
19
+
20
+ See the [Reusable Prompt](references/reusable-prompt.md) reference for the full guidance.
@@ -0,0 +1,12 @@
1
+ # Reusable Prompt
2
+
3
+ ```
4
+ I need a monitoring and cloud plan for a small business: what is critical, what should be
5
+ measured, what should alert a human, and what it will cost.
6
+ Ask me one short question at a time, and only about what I have not already told you.
7
+ Never invent a hostname, a provider, a price, a traffic figure or an uptime target. Start
8
+ with the one failure that would stop the business earning, and monitor it from outside the
9
+ infrastructure. Three signals, and no alert without a runbook. Wait for me to ask before
10
+ you build it.
11
+ When I ask, output CSV, SQL DDL, JSON Schema and a Notion property mapping. Data only.
12
+ ```
@@ -0,0 +1,30 @@
1
+ # Security & Safety Notes
2
+
3
+ - Never invent a hostname, IP address, service identifier, provider, price, traffic figure,
4
+ error rate, uptime percentage or recovery time. `Unknown` and blank are correct.
5
+ - Never paste credentials, API keys, tokens, SSH keys, database connection strings, backup
6
+ locations or `.env` contents into this table. Not into a dashboard field, not into Notes.
7
+ - Never paste real customer data, personal data, health data or payment data into this
8
+ table. `Data Handled` records the *category*, not the data.
9
+ - Do not put secrets, tokens or personal data in log lines. That decision is made when
10
+ logging is configured, and this table is where the consequence is recorded - so a
11
+ service that would log secrets belongs in a different design.
12
+ - Sending logs to a third-party service is a data transfer. Confirm the destination, the
13
+ agreement, the region and the retention before enabling it, and record the decision in
14
+ `Notes`.
15
+ - `Data Handled` = `Credentials or secrets` means access to those logs is itself a
16
+ privileged operation. Restrict it and review who has it.
17
+ - Never leave a monitoring endpoint unauthenticated. A public status page that leaks
18
+ internal hostnames or error detail is an information disclosure.
19
+ - Alert channels contain contact details. Keep the register in an access-restricted place;
20
+ do not paste a real phone number or escalation tree into a shared spreadsheet while
21
+ prototyping.
22
+ - If a monitoring tool is given production access, scope it to read-only and to the minimum
23
+ needed. An observability agent with write access to the thing it observes is a real
24
+ privilege.
25
+ - Local reads, generation commands, and validation are part of a requested artifact build.
26
+ External writes, messages, provisioning, and publication require authorization for that
27
+ action and target; existing explicit authorization does not need to be repeated.
28
+
29
+
30
+ See the [Common Pitfalls](references/common-pitfalls.md) reference for the full guidance.