agy-superpowers 5.2.2 → 5.2.3

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 (220) hide show
  1. package/README.md +47 -150
  2. package/package.json +1 -1
  3. package/template/agent/rules/scratch-scripts.md +37 -0
  4. package/template/agent/rules/superpowers.md +4 -51
  5. package/template/agent/skills/ai-integrated-product/SKILL.md +0 -57
  6. package/template/agent/skills/analytics-setup/SKILL.md +0 -51
  7. package/template/agent/skills/api-design/SKILL.md +0 -193
  8. package/template/agent/skills/app-store-optimizer/SKILL.md +0 -127
  9. package/template/agent/skills/auth-and-identity/SKILL.md +0 -167
  10. package/template/agent/skills/backend-developer/SKILL.md +0 -148
  11. package/template/agent/skills/bootstrapper-finance/SKILL.md +0 -55
  12. package/template/agent/skills/chrome-extension-developer/SKILL.md +0 -53
  13. package/template/agent/skills/community-manager/SKILL.md +0 -115
  14. package/template/agent/skills/content-marketer/SKILL.md +0 -111
  15. package/template/agent/skills/conversion-optimizer/SKILL.md +0 -142
  16. package/template/agent/skills/cto-architect/SKILL.md +0 -133
  17. package/template/agent/skills/customer-success-manager/SKILL.md +0 -126
  18. package/template/agent/skills/data-analyst/SKILL.md +0 -147
  19. package/template/agent/skills/devops-engineer/SKILL.md +0 -117
  20. package/template/agent/skills/email-infrastructure/SKILL.md +0 -164
  21. package/template/agent/skills/game-design/SKILL.md +0 -194
  22. package/template/agent/skills/game-developer/SKILL.md +0 -175
  23. package/template/agent/skills/growth-hacker/SKILL.md +0 -122
  24. package/template/agent/skills/idea-validator/SKILL.md +0 -55
  25. package/template/agent/skills/indie-legal/SKILL.md +0 -53
  26. package/template/agent/skills/influencer-marketer/SKILL.md +0 -141
  27. package/template/agent/skills/landing-page-builder/SKILL.md +0 -59
  28. package/template/agent/skills/launch-strategist/SKILL.md +0 -62
  29. package/template/agent/skills/market-researcher/SKILL.md +0 -53
  30. package/template/agent/skills/micro-saas-builder/SKILL.md +0 -56
  31. package/template/agent/skills/monetization-strategist/SKILL.md +0 -119
  32. package/template/agent/skills/paid-acquisition-specialist/SKILL.md +0 -119
  33. package/template/agent/skills/pricing-psychologist/SKILL.md +0 -58
  34. package/template/agent/skills/real-time-features/SKILL.md +0 -194
  35. package/template/agent/skills/retention-specialist/SKILL.md +0 -123
  36. package/template/agent/skills/rust-developer/SKILL.md +0 -281
  37. package/template/agent/skills/rust-developer/references/rust-rules/_sections.md +0 -231
  38. package/template/agent/skills/rust-developer/references/rust-rules/anti-clone-excessive.md +0 -124
  39. package/template/agent/skills/rust-developer/references/rust-rules/anti-collect-intermediate.md +0 -131
  40. package/template/agent/skills/rust-developer/references/rust-rules/anti-empty-catch.md +0 -132
  41. package/template/agent/skills/rust-developer/references/rust-rules/anti-expect-lazy.md +0 -95
  42. package/template/agent/skills/rust-developer/references/rust-rules/anti-format-hot-path.md +0 -141
  43. package/template/agent/skills/rust-developer/references/rust-rules/anti-index-over-iter.md +0 -125
  44. package/template/agent/skills/rust-developer/references/rust-rules/anti-lock-across-await.md +0 -127
  45. package/template/agent/skills/rust-developer/references/rust-rules/anti-over-abstraction.md +0 -120
  46. package/template/agent/skills/rust-developer/references/rust-rules/anti-panic-expected.md +0 -131
  47. package/template/agent/skills/rust-developer/references/rust-rules/anti-premature-optimize.md +0 -156
  48. package/template/agent/skills/rust-developer/references/rust-rules/anti-string-for-str.md +0 -122
  49. package/template/agent/skills/rust-developer/references/rust-rules/anti-stringly-typed.md +0 -167
  50. package/template/agent/skills/rust-developer/references/rust-rules/anti-type-erasure.md +0 -134
  51. package/template/agent/skills/rust-developer/references/rust-rules/anti-unwrap-abuse.md +0 -143
  52. package/template/agent/skills/rust-developer/references/rust-rules/anti-vec-for-slice.md +0 -121
  53. package/template/agent/skills/rust-developer/references/rust-rules/api-builder-must-use.md +0 -143
  54. package/template/agent/skills/rust-developer/references/rust-rules/api-builder-pattern.md +0 -187
  55. package/template/agent/skills/rust-developer/references/rust-rules/api-common-traits.md +0 -165
  56. package/template/agent/skills/rust-developer/references/rust-rules/api-default-impl.md +0 -177
  57. package/template/agent/skills/rust-developer/references/rust-rules/api-extension-trait.md +0 -163
  58. package/template/agent/skills/rust-developer/references/rust-rules/api-from-not-into.md +0 -146
  59. package/template/agent/skills/rust-developer/references/rust-rules/api-impl-asref.md +0 -142
  60. package/template/agent/skills/rust-developer/references/rust-rules/api-impl-into.md +0 -160
  61. package/template/agent/skills/rust-developer/references/rust-rules/api-must-use.md +0 -125
  62. package/template/agent/skills/rust-developer/references/rust-rules/api-newtype-safety.md +0 -162
  63. package/template/agent/skills/rust-developer/references/rust-rules/api-non-exhaustive.md +0 -177
  64. package/template/agent/skills/rust-developer/references/rust-rules/api-parse-dont-validate.md +0 -184
  65. package/template/agent/skills/rust-developer/references/rust-rules/api-sealed-trait.md +0 -168
  66. package/template/agent/skills/rust-developer/references/rust-rules/api-serde-optional.md +0 -182
  67. package/template/agent/skills/rust-developer/references/rust-rules/api-typestate.md +0 -199
  68. package/template/agent/skills/rust-developer/references/rust-rules/async-bounded-channel.md +0 -175
  69. package/template/agent/skills/rust-developer/references/rust-rules/async-broadcast-pubsub.md +0 -185
  70. package/template/agent/skills/rust-developer/references/rust-rules/async-cancellation-token.md +0 -203
  71. package/template/agent/skills/rust-developer/references/rust-rules/async-clone-before-await.md +0 -171
  72. package/template/agent/skills/rust-developer/references/rust-rules/async-join-parallel.md +0 -158
  73. package/template/agent/skills/rust-developer/references/rust-rules/async-joinset-structured.md +0 -195
  74. package/template/agent/skills/rust-developer/references/rust-rules/async-mpsc-queue.md +0 -171
  75. package/template/agent/skills/rust-developer/references/rust-rules/async-no-lock-await.md +0 -156
  76. package/template/agent/skills/rust-developer/references/rust-rules/async-oneshot-response.md +0 -191
  77. package/template/agent/skills/rust-developer/references/rust-rules/async-select-racing.md +0 -198
  78. package/template/agent/skills/rust-developer/references/rust-rules/async-spawn-blocking.md +0 -154
  79. package/template/agent/skills/rust-developer/references/rust-rules/async-tokio-fs.md +0 -167
  80. package/template/agent/skills/rust-developer/references/rust-rules/async-tokio-runtime.md +0 -169
  81. package/template/agent/skills/rust-developer/references/rust-rules/async-try-join.md +0 -172
  82. package/template/agent/skills/rust-developer/references/rust-rules/async-watch-latest.md +0 -189
  83. package/template/agent/skills/rust-developer/references/rust-rules/doc-all-public.md +0 -113
  84. package/template/agent/skills/rust-developer/references/rust-rules/doc-cargo-metadata.md +0 -147
  85. package/template/agent/skills/rust-developer/references/rust-rules/doc-errors-section.md +0 -122
  86. package/template/agent/skills/rust-developer/references/rust-rules/doc-examples-section.md +0 -161
  87. package/template/agent/skills/rust-developer/references/rust-rules/doc-hidden-setup.md +0 -149
  88. package/template/agent/skills/rust-developer/references/rust-rules/doc-intra-links.md +0 -138
  89. package/template/agent/skills/rust-developer/references/rust-rules/doc-link-types.md +0 -169
  90. package/template/agent/skills/rust-developer/references/rust-rules/doc-module-inner.md +0 -116
  91. package/template/agent/skills/rust-developer/references/rust-rules/doc-panics-section.md +0 -128
  92. package/template/agent/skills/rust-developer/references/rust-rules/doc-question-mark.md +0 -136
  93. package/template/agent/skills/rust-developer/references/rust-rules/doc-safety-section.md +0 -131
  94. package/template/agent/skills/rust-developer/references/rust-rules/err-anyhow-app.md +0 -179
  95. package/template/agent/skills/rust-developer/references/rust-rules/err-context-chain.md +0 -144
  96. package/template/agent/skills/rust-developer/references/rust-rules/err-custom-type.md +0 -152
  97. package/template/agent/skills/rust-developer/references/rust-rules/err-doc-errors.md +0 -145
  98. package/template/agent/skills/rust-developer/references/rust-rules/err-expect-bugs-only.md +0 -133
  99. package/template/agent/skills/rust-developer/references/rust-rules/err-from-impl.md +0 -152
  100. package/template/agent/skills/rust-developer/references/rust-rules/err-lowercase-msg.md +0 -124
  101. package/template/agent/skills/rust-developer/references/rust-rules/err-no-unwrap-prod.md +0 -115
  102. package/template/agent/skills/rust-developer/references/rust-rules/err-question-mark.md +0 -151
  103. package/template/agent/skills/rust-developer/references/rust-rules/err-result-over-panic.md +0 -130
  104. package/template/agent/skills/rust-developer/references/rust-rules/err-source-chain.md +0 -155
  105. package/template/agent/skills/rust-developer/references/rust-rules/err-thiserror-lib.md +0 -171
  106. package/template/agent/skills/rust-developer/references/rust-rules/lint-cargo-metadata.md +0 -138
  107. package/template/agent/skills/rust-developer/references/rust-rules/lint-deny-correctness.md +0 -107
  108. package/template/agent/skills/rust-developer/references/rust-rules/lint-missing-docs.md +0 -154
  109. package/template/agent/skills/rust-developer/references/rust-rules/lint-pedantic-selective.md +0 -118
  110. package/template/agent/skills/rust-developer/references/rust-rules/lint-rustfmt-check.md +0 -157
  111. package/template/agent/skills/rust-developer/references/rust-rules/lint-unsafe-doc.md +0 -133
  112. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-complexity.md +0 -131
  113. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-perf.md +0 -136
  114. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-style.md +0 -135
  115. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-suspicious.md +0 -122
  116. package/template/agent/skills/rust-developer/references/rust-rules/lint-workspace-lints.md +0 -172
  117. package/template/agent/skills/rust-developer/references/rust-rules/mem-arena-allocator.md +0 -168
  118. package/template/agent/skills/rust-developer/references/rust-rules/mem-arrayvec.md +0 -142
  119. package/template/agent/skills/rust-developer/references/rust-rules/mem-assert-type-size.md +0 -168
  120. package/template/agent/skills/rust-developer/references/rust-rules/mem-avoid-format.md +0 -147
  121. package/template/agent/skills/rust-developer/references/rust-rules/mem-box-large-variant.md +0 -158
  122. package/template/agent/skills/rust-developer/references/rust-rules/mem-boxed-slice.md +0 -139
  123. package/template/agent/skills/rust-developer/references/rust-rules/mem-clone-from.md +0 -147
  124. package/template/agent/skills/rust-developer/references/rust-rules/mem-compact-string.md +0 -149
  125. package/template/agent/skills/rust-developer/references/rust-rules/mem-reuse-collections.md +0 -174
  126. package/template/agent/skills/rust-developer/references/rust-rules/mem-smaller-integers.md +0 -159
  127. package/template/agent/skills/rust-developer/references/rust-rules/mem-smallvec.md +0 -138
  128. package/template/agent/skills/rust-developer/references/rust-rules/mem-thinvec.md +0 -142
  129. package/template/agent/skills/rust-developer/references/rust-rules/mem-with-capacity.md +0 -156
  130. package/template/agent/skills/rust-developer/references/rust-rules/mem-write-over-format.md +0 -172
  131. package/template/agent/skills/rust-developer/references/rust-rules/mem-zero-copy.md +0 -164
  132. package/template/agent/skills/rust-developer/references/rust-rules/name-acronym-word.md +0 -99
  133. package/template/agent/skills/rust-developer/references/rust-rules/name-as-free.md +0 -104
  134. package/template/agent/skills/rust-developer/references/rust-rules/name-consts-screaming.md +0 -94
  135. package/template/agent/skills/rust-developer/references/rust-rules/name-crate-no-rs.md +0 -78
  136. package/template/agent/skills/rust-developer/references/rust-rules/name-funcs-snake.md +0 -76
  137. package/template/agent/skills/rust-developer/references/rust-rules/name-into-ownership.md +0 -123
  138. package/template/agent/skills/rust-developer/references/rust-rules/name-is-has-bool.md +0 -127
  139. package/template/agent/skills/rust-developer/references/rust-rules/name-iter-convention.md +0 -129
  140. package/template/agent/skills/rust-developer/references/rust-rules/name-iter-method.md +0 -131
  141. package/template/agent/skills/rust-developer/references/rust-rules/name-iter-type-match.md +0 -142
  142. package/template/agent/skills/rust-developer/references/rust-rules/name-lifetime-short.md +0 -86
  143. package/template/agent/skills/rust-developer/references/rust-rules/name-no-get-prefix.md +0 -154
  144. package/template/agent/skills/rust-developer/references/rust-rules/name-to-expensive.md +0 -118
  145. package/template/agent/skills/rust-developer/references/rust-rules/name-type-param-single.md +0 -92
  146. package/template/agent/skills/rust-developer/references/rust-rules/name-types-camel.md +0 -65
  147. package/template/agent/skills/rust-developer/references/rust-rules/name-variants-camel.md +0 -101
  148. package/template/agent/skills/rust-developer/references/rust-rules/opt-bounds-check.md +0 -161
  149. package/template/agent/skills/rust-developer/references/rust-rules/opt-cache-friendly.md +0 -187
  150. package/template/agent/skills/rust-developer/references/rust-rules/opt-codegen-units.md +0 -142
  151. package/template/agent/skills/rust-developer/references/rust-rules/opt-cold-unlikely.md +0 -152
  152. package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-always-rare.md +0 -141
  153. package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-never-cold.md +0 -181
  154. package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-small.md +0 -160
  155. package/template/agent/skills/rust-developer/references/rust-rules/opt-likely-hint.md +0 -171
  156. package/template/agent/skills/rust-developer/references/rust-rules/opt-lto-release.md +0 -130
  157. package/template/agent/skills/rust-developer/references/rust-rules/opt-pgo-profile.md +0 -167
  158. package/template/agent/skills/rust-developer/references/rust-rules/opt-simd-portable.md +0 -144
  159. package/template/agent/skills/rust-developer/references/rust-rules/opt-target-cpu.md +0 -154
  160. package/template/agent/skills/rust-developer/references/rust-rules/own-arc-shared.md +0 -141
  161. package/template/agent/skills/rust-developer/references/rust-rules/own-borrow-over-clone.md +0 -95
  162. package/template/agent/skills/rust-developer/references/rust-rules/own-clone-explicit.md +0 -135
  163. package/template/agent/skills/rust-developer/references/rust-rules/own-copy-small.md +0 -124
  164. package/template/agent/skills/rust-developer/references/rust-rules/own-cow-conditional.md +0 -135
  165. package/template/agent/skills/rust-developer/references/rust-rules/own-lifetime-elision.md +0 -134
  166. package/template/agent/skills/rust-developer/references/rust-rules/own-move-large.md +0 -134
  167. package/template/agent/skills/rust-developer/references/rust-rules/own-mutex-interior.md +0 -105
  168. package/template/agent/skills/rust-developer/references/rust-rules/own-rc-single-thread.md +0 -65
  169. package/template/agent/skills/rust-developer/references/rust-rules/own-refcell-interior.md +0 -97
  170. package/template/agent/skills/rust-developer/references/rust-rules/own-rwlock-readers.md +0 -122
  171. package/template/agent/skills/rust-developer/references/rust-rules/own-slice-over-vec.md +0 -119
  172. package/template/agent/skills/rust-developer/references/rust-rules/perf-black-box-bench.md +0 -153
  173. package/template/agent/skills/rust-developer/references/rust-rules/perf-chain-avoid.md +0 -136
  174. package/template/agent/skills/rust-developer/references/rust-rules/perf-collect-into.md +0 -133
  175. package/template/agent/skills/rust-developer/references/rust-rules/perf-collect-once.md +0 -120
  176. package/template/agent/skills/rust-developer/references/rust-rules/perf-drain-reuse.md +0 -137
  177. package/template/agent/skills/rust-developer/references/rust-rules/perf-entry-api.md +0 -134
  178. package/template/agent/skills/rust-developer/references/rust-rules/perf-extend-batch.md +0 -150
  179. package/template/agent/skills/rust-developer/references/rust-rules/perf-iter-lazy.md +0 -123
  180. package/template/agent/skills/rust-developer/references/rust-rules/perf-iter-over-index.md +0 -113
  181. package/template/agent/skills/rust-developer/references/rust-rules/perf-profile-first.md +0 -175
  182. package/template/agent/skills/rust-developer/references/rust-rules/perf-release-profile.md +0 -149
  183. package/template/agent/skills/rust-developer/references/rust-rules/proj-bin-dir.md +0 -142
  184. package/template/agent/skills/rust-developer/references/rust-rules/proj-flat-small.md +0 -133
  185. package/template/agent/skills/rust-developer/references/rust-rules/proj-lib-main-split.md +0 -148
  186. package/template/agent/skills/rust-developer/references/rust-rules/proj-mod-by-feature.md +0 -130
  187. package/template/agent/skills/rust-developer/references/rust-rules/proj-mod-rs-dir.md +0 -120
  188. package/template/agent/skills/rust-developer/references/rust-rules/proj-prelude-module.md +0 -155
  189. package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-crate-internal.md +0 -139
  190. package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-super-parent.md +0 -135
  191. package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-use-reexport.md +0 -162
  192. package/template/agent/skills/rust-developer/references/rust-rules/proj-workspace-deps.md +0 -186
  193. package/template/agent/skills/rust-developer/references/rust-rules/proj-workspace-large.md +0 -162
  194. package/template/agent/skills/rust-developer/references/rust-rules/test-arrange-act-assert.md +0 -160
  195. package/template/agent/skills/rust-developer/references/rust-rules/test-cfg-test-module.md +0 -151
  196. package/template/agent/skills/rust-developer/references/rust-rules/test-criterion-bench.md +0 -171
  197. package/template/agent/skills/rust-developer/references/rust-rules/test-descriptive-names.md +0 -142
  198. package/template/agent/skills/rust-developer/references/rust-rules/test-doctest-examples.md +0 -168
  199. package/template/agent/skills/rust-developer/references/rust-rules/test-fixture-raii.md +0 -151
  200. package/template/agent/skills/rust-developer/references/rust-rules/test-integration-dir.md +0 -144
  201. package/template/agent/skills/rust-developer/references/rust-rules/test-mock-traits.md +0 -189
  202. package/template/agent/skills/rust-developer/references/rust-rules/test-mockall-mocking.md +0 -226
  203. package/template/agent/skills/rust-developer/references/rust-rules/test-proptest-properties.md +0 -161
  204. package/template/agent/skills/rust-developer/references/rust-rules/test-should-panic.md +0 -130
  205. package/template/agent/skills/rust-developer/references/rust-rules/test-tokio-async.md +0 -154
  206. package/template/agent/skills/rust-developer/references/rust-rules/test-use-super.md +0 -127
  207. package/template/agent/skills/rust-developer/references/rust-rules/type-enum-states.md +0 -154
  208. package/template/agent/skills/rust-developer/references/rust-rules/type-generic-bounds.md +0 -142
  209. package/template/agent/skills/rust-developer/references/rust-rules/type-never-diverge.md +0 -146
  210. package/template/agent/skills/rust-developer/references/rust-rules/type-newtype-ids.md +0 -160
  211. package/template/agent/skills/rust-developer/references/rust-rules/type-newtype-validated.md +0 -159
  212. package/template/agent/skills/rust-developer/references/rust-rules/type-no-stringly.md +0 -144
  213. package/template/agent/skills/rust-developer/references/rust-rules/type-option-nullable.md +0 -137
  214. package/template/agent/skills/rust-developer/references/rust-rules/type-phantom-marker.md +0 -188
  215. package/template/agent/skills/rust-developer/references/rust-rules/type-repr-transparent.md +0 -143
  216. package/template/agent/skills/rust-developer/references/rust-rules/type-result-fallible.md +0 -131
  217. package/template/agent/skills/saas-architect/SKILL.md +0 -139
  218. package/template/agent/skills/security-engineer/SKILL.md +0 -133
  219. package/template/agent/skills/seo-specialist/SKILL.md +0 -130
  220. package/template/agent/skills/solo-founder-ops/SKILL.md +0 -56
@@ -1,147 +0,0 @@
1
- ---
2
- name: data-analyst
3
- description: Use when setting up metrics frameworks, analyzing funnels, running cohort analysis, designing dashboards, or evaluating A/B test results
4
- ---
5
-
6
- # Data Analyst Lens
7
-
8
- > **Philosophy:** If you can't measure it, you can't improve it — but measuring the wrong thing is worse than measuring nothing.
9
- > Good data asks better questions. It rarely answers them alone.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **North Star Metric first** — one metric that best captures value delivered to users
16
- - **Correlation ≠ causation** — always ask "what else changed?" before attributing a result
17
- - **Segment always** — averages hide everything; cohort and segment data reveals reality
18
- - **Lagging vs leading indicators** — revenue is lagging (past); activation is leading (predicts future)
19
- - **Statistical significance is a bar, not a target** — p < 0.05 means 1 in 20 tests will false-positive
20
-
21
- ---
22
-
23
- ## North Star Metric Selection
24
-
25
- | Product Type | Example North Star Metric |
26
- |-------------|--------------------------|
27
- | Productivity / Utility | Tasks completed per week |
28
- | Health / Fitness | Workouts logged per month |
29
- | Social | Messages sent per DAU |
30
- | E-commerce | Revenue per monthly visitor |
31
- | SaaS / B2B | Weekly active seats |
32
- | Mobile subscription | D30 retained paying users |
33
-
34
- **NSM must:** correlate with revenue, be measurable weekly, be understandable by the whole team.
35
-
36
- ---
37
-
38
- ## Standard Metrics Framework
39
-
40
- ```
41
- Acquisition: CAC, installs, signups, traffic source breakdown
42
- Activation: Activation rate, time-to-aha-moment, onboarding completion %
43
- Retention: D1/D7/D30 retention, DAU/MAU ratio, session frequency
44
- Revenue: MRR, ARR, ARPU, LTV, churn rate (voluntary + involuntary)
45
- Referral: Viral coefficient K, NPS, referral program conversion
46
- ```
47
-
48
- **DAU/MAU ratio** = engagement quality indicator:
49
- - > 50% = highly engaging (social / gaming)
50
- - 20–40% = good (productivity tools)
51
- - < 10% = low engagement / retention problem
52
-
53
- ---
54
-
55
- ## A/B Test Significance
56
-
57
- | Metric | Requirement |
58
- |--------|-------------|
59
- | Sample size per variant | ≥ 1,000 (for conversion rates) |
60
- | Minimum test duration | 2 weeks (captures weekly patterns) |
61
- | Statistical significance | p < 0.05 (95% confidence) |
62
- | Practical significance | Δ > 5% (otherwise not actionable) |
63
- | Type I error risk | 5% — 1 in 20 "significant" results is false positive |
64
- | Type II error | Run power analysis before test (sample size calculator) |
65
-
66
- **Never stop a test early** — stopping when significance is first reached inflates Type I error rate.
67
-
68
- ---
69
-
70
- ## Cohort Analysis Interpretation
71
-
72
- ```
73
- Week 0 cohort: users who signed up in week 0
74
- Retention at Day 30 = % of week 0 cohort still active on day 30
75
-
76
- Healthy retention curve: steep drop Day 0→7, then flattens (users who stay, stay)
77
- Unhealthy curve: no flattening, continues declining → no core retained audience
78
- ```
79
-
80
- ---
81
-
82
- ## ❌ Anti-Patterns to Avoid
83
-
84
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
85
- |------------|-----|--------------|
86
- | Report averages only | Averages hide bimodal distributions | Report medians + percentiles (p50, p90, p99) |
87
- | Declare test winner before reaching significance | False positive — winner may be noise | Predetermined sample size + duration |
88
- | Track everything, focus on nothing | Data overload → analysis paralysis | 3–5 top metrics per team |
89
- | Compare dissimilar cohorts | Apples vs oranges | Cohort by signup date, not current period |
90
- | Attribute all growth to last-click | Multi-touch attribution required | Use first-touch + last-touch + time-decay models |
91
- | Ignore data quality | Garbage in, garbage out | Instrument → validate → trust |
92
-
93
- ---
94
-
95
- ## Questions You Always Ask
96
-
97
- **When setting up metrics:**
98
- - What is the North Star Metric, and how often can we measure it?
99
- - Is this a leading or lagging indicator?
100
- - How will data be collected — are there gaps in instrumentation?
101
-
102
- **When analyzing a result:**
103
- - Is the sample size large enough for significance?
104
- - Could a confounding variable explain this change?
105
- - Does the result hold when segmented by cohort/device/acquisition source?
106
-
107
- ---
108
-
109
- ## Red Flags
110
-
111
- **Must fix:**
112
- - [ ] No North Star Metric defined
113
- - [ ] A/B tests declared significant before reaching 1,000 per variant
114
- - [ ] No event tracking on key activation events
115
- - [ ] Reporting only total signups / installs (not activated users)
116
-
117
- **Should fix:**
118
- - [ ] No cohort retention analysis (only aggregate retention)
119
- - [ ] All metrics reported as averages (no percentiles)
120
- - [ ] Dashboard not reviewed in weekly team ritual
121
-
122
- ---
123
-
124
- ## Who to Pair With
125
- - `growth-hacker` — for AARRR funnel analysis and experiment design
126
- - `product-manager` — for North Star Metric definition and outcome tracking
127
- - `retention-specialist` — for retention curve and churn cohort analysis
128
-
129
- ---
130
-
131
- ## Key Formulas
132
-
133
- ```
134
- MRR = paying_users × ARPU
135
- ARR = MRR × 12
136
- LTV = ARPU / monthly_churn_rate
137
- CAC = total_acquisition_spend / new_customers
138
- LTV:CAC ratio ≥ 3:1
139
- DAU/MAU ratio = (DAU / MAU) × 100%
140
- Viral coeff. K = invites_per_user × invite_conversion_rate
141
- Monthly churn = churned_this_month / users_start_of_month
142
- ```
143
-
144
- ---
145
-
146
- ## Tools
147
- Mixpanel · Amplitude · PostHog (self-hosted) · Metabase · Google Looker Studio · Statsig / LaunchDarkly (experiment platform) · Segment (data pipeline) · BigQuery / Redshift (data warehouse)
@@ -1,117 +0,0 @@
1
- ---
2
- name: devops-engineer
3
- description: Use when working on CI/CD pipelines, infrastructure, deployment, monitoring, or reliability engineering — regardless of cloud provider
4
- ---
5
-
6
- # DevOps Engineer Lens
7
-
8
- > **Philosophy:** Automate everything deployable. Observe everything running. Fail safely, recover fast.
9
- > If it's not in version control, it doesn't exist. If it's not monitored, it will fail silently.
10
-
11
- ---
12
-
13
- ## ⚠️ ASK BEFORE ASSUMING
14
-
15
- | What | Why it matters |
16
- |------|----------------|
17
- | **Cloud provider?** AWS / GCP / Azure / Fly / Railway | Determines services and tooling |
18
- | **Team size?** Solo / small team | Determines complexity vs value trade-offs |
19
- | **Current deploy process?** Manual / CI/CD | Determines where to start |
20
- | **SLO requirements?** 99.9% / 99.99% | Drives infrastructure decisions |
21
-
22
- When unspecified, assume small team + Docker + GitHub Actions + managed cloud (Railway/Fly/Render).
23
-
24
- ---
25
-
26
- ## Core Instincts
27
-
28
- - **Immutable infrastructure** — never SSH to patch production; redeploy instead
29
- - **Observability-first** — logs, metrics, traces before adding features
30
- - **Fail fast, recover faster** — MTTR matters more than MTBF for indie hackers
31
- - **Automate the deploy path** — every manual step is a future incident waiting to happen
32
- - **Secrets are not config** — credentials never live in code or environment variables baked into images
33
-
34
- ---
35
-
36
- ## Reliability Thresholds
37
-
38
- | SLO | Allowed downtime/month | Allowed downtime/year |
39
- |-----|----------------------|----------------------|
40
- | 99% | 7.3 hours | 3.65 days |
41
- | 99.5% | 3.6 hours | 1.83 days |
42
- | **99.9%** | **43 minutes** | **8.7 hours** |
43
- | 99.95% | 21 minutes | 4.4 hours |
44
- | 99.99% | 4.3 minutes | 52 minutes |
45
-
46
- **For indie hackers:** 99.9% is the right target. 99.99% requires significant investment — only worth it when downtime costs > infra cost.
47
-
48
- **Key metrics:**
49
- - **MTTR** (Mean Time to Recovery): target < 15min for P1 incidents
50
- - **MTBF** (Mean Time Between Failures): track over rolling 30 days
51
- - **Deploy frequency**: healthy = multiple times/day; red flag = < once/week
52
-
53
- ---
54
-
55
- ## ❌ Anti-Patterns to Avoid
56
-
57
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
58
- |------------|-----|--------------|
59
- | Deploy directly from local machine | "Works on my machine" incidents, no audit trail | CI/CD pipeline always |
60
- | No staging environment | Production = first time bugs are discovered | Staging that mirrors prod |
61
- | Secrets in `.env` committed to git | One git history leak = all creds compromised | Doppler / AWS Secrets Manager / Vault |
62
- | Long-lived feature branches | Merge conflicts, integration hell | Trunk-based dev + feature flags |
63
- | No rollback plan | Bad deploy = extended outage | Blue-green or canary + 1-click rollback |
64
- | Alerts on everything | Alert fatigue = ignored alerts | Page only on SLO breaches, not symptoms |
65
- | Manual database migrations | Easy to forget, easy to run wrong order | Migration runner in deploy pipeline |
66
-
67
- ---
68
-
69
- ## Questions You Always Ask
70
-
71
- **When designing infrastructure:**
72
- - What's the rollback plan if this deploy goes wrong?
73
- - What does a 10x traffic spike do to this setup?
74
- - How long does a full restore from backup take?
75
- - Who gets paged when this fails at 3am?
76
-
77
- **When reviewing CI/CD:**
78
- - Does every PR get tested before merge?
79
- - Are secrets injected at runtime, not baked into images?
80
- - Is the deploy pipeline idempotent (safe to re-run)?
81
-
82
- ---
83
-
84
- ## Red Flags in Code Review / Infrastructure Review
85
-
86
- **Must fix:**
87
- - [ ] Secrets in source code, Dockerfiles, or `.env` committed to repo
88
- - [ ] No health check endpoint on services
89
- - [ ] No automated tests in CI pipeline
90
- - [ ] Manual production deploys with no audit trail
91
-
92
- **Should fix:**
93
- - [ ] No staging environment (or staging diverged from prod)
94
- - [ ] Database backups untested (backup ≠ restore test)
95
- - [ ] Alerts firing on every error (not SLO-based)
96
- - [ ] Single point of failure with no redundancy
97
-
98
- ---
99
-
100
- ## Who to Pair With
101
- - `backend-developer` — for deployment architecture of APIs
102
- - `data-analyst` — for metrics pipeline and observability stack
103
- - `cto-architect` — for scaling decisions and infrastructure design
104
-
105
- ---
106
-
107
- ## Tool Reference
108
-
109
- | Category | Tools |
110
- |----------|-------|
111
- | CI/CD | GitHub Actions, GitLab CI, CircleCI |
112
- | Container | Docker, Kubernetes (k8s when you have a team), Fly.io, Railway |
113
- | Secrets management | Doppler, AWS Secrets Manager, 1Password Secrets |
114
- | Monitoring | Datadog, Grafana + Prometheus, Better Uptime |
115
- | Error tracking | Sentry, Bugsnag |
116
- | Logging | Papertrail, Logtail, CloudWatch |
117
- | IaC | Terraform, Pulumi (for teams), SST (for AWS serverless) |
@@ -1,164 +0,0 @@
1
- ---
2
- name: email-infrastructure
3
- description: Use when setting up transactional email, managing deliverability, configuring SPF/DKIM/DMARC, building email templates, or debugging email delivery issues
4
- ---
5
-
6
- # Email Infrastructure Lens
7
-
8
- > **Philosophy:** Deliverability is a reputation game. One spam complaint can blacklist your domain for weeks.
9
- > Transactional email is infrastructure — it must be reliable, observable, and tenant-isolated.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **Domain reputation is fragile** — separate transactional from marketing; don't let bulk mail ruin auth emails
16
- - **Sending ≠ delivering** — always verify delivery via bounce/open tracking and suppression lists
17
- - **Never send from your root domain** — use a subdomain (`mail.yourdomain.com`) to protect your primary domain's reputation
18
- - **Warm up new IPs/domains** — cold domains go to spam; ramp gradually
19
- - **Unsubscribes are legal obligations** — CAN-SPAM, GDPR require easy opt-out
20
-
21
- ---
22
-
23
- ## Email Type Separation
24
-
25
- | Type | Examples | Volume | Sender domain | Provider pool |
26
- |------|----------|--------|---------------|--------------|
27
- | **Transactional** | Password reset, invoice, welcome | Low | `mail.yourdomain.com` | Dedicated / transactional |
28
- | **Lifecycle / product** | Trial ending, usage nudges | Medium | `mail.yourdomain.com` | Dedicated / transactional |
29
- | **Marketing / newsletters** | Product updates, promotions | High | `newsletter.yourdomain.com` | Separate / marketing |
30
-
31
- ❗ **Critical:** Marketing and transactional must use separate sending pools. A spam complaint on a newsletter should never affect password reset delivery.
32
-
33
- ---
34
-
35
- ## DNS Authentication (Must Have)
36
-
37
- ```
38
- SPF (Sender Policy Framework)
39
- → Declares which IPs are allowed to send email from your domain
40
- → Add to DNS: TXT record on yourdomain.com
41
- → Example: "v=spf1 include:sendgrid.net include:resend.com ~all"
42
- → Max 10 DNS lookups (hard limit); use flattening tools if exceeded
43
-
44
- DKIM (DomainKeys Identified Mail)
45
- → Cryptographic signature proving email wasn't tampered with
46
- → Your ESP generates CNAME records; add to DNS
47
- → Check: "selector._domainkey.yourdomain.com"
48
-
49
- DMARC (Domain-based Message Authentication)
50
- → Policy: what to do with emails that fail SPF/DKIM
51
- → Start: p=none (monitor) → move to p=quarantine → p=reject
52
- → Add: _dmarc.yourdomain.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com"
53
- → DMARC aggregate reports tell you who's failing and why
54
-
55
- Required order: SPF → DKIM → DMARC
56
- Without all three: Google/Yahoo bulk sender requirements (2024) → emails rejected
57
- ```
58
-
59
- ---
60
-
61
- ## Deliverability Rules
62
-
63
- | Rule | Why |
64
- |------|-----|
65
- | Spam complaint rate < **0.08%** | Google/Yahoo threshold; above = Gmail blocks |
66
- | Hard bounce rate < **2%** | Remove bounced emails immediately |
67
- | List hygiene: unverified emails | Never send to addresses that haven't confirmed |
68
- | Unsubscribe link required | CAN-SPAM (US) + GDPR (EU) legal requirement |
69
- | One-click unsubscribe (RFC 8058) | Gmail requires for bulk senders (> 5K/day) |
70
- | Text version alongside HTML | Many spam filters penalize HTML-only |
71
-
72
- ---
73
-
74
- ## Email Queue Architecture
75
-
76
- ```
77
- ❌ NEVER send email synchronously in request handler:
78
- POST /reset-password → send email → respond
79
-
80
- ✅ Queue email jobs:
81
- POST /reset-password → create job in queue → respond 200
82
- ↓ (async)
83
- Worker picks up job → send via ESP → log result
84
-
85
- Why: Email sending can take 1–3 seconds; timeouts → duplicate sends → user frustration
86
- Queue retry: 3 attempts with exponential backoff (1s, 5s, 30s)
87
- ```
88
-
89
- ---
90
-
91
- ## Template Best Practices
92
-
93
- ```
94
- Structure:
95
- - Max width: 600px (renders correctly in all clients)
96
- - Always include plaintext alternative
97
- - Inline CSS only (Gmail strips <style> blocks)
98
- - Images: always include alt text; assume images are blocked
99
- - CTA button: use table-based HTML (VML for Outlook)
100
-
101
- Testing:
102
- - Litmus / Email on Acid for client rendering
103
- - SpamAssassin score < 2 (most spam filters use SA)
104
- - Check: mail-tester.com (free quick test)
105
- ```
106
-
107
- ---
108
-
109
- ## ❌ Anti-Patterns to Avoid
110
-
111
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
112
- |------------|-----|--------------|
113
- | Send from root domain | Spam complaints = root domain blacklisted | Use `mail.yourdomain.com` subdomain |
114
- | Marketing + transactional same pool | Marketing spam rates kill auth email delivery | Separate sender pools |
115
- | No SPF/DKIM/DMARC | Emails rejected by Gmail/Yahoo (2024 policy) | Configure all three before launch |
116
- | Retry email without checking bounces | Sending to bounced emails = reputation damage | Remove hard bounces immediately |
117
- | Suppress all email on one unsubscribe | User unsubscribes from marketing, loses auth emails | Separate marketing vs transactional opt-out lists |
118
- | Send email synchronously in API handler | Timeouts → duplicate sends → user sees email twice | Job queue always |
119
-
120
- ---
121
-
122
- ## Questions You Always Ask
123
-
124
- **When setting up email:**
125
- - Are SPF, DKIM, and DMARC configured? (Check: `mxtoolbox.com`)
126
- - Are transactional and marketing emails on separate sending pools?
127
- - Is email sending queued (not synchronous in the request)?
128
- - What happens when an email bounces? Is the address suppressed?
129
-
130
- **When debugging delivery issues:**
131
- - What does the ESP delivery log show? Was it accepted or rejected?
132
- - Is the DMARC report showing authentication failures?
133
- - What's the spam complaint rate this week?
134
-
135
- ---
136
-
137
- ## Red Flags
138
-
139
- **Must fix:**
140
- - [ ] No DKIM/SPF/DMARC configured (emails fail Gmail/Yahoo)
141
- - [ ] Transactional and marketing sent from same pool
142
- - [ ] Bounced addresses not being suppressed
143
- - [ ] Email sent synchronously in request handler
144
-
145
- **Should fix:**
146
- - [ ] No plaintext version of HTML emails
147
- - [ ] No DMARC report monitoring
148
- - [ ] Unsubscribe doesn't work within 10 seconds (CAN-SPAM requirement)
149
-
150
- ---
151
-
152
- ## Who to Pair With
153
- - `backend-developer` — for queue implementation and webhook handling
154
- - `security-engineer` — for email token security (reset links, magic links)
155
- - `devops-engineer` — for DNS configuration and monitoring
156
-
157
- ---
158
-
159
- ## Tools
160
- **ESP:** Resend · SendGrid · Postmark · AWS SES
161
- **Testing:** mail-tester.com · Litmus · Email on Acid
162
- **DNS check:** MXToolbox · DMARC Analyzer
163
- **Templates:** React Email · MJML
164
- **Queue:** BullMQ / Inngest / Trigger.dev
@@ -1,194 +0,0 @@
1
- ---
2
- name: game-design
3
- description: Use when designing game mechanics, core loops, progression systems, monetization for games, difficulty curves, tutorial design, or player psychology
4
- ---
5
-
6
- # Game Design Lens
7
-
8
- > **Philosophy:** Game design is the art of making decisions fun. Every system should answer: "Is this engaging?"
9
- > The best games feel instantly playable and endlessly deep.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **Core loop first** — if the core action isn't fun by itself, no meta-game will save it
16
- - **Feel before balance** — a perfectly balanced but bad-feeling game fails; great feel forgives imbalance
17
- - **Teach through play** — tutorials are a design failure if players need to read them
18
- - **Intrinsic over extrinsic motivation** — players who play for rewards quit when rewards stop
19
- - **Every system must serve the fantasy** — if a mechanic doesn't reinforce the core fantasy, cut it
20
-
21
- ---
22
-
23
- ## Game Loop Hierarchy
24
-
25
- ```
26
- Core Loop (seconds): The primary action (shoot, match, tap, build)
27
- Meta Loop (minutes): Progression within a session (upgrade, complete level)
28
- Outer Loop (days): Long-term progression (unlock, prestige, story)
29
-
30
- Addiction comes from nested loops where each satisfies before feeding into the next.
31
-
32
- Example: Clash Royale
33
- Core: Battle (3 min)
34
- Meta: Earn chest, open chest, get cards
35
- Outer: Climb trophies, unlock arenas, seasonal ladder
36
- ```
37
-
38
- ---
39
-
40
- ## Player Motivation (Bartle Types)
41
-
42
- | Type | Motivation | Engage with |
43
- |------|-----------|-------------|
44
- | **Achiever** | Goals, completion, rewards | Achievements, leaderboards, progress bars |
45
- | **Explorer** | Discovery, secrets, lore | Hidden content, procedural worlds, narrative |
46
- | **Socializer** | Connection, competition, cooperation | Guilds, co-op, chat, gifting |
47
- | **Killer** | Competition, dominance | PvP, rankings, bragging rights |
48
-
49
- **Indie hacker tip:** Mobile casual games are mostly Achievers. Design clear goals and visible progress.
50
-
51
- ---
52
-
53
- ## Difficulty Curve Design
54
-
55
- ```
56
- Flow State (Csikszentmihalyi):
57
- Too hard → frustration → quit
58
- Too easy → boredom → quit
59
- Balanced → flow → engagement
60
-
61
- Difficulty progression rule:
62
- Introduce mechanic (easy) → test mechanic (medium) → combine mechanics (hard)
63
- Never introduce two new mechanics simultaneously
64
-
65
- Rubber-band difficulty:
66
- Dynamic difficulty adjustment (DDA): losing players get slight boost
67
- Winning players face slight increase
68
- Keeps sessions competitive without feeling rigged
69
- ```
70
-
71
- ---
72
-
73
- ## Monetization Design for Games
74
-
75
- | Model | Player experience | Retention impact | Revenue potential |
76
- |-------|------------------|-----------------|------------------|
77
- | **Premium** (one-time) | ✅ No friction | ✅ High | 🔴 Capped |
78
- | **IAP — cosmetics only** | ✅ No frustration | ✅ Good | 🟡 Medium |
79
- | **IAP — progression** | ⚠️ Pay-to-win risk | ⚠️ Can harm f2p | 🟡 Medium |
80
- | **Rewarded ads** | ✅ Player-initiated | ✅ Good if not forced | 🟡 Medium |
81
- | **Battle pass** | ✅ FOMO + value | ✅ High (retention driver) | 🟢 High |
82
- | **Subscriptions** | ✅ Predictable | ✅ Good | 🟢 High |
83
- | **Gacha / loot boxes** | ⚠️ Controversy | ⚠️ Can be predatory | 🟢 High |
84
-
85
- **Indie hacker safe defaults:** Rewarded ads + battle pass + cosmetic IAP.
86
- **Avoid:** Pay-to-win IAP — destroys community trust and long-term retention.
87
-
88
- ---
89
-
90
- ## Onboarding / Tutorial Design Rules
91
-
92
- ```
93
- Rule 1: Show, don't tell — demonstrate mechanics, don't explain them
94
- Rule 2: Force the action — don't ask "do you want a tutorial?"; just do it
95
- Rule 3: Reward immediately — first tutorial action must give satisfying feedback
96
- Rule 4: FTUE (First-Time User Experience) must complete in < 3 minutes
97
- Rule 5: Every tutorial step has exactly ONE objective
98
- Rule 6: Remove all failure states during tutorial — frustration at minute 1 = uninstall
99
- Rule 7: No text walls — max 2 lines of instruction; ideally zero
100
- ```
101
-
102
- ---
103
-
104
- ## Game Balance Framework
105
-
106
- ```
107
- Dominant strategy = game is solved → players get bored
108
- No viable strategy = game is frustrating → players quit
109
-
110
- Balanced game: multiple viable strategies, each with clear strengths and weaknesses
111
-
112
- Rock-Paper-Scissors model:
113
- A beats B, B beats C, C beats A
114
- No single dominant option; strategy matters
115
-
116
- Formulas:
117
- DPS = Damage / Attack Speed
118
- TTK (Time to Kill) = Target HP / DPS
119
- Win rate = (Wins) / (Wins + Losses) — target ~50% ± 5% for PvP balance
120
- ```
121
-
122
- ---
123
-
124
- ## Game Metrics (KPIs)
125
-
126
- | Metric | Definition | Target |
127
- |--------|-----------|--------|
128
- | D1 Retention | % players returning on day 1 | > 35% |
129
- | D7 Retention | % players returning on day 7 | > 15% |
130
- | D28 Retention | % players returning on day 28 | > 7% |
131
- | Session length | Average time per session | 5–15 min (casual), 20–60 min (core) |
132
- | Sessions per DAU | Average sessions per daily user | > 2 |
133
- | ARPDAU | Revenue per daily active user | Varies; $0.05–$0.20 mobile casual |
134
- | IPM (Installs per Mille) | Ad creative installs / 1K impressions | > 3 for performance |
135
- | Day 0 tutorial completion | % who finish tutorial | > 70% |
136
-
137
- ---
138
-
139
- ## ❌ Anti-Patterns to Avoid
140
-
141
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
142
- |------------|-----|--------------|
143
- | Skip the core loop to build meta first | Meta can't save a bad core loop | Fun core loop in < 2 weeks prototype |
144
- | Pay-to-win IAP | Destroys PvP balance, harms f2p players | Cosmetics, convenience (not power) |
145
- | Energy/timer gates early in FTUE | Players quit before experiencing value | First gate after player is hooked (> D3) |
146
- | Tutorial that can be failed | Guaranteed failure = guaranteed uninstall | Guided, railroaded tutorial with no lose state |
147
- | Random difficulty spikes | Perceived unfairness = rage quit | Smooth curve with intentional "boss" moments |
148
- | Introducing 2 mechanics at once | Cognitive overload | One mechanic per level/screen |
149
- | Rewarded ads forced (not voluntary) | Players hate interruption | Rewarded only — player initiates |
150
-
151
- ---
152
-
153
- ## Questions You Always Ask
154
-
155
- **When designing a new mechanic:**
156
- - Is this fun by itself? (Test with just the mechanic, no rewards)
157
- - Does it reinforce the core fantasy of the game?
158
- - How does a new player encounter this for the first time?
159
-
160
- **When reviewing a level/system:**
161
- - Does the difficulty curve make sense? No sudden spikes?
162
- - What's the win rate data? (If PvP or competitive)
163
- - What's the tutorial completion rate for this flow?
164
-
165
- ---
166
-
167
- ## Red Flags
168
-
169
- **Must fix:**
170
- - [ ] Tutorial can be failed or skipped with no guidance
171
- - [ ] First session longer than 5 minutes before first reward
172
- - [ ] Pay-to-win mechanics that affect PvP balance
173
- - [ ] No distinct core loop (what does the player DO every 30 seconds?)
174
-
175
- **Should fix:**
176
- - [ ] No audio/haptic feedback on primary action
177
- - [ ] Difficulty spikes without escalation curve
178
- - [ ] Monetization gating content needed to progress (not convenience)
179
-
180
- ---
181
-
182
- ## Who to Pair With
183
- - `game-developer` — for technical implementation of mechanics
184
- - `mobile-developer` — for mobile UX and platform guidelines
185
- - `monetization-strategist` — for IAP pricing and revenue modeling
186
- - `retention-specialist` — for D1/D7/D28 funnel analysis
187
-
188
- ---
189
-
190
- ## Reference Frameworks
191
- - **MDA Framework** (Mechanics → Dynamics → Aesthetics) — Hunicke, LeBlanc, Zubek
192
- - **Bartle's Player Types** — motivation segmentation for multiplayer
193
- - **Flow State** — Csikszentmihalyi's challenge/skill balance
194
- - **Octalysis** — Yu-kai Chou's gamification framework (8 core drives)