mindforge-cc 10.0.2 → 10.7.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 (322) hide show
  1. package/.mindforge/config.json +73 -2
  2. package/.mindforge/engine/autonomous/cross-iteration-bridge.md +96 -0
  3. package/.mindforge/engine/cost-tracking/budget-enforcer.md +68 -0
  4. package/.mindforge/engine/cost-tracking/router.md +58 -0
  5. package/.mindforge/engine/cost-tracking/token-ledger.md +77 -0
  6. package/.mindforge/engine/council/council-protocol.md +96 -0
  7. package/.mindforge/engine/council/council-templates.md +85 -0
  8. package/.mindforge/engine/council/synthesis-engine.md +71 -0
  9. package/.mindforge/engine/cross-model-eval.md +74 -0
  10. package/.mindforge/engine/instincts/capture-engine.md +63 -0
  11. package/.mindforge/engine/instincts/instinct-schema.md +76 -0
  12. package/.mindforge/engine/instincts/promotion-engine.md +77 -0
  13. package/.mindforge/engine/proactive/signal-detector.md +60 -0
  14. package/.mindforge/engine/proactive/suggestion-engine.md +100 -0
  15. package/.mindforge/engine/skills/composition.md +83 -0
  16. package/.mindforge/engine/skills/loader.md +16 -0
  17. package/.mindforge/personas/agent-architect.md +57 -0
  18. package/.mindforge/personas/agent-evaluator.md +162 -0
  19. package/.mindforge/personas/agent-memory-designer.md +157 -0
  20. package/.mindforge/personas/agent-ops-engineer.md +120 -0
  21. package/.mindforge/personas/agent-orchestrator.md +112 -0
  22. package/.mindforge/personas/ai-economist.md +57 -0
  23. package/.mindforge/personas/ai-safety-engineer.md +57 -0
  24. package/.mindforge/personas/analytics-engineer.md +57 -0
  25. package/.mindforge/personas/anti-pattern-hunter.md +61 -0
  26. package/.mindforge/personas/api-gateway-designer.md +132 -0
  27. package/.mindforge/personas/auth-engineer.md +112 -0
  28. package/.mindforge/personas/build-engineer.md +57 -0
  29. package/.mindforge/personas/business-analyst.md +56 -0
  30. package/.mindforge/personas/cache-architect.md +100 -0
  31. package/.mindforge/personas/causal-scientist.md +57 -0
  32. package/.mindforge/personas/cdn-architect.md +118 -0
  33. package/.mindforge/personas/change-agent.md +104 -0
  34. package/.mindforge/personas/code-narrator.md +52 -0
  35. package/.mindforge/personas/codegen-specialist.md +68 -0
  36. package/.mindforge/personas/communication-architect.md +102 -0
  37. package/.mindforge/personas/compliance-engineer.md +96 -0
  38. package/.mindforge/personas/consensus-engineer.md +116 -0
  39. package/.mindforge/personas/contract-tester.md +60 -192
  40. package/.mindforge/personas/cost-optimizer.md +71 -0
  41. package/.mindforge/personas/council-architect.md +66 -0
  42. package/.mindforge/personas/council-critic.md +67 -0
  43. package/.mindforge/personas/council-pragmatist.md +71 -0
  44. package/.mindforge/personas/council-skeptic.md +73 -0
  45. package/.mindforge/personas/data-architect.md +108 -0
  46. package/.mindforge/personas/data-mesh-architect.md +57 -0
  47. package/.mindforge/personas/data-pipeline-architect.md +120 -0
  48. package/.mindforge/personas/de-sloppifier.md +60 -0
  49. package/.mindforge/personas/debt-manager.md +66 -0
  50. package/.mindforge/personas/decision-architect.md +82 -51
  51. package/.mindforge/personas/deployment-captain.md +74 -0
  52. package/.mindforge/personas/design-system-lead.md +112 -0
  53. package/.mindforge/personas/dmux-orchestrator.md +75 -0
  54. package/.mindforge/personas/doc-auditor.md +84 -0
  55. package/.mindforge/personas/dx-engineer.md +96 -0
  56. package/.mindforge/personas/ecommerce-engineer.md +57 -0
  57. package/.mindforge/personas/edge-engineer.md +94 -0
  58. package/.mindforge/personas/edtech-architect.md +106 -0
  59. package/.mindforge/personas/embedding-architect.md +57 -0
  60. package/.mindforge/personas/environment-engineer.md +57 -0
  61. package/.mindforge/personas/eval-judge.md +55 -0
  62. package/.mindforge/personas/event-architect.md +102 -0
  63. package/.mindforge/personas/experiment-designer.md +138 -0
  64. package/.mindforge/personas/feature-store-engineer.md +57 -0
  65. package/.mindforge/personas/finops-analyst.md +66 -0
  66. package/.mindforge/personas/fintech-architect.md +57 -0
  67. package/.mindforge/personas/flutter-engineer.md +104 -0
  68. package/.mindforge/personas/gaming-engineer.md +57 -0
  69. package/.mindforge/personas/graphql-designer.md +73 -0
  70. package/.mindforge/personas/healthcare-engineer.md +57 -0
  71. package/.mindforge/personas/hiring-strategist.md +105 -0
  72. package/.mindforge/personas/hitl-architect.md +165 -0
  73. package/.mindforge/personas/i18n-architect.md +69 -0
  74. package/.mindforge/personas/instinct-curator.md +83 -0
  75. package/.mindforge/personas/iot-architect.md +105 -0
  76. package/.mindforge/personas/knowledge-curator.md +139 -0
  77. package/.mindforge/personas/knowledge-engineer.md +57 -0
  78. package/.mindforge/personas/lakehouse-architect.md +57 -0
  79. package/.mindforge/personas/llm-orchestrator.md +57 -0
  80. package/.mindforge/personas/logistics-architect.md +106 -0
  81. package/.mindforge/personas/market-analyst.md +53 -0
  82. package/.mindforge/personas/marketplace-engineer.md +105 -0
  83. package/.mindforge/personas/mcp-designer.md +54 -0
  84. package/.mindforge/personas/meeting-designer.md +104 -0
  85. package/.mindforge/personas/mentorship-lead.md +106 -0
  86. package/.mindforge/personas/migration-architect.md +57 -0
  87. package/.mindforge/personas/ml-ops-engineer.md +101 -0
  88. package/.mindforge/personas/mobile-architect.md +105 -0
  89. package/.mindforge/personas/mobile-security-engineer.md +106 -0
  90. package/.mindforge/personas/multi-model-bridge.md +86 -0
  91. package/.mindforge/personas/multi-tenancy-architect.md +71 -0
  92. package/.mindforge/personas/multimodal-engineer.md +57 -0
  93. package/.mindforge/personas/offline-specialist.md +105 -0
  94. package/.mindforge/personas/onboarding-navigator.md +63 -0
  95. package/.mindforge/personas/payments-engineer.md +135 -0
  96. package/.mindforge/personas/pipeline-engineer.md +115 -0
  97. package/.mindforge/personas/platform-engineer.md +97 -0
  98. package/.mindforge/personas/platform-lead.md +57 -0
  99. package/.mindforge/personas/privacy-engineer.md +57 -0
  100. package/.mindforge/personas/product-owner.md +56 -0
  101. package/.mindforge/personas/productivity-analyst.md +57 -0
  102. package/.mindforge/personas/prompt-architect.md +101 -0
  103. package/.mindforge/personas/proofreader.md +53 -0
  104. package/.mindforge/personas/pwa-architect.md +105 -0
  105. package/.mindforge/personas/quality-scorer.md +63 -0
  106. package/.mindforge/personas/react-native-engineer.md +106 -0
  107. package/.mindforge/personas/resilience-engineer.md +69 -0
  108. package/.mindforge/personas/rfc-architect.md +64 -0
  109. package/.mindforge/personas/saga-orchestrator.md +80 -0
  110. package/.mindforge/personas/secrets-engineer.md +57 -0
  111. package/.mindforge/personas/skill-smith.md +79 -0
  112. package/.mindforge/personas/sre-lead.md +107 -0
  113. package/.mindforge/personas/stream-engineer.md +57 -0
  114. package/.mindforge/personas/streaming-engineer.md +64 -0
  115. package/.mindforge/personas/swarm-templates.json +695 -38
  116. package/.mindforge/personas/system-designer.md +57 -0
  117. package/.mindforge/personas/team-coach.md +120 -0
  118. package/.mindforge/personas/tech-lead-coach.md +103 -0
  119. package/.mindforge/personas/technical-writer-lead.md +111 -0
  120. package/.mindforge/personas/threat-modeler.md +82 -0
  121. package/.mindforge/personas/vibe-checker.md +75 -0
  122. package/.mindforge/personas/worktree-manager.md +56 -0
  123. package/.mindforge/personas/zero-trust-engineer.md +113 -0
  124. package/.mindforge/skills/a11y-testing/SKILL.md +143 -0
  125. package/.mindforge/skills/agent-evaluation-framework/SKILL.md +227 -0
  126. package/.mindforge/skills/agent-introspection-debugging/SKILL.md +88 -0
  127. package/.mindforge/skills/agent-loops/SKILL.md +84 -0
  128. package/.mindforge/skills/agent-memory-design/SKILL.md +199 -0
  129. package/.mindforge/skills/agent-orchestration-patterns/SKILL.md +129 -0
  130. package/.mindforge/skills/agent-tool-selection/SKILL.md +204 -0
  131. package/.mindforge/skills/ai-agent-deployment/SKILL.md +176 -0
  132. package/.mindforge/skills/ai-cost-management/SKILL.md +57 -0
  133. package/.mindforge/skills/ai-safety-alignment/SKILL.md +53 -0
  134. package/.mindforge/skills/analytics-instrumentation/SKILL.md +172 -0
  135. package/.mindforge/skills/api-gateway-patterns/SKILL.md +177 -0
  136. package/.mindforge/skills/api-marketplace/SKILL.md +56 -0
  137. package/.mindforge/skills/api-versioning/SKILL.md +100 -0
  138. package/.mindforge/skills/app-store-deployment/SKILL.md +44 -0
  139. package/.mindforge/skills/architecture-tradeoff-analysis/SKILL.md +97 -0
  140. package/.mindforge/skills/audit-logging/SKILL.md +140 -0
  141. package/.mindforge/skills/auth-patterns/SKILL.md +148 -0
  142. package/.mindforge/skills/autonomous-agent-harness/SKILL.md +218 -0
  143. package/.mindforge/skills/autonomous-agents/SKILL.md +59 -0
  144. package/.mindforge/skills/autonomous-loops/SKILL.md +105 -0
  145. package/.mindforge/skills/build-system-optimization/SKILL.md +54 -0
  146. package/.mindforge/skills/build-vs-buy/SKILL.md +80 -0
  147. package/.mindforge/skills/bundle-optimization/SKILL.md +174 -0
  148. package/.mindforge/skills/business-analyst/SKILL.md +82 -0
  149. package/.mindforge/skills/caching-strategies/SKILL.md +132 -0
  150. package/.mindforge/skills/capacity-planning/SKILL.md +96 -0
  151. package/.mindforge/skills/causal-inference/SKILL.md +42 -0
  152. package/.mindforge/skills/cdn-optimization/SKILL.md +212 -0
  153. package/.mindforge/skills/change-management/SKILL.md +106 -0
  154. package/.mindforge/skills/chaos-engineering/SKILL.md +99 -0
  155. package/.mindforge/skills/ci-cd-pipeline/SKILL.md +118 -0
  156. package/.mindforge/skills/cli-design/SKILL.md +118 -0
  157. package/.mindforge/skills/code-generation-patterns/SKILL.md +92 -0
  158. package/.mindforge/skills/code-review-methodology/SKILL.md +180 -0
  159. package/.mindforge/skills/code-tour/SKILL.md +145 -0
  160. package/.mindforge/skills/codebase-onboarding/SKILL.md +95 -0
  161. package/.mindforge/skills/compliance-as-code/SKILL.md +195 -0
  162. package/.mindforge/skills/conflict-resolution/SKILL.md +87 -0
  163. package/.mindforge/skills/connection-pooling/SKILL.md +151 -0
  164. package/.mindforge/skills/container-security/SKILL.md +151 -0
  165. package/.mindforge/skills/context-engineering/SKILL.md +114 -0
  166. package/.mindforge/skills/continuous-learning/SKILL.md +84 -0
  167. package/.mindforge/skills/contract-testing/SKILL.md +85 -0
  168. package/.mindforge/skills/cost-aware-routing/SKILL.md +83 -0
  169. package/.mindforge/skills/cost-estimation/SKILL.md +82 -0
  170. package/.mindforge/skills/council/SKILL.md +68 -0
  171. package/.mindforge/skills/cqrs-event-sourcing/SKILL.md +95 -0
  172. package/.mindforge/skills/cross-platform-testing/SKILL.md +43 -0
  173. package/.mindforge/skills/data-governance/SKILL.md +42 -0
  174. package/.mindforge/skills/data-lakehouse/SKILL.md +42 -0
  175. package/.mindforge/skills/data-mesh/SKILL.md +42 -0
  176. package/.mindforge/skills/data-modeling/SKILL.md +107 -0
  177. package/.mindforge/skills/data-pipeline-design/SKILL.md +171 -0
  178. package/.mindforge/skills/data-privacy-engineering/SKILL.md +42 -0
  179. package/.mindforge/skills/database-performance/SKILL.md +174 -0
  180. package/.mindforge/skills/database-sharding-advanced/SKILL.md +206 -0
  181. package/.mindforge/skills/de-sloppify/SKILL.md +120 -0
  182. package/.mindforge/skills/defense-in-depth/SKILL.md +84 -0
  183. package/.mindforge/skills/delegation-patterns/SKILL.md +123 -0
  184. package/.mindforge/skills/dependency-management/SKILL.md +94 -0
  185. package/.mindforge/skills/deployment-workflow/SKILL.md +135 -0
  186. package/.mindforge/skills/design-system/SKILL.md +113 -0
  187. package/.mindforge/skills/developer-onboarding/SKILL.md +99 -0
  188. package/.mindforge/skills/developer-productivity-metrics/SKILL.md +59 -0
  189. package/.mindforge/skills/distributed-consensus/SKILL.md +141 -0
  190. package/.mindforge/skills/dmux-workflows/SKILL.md +141 -0
  191. package/.mindforge/skills/dns-architecture/SKILL.md +167 -0
  192. package/.mindforge/skills/doc-health-audit/SKILL.md +102 -0
  193. package/.mindforge/skills/ecommerce-architecture/SKILL.md +41 -0
  194. package/.mindforge/skills/edge-computing/SKILL.md +91 -0
  195. package/.mindforge/skills/edtech-platform/SKILL.md +41 -0
  196. package/.mindforge/skills/email-deliverability/SKILL.md +177 -0
  197. package/.mindforge/skills/embedding-systems/SKILL.md +55 -0
  198. package/.mindforge/skills/environment-management/SKILL.md +54 -0
  199. package/.mindforge/skills/error-handling-architecture/SKILL.md +118 -0
  200. package/.mindforge/skills/estimation-techniques/SKILL.md +113 -0
  201. package/.mindforge/skills/eval-harness/SKILL.md +180 -0
  202. package/.mindforge/skills/event-driven-architecture/SKILL.md +162 -0
  203. package/.mindforge/skills/experiment-design/SKILL.md +139 -0
  204. package/.mindforge/skills/experiment-platform/SKILL.md +43 -0
  205. package/.mindforge/skills/feature-engineering/SKILL.md +42 -0
  206. package/.mindforge/skills/feature-flag-management/SKILL.md +183 -0
  207. package/.mindforge/skills/fine-tuning-workflow/SKILL.md +189 -0
  208. package/.mindforge/skills/fintech-patterns/SKILL.md +41 -0
  209. package/.mindforge/skills/flutter-architecture/SKILL.md +42 -0
  210. package/.mindforge/skills/gaming-backend/SKILL.md +41 -0
  211. package/.mindforge/skills/git-workflow-design/SKILL.md +129 -0
  212. package/.mindforge/skills/graceful-degradation/SKILL.md +95 -0
  213. package/.mindforge/skills/graphql-patterns/SKILL.md +243 -0
  214. package/.mindforge/skills/guardrails-and-safety/SKILL.md +137 -0
  215. package/.mindforge/skills/healthcare-systems/SKILL.md +40 -0
  216. package/.mindforge/skills/hiring-engineering/SKILL.md +119 -0
  217. package/.mindforge/skills/human-in-the-loop-design/SKILL.md +234 -0
  218. package/.mindforge/skills/i18n-architecture/SKILL.md +147 -0
  219. package/.mindforge/skills/idempotency-patterns/SKILL.md +84 -0
  220. package/.mindforge/skills/incident-communication/SKILL.md +96 -0
  221. package/.mindforge/skills/incident-management/SKILL.md +97 -0
  222. package/.mindforge/skills/infrastructure-as-code/SKILL.md +98 -0
  223. package/.mindforge/skills/instinct-clustering/SKILL.md +190 -0
  224. package/.mindforge/skills/internal-developer-platform/SKILL.md +51 -0
  225. package/.mindforge/skills/iot-platform/SKILL.md +41 -0
  226. package/.mindforge/skills/k8s-deployment/SKILL.md +358 -0
  227. package/.mindforge/skills/knowledge-graphs/SKILL.md +56 -0
  228. package/.mindforge/skills/knowledge-sharing-systems/SKILL.md +112 -0
  229. package/.mindforge/skills/llm-cost-optimization/SKILL.md +198 -0
  230. package/.mindforge/skills/llm-orchestration/SKILL.md +56 -0
  231. package/.mindforge/skills/load-testing/SKILL.md +84 -0
  232. package/.mindforge/skills/logistics-optimization/SKILL.md +40 -0
  233. package/.mindforge/skills/market-researcher/SKILL.md +99 -0
  234. package/.mindforge/skills/marketplace-trust/SKILL.md +40 -0
  235. package/.mindforge/skills/mcp-server-patterns/SKILL.md +264 -0
  236. package/.mindforge/skills/media-streaming/SKILL.md +41 -0
  237. package/.mindforge/skills/meeting-architecture/SKILL.md +146 -0
  238. package/.mindforge/skills/mentoring-patterns/SKILL.md +77 -0
  239. package/.mindforge/skills/microservices-patterns/SKILL.md +83 -0
  240. package/.mindforge/skills/migration-platform/SKILL.md +61 -0
  241. package/.mindforge/skills/migration-strategies/SKILL.md +129 -0
  242. package/.mindforge/skills/ml-feature-store/SKILL.md +56 -0
  243. package/.mindforge/skills/ml-monitoring/SKILL.md +42 -0
  244. package/.mindforge/skills/mobile-performance/SKILL.md +44 -0
  245. package/.mindforge/skills/mobile-security/SKILL.md +45 -0
  246. package/.mindforge/skills/model-evaluation/SKILL.md +53 -0
  247. package/.mindforge/skills/monorepo-management/SKILL.md +100 -0
  248. package/.mindforge/skills/multi-llm-consult/SKILL.md +75 -0
  249. package/.mindforge/skills/multi-tenancy-patterns/SKILL.md +145 -0
  250. package/.mindforge/skills/multi-turn-conversation-design/SKILL.md +206 -0
  251. package/.mindforge/skills/multimodal-ai/SKILL.md +51 -0
  252. package/.mindforge/skills/mutation-testing/SKILL.md +97 -0
  253. package/.mindforge/skills/notification-system-design/SKILL.md +168 -0
  254. package/.mindforge/skills/observability-stack/SKILL.md +136 -0
  255. package/.mindforge/skills/offline-first-design/SKILL.md +43 -0
  256. package/.mindforge/skills/on-call-design/SKILL.md +111 -0
  257. package/.mindforge/skills/pagination-patterns/SKILL.md +230 -0
  258. package/.mindforge/skills/payment-integration/SKILL.md +176 -0
  259. package/.mindforge/skills/performance-reviews/SKILL.md +140 -0
  260. package/.mindforge/skills/platform-observability/SKILL.md +58 -0
  261. package/.mindforge/skills/platform-reliability/SKILL.md +52 -0
  262. package/.mindforge/skills/post-incident-learning/SKILL.md +96 -0
  263. package/.mindforge/skills/product-manager/SKILL.md +104 -0
  264. package/.mindforge/skills/progressive-web-app/SKILL.md +44 -0
  265. package/.mindforge/skills/prompt-engineering/SKILL.md +94 -0
  266. package/.mindforge/skills/proofreader/SKILL.md +158 -0
  267. package/.mindforge/skills/push-notification-architecture/SKILL.md +45 -0
  268. package/.mindforge/skills/python-performance/SKILL.md +183 -0
  269. package/.mindforge/skills/quality-audit/SKILL.md +171 -0
  270. package/.mindforge/skills/queue-design/SKILL.md +85 -0
  271. package/.mindforge/skills/rag-architecture/SKILL.md +176 -0
  272. package/.mindforge/skills/rate-limiting-design/SKILL.md +94 -0
  273. package/.mindforge/skills/react-native-patterns/SKILL.md +42 -0
  274. package/.mindforge/skills/react-performance/SKILL.md +229 -0
  275. package/.mindforge/skills/real-time-analytics/SKILL.md +42 -0
  276. package/.mindforge/skills/real-time-sync/SKILL.md +83 -0
  277. package/.mindforge/skills/responsive-native/SKILL.md +44 -0
  278. package/.mindforge/skills/responsive-patterns/SKILL.md +141 -0
  279. package/.mindforge/skills/rfc-pipeline/SKILL.md +114 -0
  280. package/.mindforge/skills/saas-multi-tenant/SKILL.md +41 -0
  281. package/.mindforge/skills/santa-method/SKILL.md +134 -0
  282. package/.mindforge/skills/search-implementation/SKILL.md +98 -0
  283. package/.mindforge/skills/secrets-platform/SKILL.md +56 -0
  284. package/.mindforge/skills/secrets-rotation/SKILL.md +173 -0
  285. package/.mindforge/skills/self-serve-infrastructure/SKILL.md +51 -0
  286. package/.mindforge/skills/serverless-patterns/SKILL.md +119 -0
  287. package/.mindforge/skills/skill-creator-meta/SKILL.md +146 -0
  288. package/.mindforge/skills/sprint-retrospective-facilitation/SKILL.md +112 -0
  289. package/.mindforge/skills/stakeholder-communication/SKILL.md +85 -0
  290. package/.mindforge/skills/state-management/SKILL.md +104 -0
  291. package/.mindforge/skills/stream-processing/SKILL.md +43 -0
  292. package/.mindforge/skills/streaming-architecture/SKILL.md +81 -0
  293. package/.mindforge/skills/supply-chain-security/SKILL.md +145 -0
  294. package/.mindforge/skills/synthetic-data-generation/SKILL.md +52 -0
  295. package/.mindforge/skills/system-design/SKILL.md +88 -0
  296. package/.mindforge/skills/team-topology-design/SKILL.md +107 -0
  297. package/.mindforge/skills/technical-debt-management/SKILL.md +86 -0
  298. package/.mindforge/skills/technical-interview-design/SKILL.md +98 -0
  299. package/.mindforge/skills/technical-leadership/SKILL.md +75 -0
  300. package/.mindforge/skills/technical-writing/SKILL.md +237 -0
  301. package/.mindforge/skills/technology-radar/SKILL.md +88 -0
  302. package/.mindforge/skills/testing-anti-patterns/SKILL.md +288 -0
  303. package/.mindforge/skills/threat-modeling/SKILL.md +109 -0
  304. package/.mindforge/skills/tool-design/SKILL.md +138 -0
  305. package/.mindforge/skills/typescript-advanced/SKILL.md +198 -0
  306. package/.mindforge/skills/using-git-worktrees/SKILL.md +139 -0
  307. package/.mindforge/skills/verification-loop/SKILL.md +97 -0
  308. package/.mindforge/skills/vibe-security/SKILL.md +165 -0
  309. package/.mindforge/skills/visual-regression-testing/SKILL.md +97 -0
  310. package/.mindforge/skills/websocket-patterns/SKILL.md +203 -0
  311. package/.mindforge/skills/writing-plans/SKILL.md +170 -0
  312. package/.mindforge/skills/writing-skills/SKILL.md +216 -0
  313. package/.mindforge/skills/zero-trust-architecture/SKILL.md +166 -0
  314. package/CHANGELOG.md +195 -0
  315. package/MINDFORGE.md +4 -4
  316. package/README.md +2 -2
  317. package/RELEASENOTES.md +66 -0
  318. package/bin/installer-core.js +1 -1
  319. package/bin/wizard/theme.js +2 -2
  320. package/docs/commands-reference.md +18 -1
  321. package/package.json +2 -2
  322. package/.mindforge/personas/data-privacy-engineer.md +0 -187
@@ -0,0 +1,177 @@
1
+ ---
2
+ name: email-deliverability
3
+ version: 1.0.0
4
+ min_mindforge_version: 10.0.4
5
+ status: stable
6
+ triggers: email deliverability, SPF record, DKIM signing, DMARC policy, email warm-up, sender reputation, bounce handling, complaint loop, email authentication, inbox placement, email throttling, transactional email architecture
7
+ ---
8
+
9
+ # Skill — Email Deliverability (Authentication & Reputation Architecture)
10
+
11
+ ## When this skill activates
12
+ When configuring email sending infrastructure, troubleshooting delivery issues,
13
+ warming up new sending domains/IPs, or architecting transactional vs marketing
14
+ email separation. Use for any task that affects whether emails reach the inbox.
15
+
16
+ Core principle: **Reputation is everything** — email deliverability is a long game.
17
+ One bad send can destroy months of reputation building. Protect sender reputation
18
+ like you protect production uptime.
19
+
20
+ ## Mandatory actions when this skill is active
21
+
22
+ ### Email Authentication Trio (Non-Negotiable)
23
+
24
+ 1. **SPF (Sender Policy Framework):**
25
+ ```dns
26
+ ; Authorize sending IPs/services
27
+ v=spf1 include:_spf.google.com include:sendgrid.net include:amazonses.com -all
28
+ ```
29
+
30
+ Rules:
31
+ - List ALL authorized sending services (ESP, transactional provider, corporate mail)
32
+ - End with `-all` (hard fail) not `~all` (soft fail) for production domains
33
+ - Maximum 10 DNS lookups (SPF limit) — use `include` sparingly
34
+ - Audit quarterly: remove services you no longer use
35
+ - Never authorize `+all` (allows anyone to send as you)
36
+
37
+ 2. **DKIM (DomainKeys Identified Mail):**
38
+ ```dns
39
+ ; Public key for signature verification
40
+ selector1._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=[public_key]"
41
+ ```
42
+
43
+ Rules:
44
+ - Every sending service gets its own DKIM selector
45
+ - Minimum 2048-bit RSA key (1024-bit is deprecated)
46
+ - Rotate keys annually (publish new key, wait 48h, remove old)
47
+ - Sign with your own domain (not the ESP's domain) for reputation ownership
48
+ - Verify signatures are passing: check DKIM alignment in email headers
49
+
50
+ 3. **DMARC (Domain-based Message Authentication, Reporting & Conformance):**
51
+ ```dns
52
+ ; Tell receivers what to do with failures
53
+ _dmarc.example.com IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:dmarc-forensic@example.com; pct=100"
54
+ ```
55
+
56
+ Deployment progression:
57
+ ```
58
+ Week 1-2: p=none (monitor only, collect reports)
59
+ Week 3-4: p=quarantine; pct=10 (quarantine 10% of failures)
60
+ Week 5-6: p=quarantine; pct=50
61
+ Week 7-8: p=quarantine; pct=100
62
+ Week 9+: p=reject (full enforcement — unauthenticated mail rejected)
63
+ ```
64
+
65
+ Rules:
66
+ - ALWAYS start at p=none and progress gradually
67
+ - Monitor DMARC reports (rua) weekly for legitimate sending you missed
68
+ - Goal state: p=reject (maximum protection against spoofing)
69
+ - Ensure both SPF and DKIM alignment pass (DMARC requires at least one)
70
+
71
+ ### IP/Domain Warm-Up
72
+
73
+ 4. **Warm-up schedule for new sending infrastructure:**
74
+ ```
75
+ Day 1-3: 50 emails/day (to most engaged recipients only)
76
+ Day 4-7: 100 emails/day
77
+ Week 2: 200-500/day
78
+ Week 3: 500-1,000/day
79
+ Week 4: 1,000-5,000/day
80
+ Week 5: 5,000-10,000/day
81
+ Week 6+: Increase 2x per week until target volume
82
+ ```
83
+
84
+ Rules:
85
+ - Send to MOST ENGAGED recipients first (opened/clicked in last 30 days)
86
+ - Monitor bounce rate after each volume increase (must stay <2%)
87
+ - If bounce rate spikes: stop, investigate, reduce volume
88
+ - Warm-up separately for each mailbox provider (Gmail, Outlook, Yahoo)
89
+ - Transactional and marketing should warm up independently
90
+ - Warm-up takes 6-8 weeks minimum — no shortcuts
91
+
92
+ ### Sender Reputation Monitoring
93
+
94
+ 5. **Key metrics and thresholds:**
95
+ ```
96
+ | Metric | Healthy | Warning | Critical |
97
+ |----------------------|------------|------------|------------|
98
+ | Bounce rate | <1% | 1-2% | >2% |
99
+ | Complaint rate | <0.05% | 0.05-0.1% | >0.1% |
100
+ | Open rate | >20% | 10-20% | <10% |
101
+ | Spam trap hits | 0 | 1-2/month | >2/month |
102
+ | Blacklist presence | None | 1 minor | Major list |
103
+ ```
104
+
105
+ Actions:
106
+ - Warning threshold: investigate root cause, adjust sending patterns
107
+ - Critical threshold: STOP marketing sends immediately, fix before resuming
108
+ - Monitor Google Postmaster Tools, Microsoft SNDS, Yahoo FBL daily
109
+ - Set up alerts for threshold crossings
110
+
111
+ ### Bounce Handling
112
+
113
+ 6. **Bounce classification and response:**
114
+ ```
115
+ Hard bounce (permanent failure):
116
+ - Invalid address, domain doesn't exist, mailbox doesn't exist
117
+ - Action: Remove from list IMMEDIATELY (first occurrence)
118
+ - Never retry a hard bounce
119
+
120
+ Soft bounce (temporary failure):
121
+ - Mailbox full, server temporarily unavailable, message too large
122
+ - Action: Retry up to 3 times over 72 hours
123
+ - After 3 soft bounces on same address: treat as hard bounce and suppress
124
+
125
+ Complaint (user clicked "spam"):
126
+ - Action: Suppress IMMEDIATELY, never email again
127
+ - Process FBL (Feedback Loop) reports within 1 hour
128
+ - If complaint rate rises: review recent sends for consent issues
129
+ ```
130
+
131
+ ### List Hygiene
132
+
133
+ 7. **Ongoing list maintenance:**
134
+ ```
135
+ - Remove hard bounces: immediately
136
+ - Suppress complaints: immediately
137
+ - Remove unengaged: no open/click in 90 days → sunset sequence → remove
138
+ - Validate on signup: real-time email validation API (catch typos, disposable domains)
139
+ - Re-validate periodically: quarterly bulk validation of full list
140
+ - Double opt-in: recommended for all marketing (required in some jurisdictions)
141
+ ```
142
+
143
+ ### Architecture (Transactional vs Marketing Separation)
144
+
145
+ 8. **Separate sending infrastructure:**
146
+ ```
147
+ Transactional email (receipts, password resets, 2FA):
148
+ - Dedicated IP/subdomain: mail.example.com
149
+ - Priority: immediate delivery (no batching)
150
+ - Volume: consistent, predictable
151
+ - Reputation: protected (never mixed with marketing)
152
+
153
+ Marketing email (newsletters, promotions, re-engagement):
154
+ - Dedicated IP/subdomain: news.example.com
155
+ - Priority: send-time optimized (batch by timezone/engagement)
156
+ - Volume: variable, seasonal spikes
157
+ - Reputation: more volatile (isolated from transactional)
158
+ ```
159
+
160
+ Rules:
161
+ - NEVER share IPs between transactional and marketing
162
+ - Transactional emails must not contain marketing content (CAN-SPAM)
163
+ - If marketing reputation degrades, transactional delivery is unaffected
164
+ - Use subdomain separation (not just IP) for domain reputation isolation
165
+
166
+ ## Self-check before task completion
167
+
168
+ Before marking a task done when this skill was active:
169
+
170
+ - [ ] Are SPF, DKIM, and DMARC all configured and passing alignment?
171
+ - [ ] Is DMARC at p=quarantine or p=reject (not indefinitely at p=none)?
172
+ - [ ] Is there a warm-up plan for any new IPs/domains (starting at 50/day)?
173
+ - [ ] Are bounce rate (<2%) and complaint rate (<0.1%) being monitored with alerts?
174
+ - [ ] Are hard bounces removed immediately and complaints suppressed?
175
+ - [ ] Is transactional email on a separate IP/subdomain from marketing?
176
+ - [ ] Is there a sunset policy for unengaged recipients (90-day inactivity)?
177
+ - [ ] Are real-time email validation and double opt-in implemented for new signups?
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: embedding-systems
3
+ version: 1.0.0
4
+ min_mindforge_version: 10.5.0
5
+ status: stable
6
+ triggers: embedding system design, vector database architecture, semantic search implementation, embedding pipeline, similarity algorithm, vector index optimization, vector embedding model selection, vector similarity search, dense vector retrieval, embedding dimension reduction, hybrid search design, vector store scaling
7
+ compose:
8
+ - rag-architecture
9
+ ---
10
+
11
+ # Embedding Systems & Vector Databases
12
+
13
+ ## When this skill activates
14
+
15
+ This skill activates when designing semantic search systems, implementing vector databases, building dense retrieval pipelines, or optimizing embedding-based similarity search. It applies to any system where AI must find semantically related content (documents, images, code) using vector representations.
16
+
17
+ ## Mandatory actions when this skill is active
18
+
19
+ ### Before writing any code
20
+
21
+ 1. **Select embedding model** — Choose based on modality (text: sentence-transformers, OpenAI ada-002; code: CodeBERT, StarCoder; images: CLIP; multimodal: CLIP, ImageBind) and performance requirements (dimension size vs. accuracy trade-off, encoding speed, cost). Validate model on your domain data before committing.
22
+ 2. **Design vector schema** — Define embedding dimensions (384, 768, 1536), metadata fields (timestamps, tags, source IDs), and filtering constraints. Schema changes require full reindexing. Get it right upfront.
23
+ 3. **Choose vector database** — Evaluate based on scale (millions vs. billions of vectors), query latency requirements (<100ms for real-time, <1s for batch), indexing strategy (HNSW, IVF, Product Quantization), and ecosystem (Pinecone, Weaviate, Qdrant, Milvus, pgvector). Run benchmarks on your data before selecting.
24
+ 4. **Establish similarity metrics** — Select distance function: cosine similarity (most common, normalized), dot product (unnormalized, faster), Euclidean distance (position-sensitive). Different metrics produce different rankings. Test which aligns with human judgment.
25
+
26
+ ### During implementation
27
+
28
+ - **Normalize embeddings consistently** — Always L2-normalize embeddings before storage if using cosine similarity. Unnormalized embeddings produce incorrect rankings. Validate normalization: check that ||embedding|| = 1.0 for all vectors.
29
+ - **Batch encode for efficiency** — Encode embeddings in batches (32-256 examples) to maximize GPU utilization. Single-example encoding wastes 90%+ of GPU compute. Implement batching with dynamic padding to handle variable-length inputs.
30
+ - **Design hybrid search** — Combine dense retrieval (semantic similarity) with sparse retrieval (BM25, TF-IDF keyword matching). Hybrid search outperforms either alone: semantic search finds conceptually similar content, keyword search ensures exact term matches are included. Fuse rankings with reciprocal rank fusion (RRF).
31
+ - **Implement metadata filtering** — Support filtering by metadata (date ranges, categories, tags) before or after vector search. Pre-filtering (filter then search) is faster but less accurate. Post-filtering (search then filter) is more accurate but slower. Choose based on selectivity (how many vectors match the filter).
32
+ - **Optimize index parameters** — Tune HNSW parameters (M, efConstruction, efSearch) for your accuracy/latency trade-off. Higher M and efConstruction improve accuracy but slow indexing. Higher efSearch improves query accuracy but slows search. Benchmark with your data.
33
+ - **Handle embedding drift** — Embedding models change (model updates, fine-tuning). When embeddings change, you must reindex all vectors. Implement versioned indexes: maintain old index while building new index, then hot-swap. Monitor query quality after model changes.
34
+
35
+ ### After implementation
36
+
37
+ - **Validate recall accuracy** — Measure recall@k: for a set of ground-truth similar pairs, what percentage are in the top-k search results? Target: recall@10 >90%. If lower, increase k, tune index parameters, or use a better embedding model.
38
+ - **Benchmark query latency** — Measure p50, p95, p99 latency under realistic load (queries per second, index size). Target: p95 <100ms for real-time search. If higher, scale horizontally, optimize index, or use approximate search (lower accuracy, higher speed).
39
+ - **Test edge cases** — Query with empty strings, extremely long texts, rare languages, special characters. Ensure system degrades gracefully (return empty results, not crashes). Validate that out-of-domain queries (content very different from training data) still return sensible results.
40
+ - **Monitor index size and cost** — Track storage cost (GB per million vectors), indexing throughput (vectors/second), and query cost ($/1000 queries). Embedding systems can become expensive at scale. Optimize dimension size (use dimension reduction if accuracy is acceptable).
41
+
42
+ ## Self-check before task completion
43
+
44
+ - [ ] Embedding model is selected and validated on domain-specific data
45
+ - [ ] Vector schema (dimensions, metadata, filters) is defined and documented
46
+ - [ ] Vector database is chosen based on benchmarks with realistic data scale and latency
47
+ - [ ] Similarity metric (cosine/dot product/Euclidean) is selected and justified
48
+ - [ ] Embeddings are L2-normalized before storage (if using cosine similarity)
49
+ - [ ] Batch encoding is implemented with dynamic padding for efficiency
50
+ - [ ] Hybrid search combines dense (semantic) and sparse (keyword) retrieval with RRF fusion
51
+ - [ ] Metadata filtering is implemented with pre/post-filtering strategy documented
52
+ - [ ] Recall@10 is validated at >90% on ground-truth similar pairs
53
+ - [ ] Query latency p95 is <100ms under realistic load
54
+ - [ ] Edge cases (empty queries, long texts, out-of-domain) are tested and handled gracefully
55
+ - [ ] Storage cost, indexing throughput, and query cost are measured and acceptable
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: environment-management
3
+ version: 1.0.0
4
+ min_mindforge_version: 10.7.0
5
+ status: stable
6
+ triggers: environment management platform, preview environment design, ephemeral environment, environment parity, configuration drift detection, ephemeral environment provisioning, staging environment, environment lifecycle, environment as code, environment cleanup, environment promotion workflow, branch environment
7
+ ---
8
+
9
+ # Skill — Environment Management
10
+
11
+ ## When this skill activates
12
+
13
+ This skill activates when the user is designing or implementing environment management capabilities. This includes preview environments (per-PR), ephemeral environments, environment parity (dev/staging/prod consistency), configuration drift detection, automated environment provisioning, staging environment design, environment lifecycle management, environment-as-code, automatic cleanup, environment promotion workflows, and branch-based environments.
14
+
15
+ ## Mandatory actions when this skill is active
16
+
17
+ ### Before writing any code
18
+
19
+ 1. Inventory existing environments: count, purpose, cost, utilization, and configuration drift from production.
20
+ 2. Define environment types: production, staging, QA, developer sandbox, preview (per-PR), load testing. Establish parity requirements for each.
21
+ 3. Assess environment provisioning time: how long from request to usable environment. Target: under 10 minutes.
22
+ 4. Identify configuration drift: where do dev/staging/prod differ (versions, feature flags, resource sizes, network topology). Quantify drift percentage.
23
+ 5. Establish environment cleanup policies: when to delete ephemeral environments (after PR merge, after N days of inactivity).
24
+
25
+ ### During implementation
26
+
27
+ - **Preview Environments (Per-PR):** Automatically create an isolated environment for each pull request. Include: full application stack, seeded test data, unique URL. Preview environment should be ready in under 10 minutes. Delete automatically when PR is merged or closed.
28
+ - **Ephemeral Environments:** Short-lived environments created on-demand and destroyed after use. Use for: testing, demos, training, experiments. Include cost cap ($50-$200) and auto-deletion after 7 days of inactivity.
29
+ - **Environment Parity:** Dev, staging, and prod should be as similar as possible. Use same: container images, Terraform modules, network topology, resource sizes (scale down in non-prod, but maintain same architecture). Differ only in: data (synthetic in non-prod), scale (fewer replicas), and external integrations (use mocks in non-prod).
30
+ - **Environment as Code:** All environments defined via IaC (Terraform, CloudFormation, Pulumi). No manual changes in cloud console. Code should be versioned and reviewed via PRs. Use modules to ensure consistency across environments.
31
+ - **Configuration Drift Detection:** Use Terraform plan, CloudFormation drift detection, or Config Sentinel. Run drift detection daily and alert on any manual changes. Automatically remediate drift by reapplying IaC.
32
+ - **Environment Provisioning:** Self-service provisioning via CLI, API, or portal. Provisioning should: validate inputs, estimate cost, apply IaC, seed data, run smoke tests, return URL. Complete in under 10 minutes.
33
+ - **Environment Lifecycle:** Define stages: provisioning → active → idle → scheduled for deletion → deleted. Idle environments (no activity for 3+ days) should be flagged for review. Auto-delete after 7 days idle (with 24-hour warning).
34
+ - **Environment Promotion:** Promote changes from dev → staging → production. Use GitOps workflow: commit to environment-specific branch triggers deployment. Include smoke tests and rollback on failure.
35
+ - **Staging Environment Design:** Staging should mirror production as closely as possible. Use 20-30% of production scale. Include: same services, same network topology, same feature flags, same monitoring. Differ only in: data volume and external integrations (use mocks or sandbox APIs).
36
+
37
+ ### After implementation
38
+
39
+ - Verify preview environments are created automatically for each PR and deleted on merge.
40
+ - Confirm ephemeral environments include cost caps and auto-deletion after 7 days.
41
+ - Validate environment parity: dev/staging/prod use same IaC modules and container images.
42
+ - Ensure configuration drift detection runs daily and alerts on manual changes.
43
+ - Check that environment provisioning completes in under 10 minutes with cost estimates.
44
+
45
+ ## Self-check before task completion
46
+
47
+ - [ ] Preview environments are created automatically per PR and deleted on merge.
48
+ - [ ] Ephemeral environments include cost caps and auto-deletion after 7 days idle.
49
+ - [ ] Environment parity is maintained: dev/staging/prod use same IaC modules.
50
+ - [ ] Configuration drift detection runs daily and alerts on manual changes.
51
+ - [ ] Environment provisioning is self-service and completes in under 10 minutes.
52
+ - [ ] Environment lifecycle includes idle detection and auto-cleanup after 7 days.
53
+ - [ ] Environment promotion uses GitOps workflow with smoke tests and rollback.
54
+ - [ ] Staging environment mirrors production at 20-30% scale with same architecture.
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: error-handling-architecture
3
+ version: 1.0.0
4
+ min_mindforge_version: 10.0.8
5
+ status: stable
6
+ triggers: error handling architecture, error hierarchy, error boundary, retry policy, dead letter queue, error reporting, sentry integration, error classification, graceful error, error propagation, error context, structured error
7
+ ---
8
+
9
+ # Error Handling Architecture
10
+
11
+ ## When this skill activates
12
+
13
+ This skill activates when designing error hierarchies, implementing error boundaries, configuring retry policies, setting up error reporting (Sentry/Datadog/Bugsnag), building dead letter queue processing, or establishing error handling patterns across a codebase. It applies to both frontend and backend error architecture.
14
+
15
+ ## Mandatory actions when this skill is active
16
+
17
+ ### Before
18
+
19
+ 1. Map the system boundaries where errors cross layers (UI → API → service → DB → external).
20
+ 2. Identify the error reporting tool in use or to be adopted (Sentry, Datadog, Bugsnag, custom).
21
+ 3. Categorize existing errors: which are retryable, which are permanent, which are user-facing.
22
+ 4. Determine SLA for error detection and alerting (time from error to notification).
23
+ 5. Review current error handling for anti-patterns (swallowed errors, generic catches, leaked internals).
24
+
25
+ ### During
26
+
27
+ **Error Hierarchy Design:**
28
+ ```
29
+ BaseError (abstract)
30
+ ├── ValidationError — Invalid input (400). User can fix and retry.
31
+ ├── NotFoundError — Resource doesn't exist (404). Client should not retry.
32
+ ├── AuthenticationError — Identity unknown (401). Redirect to login.
33
+ ├── AuthorizationError — Identity known, permission denied (403). Contact admin.
34
+ ├── ConflictError — State conflict (409). Client should refresh and retry.
35
+ ├── RateLimitError — Too many requests (429). Client must back off.
36
+ ├── ExternalServiceError — Upstream dependency failed (502/503). Retry with backoff.
37
+ └── InternalError — Unexpected failure (500). Alert engineers.
38
+ ```
39
+ - Every error class carries: `code` (machine-readable), `message` (human-readable), `context` (debugging data), `retryable` (boolean).
40
+ - NEVER use generic `Error` or `Exception` for domain errors. Always use typed errors.
41
+ - Error codes follow a namespace: `AUTH_001`, `PAYMENT_002`, `INVENTORY_003`.
42
+
43
+ **Error Boundaries (Defense in Depth):**
44
+ - **React UI**: `ErrorBoundary` components at route level and critical widget level. Show user-friendly fallback, report to Sentry.
45
+ - **API Controllers**: Catch all errors at the handler level. Transform to appropriate HTTP status and structured response.
46
+ - **Service Layer**: Catch errors from dependencies, add context, re-throw as domain errors.
47
+ - **Infrastructure**: Global uncaught exception handler as last resort (log + alert + graceful shutdown).
48
+ - Each boundary: catch, enrich with context, decide (retry/propagate/absorb), report.
49
+
50
+ **Retry Policies:**
51
+ - **Exponential backoff**: `delay = baseDelay * 2^attempt` (e.g., 100ms, 200ms, 400ms, 800ms).
52
+ - **Jitter**: Add random variance to prevent thundering herd (`delay + random(0, delay * 0.1)`).
53
+ - **Max retries**: 3 for fast operations, 5 for critical operations, 0 for non-idempotent writes.
54
+ - **Idempotency keys**: Required for retrying write operations (prevent double-processing).
55
+ - **Circuit breaker**: After N consecutive failures, stop trying for a cooldown period. Prevents cascade.
56
+ - **Retry only retryable errors**: Network timeouts (yes), validation errors (no), 500s (maybe, with limit).
57
+
58
+ **Dead Letter Queues (Async Error Handling):**
59
+ - Messages that fail processing after max retries go to the DLQ.
60
+ - DLQ messages must retain: original message, error details, attempt count, timestamp of each failure.
61
+ - Alerting: notify when DLQ depth exceeds threshold (e.g., >10 messages in 5 minutes).
62
+ - Manual replay: tooling to inspect DLQ messages and replay them after fix is deployed.
63
+ - Poisoned messages: after replay still fails, move to permanent failure store with investigation ticket.
64
+ - Never silently drop messages. Every message must reach success or explicit human acknowledgment.
65
+
66
+ **Error Reporting (Sentry Integration Pattern):**
67
+ - **Breadcrumbs**: Log navigation, API calls, user actions leading up to the error.
68
+ - **Tags**: environment, service, user_id, transaction_id, feature_flag.
69
+ - **Context**: request body (sanitized), response status, database query (no PII).
70
+ - **Grouping**: Configure fingerprinting so related errors group together (not 1000 separate issues).
71
+ - **Alerting**: New issues → Slack. Regression (resolved issue re-opens) → PagerDuty.
72
+ - **Sampling**: 100% for errors, 10-20% for transactions/performance in production.
73
+ - **PII scrubbing**: Strip emails, tokens, passwords before sending to error reporting.
74
+
75
+ **Structured Error Responses (API):**
76
+ ```json
77
+ {
78
+ "error": {
79
+ "code": "VALIDATION_001",
80
+ "message": "Email address is invalid",
81
+ "details": [
82
+ { "field": "email", "constraint": "Must be a valid email format" }
83
+ ],
84
+ "retryable": false,
85
+ "request_id": "req_abc123"
86
+ }
87
+ }
88
+ ```
89
+ - Always include `request_id` for correlation with server logs.
90
+ - Never expose stack traces, internal paths, or database details in API responses.
91
+ - Use `details` array for field-level validation errors.
92
+ - Include `retryable` flag so clients can implement automatic retry logic.
93
+
94
+ **Error Propagation Rules:**
95
+ - Errors propagate UP (from infrastructure to service to controller to client).
96
+ - At each layer: catch, add context specific to that layer, re-throw as appropriate type.
97
+ - NEVER swallow errors silently (`catch (e) {}`). At minimum: log and re-throw.
98
+ - Transform errors at boundaries (internal DB error becomes generic 500 to the client).
99
+ - Preserve the original error as `cause` for debugging (Error Cause chain / `cause` property).
100
+
101
+ ### After
102
+
103
+ 1. Error hierarchy covers all known failure modes in the system.
104
+ 2. Every boundary has explicit error handling (no unhandled promise rejections, no bare throws).
105
+ 3. Retry policies are configured with backoff, jitter, and max attempts.
106
+ 4. Error reporting captures sufficient context for debugging without exposing PII.
107
+ 5. Alerting is configured for new errors, regressions, and DLQ threshold breaches.
108
+
109
+ ## Self-check before task completion
110
+
111
+ - [ ] All errors use typed error classes from the hierarchy (no generic `Error` throws).
112
+ - [ ] Error boundaries exist at every system layer (UI, API, service, infrastructure).
113
+ - [ ] Retry policies use exponential backoff with jitter and respect idempotency.
114
+ - [ ] Dead letter queues are configured for async processing with alerting and replay tooling.
115
+ - [ ] Error reporting includes breadcrumbs, tags, and context (without PII).
116
+ - [ ] API error responses are structured with code, message, retryable flag, and request_id.
117
+ - [ ] No errors are silently swallowed anywhere in the codebase.
118
+ - [ ] Error messages are actionable for the audience (user-friendly in UI, detailed in logs).
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: estimation-techniques
3
+ version: 1.0.0
4
+ min_mindforge_version: 10.1.0
5
+ status: stable
6
+ triggers: estimation technique, story points, planning poker, reference class forecasting, cone of uncertainty, velocity projection, t-shirt sizing, three-point estimate, estimation accuracy, estimation calibration, effort estimation, time estimation
7
+ ---
8
+
9
+ # Estimation Techniques
10
+
11
+ ## When this skill activates
12
+
13
+ This skill activates when the team needs to estimate effort, duration, or complexity
14
+ of work items. It provides multiple estimation techniques, guidance on when to use each,
15
+ and frameworks for improving estimation accuracy over time through calibration and
16
+ reference class forecasting.
17
+
18
+ ## Mandatory actions when this skill is active
19
+
20
+ ### Before
21
+
22
+ 1. **Clarify what is being estimated** — Effort (person-days), duration (calendar time),
23
+ complexity (relative sizing), or cost (dollars)? These are different things.
24
+ 2. **Identify the audience** — Who needs this estimate and what decision will it inform?
25
+ (Sprint planning vs. budget approval vs. roadmap planning require different precision.)
26
+ 3. **Gather reference data** — Pull historical velocity, past estimates vs. actuals for
27
+ similar work, and team availability for the period.
28
+
29
+ ### During
30
+
31
+ 4. **Select appropriate technique based on context:**
32
+
33
+ - **Story Points (relative sizing):**
34
+ Compare work items to known reference stories. "Is this bigger or smaller than
35
+ the login feature we built last sprint?" Use Fibonacci sequence (1, 2, 3, 5, 8, 13)
36
+ to force recognition that large items have more uncertainty.
37
+ Best for: Sprint planning, backlog prioritization.
38
+
39
+ - **Planning Poker:**
40
+ Each estimator independently selects a card. Reveal simultaneously. If estimates
41
+ diverge by >2x, the highest and lowest explain their reasoning. Re-estimate.
42
+ Convergence indicates shared understanding. Divergence reveals hidden complexity
43
+ or misunderstanding. Best for: Team alignment on scope understanding.
44
+
45
+ - **Three-Point Estimate:**
46
+ Optimistic (O) + Most Likely (M) + Pessimistic (P).
47
+ Weighted average: (O + 4M + P) / 6.
48
+ Standard deviation: (P - O) / 6.
49
+ Present as range, not single number. Best for: Executive communication,
50
+ project planning with uncertainty bounds.
51
+
52
+ - **T-Shirt Sizing (S / M / L / XL):**
53
+ Rough relative sizing for large backlogs. Fast, low-ceremony. Good for roadmap-
54
+ level planning where precision is not needed. Convert to approximate days only
55
+ when pressed (S=1-2d, M=3-5d, L=1-2w, XL=3-4w — calibrate to your team).
56
+ Best for: Roadmap planning, early-stage estimation.
57
+
58
+ - **Reference Class Forecasting:**
59
+ Do NOT ask "how long do I think this will take?"
60
+ Instead ask "how long did SIMILAR work actually take in the past?"
61
+ Search for completed work of similar scope, technology, and team composition.
62
+ Use the actual duration distribution as the forecast basis.
63
+ Best for: Overcoming optimism bias, project-level estimates.
64
+
65
+ 5. **Apply the Cone of Uncertainty:**
66
+ - Initial concept: estimate accuracy is 4x (could be 4x longer or 0.25x shorter)
67
+ - After requirements: 2x range
68
+ - After detailed design: 1.5x range
69
+ - After implementation started: 1.25x range
70
+ - Communicate which stage you are at and the corresponding uncertainty range.
71
+ - Never present early-stage estimates as precise numbers.
72
+
73
+ 6. **Velocity-based projection:**
74
+ - Average velocity over last 3-5 sprints (discard outliers)
75
+ - Remaining story points / average velocity = estimated sprints remaining
76
+ - Present as range: (remaining / max velocity) to (remaining / min velocity)
77
+ - Account for known disruptions (holidays, planned absences, onboarding)
78
+
79
+ 7. **Common estimation pitfalls to avoid:**
80
+ - Anchoring — First number mentioned biases all subsequent estimates
81
+ - Planning fallacy — People consistently underestimate (use reference class data)
82
+ - Scope creep — Estimate what is defined NOW, flag unknowns separately
83
+ - Precision theater — "14.5 days" implies false precision; use ranges
84
+ - Forgetting overhead — Testing, code review, deployment, documentation are work too
85
+ - Hero assumptions — Estimate for average team member, not the fastest
86
+
87
+ 8. **Calibration practices:**
88
+ - Track estimate vs. actual for every completed item
89
+ - Review accuracy quarterly — are you consistently over or under?
90
+ - Adjust multiplier based on historical bias (if you are consistently 1.5x under,
91
+ multiply estimates by 1.5)
92
+ - Share calibration data with the team to build collective estimation skill
93
+
94
+ ### After
95
+
96
+ 9. **Record the estimate with context** — Document: what was estimated, technique used,
97
+ assumptions made, uncertainty range, and who participated.
98
+ 10. **Track actuals** — When work completes, record actual effort/duration alongside the
99
+ estimate for future calibration.
100
+ 11. **Retrospect on accuracy** — Periodically review estimation accuracy trends. Celebrate
101
+ improvement in calibration, investigate systematic biases.
102
+
103
+ ## Self-check before task completion
104
+
105
+ - [ ] Estimation technique selected intentionally (not just defaulting to one)
106
+ - [ ] Estimate presented as range, not single number
107
+ - [ ] Cone of uncertainty stage identified and communicated
108
+ - [ ] Reference class data consulted where available
109
+ - [ ] Common pitfalls actively guarded against (especially anchoring and planning fallacy)
110
+ - [ ] Assumptions and unknowns documented alongside the estimate
111
+ - [ ] Overhead included (testing, review, deployment, documentation)
112
+ - [ ] Historical calibration data referenced if available
113
+ - [ ] Tracking mechanism in place to compare estimate vs. actual