@wazir-dev/cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (629) hide show
  1. package/AGENTS.md +111 -0
  2. package/CHANGELOG.md +14 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +21 -0
  5. package/README.md +314 -0
  6. package/assets/composition-engine.mmd +34 -0
  7. package/assets/demo-script.sh +17 -0
  8. package/assets/logo-dark.svg +14 -0
  9. package/assets/logo.svg +14 -0
  10. package/assets/pipeline.mmd +39 -0
  11. package/assets/record-demo.sh +51 -0
  12. package/docs/README.md +51 -0
  13. package/docs/adapters/context-mode.md +60 -0
  14. package/docs/concepts/architecture.md +87 -0
  15. package/docs/concepts/artifact-model.md +60 -0
  16. package/docs/concepts/composition-engine.md +36 -0
  17. package/docs/concepts/indexing-and-recall.md +160 -0
  18. package/docs/concepts/observability.md +41 -0
  19. package/docs/concepts/roles-and-workflows.md +59 -0
  20. package/docs/concepts/terminology-policy.md +27 -0
  21. package/docs/getting-started/01-installation.md +78 -0
  22. package/docs/getting-started/02-first-run.md +102 -0
  23. package/docs/getting-started/03-adding-to-project.md +15 -0
  24. package/docs/getting-started/04-host-setup.md +15 -0
  25. package/docs/guides/ci-integration.md +15 -0
  26. package/docs/guides/creating-skills.md +15 -0
  27. package/docs/guides/expertise-module-authoring.md +15 -0
  28. package/docs/guides/hook-development.md +15 -0
  29. package/docs/guides/memory-and-learnings.md +34 -0
  30. package/docs/guides/multi-host-export.md +15 -0
  31. package/docs/guides/troubleshooting.md +101 -0
  32. package/docs/guides/writing-custom-roles.md +15 -0
  33. package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
  34. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
  35. package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
  36. package/docs/readmes/INDEX.md +99 -0
  37. package/docs/readmes/features/expertise/README.md +171 -0
  38. package/docs/readmes/features/exports/README.md +222 -0
  39. package/docs/readmes/features/hooks/README.md +103 -0
  40. package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
  41. package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
  42. package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
  43. package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
  44. package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
  45. package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
  46. package/docs/readmes/features/hooks/session-start.md +119 -0
  47. package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
  48. package/docs/readmes/features/roles/README.md +157 -0
  49. package/docs/readmes/features/roles/clarifier.md +152 -0
  50. package/docs/readmes/features/roles/content-author.md +190 -0
  51. package/docs/readmes/features/roles/designer.md +193 -0
  52. package/docs/readmes/features/roles/executor.md +184 -0
  53. package/docs/readmes/features/roles/learner.md +210 -0
  54. package/docs/readmes/features/roles/planner.md +182 -0
  55. package/docs/readmes/features/roles/researcher.md +164 -0
  56. package/docs/readmes/features/roles/reviewer.md +184 -0
  57. package/docs/readmes/features/roles/specifier.md +162 -0
  58. package/docs/readmes/features/roles/verifier.md +215 -0
  59. package/docs/readmes/features/schemas/README.md +178 -0
  60. package/docs/readmes/features/skills/README.md +63 -0
  61. package/docs/readmes/features/skills/brainstorming.md +96 -0
  62. package/docs/readmes/features/skills/debugging.md +148 -0
  63. package/docs/readmes/features/skills/design.md +120 -0
  64. package/docs/readmes/features/skills/prepare-next.md +109 -0
  65. package/docs/readmes/features/skills/run-audit.md +159 -0
  66. package/docs/readmes/features/skills/scan-project.md +109 -0
  67. package/docs/readmes/features/skills/self-audit.md +176 -0
  68. package/docs/readmes/features/skills/tdd.md +137 -0
  69. package/docs/readmes/features/skills/using-skills.md +92 -0
  70. package/docs/readmes/features/skills/verification.md +120 -0
  71. package/docs/readmes/features/skills/writing-plans.md +104 -0
  72. package/docs/readmes/features/tooling/README.md +320 -0
  73. package/docs/readmes/features/workflows/README.md +186 -0
  74. package/docs/readmes/features/workflows/author.md +181 -0
  75. package/docs/readmes/features/workflows/clarify.md +154 -0
  76. package/docs/readmes/features/workflows/design-review.md +171 -0
  77. package/docs/readmes/features/workflows/design.md +169 -0
  78. package/docs/readmes/features/workflows/discover.md +162 -0
  79. package/docs/readmes/features/workflows/execute.md +173 -0
  80. package/docs/readmes/features/workflows/learn.md +167 -0
  81. package/docs/readmes/features/workflows/plan-review.md +165 -0
  82. package/docs/readmes/features/workflows/plan.md +170 -0
  83. package/docs/readmes/features/workflows/prepare-next.md +167 -0
  84. package/docs/readmes/features/workflows/review.md +169 -0
  85. package/docs/readmes/features/workflows/run-audit.md +191 -0
  86. package/docs/readmes/features/workflows/spec-challenge.md +159 -0
  87. package/docs/readmes/features/workflows/specify.md +160 -0
  88. package/docs/readmes/features/workflows/verify.md +177 -0
  89. package/docs/readmes/packages/README.md +50 -0
  90. package/docs/readmes/packages/ajv.md +117 -0
  91. package/docs/readmes/packages/context-mode.md +118 -0
  92. package/docs/readmes/packages/gray-matter.md +116 -0
  93. package/docs/readmes/packages/node-test.md +137 -0
  94. package/docs/readmes/packages/yaml.md +112 -0
  95. package/docs/reference/configuration-reference.md +159 -0
  96. package/docs/reference/expertise-index.md +52 -0
  97. package/docs/reference/git-flow.md +43 -0
  98. package/docs/reference/hooks.md +87 -0
  99. package/docs/reference/host-exports.md +50 -0
  100. package/docs/reference/launch-checklist.md +172 -0
  101. package/docs/reference/marketplace-listings.md +76 -0
  102. package/docs/reference/release-process.md +34 -0
  103. package/docs/reference/roles-reference.md +77 -0
  104. package/docs/reference/skills.md +33 -0
  105. package/docs/reference/templates.md +29 -0
  106. package/docs/reference/tooling-cli.md +94 -0
  107. package/docs/truth-claims.yaml +222 -0
  108. package/expertise/PROGRESS.md +63 -0
  109. package/expertise/README.md +18 -0
  110. package/expertise/antipatterns/PROGRESS.md +56 -0
  111. package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
  112. package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
  113. package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
  114. package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
  115. package/expertise/antipatterns/backend/index.md +24 -0
  116. package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
  117. package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
  118. package/expertise/antipatterns/code/async-antipatterns.md +622 -0
  119. package/expertise/antipatterns/code/code-smells.md +1186 -0
  120. package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
  121. package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
  122. package/expertise/antipatterns/code/index.md +27 -0
  123. package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
  124. package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
  125. package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
  126. package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
  127. package/expertise/antipatterns/design/dark-patterns.md +1121 -0
  128. package/expertise/antipatterns/design/index.md +22 -0
  129. package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
  130. package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
  131. package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
  132. package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
  133. package/expertise/antipatterns/frontend/index.md +23 -0
  134. package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
  135. package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
  136. package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
  137. package/expertise/antipatterns/index.md +31 -0
  138. package/expertise/antipatterns/performance/index.md +20 -0
  139. package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
  140. package/expertise/antipatterns/performance/premature-optimization.md +623 -0
  141. package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
  142. package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
  143. package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
  144. package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
  145. package/expertise/antipatterns/process/index.md +23 -0
  146. package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
  147. package/expertise/antipatterns/security/index.md +20 -0
  148. package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
  149. package/expertise/antipatterns/security/security-theater.md +843 -0
  150. package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
  151. package/expertise/architecture/PROGRESS.md +70 -0
  152. package/expertise/architecture/data/caching-architecture.md +671 -0
  153. package/expertise/architecture/data/data-consistency.md +574 -0
  154. package/expertise/architecture/data/data-modeling.md +536 -0
  155. package/expertise/architecture/data/event-streams-and-queues.md +634 -0
  156. package/expertise/architecture/data/index.md +25 -0
  157. package/expertise/architecture/data/search-architecture.md +663 -0
  158. package/expertise/architecture/data/sql-vs-nosql.md +708 -0
  159. package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
  160. package/expertise/architecture/decisions/build-vs-buy.md +616 -0
  161. package/expertise/architecture/decisions/index.md +23 -0
  162. package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
  163. package/expertise/architecture/decisions/technology-selection.md +616 -0
  164. package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
  165. package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
  166. package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
  167. package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
  168. package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
  169. package/expertise/architecture/distributed/index.md +25 -0
  170. package/expertise/architecture/distributed/saga-pattern.md +797 -0
  171. package/expertise/architecture/foundations/architectural-thinking.md +460 -0
  172. package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
  173. package/expertise/architecture/foundations/design-principles-solid.md +649 -0
  174. package/expertise/architecture/foundations/domain-driven-design.md +719 -0
  175. package/expertise/architecture/foundations/index.md +25 -0
  176. package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
  177. package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
  178. package/expertise/architecture/index.md +34 -0
  179. package/expertise/architecture/integration/api-design-graphql.md +638 -0
  180. package/expertise/architecture/integration/api-design-grpc.md +804 -0
  181. package/expertise/architecture/integration/api-design-rest.md +892 -0
  182. package/expertise/architecture/integration/index.md +25 -0
  183. package/expertise/architecture/integration/third-party-integration.md +795 -0
  184. package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
  185. package/expertise/architecture/integration/websockets-realtime.md +791 -0
  186. package/expertise/architecture/mobile-architecture/index.md +22 -0
  187. package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
  188. package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
  189. package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
  190. package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
  191. package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
  192. package/expertise/architecture/patterns/event-driven.md +797 -0
  193. package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
  194. package/expertise/architecture/patterns/index.md +27 -0
  195. package/expertise/architecture/patterns/layered-architecture.md +736 -0
  196. package/expertise/architecture/patterns/microservices.md +753 -0
  197. package/expertise/architecture/patterns/modular-monolith.md +692 -0
  198. package/expertise/architecture/patterns/monolith.md +626 -0
  199. package/expertise/architecture/patterns/plugin-architecture.md +735 -0
  200. package/expertise/architecture/patterns/serverless.md +780 -0
  201. package/expertise/architecture/scaling/database-scaling.md +615 -0
  202. package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
  203. package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
  204. package/expertise/architecture/scaling/index.md +24 -0
  205. package/expertise/architecture/scaling/multi-tenancy.md +800 -0
  206. package/expertise/architecture/scaling/stateless-design.md +787 -0
  207. package/expertise/backend/embedded-firmware.md +625 -0
  208. package/expertise/backend/go.md +853 -0
  209. package/expertise/backend/index.md +24 -0
  210. package/expertise/backend/java-spring.md +448 -0
  211. package/expertise/backend/node-typescript.md +625 -0
  212. package/expertise/backend/python-fastapi.md +724 -0
  213. package/expertise/backend/rust.md +458 -0
  214. package/expertise/backend/solidity.md +711 -0
  215. package/expertise/composition-map.yaml +443 -0
  216. package/expertise/content/foundations/content-modeling.md +395 -0
  217. package/expertise/content/foundations/editorial-standards.md +449 -0
  218. package/expertise/content/foundations/index.md +24 -0
  219. package/expertise/content/foundations/microcopy.md +455 -0
  220. package/expertise/content/foundations/terminology-governance.md +509 -0
  221. package/expertise/content/index.md +34 -0
  222. package/expertise/content/patterns/accessibility-copy.md +518 -0
  223. package/expertise/content/patterns/index.md +24 -0
  224. package/expertise/content/patterns/notification-content.md +433 -0
  225. package/expertise/content/patterns/sample-content.md +486 -0
  226. package/expertise/content/patterns/state-copy.md +439 -0
  227. package/expertise/design/PROGRESS.md +58 -0
  228. package/expertise/design/disciplines/dark-mode-theming.md +577 -0
  229. package/expertise/design/disciplines/design-systems.md +595 -0
  230. package/expertise/design/disciplines/index.md +25 -0
  231. package/expertise/design/disciplines/information-architecture.md +800 -0
  232. package/expertise/design/disciplines/interaction-design.md +788 -0
  233. package/expertise/design/disciplines/responsive-design.md +552 -0
  234. package/expertise/design/disciplines/usability-testing.md +516 -0
  235. package/expertise/design/disciplines/user-research.md +792 -0
  236. package/expertise/design/foundations/accessibility-design.md +796 -0
  237. package/expertise/design/foundations/color-theory.md +797 -0
  238. package/expertise/design/foundations/iconography.md +795 -0
  239. package/expertise/design/foundations/index.md +26 -0
  240. package/expertise/design/foundations/motion-and-animation.md +653 -0
  241. package/expertise/design/foundations/rtl-design.md +585 -0
  242. package/expertise/design/foundations/spacing-and-layout.md +607 -0
  243. package/expertise/design/foundations/typography.md +800 -0
  244. package/expertise/design/foundations/visual-hierarchy.md +761 -0
  245. package/expertise/design/index.md +32 -0
  246. package/expertise/design/patterns/authentication-flows.md +474 -0
  247. package/expertise/design/patterns/content-consumption.md +789 -0
  248. package/expertise/design/patterns/data-display.md +618 -0
  249. package/expertise/design/patterns/e-commerce.md +1494 -0
  250. package/expertise/design/patterns/feedback-and-states.md +642 -0
  251. package/expertise/design/patterns/forms-and-input.md +819 -0
  252. package/expertise/design/patterns/gamification.md +801 -0
  253. package/expertise/design/patterns/index.md +31 -0
  254. package/expertise/design/patterns/microinteractions.md +449 -0
  255. package/expertise/design/patterns/navigation.md +800 -0
  256. package/expertise/design/patterns/notifications.md +705 -0
  257. package/expertise/design/patterns/onboarding.md +700 -0
  258. package/expertise/design/patterns/search-and-filter.md +601 -0
  259. package/expertise/design/patterns/settings-and-preferences.md +768 -0
  260. package/expertise/design/patterns/social-and-community.md +748 -0
  261. package/expertise/design/platforms/desktop-native.md +612 -0
  262. package/expertise/design/platforms/index.md +25 -0
  263. package/expertise/design/platforms/mobile-android.md +825 -0
  264. package/expertise/design/platforms/mobile-cross-platform.md +983 -0
  265. package/expertise/design/platforms/mobile-ios.md +699 -0
  266. package/expertise/design/platforms/tablet.md +794 -0
  267. package/expertise/design/platforms/web-dashboard.md +790 -0
  268. package/expertise/design/platforms/web-responsive.md +550 -0
  269. package/expertise/design/psychology/behavioral-nudges.md +449 -0
  270. package/expertise/design/psychology/cognitive-load.md +1191 -0
  271. package/expertise/design/psychology/error-psychology.md +778 -0
  272. package/expertise/design/psychology/index.md +22 -0
  273. package/expertise/design/psychology/persuasive-design.md +736 -0
  274. package/expertise/design/psychology/user-mental-models.md +623 -0
  275. package/expertise/design/tooling/open-pencil.md +266 -0
  276. package/expertise/frontend/angular.md +1073 -0
  277. package/expertise/frontend/desktop-electron.md +546 -0
  278. package/expertise/frontend/flutter.md +782 -0
  279. package/expertise/frontend/index.md +27 -0
  280. package/expertise/frontend/native-android.md +409 -0
  281. package/expertise/frontend/native-ios.md +490 -0
  282. package/expertise/frontend/react-native.md +1160 -0
  283. package/expertise/frontend/react.md +808 -0
  284. package/expertise/frontend/vue.md +1089 -0
  285. package/expertise/humanize/domain-rules-code.md +79 -0
  286. package/expertise/humanize/domain-rules-content.md +67 -0
  287. package/expertise/humanize/domain-rules-technical-docs.md +56 -0
  288. package/expertise/humanize/index.md +35 -0
  289. package/expertise/humanize/self-audit-checklist.md +87 -0
  290. package/expertise/humanize/sentence-patterns.md +218 -0
  291. package/expertise/humanize/vocabulary-blacklist.md +105 -0
  292. package/expertise/i18n/PROGRESS.md +65 -0
  293. package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
  294. package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
  295. package/expertise/i18n/advanced/complex-scripts.md +30 -0
  296. package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
  297. package/expertise/i18n/advanced/testing-i18n.md +28 -0
  298. package/expertise/i18n/content/content-adaptation.md +23 -0
  299. package/expertise/i18n/content/locale-specific-formatting.md +23 -0
  300. package/expertise/i18n/content/machine-translation-integration.md +28 -0
  301. package/expertise/i18n/content/translation-management.md +29 -0
  302. package/expertise/i18n/foundations/date-time-calendars.md +67 -0
  303. package/expertise/i18n/foundations/i18n-architecture.md +272 -0
  304. package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
  305. package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
  306. package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
  307. package/expertise/i18n/foundations/string-externalization.md +236 -0
  308. package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
  309. package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
  310. package/expertise/i18n/index.md +38 -0
  311. package/expertise/i18n/platform/backend-i18n.md +31 -0
  312. package/expertise/i18n/platform/flutter-i18n.md +148 -0
  313. package/expertise/i18n/platform/native-android-i18n.md +36 -0
  314. package/expertise/i18n/platform/native-ios-i18n.md +36 -0
  315. package/expertise/i18n/platform/react-i18n.md +103 -0
  316. package/expertise/i18n/platform/web-css-i18n.md +81 -0
  317. package/expertise/i18n/rtl/arabic-specific.md +175 -0
  318. package/expertise/i18n/rtl/hebrew-specific.md +149 -0
  319. package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
  320. package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
  321. package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
  322. package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
  323. package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
  324. package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
  325. package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
  326. package/expertise/i18n/rtl/rtl-typography.md +160 -0
  327. package/expertise/index.md +113 -0
  328. package/expertise/index.yaml +216 -0
  329. package/expertise/infrastructure/cloud-aws.md +597 -0
  330. package/expertise/infrastructure/cloud-gcp.md +599 -0
  331. package/expertise/infrastructure/cybersecurity.md +816 -0
  332. package/expertise/infrastructure/database-mongodb.md +447 -0
  333. package/expertise/infrastructure/database-postgres.md +400 -0
  334. package/expertise/infrastructure/devops-cicd.md +787 -0
  335. package/expertise/infrastructure/index.md +27 -0
  336. package/expertise/performance/PROGRESS.md +50 -0
  337. package/expertise/performance/backend/api-latency.md +1204 -0
  338. package/expertise/performance/backend/background-jobs.md +506 -0
  339. package/expertise/performance/backend/connection-pooling.md +1209 -0
  340. package/expertise/performance/backend/database-query-optimization.md +515 -0
  341. package/expertise/performance/backend/index.md +23 -0
  342. package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
  343. package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
  344. package/expertise/performance/foundations/caching-strategies.md +489 -0
  345. package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
  346. package/expertise/performance/foundations/index.md +24 -0
  347. package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
  348. package/expertise/performance/foundations/memory-management.md +964 -0
  349. package/expertise/performance/foundations/performance-budgets.md +1314 -0
  350. package/expertise/performance/index.md +31 -0
  351. package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
  352. package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
  353. package/expertise/performance/infrastructure/index.md +22 -0
  354. package/expertise/performance/infrastructure/load-balancing.md +1081 -0
  355. package/expertise/performance/infrastructure/observability.md +1079 -0
  356. package/expertise/performance/mobile/index.md +23 -0
  357. package/expertise/performance/mobile/mobile-animations.md +544 -0
  358. package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
  359. package/expertise/performance/mobile/mobile-network.md +452 -0
  360. package/expertise/performance/mobile/mobile-rendering.md +599 -0
  361. package/expertise/performance/mobile/mobile-startup-time.md +505 -0
  362. package/expertise/performance/platform-specific/flutter-performance.md +647 -0
  363. package/expertise/performance/platform-specific/index.md +22 -0
  364. package/expertise/performance/platform-specific/node-performance.md +1307 -0
  365. package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
  366. package/expertise/performance/platform-specific/react-performance.md +1403 -0
  367. package/expertise/performance/web/bundle-optimization.md +1239 -0
  368. package/expertise/performance/web/image-and-media.md +636 -0
  369. package/expertise/performance/web/index.md +24 -0
  370. package/expertise/performance/web/network-optimization.md +1133 -0
  371. package/expertise/performance/web/rendering-performance.md +1098 -0
  372. package/expertise/performance/web/ssr-and-hydration.md +918 -0
  373. package/expertise/performance/web/web-vitals.md +1374 -0
  374. package/expertise/quality/accessibility.md +985 -0
  375. package/expertise/quality/evidence-based-verification.md +499 -0
  376. package/expertise/quality/index.md +24 -0
  377. package/expertise/quality/ml-model-audit.md +614 -0
  378. package/expertise/quality/performance.md +600 -0
  379. package/expertise/quality/testing-api.md +891 -0
  380. package/expertise/quality/testing-mobile.md +496 -0
  381. package/expertise/quality/testing-web.md +849 -0
  382. package/expertise/security/PROGRESS.md +54 -0
  383. package/expertise/security/agentic-identity.md +540 -0
  384. package/expertise/security/compliance-frameworks.md +601 -0
  385. package/expertise/security/data/data-encryption.md +364 -0
  386. package/expertise/security/data/data-privacy-gdpr.md +692 -0
  387. package/expertise/security/data/database-security.md +1171 -0
  388. package/expertise/security/data/index.md +22 -0
  389. package/expertise/security/data/pii-handling.md +531 -0
  390. package/expertise/security/foundations/authentication.md +1041 -0
  391. package/expertise/security/foundations/authorization.md +603 -0
  392. package/expertise/security/foundations/cryptography.md +1001 -0
  393. package/expertise/security/foundations/index.md +25 -0
  394. package/expertise/security/foundations/owasp-top-10.md +1354 -0
  395. package/expertise/security/foundations/secrets-management.md +1217 -0
  396. package/expertise/security/foundations/secure-sdlc.md +700 -0
  397. package/expertise/security/foundations/supply-chain-security.md +698 -0
  398. package/expertise/security/index.md +31 -0
  399. package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
  400. package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
  401. package/expertise/security/infrastructure/container-security.md +721 -0
  402. package/expertise/security/infrastructure/incident-response.md +1295 -0
  403. package/expertise/security/infrastructure/index.md +24 -0
  404. package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
  405. package/expertise/security/infrastructure/network-security.md +1337 -0
  406. package/expertise/security/mobile/index.md +23 -0
  407. package/expertise/security/mobile/mobile-android-security.md +1218 -0
  408. package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
  409. package/expertise/security/mobile/mobile-data-storage.md +1265 -0
  410. package/expertise/security/mobile/mobile-ios-security.md +1401 -0
  411. package/expertise/security/mobile/mobile-network-security.md +1520 -0
  412. package/expertise/security/smart-contract-security.md +594 -0
  413. package/expertise/security/testing/index.md +22 -0
  414. package/expertise/security/testing/penetration-testing.md +1258 -0
  415. package/expertise/security/testing/security-code-review.md +1765 -0
  416. package/expertise/security/testing/threat-modeling.md +1074 -0
  417. package/expertise/security/testing/vulnerability-scanning.md +1062 -0
  418. package/expertise/security/web/api-security.md +586 -0
  419. package/expertise/security/web/cors-and-headers.md +433 -0
  420. package/expertise/security/web/csrf.md +562 -0
  421. package/expertise/security/web/file-upload.md +1477 -0
  422. package/expertise/security/web/index.md +25 -0
  423. package/expertise/security/web/injection.md +1375 -0
  424. package/expertise/security/web/session-management.md +1101 -0
  425. package/expertise/security/web/xss.md +1158 -0
  426. package/exports/README.md +17 -0
  427. package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
  428. package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
  429. package/exports/hosts/claude/.claude/agents/designer.md +55 -0
  430. package/exports/hosts/claude/.claude/agents/executor.md +55 -0
  431. package/exports/hosts/claude/.claude/agents/learner.md +51 -0
  432. package/exports/hosts/claude/.claude/agents/planner.md +53 -0
  433. package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
  434. package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
  435. package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
  436. package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
  437. package/exports/hosts/claude/.claude/commands/author.md +42 -0
  438. package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
  439. package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
  440. package/exports/hosts/claude/.claude/commands/design.md +44 -0
  441. package/exports/hosts/claude/.claude/commands/discover.md +37 -0
  442. package/exports/hosts/claude/.claude/commands/execute.md +48 -0
  443. package/exports/hosts/claude/.claude/commands/learn.md +38 -0
  444. package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
  445. package/exports/hosts/claude/.claude/commands/plan.md +39 -0
  446. package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
  447. package/exports/hosts/claude/.claude/commands/review.md +40 -0
  448. package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
  449. package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
  450. package/exports/hosts/claude/.claude/commands/specify.md +38 -0
  451. package/exports/hosts/claude/.claude/commands/verify.md +37 -0
  452. package/exports/hosts/claude/.claude/settings.json +34 -0
  453. package/exports/hosts/claude/CLAUDE.md +19 -0
  454. package/exports/hosts/claude/export.manifest.json +38 -0
  455. package/exports/hosts/claude/host-package.json +67 -0
  456. package/exports/hosts/codex/AGENTS.md +19 -0
  457. package/exports/hosts/codex/export.manifest.json +38 -0
  458. package/exports/hosts/codex/host-package.json +41 -0
  459. package/exports/hosts/cursor/.cursor/hooks.json +16 -0
  460. package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
  461. package/exports/hosts/cursor/export.manifest.json +38 -0
  462. package/exports/hosts/cursor/host-package.json +42 -0
  463. package/exports/hosts/gemini/GEMINI.md +19 -0
  464. package/exports/hosts/gemini/export.manifest.json +38 -0
  465. package/exports/hosts/gemini/host-package.json +41 -0
  466. package/hooks/README.md +18 -0
  467. package/hooks/definitions/loop_cap_guard.yaml +21 -0
  468. package/hooks/definitions/post_tool_capture.yaml +24 -0
  469. package/hooks/definitions/pre_compact_summary.yaml +19 -0
  470. package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
  471. package/hooks/definitions/protected_path_write_guard.yaml +19 -0
  472. package/hooks/definitions/session_start.yaml +19 -0
  473. package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
  474. package/hooks/loop-cap-guard +17 -0
  475. package/hooks/post-tool-lint +36 -0
  476. package/hooks/protected-path-write-guard +17 -0
  477. package/hooks/session-start +41 -0
  478. package/llms-full.txt +2355 -0
  479. package/llms.txt +43 -0
  480. package/package.json +79 -0
  481. package/roles/README.md +20 -0
  482. package/roles/clarifier.md +42 -0
  483. package/roles/content-author.md +63 -0
  484. package/roles/designer.md +55 -0
  485. package/roles/executor.md +55 -0
  486. package/roles/learner.md +51 -0
  487. package/roles/planner.md +53 -0
  488. package/roles/researcher.md +43 -0
  489. package/roles/reviewer.md +54 -0
  490. package/roles/specifier.md +47 -0
  491. package/roles/verifier.md +71 -0
  492. package/schemas/README.md +24 -0
  493. package/schemas/accepted-learning.schema.json +20 -0
  494. package/schemas/author-artifact.schema.json +156 -0
  495. package/schemas/clarification.schema.json +19 -0
  496. package/schemas/design-artifact.schema.json +80 -0
  497. package/schemas/docs-claim.schema.json +18 -0
  498. package/schemas/export-manifest.schema.json +20 -0
  499. package/schemas/hook.schema.json +67 -0
  500. package/schemas/host-export-package.schema.json +18 -0
  501. package/schemas/implementation-plan.schema.json +19 -0
  502. package/schemas/proposed-learning.schema.json +19 -0
  503. package/schemas/research.schema.json +18 -0
  504. package/schemas/review.schema.json +29 -0
  505. package/schemas/run-manifest.schema.json +18 -0
  506. package/schemas/spec-challenge.schema.json +18 -0
  507. package/schemas/spec.schema.json +20 -0
  508. package/schemas/usage.schema.json +102 -0
  509. package/schemas/verification-proof.schema.json +29 -0
  510. package/schemas/wazir-manifest.schema.json +173 -0
  511. package/skills/README.md +40 -0
  512. package/skills/brainstorming/SKILL.md +77 -0
  513. package/skills/debugging/SKILL.md +50 -0
  514. package/skills/design/SKILL.md +61 -0
  515. package/skills/dispatching-parallel-agents/SKILL.md +128 -0
  516. package/skills/executing-plans/SKILL.md +70 -0
  517. package/skills/finishing-a-development-branch/SKILL.md +169 -0
  518. package/skills/humanize/SKILL.md +123 -0
  519. package/skills/init-pipeline/SKILL.md +124 -0
  520. package/skills/prepare-next/SKILL.md +20 -0
  521. package/skills/receiving-code-review/SKILL.md +123 -0
  522. package/skills/requesting-code-review/SKILL.md +105 -0
  523. package/skills/requesting-code-review/code-reviewer.md +108 -0
  524. package/skills/run-audit/SKILL.md +197 -0
  525. package/skills/scan-project/SKILL.md +41 -0
  526. package/skills/self-audit/SKILL.md +153 -0
  527. package/skills/subagent-driven-development/SKILL.md +154 -0
  528. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  529. package/skills/subagent-driven-development/implementer-prompt.md +102 -0
  530. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  531. package/skills/tdd/SKILL.md +23 -0
  532. package/skills/using-git-worktrees/SKILL.md +163 -0
  533. package/skills/using-skills/SKILL.md +95 -0
  534. package/skills/verification/SKILL.md +22 -0
  535. package/skills/wazir/SKILL.md +463 -0
  536. package/skills/writing-plans/SKILL.md +30 -0
  537. package/skills/writing-skills/SKILL.md +157 -0
  538. package/skills/writing-skills/anthropic-best-practices.md +122 -0
  539. package/skills/writing-skills/persuasion-principles.md +50 -0
  540. package/templates/README.md +20 -0
  541. package/templates/artifacts/README.md +10 -0
  542. package/templates/artifacts/accepted-learning.md +19 -0
  543. package/templates/artifacts/accepted-learning.template.json +12 -0
  544. package/templates/artifacts/author.md +74 -0
  545. package/templates/artifacts/author.template.json +19 -0
  546. package/templates/artifacts/clarification.md +21 -0
  547. package/templates/artifacts/clarification.template.json +12 -0
  548. package/templates/artifacts/execute-notes.md +19 -0
  549. package/templates/artifacts/implementation-plan.md +21 -0
  550. package/templates/artifacts/implementation-plan.template.json +11 -0
  551. package/templates/artifacts/learning-proposal.md +19 -0
  552. package/templates/artifacts/next-run-handoff.md +21 -0
  553. package/templates/artifacts/plan-review.md +19 -0
  554. package/templates/artifacts/proposed-learning.template.json +12 -0
  555. package/templates/artifacts/research.md +21 -0
  556. package/templates/artifacts/research.template.json +12 -0
  557. package/templates/artifacts/review-findings.md +19 -0
  558. package/templates/artifacts/review.template.json +11 -0
  559. package/templates/artifacts/run-manifest.template.json +8 -0
  560. package/templates/artifacts/spec-challenge.md +19 -0
  561. package/templates/artifacts/spec-challenge.template.json +11 -0
  562. package/templates/artifacts/spec.md +21 -0
  563. package/templates/artifacts/spec.template.json +12 -0
  564. package/templates/artifacts/verification-proof.md +19 -0
  565. package/templates/artifacts/verification-proof.template.json +11 -0
  566. package/templates/examples/accepted-learning.example.json +14 -0
  567. package/templates/examples/author.example.json +152 -0
  568. package/templates/examples/clarification.example.json +15 -0
  569. package/templates/examples/docs-claim.example.json +8 -0
  570. package/templates/examples/export-manifest.example.json +7 -0
  571. package/templates/examples/host-export-package.example.json +11 -0
  572. package/templates/examples/implementation-plan.example.json +17 -0
  573. package/templates/examples/proposed-learning.example.json +13 -0
  574. package/templates/examples/research.example.json +15 -0
  575. package/templates/examples/research.example.md +6 -0
  576. package/templates/examples/review.example.json +17 -0
  577. package/templates/examples/run-manifest.example.json +9 -0
  578. package/templates/examples/spec-challenge.example.json +14 -0
  579. package/templates/examples/spec.example.json +21 -0
  580. package/templates/examples/verification-proof.example.json +21 -0
  581. package/templates/examples/wazir-manifest.example.yaml +65 -0
  582. package/templates/task-definition-schema.md +99 -0
  583. package/tooling/README.md +20 -0
  584. package/tooling/src/adapters/context-mode.js +50 -0
  585. package/tooling/src/capture/command.js +376 -0
  586. package/tooling/src/capture/store.js +99 -0
  587. package/tooling/src/capture/usage.js +270 -0
  588. package/tooling/src/checks/branches.js +50 -0
  589. package/tooling/src/checks/brand-truth.js +110 -0
  590. package/tooling/src/checks/changelog.js +231 -0
  591. package/tooling/src/checks/command-registry.js +36 -0
  592. package/tooling/src/checks/commits.js +102 -0
  593. package/tooling/src/checks/docs-drift.js +103 -0
  594. package/tooling/src/checks/docs-truth.js +201 -0
  595. package/tooling/src/checks/runtime-surface.js +156 -0
  596. package/tooling/src/cli.js +116 -0
  597. package/tooling/src/command-options.js +56 -0
  598. package/tooling/src/commands/validate.js +320 -0
  599. package/tooling/src/doctor/command.js +91 -0
  600. package/tooling/src/export/command.js +77 -0
  601. package/tooling/src/export/compiler.js +498 -0
  602. package/tooling/src/guards/loop-cap-guard.js +52 -0
  603. package/tooling/src/guards/protected-path-write-guard.js +67 -0
  604. package/tooling/src/index/command.js +152 -0
  605. package/tooling/src/index/storage.js +1061 -0
  606. package/tooling/src/index/summarizers.js +261 -0
  607. package/tooling/src/loaders.js +18 -0
  608. package/tooling/src/project-root.js +22 -0
  609. package/tooling/src/recall/command.js +225 -0
  610. package/tooling/src/schema-validator.js +30 -0
  611. package/tooling/src/state-root.js +40 -0
  612. package/tooling/src/status/command.js +71 -0
  613. package/wazir.manifest.yaml +135 -0
  614. package/workflows/README.md +19 -0
  615. package/workflows/author.md +42 -0
  616. package/workflows/clarify.md +38 -0
  617. package/workflows/design-review.md +46 -0
  618. package/workflows/design.md +44 -0
  619. package/workflows/discover.md +37 -0
  620. package/workflows/execute.md +48 -0
  621. package/workflows/learn.md +38 -0
  622. package/workflows/plan-review.md +42 -0
  623. package/workflows/plan.md +39 -0
  624. package/workflows/prepare-next.md +37 -0
  625. package/workflows/review.md +40 -0
  626. package/workflows/run-audit.md +41 -0
  627. package/workflows/spec-challenge.md +41 -0
  628. package/workflows/specify.md +38 -0
  629. package/workflows/verify.md +37 -0
@@ -0,0 +1,801 @@
1
+ # Gamification Patterns
2
+
3
+ > Design expertise module for gamification mechanics, ethical implementation,
4
+ > and evidence-based engagement design across digital products.
5
+
6
+ ---
7
+
8
+ ## 1. Pattern Anatomy
9
+
10
+ Gamification applies game mechanics to non-game contexts to drive engagement
11
+ and behavior change. Each mechanic targets distinct psychological drivers
12
+ mapped to Yu-Kai Chou's Octalysis Core Drives.
13
+
14
+ ### 1.1 Points / XP
15
+
16
+ **Purpose:** Quantify user effort and provide continuous progress feedback.
17
+ **Core Drive:** Development and Accomplishment (CD2).
18
+
19
+ - Display XP gain immediately after action (+25 XP) with cumulative total.
20
+ - Use an XP bar to visualize proximity to the next milestone.
21
+ - Calibrate inflation: 5-7 actions per early level, scaling logarithmically.
22
+ - Fixed XP for predictable tasks; variable XP for discovery-based actions.
23
+ - Variants: skill-specific XP, decay XP (decreases over time to encourage
24
+ sustained engagement), bonus multipliers for streaks or difficulty.
25
+
26
+ ### 1.2 Badges / Achievements
27
+
28
+ **Purpose:** Recognize accomplishments and signal expertise to self and others.
29
+ **Core Drive:** CD2 + Social Influence and Relatedness (CD5).
30
+
31
+ - Every badge must correspond to a meaningful behavior. "You opened the app!"
32
+ erodes trust and devalues all other badges.
33
+ - Mix visible badges (goal-setting) with hidden ones (surprise, CD7).
34
+ - Tiered badges (bronze/silver/gold) mark escalating mastery. Stack Overflow
35
+ maintains ~90 badges across three tiers, each tied to valuable community
36
+ behavior.
37
+ - Badge art must be visually distinct and scannable at small sizes (24x24px
38
+ minimum for mobile).
39
+ - Variants: collection badges, seasonal/event badges (CD6 Scarcity),
40
+ collaborative badges earned by teams.
41
+
42
+ ### 1.3 Levels / Tiers
43
+
44
+ **Purpose:** Structure the journey into progressive stages unlocking
45
+ capabilities and signaling status.
46
+ **Core Drive:** CD2 + Ownership and Possession (CD4).
47
+
48
+ - Early levels come quickly (1-3 sessions) to establish momentum.
49
+ - Mid-game feels challenging but achievable (the "flow" zone).
50
+ - Late-game rewards dedication without being unattainable.
51
+ - Stack Overflow's privilege system is the gold standard: 15 rep = upvote,
52
+ 50 = comment, 2000 = edit, 10000 = moderator tools. Each unlock is a trust
53
+ signal that gives the user real capabilities.
54
+ - Always show what the next level unlocks to create forward momentum.
55
+ - Avoid 100+ levels with no meaningful differentiation between them.
56
+ - Variants: prestige systems (reset with marker), parallel leveling (separate
57
+ tracks per skill), named tiers (Duolingo leagues: Bronze through Diamond).
58
+
59
+ ### 1.4 Streaks
60
+
61
+ **Purpose:** Encourage consistent daily engagement via unbroken chains.
62
+ **Core Drive:** Loss and Avoidance (CD8) + CD4.
63
+
64
+ - The most powerful and most dangerous mechanic. Users with 7+ day streaks
65
+ are 2.3x more likely to engage daily, but streak anxiety causes real
66
+ psychological harm.
67
+ - Always provide recovery mechanics. Duolingo's streak freeze reduced churn
68
+ by 21% among at-risk users.
69
+ - Consider "streak shields" for weekends/holidays. Offer weekly streaks as a
70
+ less intense alternative.
71
+ - Frame around upcoming milestones ("3 more days to your 30-day badge!")
72
+ rather than around loss ("You're losing your streak!").
73
+ - Variants: activity streaks (any qualifying action), goal streaks (specific
74
+ threshold), weekly streaks (more forgiving cadence), team streaks.
75
+
76
+ ### 1.5 Leaderboards
77
+
78
+ **Purpose:** Leverage social comparison and competition.
79
+ **Core Drive:** CD5.
80
+
81
+ - Global leaderboards discourage 99% of users. Only the top 1% benefits;
82
+ the rest see an insurmountable gap.
83
+ - Duolingo solves this with cohort-based leagues (~30 users, similar activity
84
+ levels). Weekly resets and promotion/demotion keep competition relevant.
85
+ - Show the user's position and the 2-3 users above/below (relative positioning
86
+ is more motivating than absolute rank).
87
+ - Allow filtering by friends, region, and time period.
88
+ - Consider anonymizing or removing leaderboards for users who opt out.
89
+ - Variants: sprint leaderboards (24-hour or weekly), category leaderboards,
90
+ team leaderboards, percentile displays ("You're in the top 15%").
91
+
92
+ ### 1.6 Progress Bars
93
+
94
+ **Purpose:** Visualize completion and leverage the endowed progress effect.
95
+ **Core Drive:** CD2 + Zeigarnik Effect.
96
+
97
+ - LinkedIn's profile completion bar boosted completion by 55%.
98
+ - Start the bar slightly filled (10-15%) to trigger the endowed progress
99
+ effect (increases completion by up to 78%).
100
+ - Use clear labels showing both percentage and remaining steps.
101
+ - For long journeys, break into segment milestones. Avoid bars that stall
102
+ or move backwards.
103
+ - Variants: segmented progress, circular/radial progress, step indicators,
104
+ skill trees (branching visualization).
105
+
106
+ ### 1.7 Challenges / Quests
107
+
108
+ **Purpose:** Structured, time-bound goals creating narrative engagement.
109
+ **Core Drive:** Epic Meaning and Calling (CD1) + Empowerment of Creativity
110
+ and Feedback (CD3).
111
+
112
+ - Offer a mix of difficulty levels so users can self-select appropriate
113
+ challenges.
114
+ - Daily challenges drive habitual engagement; weekly challenges sustain
115
+ deeper engagement.
116
+ - Nike Run Club's guided runs function as narrative quests: coached audio
117
+ creates a story arc around each run.
118
+ - Allow abandonment without penalty to preserve autonomy.
119
+ - Variants: daily quests (refreshed every 24 hours), seasonal events,
120
+ chain quests (sequential), community challenges (collective goals).
121
+
122
+ ### 1.8 Rewards
123
+
124
+ **Purpose:** Provide tangible or intangible value for desired behaviors.
125
+ **Core Drive:** CD4 + Unpredictability and Curiosity (CD7).
126
+
127
+ - Variable reward schedules (CD7) are more engaging than fixed. Mix
128
+ predictable and surprise rewards.
129
+ - Intrinsic rewards (mastery, autonomy, purpose) sustain engagement longer
130
+ than extrinsic. Use extrinsic to bootstrap, then transition to intrinsic.
131
+ - Rewards must feel proportional to effort. Disproportionate rewards break
132
+ the economy and user trust.
133
+ - Never monetize achievement signals. Monetize cosmetics and convenience
134
+ instead.
135
+
136
+ ### 1.9 Unlockables
137
+
138
+ **Purpose:** Gate content behind milestones to create aspirational goals.
139
+ **Core Drive:** Scarcity and Impatience (CD6) + CD2.
140
+
141
+ - Show locked items with clear unlock criteria ("Reach Level 10 to unlock").
142
+ Use silhouettes, blurred previews, or lock icons.
143
+ - Space unlockables across the journey to sustain mid-game motivation.
144
+ - Never gate essential functionality behind gamification walls.
145
+ - Variants: cosmetic unlockables (avatar items, themes), functional
146
+ unlockables (tools, permissions), content unlockables (lessons, levels),
147
+ social unlockables (moderation, group creation).
148
+
149
+ ### 1.10 Onboarding Gamification
150
+
151
+ **Purpose:** Make first-use setup rewarding rather than tedious.
152
+ **Core Drive:** CD2 + CD3.
153
+
154
+ - Engineer the first achievement within 60 seconds of first use.
155
+ - Duolingo places the first lesson before account creation -- users experience
156
+ the reward loop before committing.
157
+ - Use checklists of 5-7 items (not 15+). Calibrate XP so the first level-up
158
+ happens during onboarding, creating an immediate emotional payoff.
159
+ - LinkedIn's setup flow pairs each step with motivational copy ("Users with
160
+ complete profiles are 40x more likely to receive opportunities").
161
+
162
+ ---
163
+
164
+ ## 2. Best-in-Class Examples
165
+
166
+ ### 2.1 Duolingo
167
+
168
+ 34M daily / 128M+ monthly users (Q2 2025). Streaks make users 3x more likely
169
+ to return daily. Streak freezes reduced churn 21%. XP leaderboards drive 40%
170
+ more engagement. Badges boost completion 30%. Researchers identified 22
171
+ distinct gamification elements. Lesson-before-signup lets users experience
172
+ the reward loop before committing. The owl mascot (Duo) provides emotional
173
+ connection via both encouragement and playful guilt in push notifications.
174
+
175
+ **Lesson:** Layer multiple reinforcing mechanics; no single mechanic carries
176
+ the full weight.
177
+
178
+ ### 2.2 GitHub Contributions
179
+
180
+ Contribution heatmap is streak visualization without punitive mechanics --
181
+ green squares show activity intensity over 365 days without penalizing
182
+ inactivity. Badges (Pull Shark, Galaxy Brain, Pair Extraordinaire) reward
183
+ collaboration behaviors, tiered from default to gold. No leaderboards --
184
+ developer culture values craftsmanship over competition. Reputation built
185
+ through inherent contribution value (stars, forks, community adoption).
186
+
187
+ **Lesson:** Gamification does not require competition. Visibility and
188
+ recognition drive engagement without aggressive mechanics.
189
+
190
+ **Caveat:** Research (2023) found badges "poorly correlated with developers'
191
+ qualities such as timeliness and collaboration."
192
+
193
+ ### 2.3 Nike Run Club
194
+
195
+ Guided runs as narrative quests with professional audio coaching that creates
196
+ story arcs around runs. Milestone badges (first 5K, first 10K, 100 miles)
197
+ tied to real physical achievement. Friend-filterable leaderboards keep
198
+ competition personal. Post-run shareable celebration cards drive viral growth.
199
+ Instant split-time feedback provides continuous reinforcement during activity.
200
+
201
+ **Lesson:** Tie gamification to real-world accomplishment. Badges mean
202
+ something because they represent genuine physical achievement.
203
+
204
+ ### 2.4 Fitbit
205
+
206
+ 10,000-step daily goal creates a universally understood target. Hourly
207
+ micro-goals ("250 steps to go this hour!") break large goals into achievable
208
+ chunks. Friend challenges (Weekend Warrior, Workweek Hustle) add social
209
+ competition without requiring simultaneous activity. Lifetime distance badges
210
+ (Penguin March at 70 miles, Serengeti at 500) provide long-term aspiration.
211
+ Celebratory wrist haptics deliver instant tactile feedback.
212
+
213
+ **Lesson:** Break macro-goals into micro-goals with immediate feedback.
214
+
215
+ ### 2.5 Khan Academy
216
+
217
+ Mastery system with skill-tree visualization showing learning dependencies.
218
+ Five badge tiers (meteorite through black hole) with increasing rarity.
219
+ Energy points normalize both video consumption and exercise practice. Mastery
220
+ percentage per topic provides granular progress beyond simple completion.
221
+ Avatar customization with earned currency creates ownership and identity
222
+ investment.
223
+
224
+ **Lesson:** Gamification should reinforce mastery, not just completion.
225
+
226
+ ### 2.6 Stack Overflow
227
+
228
+ Reputation unlocks real capabilities: 15 rep = upvote, 50 = comment,
229
+ 125 = downvote, 2000 = edit others' posts, 10000 = moderator tools,
230
+ 20000 = trusted user. Over 66M badges awarded to 8.6M+ users. Bounty system
231
+ lets users spend reputation to incentivize answers, creating a functional
232
+ economy. Inspired by Xbox achievements (per co-founder Jeff Atwood). Tag
233
+ scores show expertise depth in specific technologies.
234
+
235
+ **Lesson:** The most sustainable gamification ties rewards to real capability
236
+ and trust. Gamification is the governance model itself.
237
+
238
+ ### 2.7 LinkedIn
239
+
240
+ Profile completion bar increased setup by 55%. Social proof copy ("Users with
241
+ complete profiles are 40x more likely to receive opportunities") drives action
242
+ alongside the progress bar. One-click endorsements gamify peer validation.
243
+ Profile view statistics ("47 views this week") leverage curiosity (CD7) to
244
+ drive return visits. "All-Star" profile badge serves as completion reward and
245
+ status signal.
246
+
247
+ **Lesson:** Gamification works best when it directly serves the user's
248
+ real-world goals. The game serves the goal, not the other way around.
249
+
250
+ ---
251
+
252
+ ## 3. User Flow Mapping
253
+
254
+ ### 3.1 Primary Progression: First Achievement to Mastery
255
+
256
+ **Day 1 -- First Session:**
257
+ - Guided tour with interactive elements
258
+ - First win engineered within 60 seconds
259
+ - Profile setup with progress bar
260
+ - Onboarding checklist (5-7 items)
261
+ - Session ends with unfinished streak (Day 1 of N)
262
+
263
+ **Days 2-14 -- Habit Building:**
264
+ - Daily streaks begin on Day 2
265
+ - First badge earned around Day 3
266
+ - XP multipliers for consistency
267
+ - Push notification cadence: daily reminders
268
+
269
+ **Weeks 2-8 -- Level Progression:**
270
+ - Level-ups with meaningful unlocks
271
+ - Harder challenges introduced gradually
272
+ - League/leaderboard placement activated
273
+ - Skill branching begins
274
+
275
+ **Weeks 8-24 -- Social Competition:**
276
+ - Leaderboard climbing and weekly sprints
277
+ - Friend challenges and seasonal events
278
+ - Cohort promotions and demotions
279
+
280
+ **Months 3-6 -- Social Contribution:**
281
+ - Mentoring new users, content creation
282
+ - Team challenges and collaborative achievements
283
+ - Transition from extrinsic to intrinsic motivation
284
+
285
+ **Months 6+ -- Mastery:**
286
+ - Rare badges and prestige tiers
287
+ - Community leadership roles
288
+ - Legacy rewards and expertise signaling
289
+
290
+ **Critical transitions:**
291
+ - Day 1 to Day 2 is the biggest drop-off. End first session with an
292
+ unfinished streak to create return motivation.
293
+ - Day 7 streak = 2.3x retention. Celebrate with a meaningful badge.
294
+ - Activate social features at Week 2, not during onboarding.
295
+ - Month 1-3: transition from extrinsic rewards to intrinsic motivation.
296
+
297
+ ### 3.2 Lapsed User Re-engagement
298
+
299
+ **Lapse detected** (inactive 3+ days):
300
+ - Day 3: Gentle push notification
301
+ - Day 7: "We miss you" email
302
+ - Day 10: Time-boxed XP multiplier offer (2x for 3 days)
303
+ - Day 14: Social proof ("Your friends passed you")
304
+
305
+ **Re-onboarding flow:**
306
+ - Reduced initial goals (lower the bar)
307
+ - "Welcome back" celebration (never shame)
308
+ - Streak repair offer or partial credit
309
+ - Graduated re-entry at lower difficulty
310
+ - Quick win within first 30 seconds
311
+
312
+ Re-engaged users are more valuable than newly acquired ones. Never use guilt
313
+ language ("You've been gone for 23 days"). Frame return as positive.
314
+
315
+ ### 3.3 Streak Recovery Flow
316
+
317
+ 1. **Grace period** (0-24 hours): User has time to complete action and
318
+ maintain streak without penalty.
319
+ 2. **If action completed:** Streak saved, continue as normal.
320
+ 3. **If grace expires:** Check for streak freeze item.
321
+ - Available: Auto-apply freeze, notify user with encouraging message.
322
+ - Unavailable: Streak breaks.
323
+ 4. **Recovery options on break:**
324
+ - Repair streak for virtual currency (gems/coins)
325
+ - Start fresh with "comeback bonus" (XP multiplier)
326
+ - Accept reset with dignity
327
+ 5. **Compassionate reset messaging:**
328
+ - "Streaks reset, but your progress stays."
329
+ - Show total XP earned and badges kept.
330
+ - Offer easy win to start new streak immediately.
331
+ - Maintain "longest streak" record permanently.
332
+
333
+ ---
334
+
335
+ ## 4. Micro-Interactions
336
+
337
+ Micro-interactions are the sensory feedback that makes gamification feel
338
+ responsive. They are the difference between tracking progress and celebrating
339
+ it.
340
+
341
+ ### 4.1 XP Counter Animation
342
+
343
+ **Sequence:** XP increment appears near action point (+25 XP) with upward
344
+ float and fade (200ms ease-out). Number flies toward header XP counter (300ms
345
+ arc path). Counter performs bump animation (scale 1.0 to 1.15 to 1.0, 200ms).
346
+ XP bar fills with smooth ease-in-out (400ms). Optional particle burst for
347
+ significant actions.
348
+
349
+ **Sound:** Soft ascending chime, 100-200ms. Pitch increases slightly with
350
+ consecutive rapid completions to create a "combo" feel.
351
+
352
+ **Accessibility:** Announce via `aria-live` region. Replace animations with
353
+ instant state changes when `prefers-reduced-motion` is active.
354
+
355
+ ### 4.2 Badge Unlock
356
+
357
+ **Sequence:** Current view dims slightly (20% overlay). Badge appears center-
358
+ screen with scale-up (0 to 1.1 to 1.0, 400ms spring easing). Radial glow
359
+ pulses outward (600ms). Name and description fade in (200ms delay, 300ms
360
+ fade). Share and Dismiss CTAs appear. Confetti for rare/significant badges
361
+ only -- avoid overuse.
362
+
363
+ **Sound:** Two-note ascending tone (similar to Xbox achievement). Higher-tier
364
+ badges get richer, longer sounds.
365
+
366
+ **Accessibility:** Announce badge name and description via
367
+ `aria-live="assertive"`. Ensure dismiss button receives auto-focus and is
368
+ keyboard-accessible. Provide badge gallery for review at user's own pace.
369
+
370
+ ### 4.3 Level-Up Celebration
371
+
372
+ **Sequence:** XP bar fills completely, then bursts (300ms). Full-screen or
373
+ modal celebration with rolling counter from old level to new (500ms). Unlocked
374
+ features cascade in one at a time (200ms intervals). Radial burst or confetti
375
+ (800ms). CTA to explore new features or continue.
376
+
377
+ **Sound:** Triumphant fanfare, 1-2 seconds. Distinct from badge unlocks.
378
+
379
+ **Accessibility:** Dismissible via Escape key or tap-outside. Announce level
380
+ change and new unlocks. Provide text summary alongside visuals. Replace
381
+ confetti with static "Level Up!" card when `prefers-reduced-motion` is active.
382
+
383
+ ### 4.4 Streak Freeze
384
+
385
+ **Sequence:** Streak icon transitions from fire to frost (orange to blue,
386
+ 400ms). Shield icon overlays the counter (200ms fade-in). Toast notification:
387
+ "Streak Freeze activated! Your 15-day streak is safe." (3-second auto-
388
+ dismiss). Optional frost particle effect (600ms).
389
+
390
+ **Sound:** Crystalline/ice effect, brief and non-alarming.
391
+
392
+ **Accessibility:** Announce freeze activation and current streak count. Also
393
+ log in streak history (not just the transient toast notification).
394
+
395
+ ### 4.5 Leaderboard Position Change
396
+
397
+ **Promotion:** User's row slides upward past displaced competitor (300ms
398
+ ease-out). Rank number flashes highlight (200ms). Small upward green arrow
399
+ appears (1-second fade). Optional motivational micro-copy.
400
+
401
+ **Demotion:** Subtle downward slide (300ms, less dramatic). No celebratory
402
+ effects. Neutral indicator -- avoid red. Motivational copy: "Just 12 XP to
403
+ reclaim #7." No demotion sound (avoid punishing the user sensorially).
404
+
405
+ **Accessibility:** Announce rank changes via `aria-live="polite"` (not
406
+ assertive -- informational, not critical). Ensure leaderboard table is
407
+ navigable via keyboard with clear row/column headers.
408
+
409
+ ---
410
+
411
+ ## 5. Anti-Patterns
412
+
413
+ ### 5.1 Forced Gamification
414
+ Mandatory game mechanics with no opt-out in contexts users did not expect.
415
+ Banking apps requiring badges to access features. **Fix:** Make all
416
+ gamification optional. Provide a "classic" or "simple" mode.
417
+
418
+ ### 5.2 Meaningless Badges
419
+ Awards for trivial actions ("You Changed Your Settings!"). Erodes the entire
420
+ badge system. NNG: "Steer away from tired ideas like badges unless you have a
421
+ new spin." **Fix:** Every badge must reinforce a behavior the product
422
+ genuinely values.
423
+
424
+ ### 5.3 Pay-to-Win / Monetized Progress
425
+ Allowing purchase of XP, badges, or leaderboard advantages. Destroys system
426
+ credibility. No accomplishment in a purchase (CD2 violation). **Fix:**
427
+ Monetize cosmetics and convenience, never achievement signals.
428
+
429
+ ### 5.4 Streak Anxiety / Guilt
430
+ Streak mechanics creating psychological pressure and compulsive behavior.
431
+ Snapchat's Snap Streaks cited as a source of significant anxiety among teens.
432
+ "When the reward becomes the reason, the system shifts from motivation to
433
+ behavioral dependence." **Fix:** Generous recovery mechanics, encouraging
434
+ language, weekly streak alternatives, option to hide streaks entirely.
435
+
436
+ ### 5.5 Leaderboards That Discourage
437
+ Global boards where the top user has 10,000 workouts and the average has 12.
438
+ Demotivating for 99% of users. **Fix:** Cohort-based leaderboards,
439
+ friend-only boards, percentile displays ("Top 25% this week"), opt-out.
440
+
441
+ ### 5.6 Fake Urgency / Artificial Scarcity
442
+ "This badge expires in 2 hours!" when it recurs daily. Users discover
443
+ deception and distrust all time-based mechanics thereafter. **Fix:** If
444
+ scarcity is real (seasonal, one-time), it works. If fabricated, do not use it.
445
+ Never create false countdown timers.
446
+
447
+ ### 5.7 Gamification of Serious Tasks
448
+ Achievement badges in medical diagnosis apps. Leaderboards for workplace
449
+ safety reporting. Trivializes critical contexts. **Fix:** Use progress
450
+ visualization without game framing. Progress bars for treatment plans; skip
451
+ the confetti and celebrations.
452
+
453
+ ### 5.8 Overwhelming Notifications
454
+ Every gamification event triggers a push notification. Trains users to disable
455
+ all notifications or uninstall. **Fix:** Batch low-priority events into daily
456
+ digest. Max 1 gamification push per day. Granular per-type controls.
457
+
458
+ ### 5.9 Progress Resets Without Recovery
459
+ Resetting a 200-day streak to zero with no freeze option and no record of
460
+ prior achievement. Users who experience harsh resets often quit permanently.
461
+ **Fix:** Maintain "longest streak" record. Offer recovery options. Frame
462
+ reset as fresh start showing total lifetime progress (XP, badges kept).
463
+
464
+ ### 5.10 Competitive Mechanics in Collaborative Contexts
465
+ Individual leaderboards in team tools incentivize claiming easy tasks over
466
+ tackling important collaborative work. **Fix:** Team-based gamification.
467
+ Reward collaborative behaviors explicitly (edits, reviews, mentoring).
468
+
469
+ ### 5.11 Overjustification Effect
470
+ Adding point rewards to activities users already find intrinsically enjoyable.
471
+ When points are removed, engagement drops below pre-gamification baseline.
472
+ **Fix:** Use extrinsic rewards for onboarding and habit formation, then
473
+ transition to intrinsic drivers. Never gamify activities users already
474
+ perform willingly and consistently.
475
+
476
+ ### 5.12 Hidden Downgrade Mechanics
477
+ Silently reducing rewards or increasing difficulty to force monetization.
478
+ Users eventually notice and feel betrayed. Violates ETHIC framework
479
+ Transparency principle. **Fix:** Communicate all economy changes before
480
+ they take effect. Never silently degrade the experience to drive revenue.
481
+
482
+ ---
483
+
484
+ ## 6. Accessibility
485
+
486
+ ### 6.1 Visual Accessibility
487
+
488
+ - Never rely on color alone for gamification state. Pair color with icons,
489
+ text labels, or patterns.
490
+ - Badge icons must meet WCAG 2.1 AA contrast ratios (4.5:1 for text, 3:1
491
+ for UI components).
492
+ - All badges need descriptive alt text: "Gold Pull Shark badge: merged 128
493
+ pull requests" -- not "badge icon."
494
+ - Progress bars must use `role="progressbar"` with `aria-valuenow`,
495
+ `aria-valuemin`, `aria-valuemax`.
496
+ - XP gains, level-ups, and streak changes announced via `aria-live` regions.
497
+ - Leaderboard tables must use proper `<table>` semantics with `<th>` headers.
498
+ - Badge unlock modals must trap focus and announce content immediately.
499
+
500
+ ### 6.2 Motion and Animation
501
+
502
+ - All gamification animations must respect `prefers-reduced-motion`. Replace
503
+ animations with instant state changes when active.
504
+ - WCAG 2.1 SC 2.3.3 (Animation from Interactions, Level AAA): motion
505
+ animation triggered by interaction can be disabled unless essential.
506
+ - Provide explicit pause/stop/hide controls even for users without OS-level
507
+ motion preferences.
508
+ - Never auto-play video celebrations without user control.
509
+
510
+ ```css
511
+ @media (prefers-reduced-motion: reduce) {
512
+ .xp-animation, .badge-unlock, .confetti, .level-up-celebration {
513
+ animation: none;
514
+ transition: none;
515
+ }
516
+ }
517
+ ```
518
+
519
+ ### 6.3 Auditory Accessibility
520
+
521
+ - All sound effects must be optional and independently controllable (separate
522
+ from system volume).
523
+ - Provide visual equivalents for all audio feedback (vibration on mobile,
524
+ visual flash indicators).
525
+ - Never rely on audio alone to communicate gamification events.
526
+ - Provide captions for narrative audio content (guided runs, coached sessions).
527
+
528
+ ### 6.4 Motor Accessibility
529
+
530
+ - All gamification interactions must be keyboard-operable.
531
+ - Badge unlock modals dismissible via Escape key.
532
+ - Leaderboards navigable with arrow keys and Tab.
533
+ - Swipe-based interactions (scratch cards, spin wheels) must have tap/click
534
+ alternatives.
535
+ - Time-limited actions must have extended time options or alternatives.
536
+
537
+ ### 6.5 Cognitive Accessibility
538
+
539
+ - Plain language: "Complete 3 lessons" -- not "Embark on a triple-quest
540
+ learning odyssey."
541
+ - Sequence simultaneous gamification events (badge + level-up + leaderboard
542
+ change) with adequate processing time between them.
543
+ - Provide a gamification settings panel to simplify or disable individual
544
+ mechanics.
545
+ - Gamification must not interfere with the primary task flow. All game
546
+ elements should be dismissible without losing progress on the underlying
547
+ task.
548
+ - Consistent visual language: if a flame icon means streak, never repurpose
549
+ it for "hot deals."
550
+
551
+ ---
552
+
553
+ ## 7. Cross-Platform Adaptation
554
+
555
+ ### 7.1 Mobile Widgets
556
+
557
+ - Streak widgets (iOS WidgetKit / Android App Widgets): display current
558
+ streak count, daily goal progress, and next milestone.
559
+ - Widget tap deep-links to most relevant in-app action (e.g., start today's
560
+ lesson).
561
+ - Support small (2x2) and medium (4x2) widget sizes.
562
+ - Dark/light mode variants mandatory. Test at all Dynamic Type / font scale
563
+ sizes.
564
+ - Apple Live Activities: real-time streak progress on lock screen and Dynamic
565
+ Island during active sessions.
566
+
567
+ ### 7.2 Push Notifications
568
+
569
+ | Event | Push? | Timing | Tone |
570
+ |-----------------------|-------|-------------------------|-------------------------------|
571
+ | Streak at risk | Yes | 2hr before deadline | Encouraging, not guilt-based |
572
+ | Streak broken | Yes | Morning after | Compassionate, offer recovery |
573
+ | Badge earned | No | In-app only | Celebratory |
574
+ | Level up | No | In-app only | Celebratory |
575
+ | Friend challenge | Yes | Immediate | Social, casual |
576
+ | Leaderboard overtaken | Maybe | Batched, 1x daily max | Motivational |
577
+ | Weekly digest | Yes | Sunday evening | Summary, forward-looking |
578
+ | Re-engagement | Yes | Day 3, 7, 14 of lapse | Warm, value-focused |
579
+
580
+ **Best practices:** Max 1 gamification push per day. Include direct action
581
+ ("Tap to save your streak"). Use rich notifications with badge artwork where
582
+ supported. A/B test copy (Duolingo's optimization drove 25% engagement
583
+ boost). Provide granular in-app preferences per event type. Honor Do Not
584
+ Disturb and Focus modes.
585
+
586
+ ### 7.3 Wearables
587
+
588
+ - Streak counts and goal progress on watch complications (Apple Watch) and
589
+ tiles (Wear OS).
590
+ - Haptic feedback for goal completion (Fitbit's celebratory vibration).
591
+ - One-tap max interactions on wearables.
592
+ - Real-time cross-device sync to prevent confusion.
593
+
594
+ ### 7.4 Desktop / Web
595
+
596
+ - Gamification elements present but less intrusive. Professional contexts
597
+ (LinkedIn, GitHub) use subtle indicators over modal celebrations.
598
+ - Browser notifications opt-in and used sparingly.
599
+ - Keyboard shortcuts for dismissing gamification overlays (Escape key).
600
+
601
+ ### 7.5 Cross-Device Synchronization
602
+
603
+ - Gamification state must sync in real-time across all platforms.
604
+ - Offline actions must sync retroactively without penalizing the user.
605
+ - Device-agnostic messaging: "Complete your daily goal" -- not "Open the app."
606
+
607
+ ---
608
+
609
+ ## 8. Decision Tree
610
+
611
+ ### 8.1 When Gamification Helps
612
+
613
+ - Core activity is boring or repetitive --> Gamification adds engagement.
614
+ - Users need to build a habit over time --> Streaks, daily challenges,
615
+ progress tracking.
616
+ - Clear learning curve or skill progression --> Levels, skill trees, mastery
617
+ indicators.
618
+ - Users benefit from social comparison --> Cohort leaderboards, team
619
+ challenges.
620
+ - Context is appropriate for playfulness --> Full toolkit available.
621
+
622
+ ### 8.2 When Gamification Hurts
623
+
624
+ - Emergency or safety contexts (gamifying incident reports trivializes them).
625
+ - Grief, health crisis, or sensitive personal contexts.
626
+ - Mandatory participation with no user choice (breeds resentment).
627
+ - Core product is fundamentally broken (fix the product first).
628
+ - Metrics easily gamed (rewards wrong behaviors).
629
+ - High-stakes professional contexts (legal, medical, financial).
630
+
631
+ ### 8.3 Mechanic Selection by Goal
632
+
633
+ | Goal | Primary Mechanics | Secondary |
634
+ |--------------------------|------------------------------------------|-------------------------------|
635
+ | Daily habit formation | Streaks, daily challenges, push reminders| XP, progress bars |
636
+ | Skill development | Levels, skill trees, mastery indicators | Badges, challenges |
637
+ | Content completion | Progress bars, checklists, unlockables | Badges, XP |
638
+ | Community building | Team challenges, collaborative badges | Leaderboards, social rewards |
639
+ | Onboarding | Checklists, first-win flow | Progress bars, XP |
640
+ | Retention | Streaks, daily quests, limited events | Push notifications, XP decay |
641
+ | Social sharing | Shareable achievements, friend challenges| Leaderboards, referral badges |
642
+ | Knowledge contribution | Reputation, privilege unlocks, tag scores| Badges, bounties |
643
+ | Profile completion | Progress bars, completion rewards | Badges, social proof copy |
644
+ | Re-engagement | XP multipliers, streak recovery | Reduced difficulty, quick wins|
645
+
646
+ ### 8.4 Octalysis Core Drive Mapping
647
+
648
+ | Core Drive | Type | Key Mechanics |
649
+ |-----------------------------------------|------------|---------------------------------------|
650
+ | 1. Epic Meaning and Calling | White Hat | Narrative quests, community missions |
651
+ | 2. Development and Accomplishment | White Hat | XP, levels, badges, progress bars |
652
+ | 3. Empowerment of Creativity & Feedback | White Hat | Custom challenges, creative tools |
653
+ | 4. Ownership and Possession | White Hat | Virtual currency, collections |
654
+ | 5. Social Influence and Relatedness | White Hat | Leaderboards, team challenges |
655
+ | 6. Scarcity and Impatience | Black Hat | Limited-time events, unlockables |
656
+ | 7. Unpredictability and Curiosity | Black Hat | Random rewards, hidden badges |
657
+ | 8. Loss and Avoidance | Black Hat | Streaks, countdowns, expiring items |
658
+
659
+ **White Hat drives (1-5)** make users feel powerful, fulfilled, and in
660
+ control. They sustain long-term engagement and positive sentiment.
661
+
662
+ **Black Hat drives (6-8)** create urgency, curiosity, and fear of loss. They
663
+ drive short-term action but risk anxiety and burnout if overused.
664
+
665
+ **Best practice:** Aim for 70%+ White Hat mechanics. Use Black Hat sparingly
666
+ and ethically for specific tactical goals. Always pair Black Hat mechanics
667
+ with recovery options and user control.
668
+
669
+ ---
670
+
671
+ ## 9. Ethical Gamification Principles
672
+
673
+ ### 9.1 The ETHIC Framework
674
+
675
+ - **Empowerment:** Users feel more capable, not more dependent. If removing
676
+ gamification collapses engagement, the system creates dependency, not
677
+ empowerment.
678
+ - **Transparency:** Display XP calculations, badge criteria, and leaderboard
679
+ algorithms openly. Hidden mechanics erode trust.
680
+ - **Humanity:** Design for wellbeing, not just engagement metrics. Monitor
681
+ for compulsive behavior. Build safeguards (break reminders, session caps).
682
+ - **Intentional Alignment:** Gamification goals must align with user goals.
683
+ "Learn Spanish" vs. "maximize daily app opens" is a misalignment that
684
+ will eventually frustrate users.
685
+ - **Customization/Control:** Users adjust, disable, or opt out of gamification
686
+ without losing access to core functionality.
687
+
688
+ ### 9.2 Core Ethical Principles
689
+
690
+ **Autonomy preservation:** Users should feel motivated, not compelled. NNG
691
+ emphasizes that gamification should offer "varying degrees of freedom in
692
+ choosing their path through the experience." If users engage to relieve
693
+ anxiety rather than pursue genuine goals, a dark pattern has been created.
694
+
695
+ **Proportional reinforcement:** Reward magnitude matches effort magnitude.
696
+ Over-rewarding trivial actions devalues the system; under-rewarding
697
+ significant effort creates frustration. Avoid slot-machine mechanics
698
+ (variable-ratio reinforcement) in non-entertainment contexts.
699
+
700
+ **Wellbeing monitoring:** Track session length distribution, streak anxiety
701
+ signals (users completing actions at 11:59 PM consistently), and negative
702
+ sentiment in feedback. Build break reminders and engagement caps where
703
+ overuse is harmful.
704
+
705
+ **Honest representation:** Badges and levels must represent genuine
706
+ achievement. Leaderboard positions reflect real standing, not algorithmically
707
+ manipulated rankings designed to keep users "almost" at the next level.
708
+
709
+ **Inclusive design:** Gamification must not create two tiers of users. Core
710
+ functionality must be equally accessible regardless of gamification
711
+ participation. Competitive mechanics must not systematically disadvantage
712
+ users with disabilities or limited time.
713
+
714
+ ### 9.3 Self-Determination Theory Alignment (NNG)
715
+
716
+ - **Autonomy:** Users choose to engage. Gamification invites, never coerces.
717
+ - **Competence:** Progress tracks real skill development, not just time spent.
718
+ - **Relatedness:** Social mechanics build community, not just competition.
719
+
720
+ When all three needs are met, intrinsic motivation develops alongside
721
+ extrinsic gamification, creating sustainable engagement that persists even
722
+ when game mechanics are reduced.
723
+
724
+ ---
725
+
726
+ ## 10. Quick Reference Checklist
727
+
728
+ ### Pre-Design
729
+ - [ ] Business goals and user goals identified and aligned
730
+ - [ ] Context validated as appropriate for gamification
731
+ - [ ] Target behaviors mapped to Octalysis Core Drives
732
+ - [ ] White Hat / Black Hat ratio planned (aim 70/30+)
733
+
734
+ ### Mechanic Design
735
+ - [ ] Every badge corresponds to a meaningful behavior
736
+ - [ ] XP economy calibrated (quick early wins, challenging mid-game)
737
+ - [ ] Levels unlock meaningful capabilities or content
738
+ - [ ] Streaks include recovery mechanics (freezes, grace periods)
739
+ - [ ] Leaderboards are cohort/friend-based, not global-only
740
+ - [ ] Progress bars use endowed progress (start 10-15% filled)
741
+ - [ ] Onboarding delivers first win within 60 seconds
742
+ - [ ] Reward schedules mix fixed and variable elements
743
+
744
+ ### User Control
745
+ - [ ] All gamification elements can be hidden/disabled
746
+ - [ ] Granular push notification preferences per event type
747
+ - [ ] Users can opt out of leaderboards and social comparison
748
+ - [ ] Core functionality accessible without gamification participation
749
+ - [ ] Break reminders or session limits implemented where appropriate
750
+
751
+ ### Accessibility
752
+ - [ ] All animations respect `prefers-reduced-motion`
753
+ - [ ] Badges have descriptive alt text for screen readers
754
+ - [ ] Progress bars use proper ARIA roles (progressbar + valuenow/min/max)
755
+ - [ ] Leaderboard tables use semantic HTML with proper headers
756
+ - [ ] Color never sole indicator of gamification state
757
+ - [ ] All modals keyboard-dismissible (Escape key)
758
+ - [ ] Sound effects optional and independently controllable
759
+
760
+ ### Ethical Review
761
+ - [ ] No guilt-inducing language for missed activities or broken streaks
762
+ - [ ] No fake urgency or artificial scarcity for recurring events
763
+ - [ ] No monetization of achievement signals (badges, levels, rank)
764
+ - [ ] No hidden mechanics or undisclosed economy changes
765
+ - [ ] Gamification does not trivialize serious user contexts
766
+ - [ ] Competitive mechanics appropriate for social context
767
+ - [ ] Wellbeing indicators monitored alongside engagement metrics
768
+
769
+ ### Cross-Platform
770
+ - [ ] Gamification state syncs real-time across all platforms
771
+ - [ ] Max 1 gamification push notification per day
772
+ - [ ] Offline actions sync retroactively without penalty
773
+ - [ ] Wearable integrations use haptic feedback for goal completion
774
+ - [ ] Widgets display correctly across sizes and accessibility settings
775
+
776
+ ### Post-Launch Monitoring
777
+ - [ ] Badge earn rates tracked (<5% too hard, >95% too easy)
778
+ - [ ] Streak length distribution and anxiety indicators monitored
779
+ - [ ] A/B testing gamified vs. non-gamified controls
780
+ - [ ] Quarterly user sentiment surveys on gamification
781
+ - [ ] Stale or low-engagement mechanics reviewed and retired
782
+
783
+ ---
784
+
785
+ ## References
786
+
787
+ - [Yu-Kai Chou, Octalysis Framework](https://yukaichou.com/gamification-examples/octalysis-gamification-framework/)
788
+ - [Yu-Kai Chou, Streak Design](https://yukaichou.com/gamification-study/master-the-art-of-streak-design-for-short-term-engagement-and-long-term-success/)
789
+ - [NNG, Autonomy/Relatedness/Competence](https://www.nngroup.com/articles/autonomy-relatedness-competence/)
790
+ - [NNG, Social Media and Gamification](https://www.nngroup.com/videos/social-media-gamification/)
791
+ - [Sam Liberty, The ETHIC Framework](https://sa-liberty.medium.com/the-ethic-framework-designing-ethical-gamification-that-actually-works-50fa57c75610)
792
+ - [Stack Overflow Badges Explained](https://stackoverflow.blog/2021/04/12/stack-overflow-badges-explained/)
793
+ - [Duolingo Gamification Case Study](https://trophy.so/blog/duolingo-gamification-case-study)
794
+ - [GitHub Gamification Case Study](https://trophy.so/blog/github-gamification-case-study)
795
+ - [Nike Run Club Gamification](https://trophy.so/blog/nike-run-club-gamification-case-study)
796
+ - [Ethical Gamification and User Wellbeing](https://blog.prototypr.io/ethical-gamification-designing-for-user-well-being-in-the-age-of-addictive-tech-85fe9d16f130)
797
+ - [Streak Design for Long-Term Growth](https://trophy.so/blog/designing-streaks-for-long-term-user-growth)
798
+ - [WCAG 2.1 Animation from Interactions](https://www.w3.org/WAI/WCAG21/Understanding/animation-from-interactions.html)
799
+ - [LinkedIn Gamification Analysis](https://thomas-lindemann.com/gamification-en/how-linkedin-uses-gamification-to-boost-engagement/)
800
+ - [Re-engagement Gamification Patterns](https://strivecloud.io/blog/gamification-examples-reengagement/)
801
+ - [Dark Patterns in Gamification](https://medium.com/@neil_62402/gamification-dark-patterns-light-patterns-and-psychology-9442d49f8b56)