agy-superpowers 5.2.1 → 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 (233) hide show
  1. package/README.md +47 -150
  2. package/package.json +1 -1
  3. package/template/agent/patches/skills-patches.md +23 -0
  4. package/template/agent/rules/scratch-scripts.md +37 -0
  5. package/template/agent/rules/superpowers.md +6 -50
  6. package/template/agent/skills/brainstorming/SKILL.md +4 -3
  7. package/template/agent/skills/brainstorming/visual-companion.md +2 -3
  8. package/template/agent/skills/finishing-a-development-branch/SKILL.md +11 -16
  9. package/template/agent/skills/subagent-driven-development/SKILL.md +16 -0
  10. package/template/agent/skills/subagent-driven-development/implementer-prompt.md +4 -3
  11. package/template/agent/skills/using-git-worktrees/SKILL.md +3 -2
  12. package/template/agent/skills/using-superpowers/SKILL.md +8 -6
  13. package/template/agent/skills/using-superpowers/references/copilot-tools.md +52 -0
  14. package/template/agent/skills/writing-plans/SKILL.md +5 -3
  15. package/template/agent/skills/writing-skills/SKILL.md +1 -1
  16. package/template/agent/superpowers-version.json +2 -2
  17. package/template/agent/tmp/agent-config-backup.yml +9 -0
  18. package/template/agent/skills/ai-integrated-product/SKILL.md +0 -57
  19. package/template/agent/skills/analytics-setup/SKILL.md +0 -51
  20. package/template/agent/skills/api-design/SKILL.md +0 -193
  21. package/template/agent/skills/app-store-optimizer/SKILL.md +0 -127
  22. package/template/agent/skills/auth-and-identity/SKILL.md +0 -167
  23. package/template/agent/skills/backend-developer/SKILL.md +0 -148
  24. package/template/agent/skills/bootstrapper-finance/SKILL.md +0 -55
  25. package/template/agent/skills/chrome-extension-developer/SKILL.md +0 -53
  26. package/template/agent/skills/community-manager/SKILL.md +0 -115
  27. package/template/agent/skills/content-marketer/SKILL.md +0 -111
  28. package/template/agent/skills/conversion-optimizer/SKILL.md +0 -142
  29. package/template/agent/skills/cto-architect/SKILL.md +0 -133
  30. package/template/agent/skills/customer-success-manager/SKILL.md +0 -126
  31. package/template/agent/skills/data-analyst/SKILL.md +0 -147
  32. package/template/agent/skills/devops-engineer/SKILL.md +0 -117
  33. package/template/agent/skills/email-infrastructure/SKILL.md +0 -164
  34. package/template/agent/skills/game-design/SKILL.md +0 -194
  35. package/template/agent/skills/game-developer/SKILL.md +0 -175
  36. package/template/agent/skills/growth-hacker/SKILL.md +0 -122
  37. package/template/agent/skills/idea-validator/SKILL.md +0 -55
  38. package/template/agent/skills/indie-legal/SKILL.md +0 -53
  39. package/template/agent/skills/influencer-marketer/SKILL.md +0 -141
  40. package/template/agent/skills/landing-page-builder/SKILL.md +0 -59
  41. package/template/agent/skills/launch-strategist/SKILL.md +0 -62
  42. package/template/agent/skills/market-researcher/SKILL.md +0 -53
  43. package/template/agent/skills/micro-saas-builder/SKILL.md +0 -56
  44. package/template/agent/skills/monetization-strategist/SKILL.md +0 -119
  45. package/template/agent/skills/paid-acquisition-specialist/SKILL.md +0 -119
  46. package/template/agent/skills/pricing-psychologist/SKILL.md +0 -58
  47. package/template/agent/skills/real-time-features/SKILL.md +0 -194
  48. package/template/agent/skills/retention-specialist/SKILL.md +0 -123
  49. package/template/agent/skills/rust-developer/SKILL.md +0 -281
  50. package/template/agent/skills/rust-developer/references/rust-rules/_sections.md +0 -231
  51. package/template/agent/skills/rust-developer/references/rust-rules/anti-clone-excessive.md +0 -124
  52. package/template/agent/skills/rust-developer/references/rust-rules/anti-collect-intermediate.md +0 -131
  53. package/template/agent/skills/rust-developer/references/rust-rules/anti-empty-catch.md +0 -132
  54. package/template/agent/skills/rust-developer/references/rust-rules/anti-expect-lazy.md +0 -95
  55. package/template/agent/skills/rust-developer/references/rust-rules/anti-format-hot-path.md +0 -141
  56. package/template/agent/skills/rust-developer/references/rust-rules/anti-index-over-iter.md +0 -125
  57. package/template/agent/skills/rust-developer/references/rust-rules/anti-lock-across-await.md +0 -127
  58. package/template/agent/skills/rust-developer/references/rust-rules/anti-over-abstraction.md +0 -120
  59. package/template/agent/skills/rust-developer/references/rust-rules/anti-panic-expected.md +0 -131
  60. package/template/agent/skills/rust-developer/references/rust-rules/anti-premature-optimize.md +0 -156
  61. package/template/agent/skills/rust-developer/references/rust-rules/anti-string-for-str.md +0 -122
  62. package/template/agent/skills/rust-developer/references/rust-rules/anti-stringly-typed.md +0 -167
  63. package/template/agent/skills/rust-developer/references/rust-rules/anti-type-erasure.md +0 -134
  64. package/template/agent/skills/rust-developer/references/rust-rules/anti-unwrap-abuse.md +0 -143
  65. package/template/agent/skills/rust-developer/references/rust-rules/anti-vec-for-slice.md +0 -121
  66. package/template/agent/skills/rust-developer/references/rust-rules/api-builder-must-use.md +0 -143
  67. package/template/agent/skills/rust-developer/references/rust-rules/api-builder-pattern.md +0 -187
  68. package/template/agent/skills/rust-developer/references/rust-rules/api-common-traits.md +0 -165
  69. package/template/agent/skills/rust-developer/references/rust-rules/api-default-impl.md +0 -177
  70. package/template/agent/skills/rust-developer/references/rust-rules/api-extension-trait.md +0 -163
  71. package/template/agent/skills/rust-developer/references/rust-rules/api-from-not-into.md +0 -146
  72. package/template/agent/skills/rust-developer/references/rust-rules/api-impl-asref.md +0 -142
  73. package/template/agent/skills/rust-developer/references/rust-rules/api-impl-into.md +0 -160
  74. package/template/agent/skills/rust-developer/references/rust-rules/api-must-use.md +0 -125
  75. package/template/agent/skills/rust-developer/references/rust-rules/api-newtype-safety.md +0 -162
  76. package/template/agent/skills/rust-developer/references/rust-rules/api-non-exhaustive.md +0 -177
  77. package/template/agent/skills/rust-developer/references/rust-rules/api-parse-dont-validate.md +0 -184
  78. package/template/agent/skills/rust-developer/references/rust-rules/api-sealed-trait.md +0 -168
  79. package/template/agent/skills/rust-developer/references/rust-rules/api-serde-optional.md +0 -182
  80. package/template/agent/skills/rust-developer/references/rust-rules/api-typestate.md +0 -199
  81. package/template/agent/skills/rust-developer/references/rust-rules/async-bounded-channel.md +0 -175
  82. package/template/agent/skills/rust-developer/references/rust-rules/async-broadcast-pubsub.md +0 -185
  83. package/template/agent/skills/rust-developer/references/rust-rules/async-cancellation-token.md +0 -203
  84. package/template/agent/skills/rust-developer/references/rust-rules/async-clone-before-await.md +0 -171
  85. package/template/agent/skills/rust-developer/references/rust-rules/async-join-parallel.md +0 -158
  86. package/template/agent/skills/rust-developer/references/rust-rules/async-joinset-structured.md +0 -195
  87. package/template/agent/skills/rust-developer/references/rust-rules/async-mpsc-queue.md +0 -171
  88. package/template/agent/skills/rust-developer/references/rust-rules/async-no-lock-await.md +0 -156
  89. package/template/agent/skills/rust-developer/references/rust-rules/async-oneshot-response.md +0 -191
  90. package/template/agent/skills/rust-developer/references/rust-rules/async-select-racing.md +0 -198
  91. package/template/agent/skills/rust-developer/references/rust-rules/async-spawn-blocking.md +0 -154
  92. package/template/agent/skills/rust-developer/references/rust-rules/async-tokio-fs.md +0 -167
  93. package/template/agent/skills/rust-developer/references/rust-rules/async-tokio-runtime.md +0 -169
  94. package/template/agent/skills/rust-developer/references/rust-rules/async-try-join.md +0 -172
  95. package/template/agent/skills/rust-developer/references/rust-rules/async-watch-latest.md +0 -189
  96. package/template/agent/skills/rust-developer/references/rust-rules/doc-all-public.md +0 -113
  97. package/template/agent/skills/rust-developer/references/rust-rules/doc-cargo-metadata.md +0 -147
  98. package/template/agent/skills/rust-developer/references/rust-rules/doc-errors-section.md +0 -122
  99. package/template/agent/skills/rust-developer/references/rust-rules/doc-examples-section.md +0 -161
  100. package/template/agent/skills/rust-developer/references/rust-rules/doc-hidden-setup.md +0 -149
  101. package/template/agent/skills/rust-developer/references/rust-rules/doc-intra-links.md +0 -138
  102. package/template/agent/skills/rust-developer/references/rust-rules/doc-link-types.md +0 -169
  103. package/template/agent/skills/rust-developer/references/rust-rules/doc-module-inner.md +0 -116
  104. package/template/agent/skills/rust-developer/references/rust-rules/doc-panics-section.md +0 -128
  105. package/template/agent/skills/rust-developer/references/rust-rules/doc-question-mark.md +0 -136
  106. package/template/agent/skills/rust-developer/references/rust-rules/doc-safety-section.md +0 -131
  107. package/template/agent/skills/rust-developer/references/rust-rules/err-anyhow-app.md +0 -179
  108. package/template/agent/skills/rust-developer/references/rust-rules/err-context-chain.md +0 -144
  109. package/template/agent/skills/rust-developer/references/rust-rules/err-custom-type.md +0 -152
  110. package/template/agent/skills/rust-developer/references/rust-rules/err-doc-errors.md +0 -145
  111. package/template/agent/skills/rust-developer/references/rust-rules/err-expect-bugs-only.md +0 -133
  112. package/template/agent/skills/rust-developer/references/rust-rules/err-from-impl.md +0 -152
  113. package/template/agent/skills/rust-developer/references/rust-rules/err-lowercase-msg.md +0 -124
  114. package/template/agent/skills/rust-developer/references/rust-rules/err-no-unwrap-prod.md +0 -115
  115. package/template/agent/skills/rust-developer/references/rust-rules/err-question-mark.md +0 -151
  116. package/template/agent/skills/rust-developer/references/rust-rules/err-result-over-panic.md +0 -130
  117. package/template/agent/skills/rust-developer/references/rust-rules/err-source-chain.md +0 -155
  118. package/template/agent/skills/rust-developer/references/rust-rules/err-thiserror-lib.md +0 -171
  119. package/template/agent/skills/rust-developer/references/rust-rules/lint-cargo-metadata.md +0 -138
  120. package/template/agent/skills/rust-developer/references/rust-rules/lint-deny-correctness.md +0 -107
  121. package/template/agent/skills/rust-developer/references/rust-rules/lint-missing-docs.md +0 -154
  122. package/template/agent/skills/rust-developer/references/rust-rules/lint-pedantic-selective.md +0 -118
  123. package/template/agent/skills/rust-developer/references/rust-rules/lint-rustfmt-check.md +0 -157
  124. package/template/agent/skills/rust-developer/references/rust-rules/lint-unsafe-doc.md +0 -133
  125. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-complexity.md +0 -131
  126. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-perf.md +0 -136
  127. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-style.md +0 -135
  128. package/template/agent/skills/rust-developer/references/rust-rules/lint-warn-suspicious.md +0 -122
  129. package/template/agent/skills/rust-developer/references/rust-rules/lint-workspace-lints.md +0 -172
  130. package/template/agent/skills/rust-developer/references/rust-rules/mem-arena-allocator.md +0 -168
  131. package/template/agent/skills/rust-developer/references/rust-rules/mem-arrayvec.md +0 -142
  132. package/template/agent/skills/rust-developer/references/rust-rules/mem-assert-type-size.md +0 -168
  133. package/template/agent/skills/rust-developer/references/rust-rules/mem-avoid-format.md +0 -147
  134. package/template/agent/skills/rust-developer/references/rust-rules/mem-box-large-variant.md +0 -158
  135. package/template/agent/skills/rust-developer/references/rust-rules/mem-boxed-slice.md +0 -139
  136. package/template/agent/skills/rust-developer/references/rust-rules/mem-clone-from.md +0 -147
  137. package/template/agent/skills/rust-developer/references/rust-rules/mem-compact-string.md +0 -149
  138. package/template/agent/skills/rust-developer/references/rust-rules/mem-reuse-collections.md +0 -174
  139. package/template/agent/skills/rust-developer/references/rust-rules/mem-smaller-integers.md +0 -159
  140. package/template/agent/skills/rust-developer/references/rust-rules/mem-smallvec.md +0 -138
  141. package/template/agent/skills/rust-developer/references/rust-rules/mem-thinvec.md +0 -142
  142. package/template/agent/skills/rust-developer/references/rust-rules/mem-with-capacity.md +0 -156
  143. package/template/agent/skills/rust-developer/references/rust-rules/mem-write-over-format.md +0 -172
  144. package/template/agent/skills/rust-developer/references/rust-rules/mem-zero-copy.md +0 -164
  145. package/template/agent/skills/rust-developer/references/rust-rules/name-acronym-word.md +0 -99
  146. package/template/agent/skills/rust-developer/references/rust-rules/name-as-free.md +0 -104
  147. package/template/agent/skills/rust-developer/references/rust-rules/name-consts-screaming.md +0 -94
  148. package/template/agent/skills/rust-developer/references/rust-rules/name-crate-no-rs.md +0 -78
  149. package/template/agent/skills/rust-developer/references/rust-rules/name-funcs-snake.md +0 -76
  150. package/template/agent/skills/rust-developer/references/rust-rules/name-into-ownership.md +0 -123
  151. package/template/agent/skills/rust-developer/references/rust-rules/name-is-has-bool.md +0 -127
  152. package/template/agent/skills/rust-developer/references/rust-rules/name-iter-convention.md +0 -129
  153. package/template/agent/skills/rust-developer/references/rust-rules/name-iter-method.md +0 -131
  154. package/template/agent/skills/rust-developer/references/rust-rules/name-iter-type-match.md +0 -142
  155. package/template/agent/skills/rust-developer/references/rust-rules/name-lifetime-short.md +0 -86
  156. package/template/agent/skills/rust-developer/references/rust-rules/name-no-get-prefix.md +0 -154
  157. package/template/agent/skills/rust-developer/references/rust-rules/name-to-expensive.md +0 -118
  158. package/template/agent/skills/rust-developer/references/rust-rules/name-type-param-single.md +0 -92
  159. package/template/agent/skills/rust-developer/references/rust-rules/name-types-camel.md +0 -65
  160. package/template/agent/skills/rust-developer/references/rust-rules/name-variants-camel.md +0 -101
  161. package/template/agent/skills/rust-developer/references/rust-rules/opt-bounds-check.md +0 -161
  162. package/template/agent/skills/rust-developer/references/rust-rules/opt-cache-friendly.md +0 -187
  163. package/template/agent/skills/rust-developer/references/rust-rules/opt-codegen-units.md +0 -142
  164. package/template/agent/skills/rust-developer/references/rust-rules/opt-cold-unlikely.md +0 -152
  165. package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-always-rare.md +0 -141
  166. package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-never-cold.md +0 -181
  167. package/template/agent/skills/rust-developer/references/rust-rules/opt-inline-small.md +0 -160
  168. package/template/agent/skills/rust-developer/references/rust-rules/opt-likely-hint.md +0 -171
  169. package/template/agent/skills/rust-developer/references/rust-rules/opt-lto-release.md +0 -130
  170. package/template/agent/skills/rust-developer/references/rust-rules/opt-pgo-profile.md +0 -167
  171. package/template/agent/skills/rust-developer/references/rust-rules/opt-simd-portable.md +0 -144
  172. package/template/agent/skills/rust-developer/references/rust-rules/opt-target-cpu.md +0 -154
  173. package/template/agent/skills/rust-developer/references/rust-rules/own-arc-shared.md +0 -141
  174. package/template/agent/skills/rust-developer/references/rust-rules/own-borrow-over-clone.md +0 -95
  175. package/template/agent/skills/rust-developer/references/rust-rules/own-clone-explicit.md +0 -135
  176. package/template/agent/skills/rust-developer/references/rust-rules/own-copy-small.md +0 -124
  177. package/template/agent/skills/rust-developer/references/rust-rules/own-cow-conditional.md +0 -135
  178. package/template/agent/skills/rust-developer/references/rust-rules/own-lifetime-elision.md +0 -134
  179. package/template/agent/skills/rust-developer/references/rust-rules/own-move-large.md +0 -134
  180. package/template/agent/skills/rust-developer/references/rust-rules/own-mutex-interior.md +0 -105
  181. package/template/agent/skills/rust-developer/references/rust-rules/own-rc-single-thread.md +0 -65
  182. package/template/agent/skills/rust-developer/references/rust-rules/own-refcell-interior.md +0 -97
  183. package/template/agent/skills/rust-developer/references/rust-rules/own-rwlock-readers.md +0 -122
  184. package/template/agent/skills/rust-developer/references/rust-rules/own-slice-over-vec.md +0 -119
  185. package/template/agent/skills/rust-developer/references/rust-rules/perf-black-box-bench.md +0 -153
  186. package/template/agent/skills/rust-developer/references/rust-rules/perf-chain-avoid.md +0 -136
  187. package/template/agent/skills/rust-developer/references/rust-rules/perf-collect-into.md +0 -133
  188. package/template/agent/skills/rust-developer/references/rust-rules/perf-collect-once.md +0 -120
  189. package/template/agent/skills/rust-developer/references/rust-rules/perf-drain-reuse.md +0 -137
  190. package/template/agent/skills/rust-developer/references/rust-rules/perf-entry-api.md +0 -134
  191. package/template/agent/skills/rust-developer/references/rust-rules/perf-extend-batch.md +0 -150
  192. package/template/agent/skills/rust-developer/references/rust-rules/perf-iter-lazy.md +0 -123
  193. package/template/agent/skills/rust-developer/references/rust-rules/perf-iter-over-index.md +0 -113
  194. package/template/agent/skills/rust-developer/references/rust-rules/perf-profile-first.md +0 -175
  195. package/template/agent/skills/rust-developer/references/rust-rules/perf-release-profile.md +0 -149
  196. package/template/agent/skills/rust-developer/references/rust-rules/proj-bin-dir.md +0 -142
  197. package/template/agent/skills/rust-developer/references/rust-rules/proj-flat-small.md +0 -133
  198. package/template/agent/skills/rust-developer/references/rust-rules/proj-lib-main-split.md +0 -148
  199. package/template/agent/skills/rust-developer/references/rust-rules/proj-mod-by-feature.md +0 -130
  200. package/template/agent/skills/rust-developer/references/rust-rules/proj-mod-rs-dir.md +0 -120
  201. package/template/agent/skills/rust-developer/references/rust-rules/proj-prelude-module.md +0 -155
  202. package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-crate-internal.md +0 -139
  203. package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-super-parent.md +0 -135
  204. package/template/agent/skills/rust-developer/references/rust-rules/proj-pub-use-reexport.md +0 -162
  205. package/template/agent/skills/rust-developer/references/rust-rules/proj-workspace-deps.md +0 -186
  206. package/template/agent/skills/rust-developer/references/rust-rules/proj-workspace-large.md +0 -162
  207. package/template/agent/skills/rust-developer/references/rust-rules/test-arrange-act-assert.md +0 -160
  208. package/template/agent/skills/rust-developer/references/rust-rules/test-cfg-test-module.md +0 -151
  209. package/template/agent/skills/rust-developer/references/rust-rules/test-criterion-bench.md +0 -171
  210. package/template/agent/skills/rust-developer/references/rust-rules/test-descriptive-names.md +0 -142
  211. package/template/agent/skills/rust-developer/references/rust-rules/test-doctest-examples.md +0 -168
  212. package/template/agent/skills/rust-developer/references/rust-rules/test-fixture-raii.md +0 -151
  213. package/template/agent/skills/rust-developer/references/rust-rules/test-integration-dir.md +0 -144
  214. package/template/agent/skills/rust-developer/references/rust-rules/test-mock-traits.md +0 -189
  215. package/template/agent/skills/rust-developer/references/rust-rules/test-mockall-mocking.md +0 -226
  216. package/template/agent/skills/rust-developer/references/rust-rules/test-proptest-properties.md +0 -161
  217. package/template/agent/skills/rust-developer/references/rust-rules/test-should-panic.md +0 -130
  218. package/template/agent/skills/rust-developer/references/rust-rules/test-tokio-async.md +0 -154
  219. package/template/agent/skills/rust-developer/references/rust-rules/test-use-super.md +0 -127
  220. package/template/agent/skills/rust-developer/references/rust-rules/type-enum-states.md +0 -154
  221. package/template/agent/skills/rust-developer/references/rust-rules/type-generic-bounds.md +0 -142
  222. package/template/agent/skills/rust-developer/references/rust-rules/type-never-diverge.md +0 -146
  223. package/template/agent/skills/rust-developer/references/rust-rules/type-newtype-ids.md +0 -160
  224. package/template/agent/skills/rust-developer/references/rust-rules/type-newtype-validated.md +0 -159
  225. package/template/agent/skills/rust-developer/references/rust-rules/type-no-stringly.md +0 -144
  226. package/template/agent/skills/rust-developer/references/rust-rules/type-option-nullable.md +0 -137
  227. package/template/agent/skills/rust-developer/references/rust-rules/type-phantom-marker.md +0 -188
  228. package/template/agent/skills/rust-developer/references/rust-rules/type-repr-transparent.md +0 -143
  229. package/template/agent/skills/rust-developer/references/rust-rules/type-result-fallible.md +0 -131
  230. package/template/agent/skills/saas-architect/SKILL.md +0 -139
  231. package/template/agent/skills/security-engineer/SKILL.md +0 -133
  232. package/template/agent/skills/seo-specialist/SKILL.md +0 -130
  233. package/template/agent/skills/solo-founder-ops/SKILL.md +0 -56
@@ -1,111 +0,0 @@
1
- ---
2
- name: content-marketer
3
- description: Use when planning content strategy, SEO content, social media, email newsletters, or building an audience-driven growth channel
4
- ---
5
-
6
- # Content Marketer Lens
7
-
8
- > **Philosophy:** Distribution > creation. A great post no one reads is a wasted asset.
9
- > Build an audience once; it compounds. Ad spend stops the moment you stop paying.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **Audience-first** — write for a specific person with a specific problem, not "everyone"
16
- - **Distribution is 80% of the work** — repurpose and distribute before writing something new
17
- - **SEO content compounds; social content decays** — prioritize search-indexed content for long-term ROI
18
- - **Consistency beats brilliance** — publishing schedule > single viral posts
19
- - **Content-market fit** — content that your audience shares is content aligned with their identity
20
-
21
- ---
22
-
23
- ## Content Funnel (TOFU / MOFU / BOFU)
24
-
25
- | Stage | Goal | Content Types |
26
- |-------|------|--------------|
27
- | **ToFU** (Top of Funnel) | Awareness | Blog posts, social threads, short videos, podcasts |
28
- | **MoFU** (Middle of Funnel) | Consideration | Case studies, comparison pages, email sequences, webinars |
29
- | **BoFU** (Bottom of Funnel) | Conversion | Landing pages, testimonials, free trial CTAs, pricing explainers |
30
-
31
- **Indie hacker allocation:** 60% ToFU (audience building), 30% MoFU (nurture), 10% BoFU (convert).
32
-
33
- ---
34
-
35
- ## Distribution Channels (Ranked by Compounding ROI)
36
-
37
- | Channel | Compounding? | Time to results | Best for |
38
- |---------|-------------|----------------|----------|
39
- | SEO blog | ✅ High | 3–12 months | B2B SaaS, tools |
40
- | Email newsletter | ✅ Medium | 1–6 months | Direct relationship, loyalty |
41
- | YouTube | ✅ Medium | 6–18 months | Tutorial/educational products |
42
- | Twitter/X threads | ❌ Low | Days | Brand building, distribution boosts |
43
- | Reddit / Hacker News | ❌ Low | Hours | Launch spikes, community credibility |
44
- | TikTok / Reels | ❌ Low | Days | Consumer apps, B2C |
45
-
46
- ---
47
-
48
- ## ❌ Anti-Patterns to Avoid
49
-
50
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
51
- |------------|-----|--------------|
52
- | Write content without SEO research | Invisible to search, no compounding | Keyword research first |
53
- | Post on all platforms simultaneously | Mediocre everywhere | Own 1–2 channels deeply |
54
- | Copy competitor content strategy | Different audience, different context | Find your unique POV |
55
- | Create content without repurposing plan | 1x effort, 1x reach | 1 blog → 5 tweets → 1 email → 1 short video |
56
- | No call to action | Content without conversion intent | Every piece has one next step |
57
- | Publish once, never promote | Content ROI is mostly in distribution | Promote each piece for 30 days post-publish |
58
-
59
- ---
60
-
61
- ## Content Benchmarks
62
-
63
- | Metric | Good | Great |
64
- |--------|------|-------|
65
- | Email open rate | > 25% | > 40% |
66
- | Email CTR | > 3% | > 8% |
67
- | Blog organic traffic growth (MoM) | > 10% | > 25% |
68
- | Social follower-to-click rate | > 1% | > 3% |
69
- | Newsletter subscriber monthly growth | > 5% | > 15% |
70
-
71
- ---
72
-
73
- ## Questions You Always Ask
74
-
75
- **When planning content:**
76
- - Who specifically is reading this? What's their pain, and what's their next question?
77
- - What's the keyword or search intent behind this piece? (Even for social content: what would someone search to find this?)
78
- - How will we distribute this after publishing?
79
- - What's the one action we want the reader to take?
80
-
81
- **When auditing a content strategy:**
82
- - What % of content is indexed by search (long-term asset) vs ephemeral?
83
- - Is there a consistent publishing schedule? (Consistency signals authority)
84
- - What's the email list growth rate? (Email = owned audience)
85
-
86
- ---
87
-
88
- ## Red Flags
89
-
90
- **Must address:**
91
- - [ ] No keyword research behind blog content
92
- - [ ] No email list / owned audience being built
93
- - [ ] Team creates content but has no distribution plan
94
- - [ ] Publishing inconsistently (< 2 posts/month)
95
-
96
- **Should address:**
97
- - [ ] No repurposing workflow (each piece used only once)
98
- - [ ] No content calendar (reactive publishing)
99
- - [ ] No measurement of content-attributed signups
100
-
101
- ---
102
-
103
- ## Who to Pair With
104
- - `seo-specialist` — for keyword strategy and technical SEO
105
- - `copywriter` — for copy quality and audience resonance
106
- - `data-analyst` — for content attribution and funnel tracking
107
-
108
- ---
109
-
110
- ## Tools
111
- Beehiiv · Substack · ConvertKit (email) · Ahrefs · Semrush (keyword research) · Buffer · Typefully (social scheduling) · Notion / Airtable (content calendar)
@@ -1,142 +0,0 @@
1
- ---
2
- name: conversion-optimizer
3
- description: Use when optimizing landing pages, trial-to-paid funnels, paywall design, onboarding flows, or running CRO experiments
4
- ---
5
-
6
- # Conversion Optimizer Lens
7
-
8
- > **Philosophy:** Conversion is about removing friction and increasing trust simultaneously.
9
- > Every unnecessary step, field, or decision is a drop in conversion rate.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **Remove friction before adding persuasion** — simplify the path before optimizing copy
16
- - **Trust before conversion** — social proof, testimonials, and guarantees reduce purchase anxiety
17
- - **One page, one goal** — landing pages with multiple CTAs convert less than focused ones
18
- - **Mobile conversion is different** — form fields on mobile cost 20–30% more friction than desktop
19
- - **Test, don't guess** — opinions on what will convert are unreliable; data is not
20
-
21
- ---
22
-
23
- ## Landing Page Above-the-Fold Formula
24
-
25
- ```
26
- ┌─────────────────────────────────────┐
27
- │ NAV: Logo | Pricing | Log in │
28
- ├─────────────────────────────────────┤
29
- │ HEADLINE: Clear benefit in <8 words│
30
- │ SUBHEADLINE: Who it's for + how │
31
- │ CTA: [Single action button] │
32
- │ SOCIAL PROOF: X users / logos / │
33
- │ star rating │
34
- ├─────────────────────────────────────┤
35
- │ HERO IMAGE / VIDEO / SCREENSHOT │
36
- └─────────────────────────────────────┘
37
- ```
38
-
39
- **Required above-the-fold:** Headline + CTA + 1 trust signal. Everything else is below.
40
-
41
- ---
42
-
43
- ## Conversion Benchmarks
44
-
45
- | Funnel Stage | Poor | Average | Good | Great |
46
- |-------------|------|---------|------|-------|
47
- | Visitor → Sign up | < 1% | 2–4% | 5–8% | > 10% |
48
- | Sign up → Activated | < 20% | 30–50% | 50–70% | > 75% |
49
- | Trial → Paid | < 5% | 8–15% | 15–25% | > 30% |
50
- | Paid → Annual (upsell) | < 20% | 25–35% | 35–50% | > 55% |
51
- | App Store impression → Install | < 2% | 3–5% | 6–8% | > 10% |
52
-
53
- ---
54
-
55
- ## A/B Testing Rules
56
-
57
- | Rule | Detail |
58
- |------|--------|
59
- | **One variable per test** | Headline OR CTA OR layout — never multiple |
60
- | **Minimum sample size** | ≥ 1,000 visitors per variant before reading results |
61
- | **Statistical significance** | ≥ 95% confidence (p < 0.05) before declaring winner |
62
- | **Test duration** | Minimum 2 weeks (captures weekly seasonality) |
63
- | **Business significance** | > 5% lift is actionable; < 2% is noise regardless of p-value |
64
-
65
- ---
66
-
67
- ## Paywall Design Principles
68
-
69
- - **Show upgrade prompt after activation event** — not before, not on open
70
- - **Anchor with annual** — show annual price first, monthly as secondary
71
- - **Offer 3 options max** — choice paralysis above 3 tiers
72
- - **Include a free trial CTA** — "Try free for 14 days" converts higher than "Subscribe now"
73
- - **Social proof on paywall** — "Join 12,000 users" or star rating
74
- - **Money-back guarantee** — even 7-day guarantee increases conversion 10–20%
75
-
76
- ---
77
-
78
- ## ❌ Anti-Patterns to Avoid
79
-
80
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
81
- |------------|-----|--------------|
82
- | Multiple CTAs on one page | Users don't know what to do | One primary CTA per page/section |
83
- | Long sign-up form (> 3 fields) | Each field costs ~10% conversion | Minimum viable info: email only or SSO |
84
- | No social proof | Users don't trust new products | Number of users, testimonials, press logos |
85
- | Generic CTA ("Get Started") | No benefit communicated | Benefit-first CTA ("Start saving 2h/week") |
86
- | Testing without hypothesis | Unfalsifiable, results misinterpreted | Write hypothesis before running test |
87
- | Reading results too early | False positives from underpowered tests | Wait for 1000+ per variant + 2 weeks |
88
- | Paywall on first open (mobile) | Users haven't experienced value | Trigger after Nth use or activation event |
89
-
90
- ---
91
-
92
- ## Onboarding Flow Optimization
93
-
94
- | Principle | Detail |
95
- |-----------|--------|
96
- | **Aha moment ASAP** | Every onboarding step that doesn't lead toward aha moment is a churn risk |
97
- | **Progressive disclosure** | Show only what's needed for the current step |
98
- | **No walls** | Avoid mandatory email verification before first experience |
99
- | **Personalization prompt** | 1 question to customize experience dramatically improves activation |
100
- | **Empty state = opportunity** | Show what the product looks like full, not an empty blank slate |
101
-
102
- ---
103
-
104
- ## Questions You Always Ask
105
-
106
- **When auditing a landing page:**
107
- - Does the headline communicate the primary benefit in < 8 words?
108
- - Is there exactly one primary CTA?
109
- - Is there social proof visible above the fold?
110
- - What's the current visitor → signup conversion rate? (Benchmark: 3–8%)
111
-
112
- **When auditing a funnel:**
113
- - Where is the biggest drop-off in the funnel?
114
- - Has this been A/B tested, or is it based on opinion?
115
- - Is the paywall appearing before or after the activation event?
116
-
117
- ---
118
-
119
- ## Red Flags
120
-
121
- **Must fix:**
122
- - [ ] Conversion rate tracking not set up (can't optimize what you can't measure)
123
- - [ ] Landing page has more than 2 CTAs
124
- - [ ] No social proof on landing page or paywall
125
- - [ ] Paywall shown before activation event
126
-
127
- **Should fix:**
128
- - [ ] Sign-up form has > 3 fields
129
- - [ ] No A/B testing tooling in place
130
- - [ ] No exit-intent capture on pricing page
131
-
132
- ---
133
-
134
- ## Who to Pair With
135
- - `copywriter` — for headline and CTA copy
136
- - `monetization-strategist` — for paywall and pricing strategy
137
- - `data-analyst` — for funnel analysis and test significance
138
-
139
- ---
140
-
141
- ## Tools
142
- Statsig · Optimizely · VWO (A/B testing) · Hotjar · Microsoft Clarity (session recording) · PostHog · Google Optimize (deprecated — use Statsig/VWO instead)
@@ -1,133 +0,0 @@
1
- ---
2
- name: cto-architect
3
- description: Use when making system design decisions, managing technical debt, planning for scale, hiring engineers, or reviewing overall architecture
4
- ---
5
-
6
- # CTO / Architect Lens
7
-
8
- > **Philosophy:** Architecture is the decisions that are hard to reverse. Make them deliberately.
9
- > The best architecture is the simplest one that handles today's scale and doesn't prevent tomorrow's.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **YAGNI at architecture scale** — don't build for 10M users when you have 10K
16
- - **Reversibility > correctness** — prefer decisions you can change over theoretically perfect ones
17
- - **Observability is not optional** — if you can't see your system failing, you can't fix it
18
- - **Write ADRs** — architectural decisions without documentation will be re-debated and reversed
19
- - **Boring technology wins** — proven, well-understood tools > novel shiny tools in production
20
-
21
- ---
22
-
23
- ## Scale Progression (Don't Over-Engineer Early)
24
-
25
- | User scale | Recommended architecture |
26
- |-----------|--------------------------|
27
- | 0 – 10K MAU | Monolith + managed DB + single server (Railway/Fly/Render) |
28
- | 10K – 100K MAU | Monolith + read replica + CDN + caching layer (Redis) |
29
- | 100K – 1M MAU | Modular monolith, background job queues, horizontal scaling |
30
- | 1M+ MAU | Consider service extraction, streaming (Kafka), dedicated infra team |
31
-
32
- **Indie hacker signal:** If you don't have 100K MAU yet, you almost certainly don't need microservices.
33
-
34
- ---
35
-
36
- ## Tech Debt Management
37
-
38
- | Category | Action |
39
- |---------|--------|
40
- | **Critical** (breaks things now or soon) | Fix in current sprint |
41
- | **Important** (slowing team down) | Schedule within next 2 sprints |
42
- | **Nice to fix** (code smell, not blocking) | Add to backlog; don't block on it |
43
-
44
- **Healthy tech debt budget:** ≤ 20% of sprint capacity. > 30% = team velocity will degrade.
45
-
46
- **ADR (Architecture Decision Record):** Every significant architectural choice should have: Context → Decision → Consequences. Store in `/docs/architecture/`.
47
-
48
- ---
49
-
50
- ## System Design Principles
51
-
52
- **For APIs:**
53
- - Design for idempotence — same request = same result (safe to retry)
54
- - Version from day 1: `/v1/` prefix
55
- - Paginate everything that returns lists
56
-
57
- **For databases:**
58
- - Single writer, multiple readers (read replicas) before sharding
59
- - Index on columns you query/sort/filter by
60
- - Schema migrations: always backward-compatible + rollback script
61
-
62
- **For reliability:**
63
- - Circuit breakers around external API calls
64
- - Bulkhead pattern — isolate failures so one component can't take down others
65
- - Graceful degradation > hard failure
66
-
67
- ---
68
-
69
- ## ❌ Anti-Patterns to Avoid
70
-
71
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
72
- |------------|-----|--------------|
73
- | Microservices at day 1 | Distributed systems complexity with no scale benefit | Monolith until pain forces it |
74
- | No caching strategy | DB bottleneck at moderate scale | Cache at CDN, application, and DB levels |
75
- | Shared mutable state between services | Impossible to reason about, cascading failures | Each service owns its data |
76
- | Schema migration as afterthought | One deploy breaks prod for hours | Migration in deploy pipeline, tested in staging |
77
- | Hire senior engineers only | Expensive, over-engineered, slow iteration | 1 senior for every 3–4 junior/mid |
78
- | Rewrite instead of refactor | "We'll rewrite it right this time" → new mess | Strangler fig pattern for legacy rewrites |
79
- | Single point of failure | One crash = all users down | Load balancer + multiple instances from early |
80
-
81
- ---
82
-
83
- ## Hiring Benchmarks
84
-
85
- | Ratio | Rule |
86
- |-------|------|
87
- | Senior : Mid/Junior | 1 : 3–4 (sustainable) |
88
- | Engineer : product (B2B SaaS) | 1 : 0.5–1 PM per 3–5 engineers |
89
- | Time to hire (senior) | 6–12 weeks |
90
- | Engineering velocity signal | Feature cycle time (spec to production) < 2 weeks = healthy |
91
-
92
- ---
93
-
94
- ## Questions You Always Ask
95
-
96
- **When reviewing architecture:**
97
- - What's the biggest single point of failure right now?
98
- - If traffic 10×'d tonight, what breaks first?
99
- - Can we roll back the last deploy in under 5 minutes?
100
- - Is there an ADR for this decision?
101
-
102
- **When evaluating tech stack choices:**
103
- - Is this technology boring and proven, or novel and risky?
104
- - How well do we understand the failure modes?
105
- - What does the hiring market look like for this technology?
106
-
107
- ---
108
-
109
- ## Red Flags
110
-
111
- **Must fix:**
112
- - [ ] No staging environment (production = first place bugs appear)
113
- - [ ] No observability (no logs, metrics, or traces in production)
114
- - [ ] Single point of failure with no redundancy
115
- - [ ] Architectural decisions undocumented (will be re-debated)
116
-
117
- **Should fix:**
118
- - [ ] Tech debt consuming > 30% of sprint capacity
119
- - [ ] Microservices with < 100K MAU (unnecessary complexity)
120
- - [ ] No on-call rotation for production incidents
121
- - [ ] No disaster recovery / restore-from-backup drill in last 6 months
122
-
123
- ---
124
-
125
- ## Who to Pair With
126
- - `devops-engineer` — for infrastructure execution and reliability engineering
127
- - `backend-developer` — for API and database architecture decisions
128
- - `data-analyst` — for observability and metrics infrastructure
129
-
130
- ---
131
-
132
- ## Tools
133
- draw.io / Miro / Excalidraw (architecture diagrams) · ADR tools (adr-tools) · SonarQube (code quality) · Snyk (security scanning) · Linear / Jira (tech debt tracking)
@@ -1,126 +0,0 @@
1
- ---
2
- name: customer-success-manager
3
- description: Use when managing user support, building feedback loops, tracking NPS/CSAT, handling churn, or building a customer-centric culture
4
- ---
5
-
6
- # Customer Success Manager Lens
7
-
8
- > **Philosophy:** Customer success is proactive, not reactive. Support is reactive.
9
- > A user who succeeds doesn't churn. A user who churns was never fully successful.
10
-
11
- ---
12
-
13
- ## Core Instincts
14
-
15
- - **Proactive > reactive** — reach out before users struggle, not after they cancel
16
- - **Churn happens before cancellation** — disengagement is the real churn event (usually 2–4 weeks before cancel)
17
- - **Every complaint is a gift** — unhappy users who complain are giving you free product research; silent churners aren't
18
- - **Response time = trust signal** — slow responses signal that you don't care about users
19
- - **Success = users achieving their goal** — not "user didn't cancel yet"
20
-
21
- ---
22
-
23
- ## Response Time SLAs
24
-
25
- | Priority | Situation | SLA |
26
- |----------|-----------|-----|
27
- | **P1 — Critical** | App is down, data loss, payment issue | < 1 hour |
28
- | **P2 — High** | Core feature broken, blocking user's work | < 4 hours |
29
- | **P3 — Medium** | Non-blocking bug, confusion with feature | < 24 hours |
30
- | **P4 — Low** | Feature request, general question | < 48 hours |
31
-
32
- **First response time benchmarks:** < 5 minutes = exceptional; < 1 hour = good; > 4 hours = churn risk.
33
-
34
- ---
35
-
36
- ## NPS Interpretation
37
-
38
- | Score | Interpretation | Action |
39
- |-------|---------------|--------|
40
- | > 70 | World-class | Leverage promoters for referrals and testimonials |
41
- | 50–70 | Excellent | Double down on what promoters love |
42
- | 30–50 | Good | Investigate and convert passives (7–8) |
43
- | 0–30 | Needs work | Focus on detractors — what's the consistent complaint? |
44
- | < 0 | Crisis | Deep qualitative research required immediately |
45
-
46
- **NPS survey timing:** Send after first success event, not on sign-up. Re-survey every 90 days.
47
-
48
- ---
49
-
50
- ## Churn Signal Detection
51
-
52
- | Signal | Days before churn (avg) | Action |
53
- |--------|------------------------|--------|
54
- | No login for 7 days | 14–21 days | Automated re-engagement + personal email |
55
- | Support ticket marked unresolved | 3–7 days | Escalate and personal follow-up |
56
- | Downgrade plan | 0–14 days | Check-in call or personalized offer |
57
- | Opened cancellation page | 0–3 days | Trigger save flow immediately |
58
- | Multiple failed payments | 0–7 days | Dunning email sequence (3 emails over 7 days) |
59
-
60
- ---
61
-
62
- ## ❌ Anti-Patterns to Avoid
63
-
64
- | ❌ NEVER DO | Why | ✅ DO INSTEAD |
65
- |------------|-----|--------------|
66
- | Auto-close support tickets without resolution | Users re-open, feel dismissed | Confirmation before closing: "Did we solve this?" |
67
- | Generic reply templates | Feel like a robot, destroy trust | Personalize every reply (use name, reference issue) |
68
- | No cancel/churn flow | 20–40% of cancellers are saveable | Pause option, downgrade option, discount offer |
69
- | Collect NPS without acting on feedback | Users stop responding ("useless surveys") | Close the loop: tell users what you changed |
70
- | Reply only to 5-star reviews | 1-star respondents are the most valuable | Respond to every 1–3 star review publicly |
71
- | Treat all churn equally | Different churn reasons need different solutions | Segment: voluntary vs involuntary, reason codes |
72
-
73
- ---
74
-
75
- ## Dunning (Failed Payment Recovery)
76
-
77
- ```
78
- Day 0: First failed charge → Email: friendly heads-up, update card CTA
79
- Day 3: Second attempt + Email: "Is this the right card?"
80
- Day 7: Third attempt + Email: "Your account access is at risk"
81
- Day 14: Cancellation + Email: "We hate to see you go — here's how to reactivate"
82
- ```
83
-
84
- **Involuntary churn (failed payments) = typically 20–40% of all churn.** Always set up dunning.
85
-
86
- ---
87
-
88
- ## Questions You Always Ask
89
-
90
- **When reviewing CS operations:**
91
- - What's the current first response time? (P2 benchmark: < 4 hours)
92
- - What's the most common support ticket category? (Pattern = product/UX issue)
93
- - What's the NPS, and are we surveying at the right time?
94
- - What % of churn is voluntary vs involuntary?
95
-
96
- **When a user churns:**
97
- - Did we get exit survey data? What was the stated reason?
98
- - Were there warning signals we could have acted on earlier?
99
- - Is this a one-off or a pattern we see across multiple users?
100
-
101
- ---
102
-
103
- ## Red Flags
104
-
105
- **Must fix:**
106
- - [ ] P1 response time > 4 hours
107
- - [ ] No exit survey on cancellation
108
- - [ ] No dunning email sequence for failed payments
109
- - [ ] NPS < 0 with no active investigation
110
-
111
- **Should fix:**
112
- - [ ] No churn signal tracking (usage drop, login frequency)
113
- - [ ] Support tickets closed without user confirmation
114
- - [ ] NPS survey sent on day 1 (too early)
115
-
116
- ---
117
-
118
- ## Who to Pair With
119
- - `retention-specialist` — for proactive retention and churn prevention
120
- - `product-manager` — convert support patterns into product improvements
121
- - `data-analyst` — for churn analysis and cohort health monitoring
122
-
123
- ---
124
-
125
- ## Tools
126
- Intercom · Crisp · HelpScout · Zendesk (support) · Delighted · Typeform (NPS) · Stripe Radar / Chargebee (dunning)
@@ -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)