@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.
- package/AGENTS.md +111 -0
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.md +314 -0
- package/assets/composition-engine.mmd +34 -0
- package/assets/demo-script.sh +17 -0
- package/assets/logo-dark.svg +14 -0
- package/assets/logo.svg +14 -0
- package/assets/pipeline.mmd +39 -0
- package/assets/record-demo.sh +51 -0
- package/docs/README.md +51 -0
- package/docs/adapters/context-mode.md +60 -0
- package/docs/concepts/architecture.md +87 -0
- package/docs/concepts/artifact-model.md +60 -0
- package/docs/concepts/composition-engine.md +36 -0
- package/docs/concepts/indexing-and-recall.md +160 -0
- package/docs/concepts/observability.md +41 -0
- package/docs/concepts/roles-and-workflows.md +59 -0
- package/docs/concepts/terminology-policy.md +27 -0
- package/docs/getting-started/01-installation.md +78 -0
- package/docs/getting-started/02-first-run.md +102 -0
- package/docs/getting-started/03-adding-to-project.md +15 -0
- package/docs/getting-started/04-host-setup.md +15 -0
- package/docs/guides/ci-integration.md +15 -0
- package/docs/guides/creating-skills.md +15 -0
- package/docs/guides/expertise-module-authoring.md +15 -0
- package/docs/guides/hook-development.md +15 -0
- package/docs/guides/memory-and-learnings.md +34 -0
- package/docs/guides/multi-host-export.md +15 -0
- package/docs/guides/troubleshooting.md +101 -0
- package/docs/guides/writing-custom-roles.md +15 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
- package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
- package/docs/readmes/INDEX.md +99 -0
- package/docs/readmes/features/expertise/README.md +171 -0
- package/docs/readmes/features/exports/README.md +222 -0
- package/docs/readmes/features/hooks/README.md +103 -0
- package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
- package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
- package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
- package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
- package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
- package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
- package/docs/readmes/features/hooks/session-start.md +119 -0
- package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
- package/docs/readmes/features/roles/README.md +157 -0
- package/docs/readmes/features/roles/clarifier.md +152 -0
- package/docs/readmes/features/roles/content-author.md +190 -0
- package/docs/readmes/features/roles/designer.md +193 -0
- package/docs/readmes/features/roles/executor.md +184 -0
- package/docs/readmes/features/roles/learner.md +210 -0
- package/docs/readmes/features/roles/planner.md +182 -0
- package/docs/readmes/features/roles/researcher.md +164 -0
- package/docs/readmes/features/roles/reviewer.md +184 -0
- package/docs/readmes/features/roles/specifier.md +162 -0
- package/docs/readmes/features/roles/verifier.md +215 -0
- package/docs/readmes/features/schemas/README.md +178 -0
- package/docs/readmes/features/skills/README.md +63 -0
- package/docs/readmes/features/skills/brainstorming.md +96 -0
- package/docs/readmes/features/skills/debugging.md +148 -0
- package/docs/readmes/features/skills/design.md +120 -0
- package/docs/readmes/features/skills/prepare-next.md +109 -0
- package/docs/readmes/features/skills/run-audit.md +159 -0
- package/docs/readmes/features/skills/scan-project.md +109 -0
- package/docs/readmes/features/skills/self-audit.md +176 -0
- package/docs/readmes/features/skills/tdd.md +137 -0
- package/docs/readmes/features/skills/using-skills.md +92 -0
- package/docs/readmes/features/skills/verification.md +120 -0
- package/docs/readmes/features/skills/writing-plans.md +104 -0
- package/docs/readmes/features/tooling/README.md +320 -0
- package/docs/readmes/features/workflows/README.md +186 -0
- package/docs/readmes/features/workflows/author.md +181 -0
- package/docs/readmes/features/workflows/clarify.md +154 -0
- package/docs/readmes/features/workflows/design-review.md +171 -0
- package/docs/readmes/features/workflows/design.md +169 -0
- package/docs/readmes/features/workflows/discover.md +162 -0
- package/docs/readmes/features/workflows/execute.md +173 -0
- package/docs/readmes/features/workflows/learn.md +167 -0
- package/docs/readmes/features/workflows/plan-review.md +165 -0
- package/docs/readmes/features/workflows/plan.md +170 -0
- package/docs/readmes/features/workflows/prepare-next.md +167 -0
- package/docs/readmes/features/workflows/review.md +169 -0
- package/docs/readmes/features/workflows/run-audit.md +191 -0
- package/docs/readmes/features/workflows/spec-challenge.md +159 -0
- package/docs/readmes/features/workflows/specify.md +160 -0
- package/docs/readmes/features/workflows/verify.md +177 -0
- package/docs/readmes/packages/README.md +50 -0
- package/docs/readmes/packages/ajv.md +117 -0
- package/docs/readmes/packages/context-mode.md +118 -0
- package/docs/readmes/packages/gray-matter.md +116 -0
- package/docs/readmes/packages/node-test.md +137 -0
- package/docs/readmes/packages/yaml.md +112 -0
- package/docs/reference/configuration-reference.md +159 -0
- package/docs/reference/expertise-index.md +52 -0
- package/docs/reference/git-flow.md +43 -0
- package/docs/reference/hooks.md +87 -0
- package/docs/reference/host-exports.md +50 -0
- package/docs/reference/launch-checklist.md +172 -0
- package/docs/reference/marketplace-listings.md +76 -0
- package/docs/reference/release-process.md +34 -0
- package/docs/reference/roles-reference.md +77 -0
- package/docs/reference/skills.md +33 -0
- package/docs/reference/templates.md +29 -0
- package/docs/reference/tooling-cli.md +94 -0
- package/docs/truth-claims.yaml +222 -0
- package/expertise/PROGRESS.md +63 -0
- package/expertise/README.md +18 -0
- package/expertise/antipatterns/PROGRESS.md +56 -0
- package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
- package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
- package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
- package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
- package/expertise/antipatterns/backend/index.md +24 -0
- package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
- package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
- package/expertise/antipatterns/code/async-antipatterns.md +622 -0
- package/expertise/antipatterns/code/code-smells.md +1186 -0
- package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
- package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
- package/expertise/antipatterns/code/index.md +27 -0
- package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
- package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
- package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
- package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
- package/expertise/antipatterns/design/dark-patterns.md +1121 -0
- package/expertise/antipatterns/design/index.md +22 -0
- package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
- package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
- package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
- package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
- package/expertise/antipatterns/frontend/index.md +23 -0
- package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
- package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
- package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
- package/expertise/antipatterns/index.md +31 -0
- package/expertise/antipatterns/performance/index.md +20 -0
- package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
- package/expertise/antipatterns/performance/premature-optimization.md +623 -0
- package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
- package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
- package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
- package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
- package/expertise/antipatterns/process/index.md +23 -0
- package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
- package/expertise/antipatterns/security/index.md +20 -0
- package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
- package/expertise/antipatterns/security/security-theater.md +843 -0
- package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
- package/expertise/architecture/PROGRESS.md +70 -0
- package/expertise/architecture/data/caching-architecture.md +671 -0
- package/expertise/architecture/data/data-consistency.md +574 -0
- package/expertise/architecture/data/data-modeling.md +536 -0
- package/expertise/architecture/data/event-streams-and-queues.md +634 -0
- package/expertise/architecture/data/index.md +25 -0
- package/expertise/architecture/data/search-architecture.md +663 -0
- package/expertise/architecture/data/sql-vs-nosql.md +708 -0
- package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
- package/expertise/architecture/decisions/build-vs-buy.md +616 -0
- package/expertise/architecture/decisions/index.md +23 -0
- package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
- package/expertise/architecture/decisions/technology-selection.md +616 -0
- package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
- package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
- package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
- package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
- package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
- package/expertise/architecture/distributed/index.md +25 -0
- package/expertise/architecture/distributed/saga-pattern.md +797 -0
- package/expertise/architecture/foundations/architectural-thinking.md +460 -0
- package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
- package/expertise/architecture/foundations/design-principles-solid.md +649 -0
- package/expertise/architecture/foundations/domain-driven-design.md +719 -0
- package/expertise/architecture/foundations/index.md +25 -0
- package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
- package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
- package/expertise/architecture/index.md +34 -0
- package/expertise/architecture/integration/api-design-graphql.md +638 -0
- package/expertise/architecture/integration/api-design-grpc.md +804 -0
- package/expertise/architecture/integration/api-design-rest.md +892 -0
- package/expertise/architecture/integration/index.md +25 -0
- package/expertise/architecture/integration/third-party-integration.md +795 -0
- package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
- package/expertise/architecture/integration/websockets-realtime.md +791 -0
- package/expertise/architecture/mobile-architecture/index.md +22 -0
- package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
- package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
- package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
- package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
- package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
- package/expertise/architecture/patterns/event-driven.md +797 -0
- package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
- package/expertise/architecture/patterns/index.md +27 -0
- package/expertise/architecture/patterns/layered-architecture.md +736 -0
- package/expertise/architecture/patterns/microservices.md +753 -0
- package/expertise/architecture/patterns/modular-monolith.md +692 -0
- package/expertise/architecture/patterns/monolith.md +626 -0
- package/expertise/architecture/patterns/plugin-architecture.md +735 -0
- package/expertise/architecture/patterns/serverless.md +780 -0
- package/expertise/architecture/scaling/database-scaling.md +615 -0
- package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
- package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
- package/expertise/architecture/scaling/index.md +24 -0
- package/expertise/architecture/scaling/multi-tenancy.md +800 -0
- package/expertise/architecture/scaling/stateless-design.md +787 -0
- package/expertise/backend/embedded-firmware.md +625 -0
- package/expertise/backend/go.md +853 -0
- package/expertise/backend/index.md +24 -0
- package/expertise/backend/java-spring.md +448 -0
- package/expertise/backend/node-typescript.md +625 -0
- package/expertise/backend/python-fastapi.md +724 -0
- package/expertise/backend/rust.md +458 -0
- package/expertise/backend/solidity.md +711 -0
- package/expertise/composition-map.yaml +443 -0
- package/expertise/content/foundations/content-modeling.md +395 -0
- package/expertise/content/foundations/editorial-standards.md +449 -0
- package/expertise/content/foundations/index.md +24 -0
- package/expertise/content/foundations/microcopy.md +455 -0
- package/expertise/content/foundations/terminology-governance.md +509 -0
- package/expertise/content/index.md +34 -0
- package/expertise/content/patterns/accessibility-copy.md +518 -0
- package/expertise/content/patterns/index.md +24 -0
- package/expertise/content/patterns/notification-content.md +433 -0
- package/expertise/content/patterns/sample-content.md +486 -0
- package/expertise/content/patterns/state-copy.md +439 -0
- package/expertise/design/PROGRESS.md +58 -0
- package/expertise/design/disciplines/dark-mode-theming.md +577 -0
- package/expertise/design/disciplines/design-systems.md +595 -0
- package/expertise/design/disciplines/index.md +25 -0
- package/expertise/design/disciplines/information-architecture.md +800 -0
- package/expertise/design/disciplines/interaction-design.md +788 -0
- package/expertise/design/disciplines/responsive-design.md +552 -0
- package/expertise/design/disciplines/usability-testing.md +516 -0
- package/expertise/design/disciplines/user-research.md +792 -0
- package/expertise/design/foundations/accessibility-design.md +796 -0
- package/expertise/design/foundations/color-theory.md +797 -0
- package/expertise/design/foundations/iconography.md +795 -0
- package/expertise/design/foundations/index.md +26 -0
- package/expertise/design/foundations/motion-and-animation.md +653 -0
- package/expertise/design/foundations/rtl-design.md +585 -0
- package/expertise/design/foundations/spacing-and-layout.md +607 -0
- package/expertise/design/foundations/typography.md +800 -0
- package/expertise/design/foundations/visual-hierarchy.md +761 -0
- package/expertise/design/index.md +32 -0
- package/expertise/design/patterns/authentication-flows.md +474 -0
- package/expertise/design/patterns/content-consumption.md +789 -0
- package/expertise/design/patterns/data-display.md +618 -0
- package/expertise/design/patterns/e-commerce.md +1494 -0
- package/expertise/design/patterns/feedback-and-states.md +642 -0
- package/expertise/design/patterns/forms-and-input.md +819 -0
- package/expertise/design/patterns/gamification.md +801 -0
- package/expertise/design/patterns/index.md +31 -0
- package/expertise/design/patterns/microinteractions.md +449 -0
- package/expertise/design/patterns/navigation.md +800 -0
- package/expertise/design/patterns/notifications.md +705 -0
- package/expertise/design/patterns/onboarding.md +700 -0
- package/expertise/design/patterns/search-and-filter.md +601 -0
- package/expertise/design/patterns/settings-and-preferences.md +768 -0
- package/expertise/design/patterns/social-and-community.md +748 -0
- package/expertise/design/platforms/desktop-native.md +612 -0
- package/expertise/design/platforms/index.md +25 -0
- package/expertise/design/platforms/mobile-android.md +825 -0
- package/expertise/design/platforms/mobile-cross-platform.md +983 -0
- package/expertise/design/platforms/mobile-ios.md +699 -0
- package/expertise/design/platforms/tablet.md +794 -0
- package/expertise/design/platforms/web-dashboard.md +790 -0
- package/expertise/design/platforms/web-responsive.md +550 -0
- package/expertise/design/psychology/behavioral-nudges.md +449 -0
- package/expertise/design/psychology/cognitive-load.md +1191 -0
- package/expertise/design/psychology/error-psychology.md +778 -0
- package/expertise/design/psychology/index.md +22 -0
- package/expertise/design/psychology/persuasive-design.md +736 -0
- package/expertise/design/psychology/user-mental-models.md +623 -0
- package/expertise/design/tooling/open-pencil.md +266 -0
- package/expertise/frontend/angular.md +1073 -0
- package/expertise/frontend/desktop-electron.md +546 -0
- package/expertise/frontend/flutter.md +782 -0
- package/expertise/frontend/index.md +27 -0
- package/expertise/frontend/native-android.md +409 -0
- package/expertise/frontend/native-ios.md +490 -0
- package/expertise/frontend/react-native.md +1160 -0
- package/expertise/frontend/react.md +808 -0
- package/expertise/frontend/vue.md +1089 -0
- package/expertise/humanize/domain-rules-code.md +79 -0
- package/expertise/humanize/domain-rules-content.md +67 -0
- package/expertise/humanize/domain-rules-technical-docs.md +56 -0
- package/expertise/humanize/index.md +35 -0
- package/expertise/humanize/self-audit-checklist.md +87 -0
- package/expertise/humanize/sentence-patterns.md +218 -0
- package/expertise/humanize/vocabulary-blacklist.md +105 -0
- package/expertise/i18n/PROGRESS.md +65 -0
- package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
- package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
- package/expertise/i18n/advanced/complex-scripts.md +30 -0
- package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
- package/expertise/i18n/advanced/testing-i18n.md +28 -0
- package/expertise/i18n/content/content-adaptation.md +23 -0
- package/expertise/i18n/content/locale-specific-formatting.md +23 -0
- package/expertise/i18n/content/machine-translation-integration.md +28 -0
- package/expertise/i18n/content/translation-management.md +29 -0
- package/expertise/i18n/foundations/date-time-calendars.md +67 -0
- package/expertise/i18n/foundations/i18n-architecture.md +272 -0
- package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
- package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
- package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
- package/expertise/i18n/foundations/string-externalization.md +236 -0
- package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
- package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
- package/expertise/i18n/index.md +38 -0
- package/expertise/i18n/platform/backend-i18n.md +31 -0
- package/expertise/i18n/platform/flutter-i18n.md +148 -0
- package/expertise/i18n/platform/native-android-i18n.md +36 -0
- package/expertise/i18n/platform/native-ios-i18n.md +36 -0
- package/expertise/i18n/platform/react-i18n.md +103 -0
- package/expertise/i18n/platform/web-css-i18n.md +81 -0
- package/expertise/i18n/rtl/arabic-specific.md +175 -0
- package/expertise/i18n/rtl/hebrew-specific.md +149 -0
- package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
- package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
- package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
- package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
- package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
- package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
- package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
- package/expertise/i18n/rtl/rtl-typography.md +160 -0
- package/expertise/index.md +113 -0
- package/expertise/index.yaml +216 -0
- package/expertise/infrastructure/cloud-aws.md +597 -0
- package/expertise/infrastructure/cloud-gcp.md +599 -0
- package/expertise/infrastructure/cybersecurity.md +816 -0
- package/expertise/infrastructure/database-mongodb.md +447 -0
- package/expertise/infrastructure/database-postgres.md +400 -0
- package/expertise/infrastructure/devops-cicd.md +787 -0
- package/expertise/infrastructure/index.md +27 -0
- package/expertise/performance/PROGRESS.md +50 -0
- package/expertise/performance/backend/api-latency.md +1204 -0
- package/expertise/performance/backend/background-jobs.md +506 -0
- package/expertise/performance/backend/connection-pooling.md +1209 -0
- package/expertise/performance/backend/database-query-optimization.md +515 -0
- package/expertise/performance/backend/index.md +23 -0
- package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
- package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
- package/expertise/performance/foundations/caching-strategies.md +489 -0
- package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
- package/expertise/performance/foundations/index.md +24 -0
- package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
- package/expertise/performance/foundations/memory-management.md +964 -0
- package/expertise/performance/foundations/performance-budgets.md +1314 -0
- package/expertise/performance/index.md +31 -0
- package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
- package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
- package/expertise/performance/infrastructure/index.md +22 -0
- package/expertise/performance/infrastructure/load-balancing.md +1081 -0
- package/expertise/performance/infrastructure/observability.md +1079 -0
- package/expertise/performance/mobile/index.md +23 -0
- package/expertise/performance/mobile/mobile-animations.md +544 -0
- package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
- package/expertise/performance/mobile/mobile-network.md +452 -0
- package/expertise/performance/mobile/mobile-rendering.md +599 -0
- package/expertise/performance/mobile/mobile-startup-time.md +505 -0
- package/expertise/performance/platform-specific/flutter-performance.md +647 -0
- package/expertise/performance/platform-specific/index.md +22 -0
- package/expertise/performance/platform-specific/node-performance.md +1307 -0
- package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
- package/expertise/performance/platform-specific/react-performance.md +1403 -0
- package/expertise/performance/web/bundle-optimization.md +1239 -0
- package/expertise/performance/web/image-and-media.md +636 -0
- package/expertise/performance/web/index.md +24 -0
- package/expertise/performance/web/network-optimization.md +1133 -0
- package/expertise/performance/web/rendering-performance.md +1098 -0
- package/expertise/performance/web/ssr-and-hydration.md +918 -0
- package/expertise/performance/web/web-vitals.md +1374 -0
- package/expertise/quality/accessibility.md +985 -0
- package/expertise/quality/evidence-based-verification.md +499 -0
- package/expertise/quality/index.md +24 -0
- package/expertise/quality/ml-model-audit.md +614 -0
- package/expertise/quality/performance.md +600 -0
- package/expertise/quality/testing-api.md +891 -0
- package/expertise/quality/testing-mobile.md +496 -0
- package/expertise/quality/testing-web.md +849 -0
- package/expertise/security/PROGRESS.md +54 -0
- package/expertise/security/agentic-identity.md +540 -0
- package/expertise/security/compliance-frameworks.md +601 -0
- package/expertise/security/data/data-encryption.md +364 -0
- package/expertise/security/data/data-privacy-gdpr.md +692 -0
- package/expertise/security/data/database-security.md +1171 -0
- package/expertise/security/data/index.md +22 -0
- package/expertise/security/data/pii-handling.md +531 -0
- package/expertise/security/foundations/authentication.md +1041 -0
- package/expertise/security/foundations/authorization.md +603 -0
- package/expertise/security/foundations/cryptography.md +1001 -0
- package/expertise/security/foundations/index.md +25 -0
- package/expertise/security/foundations/owasp-top-10.md +1354 -0
- package/expertise/security/foundations/secrets-management.md +1217 -0
- package/expertise/security/foundations/secure-sdlc.md +700 -0
- package/expertise/security/foundations/supply-chain-security.md +698 -0
- package/expertise/security/index.md +31 -0
- package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
- package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
- package/expertise/security/infrastructure/container-security.md +721 -0
- package/expertise/security/infrastructure/incident-response.md +1295 -0
- package/expertise/security/infrastructure/index.md +24 -0
- package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
- package/expertise/security/infrastructure/network-security.md +1337 -0
- package/expertise/security/mobile/index.md +23 -0
- package/expertise/security/mobile/mobile-android-security.md +1218 -0
- package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
- package/expertise/security/mobile/mobile-data-storage.md +1265 -0
- package/expertise/security/mobile/mobile-ios-security.md +1401 -0
- package/expertise/security/mobile/mobile-network-security.md +1520 -0
- package/expertise/security/smart-contract-security.md +594 -0
- package/expertise/security/testing/index.md +22 -0
- package/expertise/security/testing/penetration-testing.md +1258 -0
- package/expertise/security/testing/security-code-review.md +1765 -0
- package/expertise/security/testing/threat-modeling.md +1074 -0
- package/expertise/security/testing/vulnerability-scanning.md +1062 -0
- package/expertise/security/web/api-security.md +586 -0
- package/expertise/security/web/cors-and-headers.md +433 -0
- package/expertise/security/web/csrf.md +562 -0
- package/expertise/security/web/file-upload.md +1477 -0
- package/expertise/security/web/index.md +25 -0
- package/expertise/security/web/injection.md +1375 -0
- package/expertise/security/web/session-management.md +1101 -0
- package/expertise/security/web/xss.md +1158 -0
- package/exports/README.md +17 -0
- package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
- package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
- package/exports/hosts/claude/.claude/agents/designer.md +55 -0
- package/exports/hosts/claude/.claude/agents/executor.md +55 -0
- package/exports/hosts/claude/.claude/agents/learner.md +51 -0
- package/exports/hosts/claude/.claude/agents/planner.md +53 -0
- package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
- package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
- package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
- package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
- package/exports/hosts/claude/.claude/commands/author.md +42 -0
- package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
- package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
- package/exports/hosts/claude/.claude/commands/design.md +44 -0
- package/exports/hosts/claude/.claude/commands/discover.md +37 -0
- package/exports/hosts/claude/.claude/commands/execute.md +48 -0
- package/exports/hosts/claude/.claude/commands/learn.md +38 -0
- package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
- package/exports/hosts/claude/.claude/commands/plan.md +39 -0
- package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
- package/exports/hosts/claude/.claude/commands/review.md +40 -0
- package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
- package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
- package/exports/hosts/claude/.claude/commands/specify.md +38 -0
- package/exports/hosts/claude/.claude/commands/verify.md +37 -0
- package/exports/hosts/claude/.claude/settings.json +34 -0
- package/exports/hosts/claude/CLAUDE.md +19 -0
- package/exports/hosts/claude/export.manifest.json +38 -0
- package/exports/hosts/claude/host-package.json +67 -0
- package/exports/hosts/codex/AGENTS.md +19 -0
- package/exports/hosts/codex/export.manifest.json +38 -0
- package/exports/hosts/codex/host-package.json +41 -0
- package/exports/hosts/cursor/.cursor/hooks.json +16 -0
- package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
- package/exports/hosts/cursor/export.manifest.json +38 -0
- package/exports/hosts/cursor/host-package.json +42 -0
- package/exports/hosts/gemini/GEMINI.md +19 -0
- package/exports/hosts/gemini/export.manifest.json +38 -0
- package/exports/hosts/gemini/host-package.json +41 -0
- package/hooks/README.md +18 -0
- package/hooks/definitions/loop_cap_guard.yaml +21 -0
- package/hooks/definitions/post_tool_capture.yaml +24 -0
- package/hooks/definitions/pre_compact_summary.yaml +19 -0
- package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
- package/hooks/definitions/protected_path_write_guard.yaml +19 -0
- package/hooks/definitions/session_start.yaml +19 -0
- package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
- package/hooks/loop-cap-guard +17 -0
- package/hooks/post-tool-lint +36 -0
- package/hooks/protected-path-write-guard +17 -0
- package/hooks/session-start +41 -0
- package/llms-full.txt +2355 -0
- package/llms.txt +43 -0
- package/package.json +79 -0
- package/roles/README.md +20 -0
- package/roles/clarifier.md +42 -0
- package/roles/content-author.md +63 -0
- package/roles/designer.md +55 -0
- package/roles/executor.md +55 -0
- package/roles/learner.md +51 -0
- package/roles/planner.md +53 -0
- package/roles/researcher.md +43 -0
- package/roles/reviewer.md +54 -0
- package/roles/specifier.md +47 -0
- package/roles/verifier.md +71 -0
- package/schemas/README.md +24 -0
- package/schemas/accepted-learning.schema.json +20 -0
- package/schemas/author-artifact.schema.json +156 -0
- package/schemas/clarification.schema.json +19 -0
- package/schemas/design-artifact.schema.json +80 -0
- package/schemas/docs-claim.schema.json +18 -0
- package/schemas/export-manifest.schema.json +20 -0
- package/schemas/hook.schema.json +67 -0
- package/schemas/host-export-package.schema.json +18 -0
- package/schemas/implementation-plan.schema.json +19 -0
- package/schemas/proposed-learning.schema.json +19 -0
- package/schemas/research.schema.json +18 -0
- package/schemas/review.schema.json +29 -0
- package/schemas/run-manifest.schema.json +18 -0
- package/schemas/spec-challenge.schema.json +18 -0
- package/schemas/spec.schema.json +20 -0
- package/schemas/usage.schema.json +102 -0
- package/schemas/verification-proof.schema.json +29 -0
- package/schemas/wazir-manifest.schema.json +173 -0
- package/skills/README.md +40 -0
- package/skills/brainstorming/SKILL.md +77 -0
- package/skills/debugging/SKILL.md +50 -0
- package/skills/design/SKILL.md +61 -0
- package/skills/dispatching-parallel-agents/SKILL.md +128 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/finishing-a-development-branch/SKILL.md +169 -0
- package/skills/humanize/SKILL.md +123 -0
- package/skills/init-pipeline/SKILL.md +124 -0
- package/skills/prepare-next/SKILL.md +20 -0
- package/skills/receiving-code-review/SKILL.md +123 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +108 -0
- package/skills/run-audit/SKILL.md +197 -0
- package/skills/scan-project/SKILL.md +41 -0
- package/skills/self-audit/SKILL.md +153 -0
- package/skills/subagent-driven-development/SKILL.md +154 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +102 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/tdd/SKILL.md +23 -0
- package/skills/using-git-worktrees/SKILL.md +163 -0
- package/skills/using-skills/SKILL.md +95 -0
- package/skills/verification/SKILL.md +22 -0
- package/skills/wazir/SKILL.md +463 -0
- package/skills/writing-plans/SKILL.md +30 -0
- package/skills/writing-skills/SKILL.md +157 -0
- package/skills/writing-skills/anthropic-best-practices.md +122 -0
- package/skills/writing-skills/persuasion-principles.md +50 -0
- package/templates/README.md +20 -0
- package/templates/artifacts/README.md +10 -0
- package/templates/artifacts/accepted-learning.md +19 -0
- package/templates/artifacts/accepted-learning.template.json +12 -0
- package/templates/artifacts/author.md +74 -0
- package/templates/artifacts/author.template.json +19 -0
- package/templates/artifacts/clarification.md +21 -0
- package/templates/artifacts/clarification.template.json +12 -0
- package/templates/artifacts/execute-notes.md +19 -0
- package/templates/artifacts/implementation-plan.md +21 -0
- package/templates/artifacts/implementation-plan.template.json +11 -0
- package/templates/artifacts/learning-proposal.md +19 -0
- package/templates/artifacts/next-run-handoff.md +21 -0
- package/templates/artifacts/plan-review.md +19 -0
- package/templates/artifacts/proposed-learning.template.json +12 -0
- package/templates/artifacts/research.md +21 -0
- package/templates/artifacts/research.template.json +12 -0
- package/templates/artifacts/review-findings.md +19 -0
- package/templates/artifacts/review.template.json +11 -0
- package/templates/artifacts/run-manifest.template.json +8 -0
- package/templates/artifacts/spec-challenge.md +19 -0
- package/templates/artifacts/spec-challenge.template.json +11 -0
- package/templates/artifacts/spec.md +21 -0
- package/templates/artifacts/spec.template.json +12 -0
- package/templates/artifacts/verification-proof.md +19 -0
- package/templates/artifacts/verification-proof.template.json +11 -0
- package/templates/examples/accepted-learning.example.json +14 -0
- package/templates/examples/author.example.json +152 -0
- package/templates/examples/clarification.example.json +15 -0
- package/templates/examples/docs-claim.example.json +8 -0
- package/templates/examples/export-manifest.example.json +7 -0
- package/templates/examples/host-export-package.example.json +11 -0
- package/templates/examples/implementation-plan.example.json +17 -0
- package/templates/examples/proposed-learning.example.json +13 -0
- package/templates/examples/research.example.json +15 -0
- package/templates/examples/research.example.md +6 -0
- package/templates/examples/review.example.json +17 -0
- package/templates/examples/run-manifest.example.json +9 -0
- package/templates/examples/spec-challenge.example.json +14 -0
- package/templates/examples/spec.example.json +21 -0
- package/templates/examples/verification-proof.example.json +21 -0
- package/templates/examples/wazir-manifest.example.yaml +65 -0
- package/templates/task-definition-schema.md +99 -0
- package/tooling/README.md +20 -0
- package/tooling/src/adapters/context-mode.js +50 -0
- package/tooling/src/capture/command.js +376 -0
- package/tooling/src/capture/store.js +99 -0
- package/tooling/src/capture/usage.js +270 -0
- package/tooling/src/checks/branches.js +50 -0
- package/tooling/src/checks/brand-truth.js +110 -0
- package/tooling/src/checks/changelog.js +231 -0
- package/tooling/src/checks/command-registry.js +36 -0
- package/tooling/src/checks/commits.js +102 -0
- package/tooling/src/checks/docs-drift.js +103 -0
- package/tooling/src/checks/docs-truth.js +201 -0
- package/tooling/src/checks/runtime-surface.js +156 -0
- package/tooling/src/cli.js +116 -0
- package/tooling/src/command-options.js +56 -0
- package/tooling/src/commands/validate.js +320 -0
- package/tooling/src/doctor/command.js +91 -0
- package/tooling/src/export/command.js +77 -0
- package/tooling/src/export/compiler.js +498 -0
- package/tooling/src/guards/loop-cap-guard.js +52 -0
- package/tooling/src/guards/protected-path-write-guard.js +67 -0
- package/tooling/src/index/command.js +152 -0
- package/tooling/src/index/storage.js +1061 -0
- package/tooling/src/index/summarizers.js +261 -0
- package/tooling/src/loaders.js +18 -0
- package/tooling/src/project-root.js +22 -0
- package/tooling/src/recall/command.js +225 -0
- package/tooling/src/schema-validator.js +30 -0
- package/tooling/src/state-root.js +40 -0
- package/tooling/src/status/command.js +71 -0
- package/wazir.manifest.yaml +135 -0
- package/workflows/README.md +19 -0
- package/workflows/author.md +42 -0
- package/workflows/clarify.md +38 -0
- package/workflows/design-review.md +46 -0
- package/workflows/design.md +44 -0
- package/workflows/discover.md +37 -0
- package/workflows/execute.md +48 -0
- package/workflows/learn.md +38 -0
- package/workflows/plan-review.md +42 -0
- package/workflows/plan.md +39 -0
- package/workflows/prepare-next.md +37 -0
- package/workflows/review.md +40 -0
- package/workflows/run-audit.md +41 -0
- package/workflows/spec-challenge.md +41 -0
- package/workflows/specify.md +38 -0
- 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)
|