agileflow 4.0.0-alpha.2 → 4.0.0-alpha.21

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 (372) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/content/plugins/accessibility/plugin.yaml +14 -0
  3. package/content/plugins/accessibility/skills/agileflow-accessibility/SKILL.md +392 -0
  4. package/content/plugins/accessibility/skills/agileflow-accessibility/references/aria-patterns.md +528 -0
  5. package/content/plugins/accessibility/skills/agileflow-accessibility/references/testing-checklist.md +457 -0
  6. package/content/plugins/accessibility/skills/agileflow-accessibility/references/wcag-guide.md +683 -0
  7. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/audit-page.md +310 -0
  8. package/content/plugins/accessibility/skills/agileflow-accessibility/workflows/implement-accessible-component.md +479 -0
  9. package/content/plugins/ads/agents/ads-audit-budget.md +185 -0
  10. package/content/plugins/ads/agents/ads-audit-compliance.md +171 -0
  11. package/content/plugins/ads/agents/ads-audit-creative.md +168 -0
  12. package/content/plugins/ads/agents/ads-audit-google.md +227 -0
  13. package/content/plugins/ads/agents/ads-audit-meta.md +184 -0
  14. package/content/plugins/ads/agents/ads-audit-tracking.md +205 -0
  15. package/content/plugins/ads/agents/ads-consensus.md +410 -0
  16. package/content/plugins/ads/agents/ads-generate.md +152 -0
  17. package/content/plugins/ads/agents/ads-performance-tracker.md +212 -0
  18. package/content/plugins/ads/plugin.yaml +23 -4
  19. package/content/plugins/ads/skills/agileflow-ads/SKILL.md +218 -0
  20. package/content/plugins/ads/skills/agileflow-ads/references/ad-copy-formula-guide.md +131 -0
  21. package/content/plugins/ads/skills/agileflow-ads/references/audience-targeting-guide.md +137 -0
  22. package/content/plugins/ads/skills/agileflow-ads/references/bid-strategy-guide.md +115 -0
  23. package/content/plugins/ads/skills/agileflow-ads/references/platform-benchmarks.md +100 -0
  24. package/content/plugins/ads/skills/agileflow-ads/workflows/audit.md +118 -0
  25. package/content/plugins/ads/skills/agileflow-ads/workflows/generate.md +84 -0
  26. package/content/plugins/audit/agents/a11y-analyzer-aria.md +173 -0
  27. package/content/plugins/audit/agents/a11y-analyzer-forms.md +173 -0
  28. package/content/plugins/audit/agents/a11y-analyzer-keyboard.md +183 -0
  29. package/content/plugins/audit/agents/a11y-analyzer-semantic.md +169 -0
  30. package/content/plugins/audit/agents/a11y-analyzer-visual.md +172 -0
  31. package/content/plugins/audit/agents/a11y-consensus.md +249 -0
  32. package/content/plugins/audit/agents/accessibility.md +558 -0
  33. package/content/plugins/audit/agents/api-quality-analyzer-conventions.md +156 -0
  34. package/content/plugins/audit/agents/api-quality-analyzer-docs.md +184 -0
  35. package/content/plugins/audit/agents/api-quality-analyzer-errors.md +191 -0
  36. package/content/plugins/audit/agents/api-quality-analyzer-pagination.md +179 -0
  37. package/content/plugins/audit/agents/api-quality-analyzer-versioning.md +150 -0
  38. package/content/plugins/audit/agents/api-quality-consensus.md +217 -0
  39. package/content/plugins/audit/agents/api-validator.md +191 -0
  40. package/content/plugins/audit/agents/arch-analyzer-circular.md +156 -0
  41. package/content/plugins/audit/agents/arch-analyzer-complexity.md +193 -0
  42. package/content/plugins/audit/agents/arch-analyzer-coupling.md +152 -0
  43. package/content/plugins/audit/agents/arch-analyzer-layering.md +160 -0
  44. package/content/plugins/audit/agents/arch-analyzer-patterns.md +210 -0
  45. package/content/plugins/audit/agents/arch-consensus.md +228 -0
  46. package/content/plugins/audit/agents/browser-qa.md +342 -0
  47. package/content/plugins/audit/agents/code-reviewer.md +298 -0
  48. package/content/plugins/audit/agents/completeness-analyzer-api.md +199 -0
  49. package/content/plugins/audit/agents/completeness-analyzer-conditional.md +211 -0
  50. package/content/plugins/audit/agents/completeness-analyzer-handlers.md +166 -0
  51. package/content/plugins/audit/agents/completeness-analyzer-imports.md +165 -0
  52. package/content/plugins/audit/agents/completeness-analyzer-routes.md +190 -0
  53. package/content/plugins/audit/agents/completeness-analyzer-state.md +196 -0
  54. package/content/plugins/audit/agents/completeness-analyzer-stubs.md +206 -0
  55. package/content/plugins/audit/agents/completeness-consensus.md +295 -0
  56. package/content/plugins/audit/agents/error-analyzer.md +213 -0
  57. package/content/plugins/audit/agents/flow-analyzer-authorization.md +182 -0
  58. package/content/plugins/audit/agents/flow-analyzer-discovery.md +174 -0
  59. package/content/plugins/audit/agents/flow-analyzer-errors.md +186 -0
  60. package/content/plugins/audit/agents/flow-analyzer-feedback.md +185 -0
  61. package/content/plugins/audit/agents/flow-analyzer-navigation.md +177 -0
  62. package/content/plugins/audit/agents/flow-analyzer-persistence.md +193 -0
  63. package/content/plugins/audit/agents/flow-analyzer-wiring.md +169 -0
  64. package/content/plugins/audit/agents/flow-consensus.md +237 -0
  65. package/content/plugins/audit/agents/legal-analyzer-a11y.md +114 -0
  66. package/content/plugins/audit/agents/legal-analyzer-ai.md +121 -0
  67. package/content/plugins/audit/agents/legal-analyzer-consumer.md +114 -0
  68. package/content/plugins/audit/agents/legal-analyzer-content.md +117 -0
  69. package/content/plugins/audit/agents/legal-analyzer-international.md +119 -0
  70. package/content/plugins/audit/agents/legal-analyzer-licensing.md +119 -0
  71. package/content/plugins/audit/agents/legal-analyzer-privacy.md +112 -0
  72. package/content/plugins/audit/agents/legal-analyzer-security.md +116 -0
  73. package/content/plugins/audit/agents/legal-analyzer-terms.md +115 -0
  74. package/content/plugins/audit/agents/legal-consensus.md +250 -0
  75. package/content/plugins/audit/agents/logic-analyzer-edge.md +179 -0
  76. package/content/plugins/audit/agents/logic-analyzer-flow.md +264 -0
  77. package/content/plugins/audit/agents/logic-analyzer-invariant.md +215 -0
  78. package/content/plugins/audit/agents/logic-analyzer-race.md +280 -0
  79. package/content/plugins/audit/agents/logic-analyzer-type.md +227 -0
  80. package/content/plugins/audit/agents/logic-consensus.md +259 -0
  81. package/content/plugins/audit/agents/perf-analyzer-assets.md +182 -0
  82. package/content/plugins/audit/agents/perf-analyzer-bundle.md +173 -0
  83. package/content/plugins/audit/agents/perf-analyzer-caching.md +170 -0
  84. package/content/plugins/audit/agents/perf-analyzer-compute.md +173 -0
  85. package/content/plugins/audit/agents/perf-analyzer-memory.md +193 -0
  86. package/content/plugins/audit/agents/perf-analyzer-network.md +165 -0
  87. package/content/plugins/audit/agents/perf-analyzer-queries.md +162 -0
  88. package/content/plugins/audit/agents/perf-analyzer-rendering.md +168 -0
  89. package/content/plugins/audit/agents/perf-consensus.md +287 -0
  90. package/content/plugins/audit/agents/qa.md +820 -0
  91. package/content/plugins/audit/agents/quality-analyzer-comments.md +159 -0
  92. package/content/plugins/audit/agents/quality-analyzer-duplication.md +184 -0
  93. package/content/plugins/audit/agents/quality-analyzer-naming.md +160 -0
  94. package/content/plugins/audit/agents/quality-consensus.md +241 -0
  95. package/content/plugins/audit/agents/schema-validator.md +473 -0
  96. package/content/plugins/audit/agents/security-analyzer-api.md +210 -0
  97. package/content/plugins/audit/agents/security-analyzer-auth.md +169 -0
  98. package/content/plugins/audit/agents/security-analyzer-authz.md +180 -0
  99. package/content/plugins/audit/agents/security-analyzer-deps.md +153 -0
  100. package/content/plugins/audit/agents/security-analyzer-infra.md +184 -0
  101. package/content/plugins/audit/agents/security-analyzer-injection.md +155 -0
  102. package/content/plugins/audit/agents/security-analyzer-input.md +201 -0
  103. package/content/plugins/audit/agents/security-analyzer-secrets.md +183 -0
  104. package/content/plugins/audit/agents/security-consensus.md +283 -0
  105. package/content/plugins/audit/agents/test-analyzer-assertions.md +188 -0
  106. package/content/plugins/audit/agents/test-analyzer-coverage.md +189 -0
  107. package/content/plugins/audit/agents/test-analyzer-fragility.md +193 -0
  108. package/content/plugins/audit/agents/test-analyzer-integration.md +161 -0
  109. package/content/plugins/audit/agents/test-analyzer-maintenance.md +180 -0
  110. package/content/plugins/audit/agents/test-analyzer-mocking.md +188 -0
  111. package/content/plugins/audit/agents/test-analyzer-patterns.md +196 -0
  112. package/content/plugins/audit/agents/test-analyzer-structure.md +184 -0
  113. package/content/plugins/audit/agents/test-consensus.md +301 -0
  114. package/content/plugins/audit/agents/testing.md +561 -0
  115. package/content/plugins/audit/agents/ui-validator.md +344 -0
  116. package/content/plugins/audit/plugin.yaml +186 -5
  117. package/content/plugins/audit/skills/agileflow-audit/SKILL.md +113 -0
  118. package/content/plugins/audit/skills/agileflow-audit/references/audit-depth-guide.md +151 -0
  119. package/content/plugins/audit/skills/agileflow-audit/references/dependency-risk-guide.md +139 -0
  120. package/content/plugins/audit/skills/agileflow-audit/references/owasp-top10.md +120 -0
  121. package/content/plugins/audit/skills/agileflow-audit/references/performance-budget-guide.md +143 -0
  122. package/content/plugins/audit/skills/agileflow-audit/references/wcag-criteria.md +117 -0
  123. package/content/plugins/audit/skills/agileflow-audit/workflows/run-audit.md +52 -0
  124. package/content/plugins/audit/skills/agileflow-audit/workflows/tdd.md +66 -0
  125. package/content/plugins/core/agents/adr-writer.md +521 -0
  126. package/content/plugins/core/agents/epic-planner.md +520 -0
  127. package/content/plugins/core/agents/mentor.md +709 -0
  128. package/content/plugins/core/agents/orchestrator.md +776 -0
  129. package/content/plugins/core/agents/team-coordinator.md +334 -0
  130. package/content/plugins/core/agents/team-lead.md +181 -0
  131. package/content/plugins/core/agents/workspace-orchestrator.md +146 -0
  132. package/content/plugins/core/hooks/context-loader.js +31 -4
  133. package/content/plugins/core/hooks/damage-control-bash.js +10 -2
  134. package/content/plugins/core/hooks/damage-control-edit.js +4 -1
  135. package/content/plugins/core/hooks/damage-control-patterns.yaml +1 -1
  136. package/content/plugins/core/hooks/damage-control-write.js +4 -1
  137. package/content/plugins/core/hooks/{pre-compact-state.js → post-compact-state.js} +25 -8
  138. package/content/plugins/core/hooks/preferences-injector.js +352 -0
  139. package/content/plugins/core/plugin.yaml +24 -28
  140. package/content/plugins/core/skills/agileflow-adr/SKILL.md +34 -8
  141. package/content/plugins/core/skills/agileflow-adr/references/madr-format-guide.md +86 -0
  142. package/content/plugins/core/skills/agileflow-adr/workflows/write-adr.md +57 -0
  143. package/content/plugins/core/skills/agileflow-babysit-mentor/SKILL.md +94 -27
  144. package/content/plugins/core/skills/agileflow-babysit-mentor/references/mentor-decision-guide.md +81 -0
  145. package/content/plugins/core/skills/agileflow-babysit-mentor/workflows/mentor-session.md +79 -0
  146. package/content/plugins/core/skills/agileflow-epic-planner/SKILL.md +37 -7
  147. package/content/plugins/core/skills/agileflow-epic-planner/references/epic-sizing-guide.md +81 -0
  148. package/content/plugins/core/skills/agileflow-epic-planner/workflows/plan-epic.md +55 -0
  149. package/content/plugins/core/skills/agileflow-status-updater/SKILL.md +36 -20
  150. package/content/plugins/core/skills/agileflow-status-updater/references/status-transitions.md +89 -0
  151. package/content/plugins/core/skills/agileflow-status-updater/workflows/update-status.md +56 -0
  152. package/content/plugins/core/skills/agileflow-story-writer/SKILL.md +39 -114
  153. package/content/plugins/core/skills/agileflow-story-writer/references/estimation-reference.md +36 -0
  154. package/content/plugins/core/skills/agileflow-story-writer/references/story-template.md +92 -0
  155. package/content/plugins/core/skills/agileflow-story-writer/workflows/write-story.md +138 -0
  156. package/content/plugins/council/agents/council-advocate.md +223 -0
  157. package/content/plugins/council/agents/council-analyst.md +278 -0
  158. package/content/plugins/council/agents/council-compounder.md +204 -0
  159. package/content/plugins/council/agents/council-contrarian.md +217 -0
  160. package/content/plugins/council/agents/council-moonshot.md +217 -0
  161. package/content/plugins/council/agents/council-optimist.md +185 -0
  162. package/content/plugins/council/agents/council-revenue.md +200 -0
  163. package/content/plugins/council/agents/council-technical.md +218 -0
  164. package/content/plugins/council/agents/multi-expert.md +334 -0
  165. package/content/plugins/council/plugin.yaml +23 -4
  166. package/content/plugins/council/skills/agileflow-council/SKILL.md +102 -0
  167. package/content/plugins/council/skills/agileflow-council/references/decision-log-template.md +109 -0
  168. package/content/plugins/council/skills/agileflow-council/references/perspective-guide.md +104 -0
  169. package/content/plugins/council/skills/agileflow-council/references/when-to-convene-guide.md +112 -0
  170. package/content/plugins/council/skills/agileflow-council/workflows/convene.md +73 -0
  171. package/content/plugins/council/skills/agileflow-council/workflows/multi-expert.md +75 -0
  172. package/content/plugins/database/plugin.yaml +14 -0
  173. package/content/plugins/database/skills/agileflow-database/SKILL.md +284 -0
  174. package/content/plugins/database/skills/agileflow-database/references/indexing-guide.md +313 -0
  175. package/content/plugins/database/skills/agileflow-database/references/migration-guide.md +328 -0
  176. package/content/plugins/database/skills/agileflow-database/references/schema-design-guide.md +467 -0
  177. package/content/plugins/database/skills/agileflow-database/workflows/design-schema.md +213 -0
  178. package/content/plugins/database/skills/agileflow-database/workflows/optimize-query.md +253 -0
  179. package/content/plugins/debugging/plugin.yaml +14 -0
  180. package/content/plugins/debugging/skills/agileflow-debug/SKILL.md +236 -0
  181. package/content/plugins/debugging/skills/agileflow-debug/references/common-patterns.md +350 -0
  182. package/content/plugins/debugging/skills/agileflow-debug/references/debugging-strategies.md +328 -0
  183. package/content/plugins/debugging/skills/agileflow-debug/workflows/debug-issue.md +187 -0
  184. package/content/plugins/debugging/skills/agileflow-debug/workflows/reproduce-bug.md +194 -0
  185. package/content/plugins/delivery/agents/ci.md +547 -0
  186. package/content/plugins/delivery/agents/devops.md +789 -0
  187. package/content/plugins/delivery/plugin.yaml +19 -0
  188. package/content/plugins/delivery/skills/agileflow-delivery/SKILL.md +111 -0
  189. package/content/plugins/delivery/skills/agileflow-delivery/references/changelog-format-guide.md +133 -0
  190. package/content/plugins/delivery/skills/agileflow-delivery/references/ci-pipeline-guide.md +158 -0
  191. package/content/plugins/delivery/skills/agileflow-delivery/references/pr-checklist-guide.md +133 -0
  192. package/content/plugins/delivery/skills/agileflow-delivery/references/release-checklist.md +142 -0
  193. package/content/plugins/delivery/skills/agileflow-delivery/workflows/changelog.md +72 -0
  194. package/content/plugins/delivery/skills/agileflow-delivery/workflows/deploy.md +74 -0
  195. package/content/plugins/delivery/skills/agileflow-delivery/workflows/pr.md +75 -0
  196. package/content/plugins/docs/agents/documentation.md +544 -0
  197. package/content/plugins/docs/agents/readme-updater.md +640 -0
  198. package/content/plugins/docs/plugin.yaml +19 -0
  199. package/content/plugins/docs/skills/agileflow-docs/SKILL.md +106 -0
  200. package/content/plugins/docs/skills/agileflow-docs/references/api-doc-template.md +167 -0
  201. package/content/plugins/docs/skills/agileflow-docs/references/doc-types-guide.md +141 -0
  202. package/content/plugins/docs/skills/agileflow-docs/references/readme-template.md +156 -0
  203. package/content/plugins/docs/skills/agileflow-docs/workflows/readme-sync.md +57 -0
  204. package/content/plugins/docs/skills/agileflow-docs/workflows/sync.md +64 -0
  205. package/content/plugins/engineering/agents/api.md +718 -0
  206. package/content/plugins/engineering/agents/codebase-query.md +285 -0
  207. package/content/plugins/engineering/agents/compliance.md +559 -0
  208. package/content/plugins/engineering/agents/database.md +644 -0
  209. package/content/plugins/engineering/agents/integrations.md +644 -0
  210. package/content/plugins/engineering/agents/mobile.md +552 -0
  211. package/content/plugins/engineering/agents/monitoring.md +585 -0
  212. package/content/plugins/engineering/agents/performance.md +529 -0
  213. package/content/plugins/engineering/agents/refactor.md +592 -0
  214. package/content/plugins/engineering/agents/security.md +524 -0
  215. package/content/plugins/engineering/agents/ui.md +1336 -0
  216. package/content/plugins/engineering/plugin.yaml +37 -0
  217. package/content/plugins/engineering/skills/agileflow-engineering/SKILL.md +127 -0
  218. package/content/plugins/engineering/skills/agileflow-engineering/references/code-review-guide.md +126 -0
  219. package/content/plugins/engineering/skills/agileflow-engineering/references/domain-routing-guide.md +89 -0
  220. package/content/plugins/engineering/skills/agileflow-engineering/references/refactoring-guide.md +136 -0
  221. package/content/plugins/engineering/skills/agileflow-engineering/workflows/diagnose.md +63 -0
  222. package/content/plugins/engineering/skills/agileflow-engineering/workflows/impact.md +60 -0
  223. package/content/plugins/ideation/agents/brainstorm-analyzer-features.md +179 -0
  224. package/content/plugins/ideation/agents/brainstorm-analyzer-growth.md +169 -0
  225. package/content/plugins/ideation/agents/brainstorm-analyzer-integration.md +181 -0
  226. package/content/plugins/ideation/agents/brainstorm-analyzer-market.md +150 -0
  227. package/content/plugins/ideation/agents/brainstorm-analyzer-ux.md +180 -0
  228. package/content/plugins/ideation/agents/brainstorm-consensus.md +245 -0
  229. package/content/plugins/ideation/agents/design.md +568 -0
  230. package/content/plugins/ideation/agents/product.md +582 -0
  231. package/content/plugins/ideation/plugin.yaml +31 -0
  232. package/content/plugins/ideation/skills/agileflow-ideation/SKILL.md +109 -0
  233. package/content/plugins/ideation/skills/agileflow-ideation/references/brainstorm-techniques.md +138 -0
  234. package/content/plugins/ideation/skills/agileflow-ideation/references/competitive-analysis-template.md +148 -0
  235. package/content/plugins/ideation/skills/agileflow-ideation/references/feature-prioritization-guide.md +147 -0
  236. package/content/plugins/ideation/skills/agileflow-ideation/references/user-story-patterns.md +152 -0
  237. package/content/plugins/ideation/skills/agileflow-ideation/workflows/features.md +65 -0
  238. package/content/plugins/ideation/skills/agileflow-ideation/workflows/ideate.md +54 -0
  239. package/content/plugins/migration/agents/datamigration.md +757 -0
  240. package/content/plugins/migration/plugin.yaml +17 -0
  241. package/content/plugins/migration/skills/agileflow-migration/SKILL.md +106 -0
  242. package/content/plugins/migration/skills/agileflow-migration/references/data-validation-checklist.md +154 -0
  243. package/content/plugins/migration/skills/agileflow-migration/references/migration-patterns.md +209 -0
  244. package/content/plugins/migration/skills/agileflow-migration/references/rollback-playbook.md +171 -0
  245. package/content/plugins/migration/skills/agileflow-migration/references/version-compatibility-matrix.md +155 -0
  246. package/content/plugins/migration/skills/agileflow-migration/workflows/plan.md +73 -0
  247. package/content/plugins/migration/skills/agileflow-migration/workflows/validate.md +71 -0
  248. package/content/plugins/performance/plugin.yaml +14 -0
  249. package/content/plugins/performance/skills/agileflow-performance/SKILL.md +224 -0
  250. package/content/plugins/performance/skills/agileflow-performance/references/optimization-patterns.md +554 -0
  251. package/content/plugins/performance/skills/agileflow-performance/references/profiling-guide.md +383 -0
  252. package/content/plugins/performance/skills/agileflow-performance/references/web-vitals-guide.md +360 -0
  253. package/content/plugins/performance/skills/agileflow-performance/workflows/improve-web-vitals.md +344 -0
  254. package/content/plugins/performance/skills/agileflow-performance/workflows/profile-and-fix.md +254 -0
  255. package/content/plugins/planning/agents/analytics.md +670 -0
  256. package/content/plugins/planning/agents/rlm-subcore.md +215 -0
  257. package/content/plugins/planning/plugin.yaml +19 -0
  258. package/content/plugins/planning/skills/agileflow-planning/SKILL.md +111 -0
  259. package/content/plugins/planning/skills/agileflow-planning/references/estimation-guide.md +114 -0
  260. package/content/plugins/planning/skills/agileflow-planning/references/rpi-workflow.md +119 -0
  261. package/content/plugins/planning/skills/agileflow-planning/references/sprint-planning-guide.md +145 -0
  262. package/content/plugins/planning/skills/agileflow-planning/workflows/impact.md +63 -0
  263. package/content/plugins/planning/skills/agileflow-planning/workflows/rpi.md +104 -0
  264. package/content/plugins/psychology/plugin.yaml +14 -0
  265. package/content/plugins/psychology/skills/agileflow-retention/SKILL.md +252 -0
  266. package/content/plugins/psychology/skills/agileflow-retention/references/competitor-analysis.md +240 -0
  267. package/content/plugins/psychology/skills/agileflow-retention/references/psychology-models.md +349 -0
  268. package/content/plugins/psychology/skills/agileflow-retention/references/retention-patterns.md +279 -0
  269. package/content/plugins/psychology/skills/agileflow-retention/workflows/design-retention-feature.md +287 -0
  270. package/content/plugins/psychology/skills/agileflow-retention/workflows/retention-audit.md +259 -0
  271. package/content/plugins/refactoring/plugin.yaml +14 -0
  272. package/content/plugins/refactoring/skills/agileflow-refactor/SKILL.md +235 -0
  273. package/content/plugins/refactoring/skills/agileflow-refactor/references/refactoring-patterns.md +405 -0
  274. package/content/plugins/refactoring/skills/agileflow-refactor/references/safety-checks.md +177 -0
  275. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/extract-module.md +226 -0
  276. package/content/plugins/refactoring/skills/agileflow-refactor/workflows/safe-refactor.md +169 -0
  277. package/content/plugins/research/agents/research.md +503 -0
  278. package/content/plugins/research/plugin.yaml +17 -0
  279. package/content/plugins/research/skills/agileflow-research/SKILL.md +110 -0
  280. package/content/plugins/research/skills/agileflow-research/references/knowledge-decay-guide.md +121 -0
  281. package/content/plugins/research/skills/agileflow-research/references/research-prompt-guide.md +141 -0
  282. package/content/plugins/research/skills/agileflow-research/references/synthesis-template.md +154 -0
  283. package/content/plugins/research/skills/agileflow-research/workflows/analyze.md +60 -0
  284. package/content/plugins/research/skills/agileflow-research/workflows/ask.md +64 -0
  285. package/content/plugins/research/skills/agileflow-research/workflows/import.md +66 -0
  286. package/content/plugins/research/skills/agileflow-research/workflows/synthesize.md +66 -0
  287. package/content/plugins/reviews/plugin.yaml +14 -0
  288. package/content/plugins/reviews/skills/agileflow-pr-reviewer/SKILL.md +241 -0
  289. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/review-checklist.md +200 -0
  290. package/content/plugins/reviews/skills/agileflow-pr-reviewer/references/security-patterns.md +328 -0
  291. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/review-pr.md +153 -0
  292. package/content/plugins/reviews/skills/agileflow-pr-reviewer/workflows/security-review.md +177 -0
  293. package/content/plugins/seo/agents/seo-analyzer-content.md +169 -0
  294. package/content/plugins/seo/agents/seo-analyzer-images.md +198 -0
  295. package/content/plugins/seo/agents/seo-analyzer-performance.md +217 -0
  296. package/content/plugins/seo/agents/seo-analyzer-schema.md +184 -0
  297. package/content/plugins/seo/agents/seo-analyzer-sitemap.md +177 -0
  298. package/content/plugins/seo/agents/seo-analyzer-technical.md +151 -0
  299. package/content/plugins/seo/agents/seo-consensus.md +304 -0
  300. package/content/plugins/seo/plugin.yaml +19 -4
  301. package/content/plugins/seo/skills/agileflow-seo/SKILL.md +188 -0
  302. package/content/plugins/seo/skills/agileflow-seo/references/cwv-thresholds.md +110 -0
  303. package/content/plugins/seo/skills/agileflow-seo/references/eeat-framework.md +144 -0
  304. package/content/plugins/seo/skills/agileflow-seo/references/keyword-research-guide.md +125 -0
  305. package/content/plugins/seo/skills/agileflow-seo/references/schema-types.md +139 -0
  306. package/content/plugins/seo/skills/agileflow-seo/references/technical-seo-checklist.md +139 -0
  307. package/content/plugins/seo/skills/agileflow-seo/workflows/audit.md +98 -0
  308. package/content/plugins/seo/skills/agileflow-seo/workflows/page.md +118 -0
  309. package/content/plugins/testing/plugin.yaml +16 -0
  310. package/content/plugins/testing/skills/agileflow-test-writer/SKILL.md +260 -0
  311. package/content/plugins/testing/skills/agileflow-test-writer/references/coverage-targets.md +239 -0
  312. package/content/plugins/testing/skills/agileflow-test-writer/references/test-patterns.md +420 -0
  313. package/content/plugins/testing/skills/agileflow-test-writer/workflows/add-coverage.md +154 -0
  314. package/content/plugins/testing/skills/agileflow-test-writer/workflows/write-tests-from-ac.md +225 -0
  315. package/package.json +2 -2
  316. package/src/cli/commands/doctor.js +818 -30
  317. package/src/cli/commands/hook.js +17 -14
  318. package/src/cli/commands/launch.js +1454 -0
  319. package/src/cli/commands/learn.js +149 -0
  320. package/src/cli/commands/plugins.js +113 -0
  321. package/src/cli/commands/setup.js +455 -110
  322. package/src/cli/commands/skills.js +324 -0
  323. package/src/cli/commands/status.js +8 -10
  324. package/src/cli/commands/update.js +76 -15
  325. package/src/cli/index.js +90 -26
  326. package/src/cli/wizard/babysit-mode-picker.js +192 -0
  327. package/src/cli/wizard/behaviors-picker.js +208 -54
  328. package/src/cli/wizard/ide-picker.js +40 -28
  329. package/src/cli/wizard/install-scope-picker.js +57 -0
  330. package/src/cli/wizard/launch-alias-picker.js +50 -0
  331. package/src/cli/wizard/launch-cli-picker.js +129 -0
  332. package/src/cli/wizard/launch-tmux-picker.js +133 -0
  333. package/src/cli/wizard/learnings-picker.js +40 -0
  334. package/src/cli/wizard/plugin-picker.js +47 -16
  335. package/src/lib/brand.js +116 -0
  336. package/src/lib/errors.js +120 -0
  337. package/src/lib/path-check.js +39 -0
  338. package/src/runtime/config/defaults.js +22 -17
  339. package/src/runtime/config/loader.js +77 -8
  340. package/src/runtime/config/schema.json +43 -16
  341. package/src/runtime/config/writer.js +3 -1
  342. package/src/runtime/ide/babysit-skill.js +202 -0
  343. package/src/runtime/ide/capabilities.js +84 -29
  344. package/src/runtime/ide/claude-code-content.js +177 -0
  345. package/src/runtime/ide/claude-code-settings.js +67 -29
  346. package/src/runtime/ide/claude-code-skills.js +47 -32
  347. package/src/runtime/ide/codex-config.js +295 -0
  348. package/src/runtime/installer/install.js +252 -24
  349. package/src/runtime/launch/alias-installer.js +191 -0
  350. package/src/runtime/launch/cli-resume.js +244 -0
  351. package/src/runtime/launch/closed-windows.js +338 -0
  352. package/src/runtime/launch/defaults.js +66 -0
  353. package/src/runtime/launch/detect-clis.js +69 -0
  354. package/src/runtime/launch/doctor.js +464 -0
  355. package/src/runtime/launch/exec-wrapper.js +114 -0
  356. package/src/runtime/launch/parallel-session.js +247 -0
  357. package/src/runtime/launch/prefs.js +211 -0
  358. package/src/runtime/launch/project-prefs.js +234 -0
  359. package/src/runtime/launch/resolve-cli.js +56 -0
  360. package/src/runtime/launch/restore.js +152 -0
  361. package/src/runtime/launch/schema.json +75 -0
  362. package/src/runtime/launch/session-lifecycle.js +313 -0
  363. package/src/runtime/launch/session-registry.js +401 -0
  364. package/src/runtime/launch/spawn.js +103 -0
  365. package/src/runtime/launch/tabs.js +350 -0
  366. package/src/runtime/launch/tmux.js +764 -0
  367. package/src/runtime/launch/worktree.js +260 -0
  368. package/src/runtime/plugins/registry.js +16 -11
  369. package/src/runtime/plugins/validator.js +57 -43
  370. package/src/runtime/skills/learnings.js +308 -0
  371. package/content/plugins/core/hooks/babysit-mentor-injector.js +0 -55
  372. package/src/cli/wizard/personalization.js +0 -64
@@ -0,0 +1,279 @@
1
+ # Retention Patterns Reference
2
+
3
+ **Load this when:** implementing a specific retention mechanic, evaluating whether a mechanic is evidence-based, designing a notification strategy, or auditing which mechanics the product already has.
4
+
5
+ Each pattern includes: psychological basis, key research, real-world evidence, and implementation steps.
6
+
7
+ ---
8
+
9
+ ## 1. Streaks
10
+
11
+ ### What it is
12
+
13
+ A counter showing consecutive days (or sessions) a user has performed a target behavior. Accompanied by a visual indicator (fire icon, chain) and often a recovery mechanic (streak freeze).
14
+
15
+ ### Psychological basis
16
+
17
+ **Loss aversion** (Kahneman & Tversky, 1979): humans weight potential losses approximately twice as heavily as equivalent gains. A user with a 45-day streak has accumulated something they are strongly motivated not to lose.
18
+
19
+ **Research:** Kahneman, D. & Tversky, A. (1979). "Prospect Theory: An Analysis of Decision under Risk." _Econometrica_, 47(2), 263–292.
20
+
21
+ ### Evidence
22
+
23
+ - **Duolingo internal data:** Users with a 30-day streak are retained at approximately 2.4× the rate of users without streaks. This is one of the highest ROI features in Duolingo's product.
24
+ - **Duolingo streak freeze:** Allowing users to "repair" missed days with a streak freeze (earned or purchased) dramatically reduces streak abandonment. Without it, a single missed day causes permanent churn for a significant segment of streak users.
25
+ - **GitHub contribution graph:** GitHub's "green squares" contribution history functions as a streak visual, driving daily commit behavior among developers.
26
+
27
+ ### Implementation steps
28
+
29
+ 1. Define the target behavior (the action that increments the streak)
30
+ 2. Set the streak increment unit (daily is most common; weekly for lower-frequency behaviors)
31
+ 3. Build the streak counter with a visually satisfying increment animation
32
+ 4. Add a prominent visual indicator that degrades visually as the streak approaches 24-hour expiry
33
+ 5. Implement streak freeze / recovery mechanic — allow at most 1–2 misses before streak resets
34
+ 6. Add a "streak at risk" notification that fires 2–4 hours before the deadline (high-converting)
35
+ 7. Celebrate milestone streaks (7 days, 30 days, 100 days) with special animations/rewards
36
+ 8. Track: average streak length, streak abandonment rate, 7-day retention by streak cohort
37
+
38
+ ### Failure modes
39
+
40
+ - Streak anxiety: users who find the pressure aversive will churn entirely to escape. Offer an opt-out.
41
+ - Fake engagement: users complete the minimum to preserve the streak without real value. Audit whether streak behavior correlates with core value delivery.
42
+
43
+ ---
44
+
45
+ ## 2. Progress Bars and Completion Indicators
46
+
47
+ ### What it is
48
+
49
+ A visual indicator of how complete a user's profile, onboarding, or task sequence is. Shows a percentage or step count and highlights the next actionable step.
50
+
51
+ ### Psychological basis
52
+
53
+ **Commitment and consistency** (Cialdini, 1984): once a person has started something, they are psychologically motivated to complete it. A visible progress bar activates this commitment.
54
+
55
+ **Zeigarnik Effect** (1927): incomplete tasks are held in working memory more vividly than completed tasks. A progress bar at 60% creates a persistent cognitive "open loop" that drives users back.
56
+
57
+ **Research:**
58
+
59
+ - Cialdini, R.B. (1984). _Influence: The Psychology of Persuasion._ William Morrow.
60
+ - Zeigarnik, B. (1927). "Das Behalten erledigter und unerledigter Handlungen." _Psychologische Forschung_, 9, 1–85.
61
+
62
+ ### Evidence
63
+
64
+ - **LinkedIn profile completeness bar:** LinkedIn's profile completeness indicator, showing steps like "Add a photo", "Add your current position", significantly increased profile completion rates. Completed profiles generated more connection requests, improving network effects and retention.
65
+ - **Progress-based onboarding** consistently outperforms step-by-step linear flows in A/B tests across multiple SaaS products. Users who see how far they've come are more likely to continue than users in a pure sequence.
66
+
67
+ ### Implementation steps
68
+
69
+ 1. Define what "100% complete" means (profile, onboarding, feature adoption)
70
+ 2. Weight steps by impact on retention, not just effort
71
+ 3. Show the progress bar prominently in the UI with exact percentage
72
+ 4. For each step below 100%, highlight the single most impactful next action
73
+ 5. Never show a progress bar at 0% — consider pre-filling with "free" initial progress (see Endowed Progress below)
74
+ 6. Celebrate completion with a clear reward (access to a feature, a visual transformation)
75
+ 7. Remove the bar once complete — don't turn a completion into a persistent reminder of a finished task
76
+
77
+ ### Failure modes
78
+
79
+ - Progress bar for its own sake: if completion doesn't unlock real value, users learn to ignore it
80
+ - Too many steps: a progress bar with 15 items feels overwhelming. Cap at 5–7 major items.
81
+
82
+ ---
83
+
84
+ ## 3. Variable Reward Schedules
85
+
86
+ ### What it is
87
+
88
+ Reward delivery that is unpredictable — sometimes you get a big reward, sometimes a small one, sometimes nothing. The unpredictability is the feature, not a bug.
89
+
90
+ ### Psychological basis
91
+
92
+ **Operant conditioning / variable ratio reinforcement** (Skinner, 1938): a variable ratio schedule — where a reward occurs after an unpredictable number of responses — produces the highest response rate and the greatest resistance to extinction of all reward schedules.
93
+
94
+ **Research:** Skinner, B.F. (1938). _The Behavior of Organisms: An Experimental Analysis._ Appleton-Century-Crofts.
95
+
96
+ The mechanism: dopamine is released in anticipation of a potential reward, not just upon receiving it. Unpredictability maximizes anticipatory dopamine release, which drives continued behavior.
97
+
98
+ ### Evidence
99
+
100
+ - **Slot machines:** The canonical application of variable ratio schedules — the most addictive gambling mechanic ever designed.
101
+ - **Instagram likes:** The delay between posting and seeing likes creates variability. The "pull to refresh" gesture that reveals new likes is a discrete slot machine pull.
102
+ - **Email inbox:** The expectation of an interesting email drives inbox refreshing behavior, even when most emails are irrelevant.
103
+ - **Wordle:** The daily single puzzle with uncertain success creates anticipation. Players don't know if today's word will be easy or hard.
104
+ - **Loot boxes in games:** Proven retention mechanic; now regulated in several countries due to gambling parallels.
105
+
106
+ ### Implementation steps
107
+
108
+ 1. Identify the reward in your product (social validation, useful information, achievement, discovery)
109
+ 2. Remove predictability: don't deliver the reward on a fixed schedule
110
+ 3. Add signal uncertainty: "You have X new notifications" without showing them immediately
111
+ 4. Design pull-to-reveal moments: the act of checking creates anticipation
112
+ 5. Use occasional "jackpot" moments: unexpected large rewards (Spotify Discover Weekly, unexpected free premium feature)
113
+ 6. Do NOT make every interaction rewarding — some variability (occasionally nothing interesting) is essential
114
+
115
+ ### Ethical note
116
+
117
+ Variable reward schedules are the most powerful and most ethically fraught mechanic. Apply only to behaviors that deliver genuine value to users. "Checking for notifications to see if friends engaged with my content" is legitimate. "Checking for algorithmically outraged content to maximize session time" crosses into manipulation.
118
+
119
+ ---
120
+
121
+ ## 4. Social Proof
122
+
123
+ ### What it is
124
+
125
+ Displaying evidence that other people are using, enjoying, or valuing the product — reducing uncertainty and creating behavioral norms.
126
+
127
+ ### Psychological basis
128
+
129
+ **Social proof** (Cialdini, 1984): when uncertain about the correct course of action, people look to what others are doing to determine the right behavior. The more similar those others are perceived to be, the stronger the effect.
130
+
131
+ **Research:** Cialdini, R.B. (1984). _Influence: The Psychology of Persuasion._ William Morrow.
132
+
133
+ ### Evidence
134
+
135
+ - **Airbnb "Usually books within 24 hours":** Showing host responsiveness as social proof increased booking conversion rates measurably (Airbnb A/B test data).
136
+ - **Amazon reviews:** Product review counts are one of the strongest conversion predictors. Zero reviews dramatically suppress conversion even with positive ratings.
137
+ - **"X people are viewing this item right now":** Urgency-amplified social proof shown on hotel booking sites. When genuine, increases conversion; when fabricated, creates distrust when discovered.
138
+ - **Twitter follower counts:** Public follower counts are social proof of account credibility. Accounts with 0 followers receive lower engagement than accounts with 1,000 followers, even for identical content.
139
+
140
+ ### Implementation steps
141
+
142
+ 1. Identify the uncertainty your user faces (Is this product worth my time? Will others judge me? Is this the right choice?)
143
+ 2. Select the most credible social proof type for that uncertainty:
144
+ - **Aggregate numbers:** "10,000 teams use this"
145
+ - **Activity signals:** "Viewed 47 times today"
146
+ - **Testimonials:** Specific, named, with context
147
+ - **Similar user proof:** "Teams like yours" — similarity amplifies the effect
148
+ 3. Display proof at the decision moment, not on a separate testimonials page
149
+ 4. Keep proof honest — fabricated social proof causes permanent trust damage when discovered
150
+ 5. Update counts in real-time or near-real-time; stale numbers undermine credibility
151
+
152
+ ---
153
+
154
+ ## 5. Personalized Onboarding and the Aha Moment
155
+
156
+ ### What it is
157
+
158
+ The "aha moment" is the specific user action that correlates most strongly with long-term retention. Personalized onboarding redesigns the first-session experience to reach that moment as quickly as possible.
159
+
160
+ ### Psychological basis
161
+
162
+ **Value realization:** Retention is a function of how quickly users experience the core value of the product. Users who reach value in session 1 have dramatically higher D7 and D30 retention.
163
+
164
+ **Personalization effect:** Users who are asked about their goals and receive a tailored experience feel the product is made for them (Fogg's belonging motivator + SDT autonomy need).
165
+
166
+ ### Evidence
167
+
168
+ - **Facebook "7 friends in 10 days":** Facebook's growth team discovered that users who connected with at least 7 friends in their first 10 days had dramatically higher long-term retention. This became the north star for onboarding optimization. _Source: Chamath Palihapitiya, former VP of Growth at Facebook, multiple talks._
169
+ - **Twitter "follow 30 accounts in first session":** Twitter's retention team found this threshold strongly predicted whether a new user would become an active user. The onboarding flow was redesigned to guide users to this milestone. _Source: Josh Elman, former Twitter Product, multiple talks._
170
+ - **Slack "2,000 messages exchanged":** Teams that had sent at least 2,000 messages had a 93% retention rate after 90 days. Below that threshold, retention was significantly lower. _Source: Slack growth team data, cited in multiple product publications._
171
+ - **Dropbox "first upload":** Users who uploaded at least one file in their first session had dramatically higher 30-day retention. Dropbox redesigned its install flow around reaching this milestone faster.
172
+
173
+ ### Implementation steps
174
+
175
+ 1. Analyze your retention data: which action in week 1 most strongly predicts D30 retention? That is your aha moment.
176
+ 2. If you don't have data, run a survey with retained users: "What was the moment you knew you'd keep using this?"
177
+ 3. Redesign onboarding as a guided path to that single moment — cut everything that doesn't contribute to reaching it
178
+ 4. Add personalization questions that let you tailor the path ("What's your main goal?")
179
+ 5. Measure "time to aha moment" as a core onboarding metric, and track it by cohort
180
+ 6. For each new user segment, identify whether the aha moment is the same or different
181
+
182
+ ---
183
+
184
+ ## 6. Behavioral Notifications
185
+
186
+ ### What it is
187
+
188
+ Push notifications or emails triggered by specific user behaviors or contextual signals, rather than sent on a marketing schedule.
189
+
190
+ ### Psychological basis
191
+
192
+ **Relevance and timing** (Fogg's Prompt principle): a prompt that arrives at the right motivation state is far more effective than a generic prompt. Behavioral triggers fire when the user is most ready to act.
193
+
194
+ ### Evidence
195
+
196
+ - **Urban Airship (now Airship) data (2016):** Push notifications triggered by user behavior or location generated 2–5× higher engagement rates than broadcast marketing messages. _Source: Urban Airship Push Notification Benchmark Report, 2016._
197
+ - **Optimal frequency:** 2–5 notifications per week is the optimal range for most apps before opt-out rates spike. _Source: Localytics Push Notification Benchmark, 2017._
198
+ - **Personalization lift:** Personalized push notifications (including first name, relevant content) show 4× higher click rates than generic notifications. _Source: Leanplum, 2017._
199
+
200
+ ### Notification types by effectiveness (high to low)
201
+
202
+ 1. **Triggered by user action:** "Someone replied to your comment" — highest relevance, user-initiated context
203
+ 2. **Triggered by milestone:** "You're on a 7-day streak!" — relevant to user's own progress
204
+ 3. **Triggered by friend action:** "Alice mentioned you" — social relevance
205
+ 4. **Triggered by inactivity:** "We miss you — here's what you missed" — re-engagement
206
+ 5. **Triggered by marketing calendar:** "Check out our summer sale" — lowest relevance, highest opt-out
207
+
208
+ ### Implementation steps
209
+
210
+ 1. Build behavioral triggers first — instrument user actions that warrant notification
211
+ 2. Create a notification preference system — let users control frequency and type
212
+ 3. Implement "quiet hours" — never send at 2am
213
+ 4. A/B test notification copy: personal, specific, and action-oriented outperforms generic
214
+ 5. Track per-notification opt-out rates — a notification type with >10% opt-out rate is harming retention
215
+ 6. Respect unsubscribes immediately and completely
216
+
217
+ ---
218
+
219
+ ## 7. Endowed Progress Effect
220
+
221
+ ### What it is
222
+
223
+ Giving users artificially "head start" progress before they have earned it — pre-filling a progress bar, awarding bonus points at signup, starting a loyalty card with 2 stamps already punched.
224
+
225
+ ### Psychological basis
226
+
227
+ **Goal gradient hypothesis** (Hull, 1932): motivation to complete a goal increases as you get closer to it. The endowed progress effect accelerates this by moving users artificially closer to the goal from the start.
228
+
229
+ **Key research:** Nunes, J.C. & Drèze, X. (2006). "The Endowed Progress Effect: How Artificial Advancement Increases Effort." _Journal of Consumer Research_, 32(4), 504–512.
230
+
231
+ ### Evidence
232
+
233
+ - **Nunes & Drèze (2006) car wash loyalty card study:** Customers given a loyalty card pre-stamped with 2 free stamps (requiring 10 total, so 8 more needed) completed the card at a significantly higher rate than customers given a card requiring 8 stamps with no head start — even though the effort required was identical. The "free" progress framing was enough to increase completion.
234
+ - **LinkedIn "Profile Strength" meter:** Starting new users with a "Beginner" rating (rather than empty/0) leverages endowed progress. Users feel they have something to build on rather than starting from nothing.
235
+ - **Welcome bonuses in apps:** Giving new users bonus currency, initial XP, or pre-loaded settings creates investment and leverages endowed progress.
236
+
237
+ ### Implementation steps
238
+
239
+ 1. Identify a progress mechanic in your product (profile completion, level, points, skills)
240
+ 2. Give new users free initial progress that represents 10–20% of the goal
241
+ 3. Frame it as a head start: "You're already at level 2" or "2 out of 10 steps complete"
242
+ 4. Ensure the head start is real (don't show 10% on a progress bar that requires 100 real steps, then show nothing happening for a long time)
243
+ 5. The effect is strongest for goals where users can see the distance remaining
244
+
245
+ ---
246
+
247
+ ## 8. Loss Aversion Mechanics
248
+
249
+ ### What it is
250
+
251
+ Mechanics that frame inaction as losing something the user already has, rather than framing action as gaining something new.
252
+
253
+ ### Psychological basis
254
+
255
+ **Prospect Theory** (Kahneman & Tversky, 1979): in value function terms, losses are felt approximately 2× more intensely than equivalent gains. "You'll lose your streak" is psychologically twice as motivating as "You'll gain streak points."
256
+
257
+ **Research:** Kahneman, D. & Tversky, A. (1979). "Prospect Theory: An Analysis of Decision under Risk." _Econometrica_, 47(2), 263–292. _Nobel Prize in Economics, 2002._
258
+
259
+ ### Evidence
260
+
261
+ - **Duolingo streak saver notification:** "You're about to lose your 45-day streak — complete a lesson now" is reported by Duolingo as one of their highest-converting notification messages. The loss framing dramatically outperforms "Maintain your streak" (gain framing).
262
+ - **LinkedIn "Your profile appeared in 8 searches this week":** Framing search visibility as something you have (and could have more of with a better profile) leverages loss aversion around missing out on opportunities.
263
+ - **Free trial → cancellation:** The period of free premium use creates the sensation of having premium features. The cancellation notification ("You will lose access to X, Y, Z in 3 days") leverages loss aversion. This is why free-to-paid conversion rates peak at trial end, not trial start.
264
+ - **"You have unread messages":** The badge on email/messaging apps frames not checking as accumulating something you'll lose track of — leveraging loss aversion around missed communication.
265
+
266
+ ### Implementation steps
267
+
268
+ 1. Identify what the user has accumulated (streaks, premium access, unread items, profile strength, saved content)
269
+ 2. Frame retention-critical notifications as loss prevention, not gain opportunity
270
+ 3. Use specific numbers: "You're about to lose your 23-day streak" outperforms "Keep your streak going"
271
+ 4. Time notifications to fire before the loss moment, not after it (too late)
272
+ 5. Offer a recovery mechanic: users who lose something are more likely to churn entirely; a recovery path keeps them engaged
273
+
274
+ ### Ethical boundary
275
+
276
+ Loss aversion is the most manipulable mechanic on this list. The line between motivation and anxiety-inducing dark pattern is real.
277
+
278
+ - **Legitimate:** Loss framing for something the user genuinely values (their streak they built, their trial access to features they use)
279
+ - **Manipulation:** Fabricating loss ("Your account is about to be deleted" for minor inactivity), creating artificial stakes, manufactured urgency with no real consequence
@@ -0,0 +1,287 @@
1
+ # Workflow: Design a Retention Feature
2
+
3
+ **Follow this when:** the user wants to design a new retention mechanic — a streak system, notification strategy, progress indicator, social feature, reward loop, or any other habit-forming feature.
4
+
5
+ **Time estimate:** 30–60 minutes for a complete feature design with psychological rationale.
6
+
7
+ **Output:** A fully specified retention mechanic with trigger, action, reward, investment, ethical check, and measurement plan.
8
+
9
+ ---
10
+
11
+ ## Before you start
12
+
13
+ Ask the user:
14
+
15
+ 1. Which mechanic type are they considering? (streak, progress bar, notifications, social proof, variable reward, something else)
16
+ 2. What user behavior do they want to become habitual? (be specific: "open the app daily", "complete a project update each Friday", "share work with a colleague weekly")
17
+ 3. What is the target user segment? (new users / lapsed users / power users)
18
+ 4. What does success look like? (D7 retention improvement, DAU/MAU increase, session frequency increase)
19
+
20
+ If the user doesn't know which mechanic to use, help them choose one using the model selection table in `references/psychology-models.md`.
21
+
22
+ ---
23
+
24
+ ## Step 1: Choose the psychological model
25
+
26
+ **Goal:** Match the mechanic to the right model before designing any feature.
27
+
28
+ | Retention goal | Best model | Best mechanic |
29
+ | ----------------------------------- | -------------------------------------------- | ------------------------------------------------------ |
30
+ | Build a new daily habit | Hook Model + Habit Loop | Streak + daily content + notifications |
31
+ | Increase onboarding completion | Fogg B=MAP | Progress bar + endowed progress + facilitator prompts |
32
+ | Drive social engagement | Hook Model (Tribe rewards) + SDT Relatedness | Social features + variable social validation |
33
+ | Reduce churn among engaged users | Loss aversion + Investment | Streak mechanics + investment layer |
34
+ | Increase feature adoption | Fogg B=MAP (ability) + Endowed Progress | Guided flow + pre-filled defaults + progress indicator |
35
+ | Build intrinsic long-term retention | SDT | Autonomy + competence progression + community |
36
+
37
+ Select the primary model and note why it fits this specific challenge.
38
+
39
+ ---
40
+
41
+ ## Step 2: Define the target behavior
42
+
43
+ **Goal:** Be precise about what behavior you want users to perform and how often.
44
+
45
+ Fill in this template:
46
+
47
+ ```
48
+ Target behavior: [Specific, observable action]
49
+ Frequency: [Daily / Weekly / Per session / On trigger]
50
+ Target user state: [What emotion or context should trigger this?]
51
+ Minimum viable version: [The simplest version of the behavior]
52
+ ```
53
+
54
+ Examples:
55
+
56
+ - "Complete one lesson in the app. Daily. When the user has free time or is waiting. Minimum: answer 3 questions."
57
+ - "Update project status. Weekly on Friday afternoon. When wrapping up the work week. Minimum: one sentence."
58
+ - "Log a workout. After exercising. When arriving home from exercise. Minimum: tap 'I worked out today'."
59
+
60
+ The minimum viable behavior matters for Fogg's ability lever. The smaller the minimum behavior, the lower the motivation threshold required to perform it.
61
+
62
+ ---
63
+
64
+ ## Step 3: Design the trigger
65
+
66
+ **Goal:** Design an external trigger that will eventually be replaced by an internal trigger.
67
+
68
+ **External trigger design:**
69
+
70
+ 1. Identify the trigger delivery channel:
71
+ - Push notification (requires permission; most immediate)
72
+ - Email (no permission required; lower urgency)
73
+ - In-app badge or indicator (only reaches users already in app)
74
+ - SMS (highest open rates; highest friction to opt into)
75
+
76
+ 2. Design the trigger timing:
77
+ - Behavioral: triggered by user action or inaction ("user hasn't logged in for 3 days")
78
+ - Time-based: tied to a specific time the user has indicated they prefer
79
+ - Calendar-based: tied to a recurring event (end of work week, before a deadline)
80
+ - Location-based: triggered by physical context if available
81
+
82
+ 3. Write the trigger copy using these principles:
83
+ - Personal: use name or specific context ("Your 14-day streak is at risk")
84
+ - Loss framing: "You're about to lose X" outperforms "Keep your X going"
85
+ - Specific numbers: "You're on day 14" not "You have a streak"
86
+ - Single action: tell them exactly what to do ("Tap here to complete today's lesson")
87
+
88
+ 4. Design for internal trigger formation:
89
+ - Which emotion should become associated with opening the product?
90
+ - How does the product reliably resolve that emotion?
91
+ - Document this: "We want users to associate [boredom / procrastination avoidance / productivity] with opening [product]"
92
+ - Check after 4–6 weeks of external triggers: are users opening without the notification?
93
+
94
+ **Trigger quality checklist:**
95
+
96
+ - [ ] Behavioral trigger, not scheduled blast
97
+ - [ ] Fires at the right motivation moment (not at 2am, not during user's known low-engagement hours)
98
+ - [ ] Loss-framed copy with specific numbers
99
+ - [ ] Single clear action
100
+ - [ ] Opt-out available and respected
101
+
102
+ ---
103
+
104
+ ## Step 4: Reduce friction in the action
105
+
106
+ **Goal:** Make the target behavior as easy as possible to perform in response to the trigger.
107
+
108
+ Apply Fogg's 6 simplicity factors to the path from trigger to completed behavior:
109
+
110
+ | Factor | Current state | Target state | Change required |
111
+ | --------------- | --------------------- | -------------------------- | ----------------------------------- |
112
+ | Time | [how long?] | < 2 minutes | [what to remove] |
113
+ | Money | [any cost?] | Free to perform | [if cost exists, justify or remove] |
114
+ | Physical effort | [taps/clicks] | < 3 taps from notification | [what to streamline] |
115
+ | Brain cycles | [decisions required?] | 0 decisions, 1 action | [what to default or remove] |
116
+ | Social deviance | [does it feel weird?] | Normal, expected | [normalize or destigmatize] |
117
+ | Non-routine | [familiar or new?] | Familiar pattern | [use existing UI patterns] |
118
+
119
+ **The one-tap principle:** Wherever possible, the notification should take users directly to the action — not to a home screen they have to navigate from. Deep link from notification to the specific action.
120
+
121
+ ---
122
+
123
+ ## Step 5: Design the reward
124
+
125
+ **Goal:** Deliver a variable, autonomy-preserving reward immediately after the target behavior.
126
+
127
+ **Choose the reward type:**
128
+
129
+ | Type | What it delivers | Best for |
130
+ | ---------------------- | ------------------------------------------ | ------------------------------- |
131
+ | **Tribe (social)** | Social validation from other users | Social products, community apps |
132
+ | **Hunt (information)** | Useful, surprising, or interesting content | News, education, productivity |
133
+ | **Self (mastery)** | Progress, completion, skill advancement | Learning, fitness, productivity |
134
+
135
+ **Variable reward design principles:**
136
+
137
+ 1. Not every session delivers the same reward level — some are better than others
138
+ 2. The anticipation of the reward is as motivating as the reward itself
139
+ 3. Deliver the reward immediately after the action (not on the next session)
140
+ 4. Add occasional "jackpot" moments: unexpected larger rewards
141
+ 5. Never make the reward predictable (same reward every time → diminishing motivation)
142
+
143
+ **Autonomy preservation:** During the reward phase, the user should feel in control, not constrained. If getting the reward requires watching an ad, completing a survey, or navigating required steps, the reward experience becomes aversive.
144
+
145
+ **Reward examples by mechanic:**
146
+
147
+ - **Streak system:** Streak counter increment + animation + occasional celebration (jackpot at 7/30/100 days)
148
+ - **Progress bar:** Visual bar fill + "You're X% done" + next step suggestion
149
+ - **Social feature:** Variable social feedback (likes, comments, replies — timing is unpredictable)
150
+ - **Learning product:** Quiz result + "You got X/Y right" + occasional perfect score celebration
151
+
152
+ ---
153
+
154
+ ## Step 6: Design the investment layer
155
+
156
+ **Goal:** Ensure users leave something behind after each session that makes the product more valuable on the next visit.
157
+
158
+ Investment types to consider:
159
+
160
+ | Type | Example | Value increase mechanism |
161
+ | -------------------------- | ------------------------------------ | ----------------------------------- |
162
+ | **Data/personalization** | Watched content, completed lessons | Better recommendations next session |
163
+ | **User-generated content** | Posts, photos, notes, projects | History and portfolio building |
164
+ | **Social graph** | Followers, connections, team members | Social switching cost |
165
+ | **Reputation** | Badges, reviews, ratings, level | Public identity investment |
166
+ | **Settings/configuration** | Custom workflows, saved preferences | Painful to recreate |
167
+ | **History/progress** | Learning progress, activity log | Loss if they leave |
168
+
169
+ For the mechanic being designed, answer:
170
+
171
+ - What does the user leave behind after completing the target behavior?
172
+ - How does that accumulate over time?
173
+ - What would they lose if they switched to a competitor?
174
+ - Is the investment visible to the user (so they're aware of its value)?
175
+
176
+ ---
177
+
178
+ ## Step 7: Ethical check
179
+
180
+ **Goal:** Verify the mechanic delivers genuine value to users and doesn't exploit psychological vulnerabilities.
181
+
182
+ Answer each question honestly:
183
+
184
+ 1. **The thank-you test:** "If a user understood exactly what psychological mechanism this feature uses, would they thank us for designing it this way?"
185
+ - If yes: proceed
186
+ - If uncertain: redesign until yes
187
+
188
+ 2. **Value alignment:** Does the mechanic encourage behavior that genuinely improves the user's life or experience? Or does it maximize engagement at the expense of user wellbeing?
189
+ - Streak for learning a language: helps the user achieve their goal → proceed
190
+ - Streak for viewing ads: maximizes platform revenue without user benefit → do not ship
191
+
192
+ 3. **Anxiety test:** Will this mechanic cause anxiety or distress for users who can't maintain it?
193
+ - If yes: add opt-out, recovery mechanics, or reduce the stakes framing
194
+
195
+ 4. **Dark pattern check:** Does this mechanic make it harder to leave the product than easier to stay?
196
+ - Genuine retention: make the product so valuable users don't want to leave
197
+ - Dark pattern: hide cancel buttons, charge after free trial without clear warning, make account deletion difficult
198
+ - Dark patterns are off-limits regardless of retention impact
199
+
200
+ 5. **Regulatory check:** Does this mechanic involve gambling mechanics (loot boxes), target children, or create addictive loops with no opt-out?
201
+ - These require legal review before implementation
202
+
203
+ ---
204
+
205
+ ## Step 8: Define the measurement plan
206
+
207
+ **Goal:** Define how you'll know if this mechanic is working.
208
+
209
+ **Primary metric:**
210
+
211
+ - What specific retention metric does this mechanic target?
212
+ - What is the current baseline?
213
+ - What is the target improvement (e.g., D7 retention from 22% to 28%)?
214
+ - How long will you run the test before evaluating?
215
+
216
+ **Measurement approach:**
217
+
218
+ - A/B test: control (no mechanic) vs. treatment (mechanic enabled) — preferred
219
+ - Cohort analysis: compare retention curves for users who engage with mechanic vs. those who don't
220
+ - Note: cohort analysis has selection bias (users who engage with mechanic are already more motivated); A/B test is cleaner
221
+
222
+ **Guardrail metrics:**
223
+
224
+ - Monitor these to ensure the mechanic doesn't harm other user behaviors:
225
+ - Notification opt-out rate (rising opt-outs = spam signal)
226
+ - Session quality (time in productive feature / total time) — don't optimize for empty engagement
227
+ - Support ticket volume (streak anxiety complaints, etc.)
228
+ - NPS / user satisfaction scores
229
+
230
+ **Leading indicators (check weekly):**
231
+
232
+ - % of target users who engaged with the mechanic
233
+ - Mechanic engagement rate (e.g., streak completion rate day-over-day)
234
+
235
+ **Lagging indicator (check at 4/8/12 weeks):**
236
+
237
+ - Primary retention metric vs. control group
238
+
239
+ ---
240
+
241
+ ## Step 9: Document and handoff
242
+
243
+ **Goal:** Create a complete feature spec the team can implement.
244
+
245
+ Feature spec template:
246
+
247
+ ```
248
+ RETENTION MECHANIC: [Name]
249
+
250
+ Psychological model: [Hook / Fogg / Habit Loop / SDT]
251
+ Target behavior: [Specific action]
252
+ Target user segment: [New / Returning / At-risk]
253
+ Primary metric: [Metric] — Baseline: [X] — Target: [Y]
254
+
255
+ TRIGGER:
256
+ Type: [Behavioral / Time-based / Calendar-based]
257
+ Channel: [Push / Email / In-app]
258
+ Timing: [Specific logic]
259
+ Copy: [Notification text with loss framing]
260
+
261
+ ACTION PATH:
262
+ Steps from trigger to completion: [count]
263
+ Deep link target: [specific screen]
264
+ Friction removed: [what was simplified]
265
+
266
+ REWARD:
267
+ Type: [Tribe / Hunt / Self]
268
+ Variable? [Yes / No — if no, explain why]
269
+ Jackpot moment: [Description]
270
+ Timing: [Immediate on completion]
271
+
272
+ INVESTMENT:
273
+ What user leaves behind: [Description]
274
+ Value accumulation mechanism: [How it grows]
275
+
276
+ ETHICAL REVIEW:
277
+ Thank-you test: [Pass / Fail — notes]
278
+ Value alignment: [Pass / Fail — notes]
279
+ Anxiety risk: [Low / Medium — mitigation]
280
+ Recovery mechanic: [If streak: streak freeze. If other: describe]
281
+
282
+ MEASUREMENT:
283
+ Primary metric: [Metric]
284
+ Test approach: [A/B test / Cohort]
285
+ Test duration: [Weeks]
286
+ Guardrail metrics: [List]
287
+ ```