@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,516 @@
|
|
|
1
|
+
# Usability Testing
|
|
2
|
+
|
|
3
|
+
> **Discipline Module** -- Evaluating products by testing them with representative
|
|
4
|
+
> users to uncover interaction problems before they reach production.
|
|
5
|
+
|
|
6
|
+
Usability testing is the practice of observing real or representative users as they
|
|
7
|
+
attempt realistic tasks with a product, prototype, or interface. The purpose is not
|
|
8
|
+
to gather opinions but to reveal observable behavior: where people hesitate, where
|
|
9
|
+
they fail, what they misunderstand, and what works without friction.
|
|
10
|
+
|
|
11
|
+
Steve Krug captured the ethos in "Don't Make Me Think" (2000, revised 2013): a
|
|
12
|
+
well-designed product should let users accomplish their intended tasks as easily and
|
|
13
|
+
directly as possible. The average user is busy, distracted, and in a hurry; interfaces
|
|
14
|
+
should be self-evident and self-explanatory. Krug argued in "Rocket Surgery Made Easy"
|
|
15
|
+
(2010) that frequent, imperfect testing with a small number of users beats waiting for
|
|
16
|
+
the perfect study -- recommending monthly testing sessions with as few as three users.
|
|
17
|
+
|
|
18
|
+
Jakob Nielsen's research at the Nielsen Norman Group (NNG) established the quantitative
|
|
19
|
+
backing: five users typically uncover roughly 85 percent of usability problems. This
|
|
20
|
+
finding -- combined with NNG's heuristic evaluation framework -- remains the bedrock of
|
|
21
|
+
modern usability practice.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. What This Discipline Covers
|
|
26
|
+
|
|
27
|
+
Usability testing systematically evaluates a product's ease of use by observing target
|
|
28
|
+
users performing defined tasks. It answers questions no amount of internal review can:
|
|
29
|
+
|
|
30
|
+
- **Can users complete core tasks?** Task success rate is the most fundamental metric.
|
|
31
|
+
- **How efficiently?** Time-on-task, error rate, click count, and path deviations.
|
|
32
|
+
- **What causes confusion or failure?** Qualitative observation reveals the "why."
|
|
33
|
+
- **How satisfied are users?** Post-task/post-test questionnaires (e.g., SUS) quantify
|
|
34
|
+
subjective satisfaction.
|
|
35
|
+
- **Does the design match mental models?** Testing reveals whether IA, labeling, and
|
|
36
|
+
interaction patterns align with how users think about the domain.
|
|
37
|
+
|
|
38
|
+
### Scope Boundaries
|
|
39
|
+
|
|
40
|
+
Usability testing is evaluative, not generative. It tells you what is broken, not what
|
|
41
|
+
to build. It complements but does not replace user interviews (needs), card sorting
|
|
42
|
+
(structure), analytics (scale), or accessibility audits (compliance).
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 2. Core Methods & Frameworks
|
|
47
|
+
|
|
48
|
+
### 2.1 Moderated vs. Unmoderated Testing
|
|
49
|
+
|
|
50
|
+
**Moderated:** A facilitator guides the session in real time. Can probe unexpected
|
|
51
|
+
behavior and adapt dynamically. Stronger qualitative insight but higher cost, limited
|
|
52
|
+
scale, and risk of moderator bias / Hawthorne effect.
|
|
53
|
+
|
|
54
|
+
**Unmoderated:** Participants complete tasks independently via a platform. Lower cost,
|
|
55
|
+
larger samples, reduced observer bias, but no follow-up probing and higher task
|
|
56
|
+
abandonment risk.
|
|
57
|
+
|
|
58
|
+
**Recommended approach:** Moderated for early formative testing (low-fidelity, complex
|
|
59
|
+
flows). Unmoderated for scaled validation of refined designs.
|
|
60
|
+
|
|
61
|
+
### 2.2 Remote vs. In-Person
|
|
62
|
+
|
|
63
|
+
| Dimension | Remote | In-Person |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| Setup cost | Lower (participant's own device) | Higher (lab, equipment, travel) |
|
|
66
|
+
| Ecological validity | Higher (natural environment) | Lower (lab setting) |
|
|
67
|
+
| Observation fidelity | Screen + webcam only | Full body language visible |
|
|
68
|
+
| Eye tracking | Requires specialized remote tools | Hardware-based, higher accuracy |
|
|
69
|
+
| Recruitment reach | Global | Geographically constrained |
|
|
70
|
+
|
|
71
|
+
Remote is the default for most teams. In-person remains valuable for physical products,
|
|
72
|
+
kiosk interfaces, or when hardware eye tracking is required.
|
|
73
|
+
|
|
74
|
+
### 2.3 Think-Aloud Protocol
|
|
75
|
+
|
|
76
|
+
Participants verbalize thoughts while interacting with the interface. Two variants:
|
|
77
|
+
|
|
78
|
+
**Concurrent Think-Aloud (CTA):** Verbalize during the task. Prompt with neutral cues:
|
|
79
|
+
"Keep talking," "What are you thinking?" Does not significantly affect task performance.
|
|
80
|
+
Stronger at detecting problems through observation -- navigation confusion, error
|
|
81
|
+
message failures, IA issues.
|
|
82
|
+
|
|
83
|
+
**Retrospective Think-Aloud (RTA):** Complete tasks silently, then review a recording
|
|
84
|
+
and narrate. Detects more problems through verbalization -- terminology mismatches,
|
|
85
|
+
conceptual misunderstandings. Use when timing accuracy matters or when reflection is
|
|
86
|
+
more valuable than in-the-moment narration.
|
|
87
|
+
|
|
88
|
+
### 2.4 Task-Based Testing
|
|
89
|
+
|
|
90
|
+
The core of usability testing: asking participants to complete realistic tasks.
|
|
91
|
+
|
|
92
|
+
- **Scenario framing:** Provide context, not instructions. "You bought a jacket that
|
|
93
|
+
doesn't fit. Find out how to return it." -- not "Find the return policy."
|
|
94
|
+
- **Goal-oriented:** Define what to accomplish, not how. The path chosen is the data.
|
|
95
|
+
- **Prioritized:** Test high-frequency and high-consequence tasks first.
|
|
96
|
+
- **Independent:** Each task completable without knowledge from previous tasks.
|
|
97
|
+
- **Clear success criteria:** Define "done" before sessions begin.
|
|
98
|
+
- **5-8 tasks per session:** Diminishing returns beyond this.
|
|
99
|
+
|
|
100
|
+
### 2.5 A/B Testing
|
|
101
|
+
|
|
102
|
+
Presents two or more design variants to different user groups and measures which
|
|
103
|
+
performs better on a defined metric.
|
|
104
|
+
|
|
105
|
+
- **Statistical significance:** p < 0.05 standard (< 5% chance result is random).
|
|
106
|
+
- **Sample size:** Calculate before testing. A 20% MDE at 95% significance may need
|
|
107
|
+
13,000 users per variant.
|
|
108
|
+
- **Practical vs. statistical significance:** A statistically significant result with a
|
|
109
|
+
tiny effect size may not justify implementation cost.
|
|
110
|
+
- **Run duration:** Must reach predetermined sample size. Stopping early inflates false
|
|
111
|
+
positive rates.
|
|
112
|
+
|
|
113
|
+
A/B testing tells you which variant wins, not why. Combine with qualitative testing.
|
|
114
|
+
|
|
115
|
+
### 2.6 Heuristic Evaluation -- Nielsen's 10 Heuristics
|
|
116
|
+
|
|
117
|
+
Expert inspection, not user testing. Evaluators examine an interface against established
|
|
118
|
+
principles. Often conducted before user testing to identify areas to target.
|
|
119
|
+
|
|
120
|
+
Developed by Jakob Nielsen and Rolf Molich (1990), refined in 1994 via factor analysis
|
|
121
|
+
of 249 usability problems. Unchanged for three decades:
|
|
122
|
+
|
|
123
|
+
1. **Visibility of System Status** -- Keep users informed through timely feedback.
|
|
124
|
+
2. **Match Between System and Real World** -- Use users' language, not system jargon.
|
|
125
|
+
3. **User Control and Freedom** -- Clear "emergency exits," undo/redo support.
|
|
126
|
+
4. **Consistency and Standards** -- Follow platform and industry conventions.
|
|
127
|
+
5. **Error Prevention** -- Design to prevent problems, not just report them.
|
|
128
|
+
6. **Recognition Rather Than Recall** -- Make elements and options visible.
|
|
129
|
+
7. **Flexibility and Efficiency of Use** -- Accelerators for expert users.
|
|
130
|
+
8. **Aesthetic and Minimalist Design** -- Every extra element competes with relevance.
|
|
131
|
+
9. **Help Users Recognize, Diagnose, and Recover from Errors** -- Plain language, specific problem, constructive suggestion.
|
|
132
|
+
10. **Help and Documentation** -- Task-focused, searchable, concrete steps.
|
|
133
|
+
|
|
134
|
+
**Conducting:** 3-5 independent evaluators, each inspects alone, results aggregated,
|
|
135
|
+
each finding rated on Nielsen's 0-4 severity scale.
|
|
136
|
+
|
|
137
|
+
### 2.7 Cognitive Walkthrough
|
|
138
|
+
|
|
139
|
+
Evaluates learnability for new/infrequent users by walking through a task's action
|
|
140
|
+
sequence. At each step, the team asks four questions:
|
|
141
|
+
|
|
142
|
+
1. Will the user try to achieve the right effect?
|
|
143
|
+
2. Will the user notice the correct action is available?
|
|
144
|
+
3. Will the user associate the correct action with the desired effect?
|
|
145
|
+
4. Will the user see that progress is being made?
|
|
146
|
+
|
|
147
|
+
**Advantages:** Very early stage (even paper prototypes), low cost, no recruitment.
|
|
148
|
+
**Limitations:** Only evaluates learnability. Does not capture real user behavior.
|
|
149
|
+
|
|
150
|
+
### 2.8 First-Click Testing
|
|
151
|
+
|
|
152
|
+
Measures where users click first when attempting a task. Research shows correct first
|
|
153
|
+
clicks strongly predict task completion success. Use for navigation evaluation, IA
|
|
154
|
+
findability, and call-to-action prominence testing.
|
|
155
|
+
|
|
156
|
+
### 2.9 Five-Second Test
|
|
157
|
+
|
|
158
|
+
Shows a design for five seconds, then asks what users recall. Tests whether a design
|
|
159
|
+
communicates its message at a glance. Best for landing pages, homepages, and visual
|
|
160
|
+
hierarchy validation. Only measures initial impression -- one data point among many.
|
|
161
|
+
|
|
162
|
+
### 2.10 System Usability Scale (SUS)
|
|
163
|
+
|
|
164
|
+
Created by John Brooke (1986). A 10-item questionnaire providing a standardized
|
|
165
|
+
usability score. Items alternate between positive and negative wording, rated 1-5.
|
|
166
|
+
|
|
167
|
+
**Scoring:** For odd items: contribution = position - 1. For even items: contribution =
|
|
168
|
+
5 - position. Sum all contributions, multiply by 2.5. Result: 0-100.
|
|
169
|
+
|
|
170
|
+
**Benchmarks (500+ studies):**
|
|
171
|
+
|
|
172
|
+
| Score | Grade | Interpretation |
|
|
173
|
+
|---|---|---|
|
|
174
|
+
| 90-100 | A+ | Exceptional |
|
|
175
|
+
| 80-89 | A | Excellent, minimal friction |
|
|
176
|
+
| 68-79 | B-C | Average; room for improvement |
|
|
177
|
+
| 51-67 | D | Notable friction |
|
|
178
|
+
| 0-50 | F | Major problems |
|
|
179
|
+
|
|
180
|
+
**Critical:** Scores are not percentages. Average is 68. A score of 70 is near the 50th
|
|
181
|
+
percentile, not the 70th. Minimum 12-15 responses; aim for 20-30.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 3. Deliverables
|
|
186
|
+
|
|
187
|
+
### 3.1 Test Plan
|
|
188
|
+
|
|
189
|
+
Written and approved before any sessions begin.
|
|
190
|
+
|
|
191
|
+
**Required components:** Objectives and dependent decisions. Scope (features in/out).
|
|
192
|
+
Methodology (moderated/unmoderated, remote/in-person, think-aloud variant, tools).
|
|
193
|
+
Participant criteria and screener. Task scenarios with success criteria. Metrics
|
|
194
|
+
(quantitative and qualitative). Environment/equipment. Schedule. Roles (moderator,
|
|
195
|
+
note-taker, observers).
|
|
196
|
+
|
|
197
|
+
### 3.2 Task Scenarios
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
Task ID: T-03
|
|
201
|
+
Feature: Checkout
|
|
202
|
+
Scenario: "You've added running shoes and a water bottle to your cart.
|
|
203
|
+
You have a 15% discount code: SPRING15. Complete your purchase with the
|
|
204
|
+
discount and choose standard shipping."
|
|
205
|
+
Success: Order confirmation page with discount applied.
|
|
206
|
+
Max Time: 4 minutes
|
|
207
|
+
Priority: Critical path
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Rules: user vocabulary (not UI labels), motivation and context, no navigation hints,
|
|
211
|
+
include at least one error-handling task.
|
|
212
|
+
|
|
213
|
+
### 3.3 Observation Notes
|
|
214
|
+
|
|
215
|
+
A dedicated note-taker (not the moderator) captures: timestamped observations, task
|
|
216
|
+
outcomes (success/failure/partial/assisted), verbatim quotes, behavioral indicators
|
|
217
|
+
(hesitation, backtracking, sighing), and errors with recovery status.
|
|
218
|
+
|
|
219
|
+
### 3.4 Findings Report
|
|
220
|
+
|
|
221
|
+
1. **Executive summary:** Overall state, critical findings, top recommendations.
|
|
222
|
+
2. **Methodology:** Approach, participant count, tools.
|
|
223
|
+
3. **Participant summary:** Demographics and experience levels.
|
|
224
|
+
4. **Quantitative results:** Success rates, time-on-task, SUS, benchmarks.
|
|
225
|
+
5. **Findings by severity:** Problem, affected tasks, participant count, severity,
|
|
226
|
+
evidence (quotes, screenshots, timestamps), recommendation.
|
|
227
|
+
6. **Positive findings:** What worked well -- prevents redesigning effective elements.
|
|
228
|
+
7. **Prioritized recommendations:** Ordered by impact, with effort estimates.
|
|
229
|
+
|
|
230
|
+
### 3.5 Severity Ratings
|
|
231
|
+
|
|
232
|
+
Nielsen's 0-4 scale, the industry standard. Based on frequency, impact, and
|
|
233
|
+
persistence:
|
|
234
|
+
|
|
235
|
+
| Rating | Label | Description | Action |
|
|
236
|
+
|---|---|---|---|
|
|
237
|
+
| 0 | Not a problem | Disagreement that this is an issue | No action |
|
|
238
|
+
| 1 | Cosmetic | Superficial; fix if time permits | Backlog |
|
|
239
|
+
| 2 | Minor | Users slowed but can complete task | Next cycle |
|
|
240
|
+
| 3 | Major | Significant delay/frustration; some users fail | Fix before release |
|
|
241
|
+
| 4 | Catastrophe | Users cannot complete core task | Blocks release |
|
|
242
|
+
|
|
243
|
+
Have multiple evaluators rate independently, then converge through discussion.
|
|
244
|
+
|
|
245
|
+
### 3.6 Recommendations
|
|
246
|
+
|
|
247
|
+
Each finding includes a recommendation that is specific ("Add progress indicator
|
|
248
|
+
showing step 2 of 4"), justified (tied to evidence and severity), feasible
|
|
249
|
+
(accounts for implementation effort), and prioritized (severity x frequency).
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 4. Tools & Techniques
|
|
254
|
+
|
|
255
|
+
### 4.1 Testing Platforms
|
|
256
|
+
|
|
257
|
+
**Maze** -- AI-first unmoderated testing. Prototype testing (Figma/Sketch/XD), card
|
|
258
|
+
sorting, tree testing, surveys, first-click tests, live site testing. 3M+ participant
|
|
259
|
+
panel. Strongest for small teams and continuous testing. Accessible pricing.
|
|
260
|
+
|
|
261
|
+
**UserTesting** -- Enterprise moderated and unmoderated. See/hear/talk to participants
|
|
262
|
+
in real time. Robust recruitment. Video think-aloud, click-stream analysis, sentiment.
|
|
263
|
+
Median contracts ~$40K/year.
|
|
264
|
+
|
|
265
|
+
**Lookback** -- Moderated session specialist. Synchronized screen/camera/mic capture.
|
|
266
|
+
Native iOS/Android SDKs for in-app mobile testing. Live observation, timestamped notes,
|
|
267
|
+
highlight reels. $25-$344/month.
|
|
268
|
+
|
|
269
|
+
**Lyssna (formerly UsabilityHub)** -- Unmoderated tests: prototype testing, card
|
|
270
|
+
sorting, first-click, five-second, preference tests, surveys. 690K+ participants across
|
|
271
|
+
124 countries, 395+ demographic attributes. Figma integration with path analysis.
|
|
272
|
+
|
|
273
|
+
### 4.2 Behavioral Analytics
|
|
274
|
+
|
|
275
|
+
**Hotjar** -- Heatmaps (click, move, scroll), session recordings ranked by frustration
|
|
276
|
+
(rage clicks, u-turns, dead clicks), on-site surveys, feedback widgets. Reveals what
|
|
277
|
+
happens at scale but not why. Use to identify problem areas, then investigate with
|
|
278
|
+
targeted usability tests.
|
|
279
|
+
|
|
280
|
+
### 4.3 Screen Recording
|
|
281
|
+
|
|
282
|
+
Record screen, audio, and face simultaneously. Capture cursor position and clicks.
|
|
283
|
+
Obtain consent. Create timestamped highlight clips for stakeholder presentations --
|
|
284
|
+
few will watch full sessions. Tools: OBS Studio (free), Loom, platform-native
|
|
285
|
+
recording.
|
|
286
|
+
|
|
287
|
+
### 4.4 Eye Tracking
|
|
288
|
+
|
|
289
|
+
**Hardware** (Tobii, EyeLink): In-person lab sessions. Precise fixation data, saccade
|
|
290
|
+
paths, gaze plots. ~0.5-1 degree accuracy.
|
|
291
|
+
|
|
292
|
+
**AI-based predictive** (Attention Insight): Predicted attention heatmaps from static
|
|
293
|
+
designs. Rapid screening without participants. Less accurate.
|
|
294
|
+
|
|
295
|
+
**Visualizations:** Gaze plots (fixation sequence), attention heatmaps (aggregate
|
|
296
|
+
focus), Areas of Interest analysis (time-to-first-fixation, dwell time per region).
|
|
297
|
+
|
|
298
|
+
Use for: visual hierarchy validation, dashboard design, safety-critical interfaces,
|
|
299
|
+
novice vs. expert scan pattern comparison.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## 5. Common Failures
|
|
304
|
+
|
|
305
|
+
### 5.1 Testing with the Wrong Users
|
|
306
|
+
|
|
307
|
+
Recruiting non-representative participants -- testing enterprise software with students,
|
|
308
|
+
senior health apps with 25-year-olds. Happens from convenience sampling, missing
|
|
309
|
+
personas, or weak screeners. The entire investment is wasted: real problems go undetected
|
|
310
|
+
while phantom problems consume resources. Fix: define criteria from personas, write
|
|
311
|
+
disqualifying screener questions, verify before sessions.
|
|
312
|
+
|
|
313
|
+
### 5.2 Too Many Tasks
|
|
314
|
+
|
|
315
|
+
Cramming 15-20 tasks into 60 minutes. Participants fatigue, later tasks get less effort,
|
|
316
|
+
data quality degrades. Fix: limit to 5-8 tasks. Prioritize ruthlessly. Run additional
|
|
317
|
+
rounds for remaining tasks.
|
|
318
|
+
|
|
319
|
+
### 5.3 Leading Tasks
|
|
320
|
+
|
|
321
|
+
Task instructions that reveal the answer: "Use the search bar at the top to find running
|
|
322
|
+
shoes" names the element and method. "Click 'My Account' to update your profile" is an
|
|
323
|
+
instruction, not a task. Fix: frame as goals using user vocabulary. Have someone
|
|
324
|
+
unfamiliar with the design review task wording.
|
|
325
|
+
|
|
326
|
+
### 5.4 Not Testing Early Enough
|
|
327
|
+
|
|
328
|
+
Waiting until the design is built and polished. Late-discovered problems are
|
|
329
|
+
exponentially more expensive to fix. Structural IA issues require extensive rework.
|
|
330
|
+
Teams resist findings because they are already invested. Fix: test paper prototypes,
|
|
331
|
+
wireframes, low-fidelity clickables. "Testing one user early is better than testing 50
|
|
332
|
+
near the end" (Krug).
|
|
333
|
+
|
|
334
|
+
### 5.5 Testing Opinions Instead of Behavior
|
|
335
|
+
|
|
336
|
+
Asking "Would you use this feature?" or "Which design do you prefer?" People cannot
|
|
337
|
+
accurately predict their behavior. Preference does not correlate with performance.
|
|
338
|
+
Fix: design tasks that produce observable behavior. Measure what people do, not what
|
|
339
|
+
they say they would do.
|
|
340
|
+
|
|
341
|
+
### 5.6 Not Fixing Findings
|
|
342
|
+
|
|
343
|
+
Conducting tests, writing reports, then failing to act. Reports sit unread, backlogs
|
|
344
|
+
are full, findings are "nice to haves." Testing becomes organizational theater. Fix:
|
|
345
|
+
present within 48 hours, tie to severity ratings, identify sprint-ready quick wins, file
|
|
346
|
+
as tracked tickets, follow up to verify fixes.
|
|
347
|
+
|
|
348
|
+
### 5.7 Moderator Bias
|
|
349
|
+
|
|
350
|
+
Unconsciously influencing participants through leading questions, nodding, verbal
|
|
351
|
+
affirmations ("good"), or premature hints. Fix: standardized script, echo technique
|
|
352
|
+
(repeat participant's words), session review for moderator behavior, second observer.
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## 6. Integration with Development
|
|
357
|
+
|
|
358
|
+
### 6.1 Release-Blocking Classification
|
|
359
|
+
|
|
360
|
+
**Severity 4 (Blocks release):** Cannot complete core tasks. Data loss without warning.
|
|
361
|
+
Critical information invisible or misleading. Inaccessible to target population.
|
|
362
|
+
|
|
363
|
+
**Severity 3 (Fix before release):** Completable with significant frustration. Multiple
|
|
364
|
+
participants failed. Workarounds non-obvious. Affects high-frequency tasks.
|
|
365
|
+
|
|
366
|
+
**Severity 2 (Post-release):** Users slowed but succeed. Edge cases or low-frequency
|
|
367
|
+
tasks. Visual/labeling improvements.
|
|
368
|
+
|
|
369
|
+
**Severity 1 (Backlog):** Aesthetic inconsistencies. Minor copy. Nice-to-haves.
|
|
370
|
+
|
|
371
|
+
### 6.2 Severity x Frequency Prioritization
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
High Frequency Low Frequency
|
|
375
|
+
+---------------------+---------------------+
|
|
376
|
+
High Severity | FIX IMMEDIATELY | FIX BEFORE RELEASE |
|
|
377
|
+
(3-4) | Sprint priority #1 | Schedule this cycle |
|
|
378
|
+
+---------------------+---------------------+
|
|
379
|
+
Low Severity | FIX SOON | BACKLOG |
|
|
380
|
+
(1-2) | Next sprint | Lowest priority |
|
|
381
|
+
+---------------------+---------------------+
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
Additional factors: ease of fix (30-minute severity-2 fix before 2-week severity-3
|
|
385
|
+
rework), user segment impact (power users driving revenue), brand/trust impact
|
|
386
|
+
(broken images, critical typos).
|
|
387
|
+
|
|
388
|
+
### 6.3 Quick Wins vs. Structural Changes
|
|
389
|
+
|
|
390
|
+
**Quick wins** (implement this sprint): button label changes, confirmation dialogs,
|
|
391
|
+
error message improvements, contrast fixes, loading indicators, link text fixes.
|
|
392
|
+
Demonstrate testing produces results. Build organizational trust.
|
|
393
|
+
|
|
394
|
+
**Structural changes** (separate project): IA reorganization, navigation redesign,
|
|
395
|
+
interaction model changes, missing features, onboarding rework. Require their own
|
|
396
|
+
design-test-iterate cycle with separate timelines.
|
|
397
|
+
|
|
398
|
+
### 6.4 Communicating to Engineering
|
|
399
|
+
|
|
400
|
+
File usability issues as tickets with severity labels and affected flows. Include 15-30
|
|
401
|
+
second video clips. Specify the problem, not the solution. Link to the full report but
|
|
402
|
+
do not require reading it. Track resolution -- mark resolved only after follow-up
|
|
403
|
+
confirms the fix works.
|
|
404
|
+
|
|
405
|
+
### 6.5 Testing Cadence
|
|
406
|
+
|
|
407
|
+
- **Monthly lightweight:** 3-5 participants on recent changes (Krug's cadence).
|
|
408
|
+
- **Pre-release:** 5-8 participants, full task suite before major releases.
|
|
409
|
+
- **Post-launch:** Analytics/Hotjar review for 2 weeks after launch.
|
|
410
|
+
- **Quarterly benchmarking:** SUS and task metrics for trend tracking.
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## 7. Key References
|
|
415
|
+
|
|
416
|
+
- Krug, Steve. "Don't Make Me Think, Revisited." 3rd ed., 2013. 700K+ copies sold.
|
|
417
|
+
- Krug, Steve. "Rocket Surgery Made Easy." 2010. DIY usability testing guide.
|
|
418
|
+
- Nielsen, Jakob. "Usability Engineering." 1993. Foundational discipline text.
|
|
419
|
+
- Nielsen, Jakob. "10 Usability Heuristics for User Interface Design." NNG, 1994/2020.
|
|
420
|
+
- Nielsen, Jakob. "Severity Ratings for Usability Problems." NNG.
|
|
421
|
+
- Nielsen, Jakob. "Why You Only Need to Test with 5 Users." NNG, 2000.
|
|
422
|
+
- Brooke, John. "SUS: A Quick and Dirty Usability Scale." 1986.
|
|
423
|
+
- Rubin & Chisnell. "Handbook of Usability Testing." 2nd ed., 2008.
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## Quick Reference Checklist
|
|
428
|
+
|
|
429
|
+
### Before Testing
|
|
430
|
+
|
|
431
|
+
```
|
|
432
|
+
[ ] Objectives defined -- what decisions depend on results?
|
|
433
|
+
[ ] Test plan written and stakeholder-approved
|
|
434
|
+
[ ] Participant criteria defined from user personas
|
|
435
|
+
[ ] Screener questionnaire written and tested
|
|
436
|
+
[ ] 5-8 participants recruited matching target profile
|
|
437
|
+
[ ] 5-8 task scenarios with neutral language and success criteria
|
|
438
|
+
[ ] Pilot session completed (test the test)
|
|
439
|
+
[ ] Recording setup verified (screen + audio + face)
|
|
440
|
+
[ ] Consent forms prepared
|
|
441
|
+
[ ] Observation template ready for note-taker
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### During Testing
|
|
445
|
+
|
|
446
|
+
```
|
|
447
|
+
[ ] Consent obtained and recorded
|
|
448
|
+
[ ] Pre-test questions asked (demographics, experience)
|
|
449
|
+
[ ] Think-aloud explained with practice task
|
|
450
|
+
[ ] Tasks presented one at a time, consistent order
|
|
451
|
+
[ ] Moderator neutral -- no leading, hinting, or affirming
|
|
452
|
+
[ ] Note-taker records timestamped observations
|
|
453
|
+
[ ] Post-task ratings collected after each task
|
|
454
|
+
[ ] Post-test questionnaire administered (SUS)
|
|
455
|
+
[ ] Debrief: "What was most difficult?" "Anything else?"
|
|
456
|
+
[ ] Participant thanked and compensated
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### After Testing
|
|
460
|
+
|
|
461
|
+
```
|
|
462
|
+
[ ] Session recordings reviewed within 48 hours
|
|
463
|
+
[ ] Observations compiled across participants by task
|
|
464
|
+
[ ] Patterns identified (problems seen by 2+ participants)
|
|
465
|
+
[ ] Severity ratings assigned (0-4) to each finding
|
|
466
|
+
[ ] Quantitative metrics calculated (success rate, time, SUS)
|
|
467
|
+
[ ] Findings report written with evidence and recommendations
|
|
468
|
+
[ ] Findings classified: release-blocking vs. schedule vs. backlog
|
|
469
|
+
[ ] Top findings presented to team within 1 week
|
|
470
|
+
[ ] Actionable findings filed as issue tracker tickets
|
|
471
|
+
[ ] Quick wins identified for current sprint
|
|
472
|
+
[ ] Follow-up testing scheduled to verify fixes
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### Red Flags -- Stop and Reassess
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
[!] Testing with colleagues instead of target users
|
|
479
|
+
[!] Task scenarios name UI elements or reveal the path
|
|
480
|
+
[!] Moderator helps participants when they struggle
|
|
481
|
+
[!] More than 10 tasks in a single session
|
|
482
|
+
[!] No success criteria defined before sessions
|
|
483
|
+
[!] Testing only at end of development cycle
|
|
484
|
+
[!] No severity ratings in findings report
|
|
485
|
+
[!] No mechanism to route findings to development
|
|
486
|
+
[!] Previous findings were never addressed
|
|
487
|
+
[!] Testing opinions ("Do you like it?") not behavior
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
### Method Selection Guide
|
|
491
|
+
|
|
492
|
+
| Situation | Recommended Method |
|
|
493
|
+
|---|---|
|
|
494
|
+
| Early concept, no prototype | Cognitive walkthrough, paper prototype test |
|
|
495
|
+
| Low-fidelity wireframes | Moderated think-aloud, first-click test |
|
|
496
|
+
| Interactive prototype | Moderated or unmoderated task-based testing |
|
|
497
|
+
| Evaluating navigation/IA | First-click testing, tree testing |
|
|
498
|
+
| Testing first impressions | Five-second test |
|
|
499
|
+
| Pre-launch validation | Full moderated suite + SUS |
|
|
500
|
+
| Live product optimization | A/B testing + Hotjar analytics |
|
|
501
|
+
| No users available | Heuristic evaluation (3-5 evaluators) |
|
|
502
|
+
| Benchmarking over time | SUS + task metrics quarterly |
|
|
503
|
+
| Comparing two designs | A/B test or preference test |
|
|
504
|
+
| Validating a specific fix | Targeted test, 3-5 users |
|
|
505
|
+
| Large-scale validation | Unmoderated via Maze or Lyssna |
|
|
506
|
+
|
|
507
|
+
### Metrics Reference
|
|
508
|
+
|
|
509
|
+
| Metric | Measures | Target |
|
|
510
|
+
|---|---|---|
|
|
511
|
+
| Task success rate | Can users complete it? | >85% critical tasks |
|
|
512
|
+
| Time on task | Efficiency | Compare to expert baseline |
|
|
513
|
+
| Error rate | Mistake frequency | <10% critical paths |
|
|
514
|
+
| SUS score | Perceived usability | Above 68 = above average |
|
|
515
|
+
| First-click success | Starting in right place | >70% correct |
|
|
516
|
+
| Completion rate | End-to-end flow finish | Track across rounds |
|