@kensaurus/skills 0.0.0-stage → 2.1.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/.claude-plugin/marketplace.json +53 -0
- package/.claude-plugin/plugin.json +40 -0
- package/.cursor-plugin/plugin.json +38 -0
- package/.mcp.json +28 -0
- package/CHANGELOG.md +1790 -0
- package/LICENSE +21 -0
- package/LICENSE-APACHE +62 -0
- package/NOTICE +13 -0
- package/README.md +821 -2
- package/SECURITY.md +55 -0
- package/agents/code-reviewer.md +60 -0
- package/agents/completion-judge.md +89 -0
- package/agents/db-migrator.md +125 -0
- package/agents/debugger.md +47 -0
- package/agents/deploy-checker.md +100 -0
- package/agents/perf-monitor.md +74 -0
- package/assets/favicon.png +0 -0
- package/assets/logo-light.png +0 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +6 -0
- package/assets/og.png +0 -0
- package/bin/install.mjs +1127 -0
- package/bin/kenji.js +2 -0
- package/commands/adr.md +17 -0
- package/commands/aeo-plan.md +18 -0
- package/commands/arch-boundaries.md +17 -0
- package/commands/aso-plan.md +18 -0
- package/commands/auth-flows.md +19 -0
- package/commands/backup-plan.md +17 -0
- package/commands/burndown-full.md +25 -0
- package/commands/capacitor-plan.md +18 -0
- package/commands/codemod-safety.md +22 -0
- package/commands/commit.md +18 -0
- package/commands/complete-everything.md +40 -0
- package/commands/cost-plan.md +19 -0
- package/commands/deadcode-plan.md +26 -0
- package/commands/deadcode.md +32 -0
- package/commands/debug-issue.md +17 -0
- package/commands/deps-plan.md +18 -0
- package/commands/docs-plan.md +17 -0
- package/commands/doctrine.md +19 -0
- package/commands/error-plan.md +19 -0
- package/commands/feedback-to-closure.md +36 -0
- package/commands/fix-issue.md +76 -0
- package/commands/gate-logic.md +26 -0
- package/commands/green-repo.md +36 -0
- package/commands/grill-me.md +19 -0
- package/commands/gtm-plan.md +21 -0
- package/commands/gtm-weekly.md +17 -0
- package/commands/gtm.md +22 -0
- package/commands/handoff.md +15 -0
- package/commands/housekeep-backlog.md +18 -0
- package/commands/housekeep-files.md +22 -0
- package/commands/housekeep-gates.md +18 -0
- package/commands/instant-nav.md +11 -0
- package/commands/integrity-plan.md +19 -0
- package/commands/launch-kit.md +16 -0
- package/commands/mcp-guide.md +40 -0
- package/commands/mobile-plan.md +19 -0
- package/commands/native-rn-monorepo/README.md +78 -0
- package/commands/native-rn-monorepo/android-build.md +26 -0
- package/commands/native-rn-monorepo/android-install.md +32 -0
- package/commands/native-rn-monorepo/android-logcat.md +37 -0
- package/commands/native-rn-monorepo/ios-ci-logs.md +56 -0
- package/commands/native-rn-monorepo/ios-ci-status.md +52 -0
- package/commands/native-rn-monorepo/ios-ci-trigger.md +59 -0
- package/commands/native-rn-monorepo/rn-reset.md +50 -0
- package/commands/native-rn-monorepo/rn-ship-ios.md +67 -0
- package/commands/native-rn-monorepo/rn-verify.md +53 -0
- package/commands/perf-plan.md +18 -0
- package/commands/plan-mode.md +74 -0
- package/commands/pr.md +16 -0
- package/commands/pricing-plan.md +20 -0
- package/commands/privacy-plan.md +18 -0
- package/commands/readability.md +12 -0
- package/commands/readme.md +15 -0
- package/commands/refactor.md +15 -0
- package/commands/release-prep.md +17 -0
- package/commands/research.md +25 -0
- package/commands/responsive-audit.md +21 -0
- package/commands/review-code.md +18 -0
- package/commands/rls-plan.md +18 -0
- package/commands/secrets-plan.md +18 -0
- package/commands/security-plan.md +19 -0
- package/commands/ship-and-observe.md +36 -0
- package/commands/skill-conflicts.md +19 -0
- package/commands/slop-plan.md +18 -0
- package/commands/stub-plan.md +18 -0
- package/commands/test-mutation.md +16 -0
- package/commands/test-plan.md +17 -0
- package/commands/test.md +29 -0
- package/commands/thirdparty-web-interface-guidelines.md +185 -0
- package/commands/uiux-plan.md +18 -0
- package/commands/uiux.md +45 -0
- package/commands/update-deps.md +21 -0
- package/commands/validation-plan.md +19 -0
- package/commands-portable/fix-issue.md +72 -0
- package/commands-portable/plan-mode.md +92 -0
- package/commands-portable/research.md +91 -0
- package/docs/screenshots/README.md +5 -0
- package/docs/screenshots/audit-dark.png +0 -0
- package/docs/screenshots/build-dark.png +0 -0
- package/docs/screenshots/grill-dark.png +0 -0
- package/docs/screenshots/hero-dark.png +0 -0
- package/docs/screenshots/hero-light.png +0 -0
- package/docs/screenshots/ship-dark.png +0 -0
- package/docs/screenshots/src/showcase.html +320 -0
- package/hooks/completion-gate.mjs +258 -0
- package/hooks/cursor-hooks.json +13 -0
- package/hooks/hooks.json +15 -0
- package/install.sh +21 -0
- package/llms.txt +40 -0
- package/mcp/README.md +266 -0
- package/mcp/VERSIONS.md +41 -0
- package/mcp/mcp-full.json.template +124 -0
- package/mcp/mcp.json.template +29 -0
- package/mcp/pinned-versions.json +27 -0
- package/package.json +94 -4
- package/rules/approved-plan-execution.mdc +65 -0
- package/rules/full-stack-ship-discipline.mdc +37 -0
- package/rules/native-rn-monorepo/README.md +63 -0
- package/rules/native-rn-monorepo/_project.mdc +69 -0
- package/rules/native-rn-monorepo/native-android.mdc +72 -0
- package/rules/native-rn-monorepo/native-ios.mdc +61 -0
- package/rules/native-rn-monorepo/react-native-js.mdc +78 -0
- package/rules/native-rn-monorepo/web.mdc +60 -0
- package/rules/project-starter/components.mdc +54 -0
- package/rules/project-starter/data-fetching.mdc +77 -0
- package/rules/project-starter/git.mdc +41 -0
- package/rules/project-starter/supabase.mdc +37 -0
- package/rules/project-starter/tailwind.mdc +48 -0
- package/rules/project-starter/typescript.mdc +36 -0
- package/rules/project-starter/web-performance.mdc +42 -0
- package/rules/senior-engineer.mdc +30 -0
- package/rules/shell-first-search.mdc +19 -0
- package/rules/skill-workflows.mdc +35 -0
- package/rules/verification-before-completion.mdc +57 -0
- package/skills/audit-accessibility/SKILL.md +441 -0
- package/skills/audit-agent-speed/SKILL.md +181 -0
- package/skills/audit-agent-speed/scripts/stop-typecheck.mjs +151 -0
- package/skills/audit-analytics/SKILL.md +138 -0
- package/skills/audit-auth-flows/SKILL.md +267 -0
- package/skills/audit-backend-architecture/SKILL.md +266 -0
- package/skills/audit-backend-architecture/references/patterns.md +386 -0
- package/skills/audit-bundle-size/SKILL.md +295 -0
- package/skills/audit-cicd/SKILL.md +218 -0
- package/skills/audit-code-quality/SKILL.md +314 -0
- package/skills/audit-code-review/SKILL.md +289 -0
- package/skills/audit-codemod-safety/SKILL.md +159 -0
- package/skills/audit-db-schema/SKILL.md +465 -0
- package/skills/audit-db-schema/references/details.md +110 -0
- package/skills/audit-doctrine/SKILL.md +189 -0
- package/skills/audit-env-parity/SKILL.md +133 -0
- package/skills/audit-fe-api/SKILL.md +458 -0
- package/skills/audit-gate-logic/SKILL.md +219 -0
- package/skills/audit-i18n/SKILL.md +339 -0
- package/skills/audit-infra-cost/SKILL.md +142 -0
- package/skills/audit-langfuse-llm/SKILL.md +468 -0
- package/skills/audit-langfuse-llm/references/details.md +226 -0
- package/skills/audit-llm-security/SKILL.md +147 -0
- package/skills/audit-monetization-iap/SKILL.md +137 -0
- package/skills/audit-payment-system/SKILL.md +268 -0
- package/skills/audit-payment-system/references/checklist.md +283 -0
- package/skills/audit-performance/SKILL.md +383 -0
- package/skills/audit-performance/references/loading-priority-2026.md +81 -0
- package/skills/audit-realworld/SKILL.md +287 -0
- package/skills/audit-registry-listing/SKILL.md +122 -0
- package/skills/audit-resilience/SKILL.md +153 -0
- package/skills/audit-responsive/SKILL.md +221 -0
- package/skills/audit-responsive/references/checklist.md +166 -0
- package/skills/audit-security/SKILL.md +289 -0
- package/skills/audit-skill-conflicts/SKILL.md +178 -0
- package/skills/audit-ui-states/SKILL.md +146 -0
- package/skills/audit-uiux-design-system/SKILL.md +475 -0
- package/skills/audit-uiux-design-system/references/details.md +71 -0
- package/skills/audit-ux/SKILL.md +381 -0
- package/skills/audit-ux/references/details.md +245 -0
- package/skills/audit-ux-journeys/SKILL.md +215 -0
- package/skills/audit-ux-journeys/references/checklist.md +179 -0
- package/skills/backend-db-performance/SKILL.md +441 -0
- package/skills/backend-error-handling/SKILL.md +489 -0
- package/skills/backend-error-handling/references/details.md +58 -0
- package/skills/backend-observability/SKILL.md +88 -0
- package/skills/backend-patterns/SKILL.md +499 -0
- package/skills/backend-patterns/references/architecture-patterns.md +298 -0
- package/skills/backend-realtime/SKILL.md +403 -0
- package/skills/backend-realtime/references/patterns.md +74 -0
- package/skills/burndown-full/SKILL.md +174 -0
- package/skills/complete-everything/SKILL.md +295 -0
- package/skills/data-pipeline/SKILL.md +109 -0
- package/skills/data-visualization/SKILL.md +488 -0
- package/skills/debug-error/SKILL.md +322 -0
- package/skills/debug-fe-be-integration/SKILL.md +459 -0
- package/skills/debug-sentry-monitor/SKILL.md +497 -0
- package/skills/debug-sentry-monitor/references/details.md +165 -0
- package/skills/deploy-npm/SKILL.md +394 -0
- package/skills/deploy-npm/references/example-mushi-mushi.md +52 -0
- package/skills/deploy-verify/SKILL.md +489 -0
- package/skills/design-api/SKILL.md +379 -0
- package/skills/design-canvas/SKILL.md +155 -0
- package/skills/design-email/SKILL.md +370 -0
- package/skills/design-frontend/SKILL.md +143 -0
- package/skills/design-generative-art/SKILL.md +474 -0
- package/skills/design-mobile-first/SKILL.md +506 -0
- package/skills/design-motion/SKILL.md +333 -0
- package/skills/design-motion/references/delight-interactions.md +191 -0
- package/skills/design-prd/SKILL.md +443 -0
- package/skills/design-system/SKILL.md +457 -0
- package/skills/design-theme/SKILL.md +226 -0
- package/skills/design-theme/themes/tsumagoi-ranch.md +150 -0
- package/skills/docs-adr/SKILL.md +168 -0
- package/skills/docs-coauthor/SKILL.md +368 -0
- package/skills/docs-comparison-pages/SKILL.md +117 -0
- package/skills/docs-domain-modeling/SKILL.md +97 -0
- package/skills/docs-launch-kit/SKILL.md +139 -0
- package/skills/docs-writer/SKILL.md +469 -0
- package/skills/enhance-agent-guardrails/SKILL.md +164 -0
- package/skills/enhance-arch-boundaries/SKILL.md +154 -0
- package/skills/enhance-capacitor-ui/SKILL.md +463 -0
- package/skills/enhance-capacitor-ui/references/details.md +750 -0
- package/skills/enhance-email-deliverability/SKILL.md +143 -0
- package/skills/enhance-growth-loops/SKILL.md +122 -0
- package/skills/enhance-lifecycle-email/SKILL.md +130 -0
- package/skills/enhance-motion/SKILL.md +193 -0
- package/skills/enhance-onboarding/SKILL.md +148 -0
- package/skills/enhance-pwa/SKILL.md +303 -0
- package/skills/enhance-readability/SKILL.md +146 -0
- package/skills/enhance-readme/SKILL.md +496 -0
- package/skills/enhance-readme/package-lock.json +187 -0
- package/skills/enhance-readme/package.json +17 -0
- package/skills/enhance-readme/scripts/generate-readme-blocks.mjs +199 -0
- package/skills/enhance-readme/scripts/record-readme-tour.mjs +442 -0
- package/skills/enhance-skill-prompts/SKILL.md +167 -0
- package/skills/enhance-skill-prompts/references/exemplar-audit-auth-flows.md +311 -0
- package/skills/enhance-ux-laws/SKILL.md +409 -0
- package/skills/enhance-web-conversion/SKILL.md +155 -0
- package/skills/enhance-web-forms/SKILL.md +154 -0
- package/skills/enhance-web-instant-nav/SKILL.md +138 -0
- package/skills/enhance-web-instant-nav/references/bfcache-blockers.md +23 -0
- package/skills/enhance-web-instant-nav/references/early-hints.md +33 -0
- package/skills/enhance-web-instant-nav/references/speculation-rules.md +44 -0
- package/skills/enhance-web-landing/SKILL.md +459 -0
- package/skills/enhance-web-landing/references/details.md +773 -0
- package/skills/enhance-web-redesign/SKILL.md +228 -0
- package/skills/enhance-web-seo/SKILL.md +276 -0
- package/skills/enhance-web-ui/SKILL.md +473 -0
- package/skills/enhance-web-ui/references/details.md +674 -0
- package/skills/enhance-web-ux/HEURISTICS.md +248 -0
- package/skills/enhance-web-ux/PATTERNS.md +375 -0
- package/skills/enhance-web-ux/SKILL.md +464 -0
- package/skills/enhance-web-ux/examples.md +222 -0
- package/skills/enhance-web-ux/references/details.md +406 -0
- package/skills/enhance-web-web3d/SKILL.md +397 -0
- package/skills/enhance-web-web3d/references/css-canvas-effects.md +180 -0
- package/skills/handoff/SKILL.md +66 -0
- package/skills/housekeep-backlog/SKILL.md +149 -0
- package/skills/housekeep-dead-code/SKILL.md +387 -0
- package/skills/housekeep-dead-code/references/ratchet-ci.md +205 -0
- package/skills/housekeep-dead-code/references/supabase-hygiene.md +152 -0
- package/skills/housekeep-design/SKILL.md +207 -0
- package/skills/housekeep-files/SKILL.md +220 -0
- package/skills/housekeep-files/references/naming-and-catalog.md +86 -0
- package/skills/housekeep-files/scripts/housekeep-files.ps1 +360 -0
- package/skills/housekeep-files/scripts/housekeep-files.sh +238 -0
- package/skills/housekeep-gates/SKILL.md +174 -0
- package/skills/iterate-agent-harness/SKILL.md +137 -0
- package/skills/iterate-gtm-weekly/SKILL.md +103 -0
- package/skills/iterate-post-launch/SKILL.md +292 -0
- package/skills/meta-mcp-builder/SKILL.md +313 -0
- package/skills/meta-skill-creator/SKILL.md +304 -0
- package/skills/mobile-capacitor-platform/SKILL.md +103 -0
- package/skills/mobile-emulator-start/SKILL.md +296 -0
- package/skills/mobile-emulator-test/SKILL.md +491 -0
- package/skills/mobile-emulator-test/references/details.md +478 -0
- package/skills/mobile-rn-performance/SKILL.md +107 -0
- package/skills/mobile-rn-screen/SKILL.md +476 -0
- package/skills/mobile-rn-screen/references/details.md +785 -0
- package/skills/mushi-health/SKILL.md +206 -0
- package/skills/mushi-integration/SKILL.md +257 -0
- package/skills/plan-aeo-readiness/SKILL.md +166 -0
- package/skills/plan-antislop/SKILL.md +281 -0
- package/skills/plan-aso/SKILL.md +149 -0
- package/skills/plan-backup-dr/SKILL.md +131 -0
- package/skills/plan-capacitor-hardening/SKILL.md +217 -0
- package/skills/plan-data-integrity/SKILL.md +187 -0
- package/skills/plan-dead-code/SKILL.md +386 -0
- package/skills/plan-dead-code/references/knip-config.md +214 -0
- package/skills/plan-dead-code/references/output-templates.md +133 -0
- package/skills/plan-dead-code/references/preservation-contract.md +50 -0
- package/skills/plan-dead-code/references/residue-greps.md +84 -0
- package/skills/plan-dependency-provenance/SKILL.md +200 -0
- package/skills/plan-docs-sync/SKILL.md +143 -0
- package/skills/plan-docs-sync/references/drift-taxonomy.md +43 -0
- package/skills/plan-docs-sync/references/output-templates.md +33 -0
- package/skills/plan-docs-sync/references/preservation-contract.md +17 -0
- package/skills/plan-error-handling/SKILL.md +205 -0
- package/skills/plan-gtm/SKILL.md +276 -0
- package/skills/plan-gtm/references/benchmarks-2026.md +183 -0
- package/skills/plan-input-validation/SKILL.md +179 -0
- package/skills/plan-llm-cost-guardrails/SKILL.md +176 -0
- package/skills/plan-mobile-readiness/SKILL.md +171 -0
- package/skills/plan-perf-audit/SKILL.md +145 -0
- package/skills/plan-perf-audit/references/audit-scope.md +51 -0
- package/skills/plan-perf-audit/references/output-templates.md +33 -0
- package/skills/plan-perf-audit/references/preservation-contract.md +13 -0
- package/skills/plan-pricing/SKILL.md +173 -0
- package/skills/plan-privacy-compliance/SKILL.md +148 -0
- package/skills/plan-rls-audit/SKILL.md +231 -0
- package/skills/plan-secrets-audit/SKILL.md +181 -0
- package/skills/plan-security-audit/SKILL.md +168 -0
- package/skills/plan-security-audit/references/output-templates.md +36 -0
- package/skills/plan-security-audit/references/owasp-supabase-scope.md +55 -0
- package/skills/plan-security-audit/references/preservation-contract.md +18 -0
- package/skills/plan-stub-checker/SKILL.md +216 -0
- package/skills/plan-stub-checker/references/detection-methodology.md +75 -0
- package/skills/plan-stub-checker/references/detection-taxonomy.md +34 -0
- package/skills/plan-stub-checker/references/output-templates.md +63 -0
- package/skills/plan-stub-checker/references/preservation-contract.md +24 -0
- package/skills/plan-test-coverage/SKILL.md +170 -0
- package/skills/plan-test-coverage/references/methodology.md +54 -0
- package/skills/plan-test-coverage/references/output-templates.md +34 -0
- package/skills/plan-test-coverage/references/preservation-contract.md +15 -0
- package/skills/plan-uiux-unification/SKILL.md +230 -0
- package/skills/plan-uiux-unification/references/output-templates.md +67 -0
- package/skills/plan-uiux-unification/references/phase-workbook.md +85 -0
- package/skills/plan-uiux-unification/references/preservation-contract.md +24 -0
- package/skills/protocol-browser-anti-stall/SKILL.md +211 -0
- package/skills/protocol-browser-anti-stall/references/mcp-to-cli-map.md +113 -0
- package/skills/protocol-browser-anti-stall/references/playwright-session-coordination.md +170 -0
- package/skills/research/SKILL.md +422 -0
- package/skills/test-exploratory/SKILL.md +165 -0
- package/skills/test-exploratory/references/charter-template.md +29 -0
- package/skills/test-load/SKILL.md +126 -0
- package/skills/test-mutation/SKILL.md +160 -0
- package/skills/test-playwright/SKILL.md +354 -0
- package/skills/test-qa/SKILL.md +364 -0
- package/skills/test-qa/references/details.md +268 -0
- package/skills/test-red-team/SKILL.md +386 -0
- package/skills/test-red-team/references/owasp-attack-checklist.md +193 -0
- package/skills/test-unit/SKILL.md +259 -0
- package/skills/test-unit/references/details.md +267 -0
- package/skills/test-visual-regression/SKILL.md +132 -0
- package/skills/thirdparty-emil-design-eng/ATTRIBUTION.md +20 -0
- package/skills/thirdparty-emil-design-eng/SKILL.md +21 -0
- package/skills/thirdparty-emil-design-eng/references/emil-design-eng.md +676 -0
- package/skills/thirdparty-ui-ux-pro-max/ATTRIBUTION.md +22 -0
- package/skills/thirdparty-ui-ux-pro-max/SKILL.md +304 -0
- package/skills/thirdparty-ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/thirdparty-ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/thirdparty-ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/thirdparty-ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/thirdparty-ui-ux-pro-max/data/products.csv +97 -0
- package/skills/thirdparty-ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/thirdparty-ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/thirdparty-ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/thirdparty-ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/thirdparty-ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/thirdparty-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/thirdparty-ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/thirdparty-ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/thirdparty-web-interface-guidelines/ATTRIBUTION.md +23 -0
- package/skills/thirdparty-web-interface-guidelines/SKILL.md +190 -0
- package/skills/workflow-build-feature/SKILL.md +118 -0
- package/skills/workflow-coding-discipline/SKILL.md +140 -0
- package/skills/workflow-environment-ready/SKILL.md +128 -0
- package/skills/workflow-feature-flag/SKILL.md +262 -0
- package/skills/workflow-feedback-to-closure/SKILL.md +165 -0
- package/skills/workflow-fix-and-ship/SKILL.md +136 -0
- package/skills/workflow-git-commit/SKILL.md +200 -0
- package/skills/workflow-green-repo/SKILL.md +166 -0
- package/skills/workflow-grilling/SKILL.md +73 -0
- package/skills/workflow-gtm/SKILL.md +153 -0
- package/skills/workflow-housekeep/SKILL.md +453 -0
- package/skills/workflow-housekeep/references/templates.md +109 -0
- package/skills/workflow-launch-ready/SKILL.md +145 -0
- package/skills/workflow-merge-conflicts/SKILL.md +62 -0
- package/skills/workflow-onboard/SKILL.md +99 -0
- package/skills/workflow-parallel-agents/SKILL.md +164 -0
- package/skills/workflow-pr/SKILL.md +197 -0
- package/skills/workflow-quality-gate/SKILL.md +147 -0
- package/skills/workflow-refactor/SKILL.md +274 -0
- package/skills/workflow-release-prep/SKILL.md +207 -0
- package/skills/workflow-ship-and-observe/SKILL.md +164 -0
- package/skills/workflow-spec-tdd/SKILL.md +141 -0
- package/skills/workflow-spec-tdd/references/spec-template.md +126 -0
- package/skills/workflow-spec-tdd/references/tdd-patterns.md +167 -0
- package/skills-cursor/babysit/SKILL.md +17 -0
- package/skills-cursor/canvas/SKILL.md +142 -0
- package/skills-cursor/canvas/sdk/canvas-tokens.d.ts +235 -0
- package/skills-cursor/canvas/sdk/chart-primitives.d.ts +200 -0
- package/skills-cursor/canvas/sdk/dag-layout.d.ts +102 -0
- package/skills-cursor/canvas/sdk/diff-view.d.ts +130 -0
- package/skills-cursor/canvas/sdk/form-primitives.d.ts +194 -0
- package/skills-cursor/canvas/sdk/hooks.d.ts +117 -0
- package/skills-cursor/canvas/sdk/index.d.ts +47 -0
- package/skills-cursor/canvas/sdk/theme.d.ts +61 -0
- package/skills-cursor/canvas/sdk/todo-list.d.ts +49 -0
- package/skills-cursor/canvas/sdk/ui-primitives.d.ts +549 -0
- package/skills-cursor/canvas/sdk/ui-primitives.test.d.ts +2 -0
- package/skills-cursor/create-hook/SKILL.md +238 -0
- package/skills-cursor/create-rule/SKILL.md +185 -0
- package/skills-cursor/create-skill/SKILL.md +269 -0
- package/skills-cursor/create-skill/references/authoring-guide.md +182 -0
- package/skills-cursor/create-subagent/SKILL.md +228 -0
- package/skills-cursor/migrate-to-skills/SKILL.md +121 -0
- package/skills-cursor/shell/SKILL.md +22 -0
- package/skills-cursor/split-to-prs/SKILL.md +47 -0
- package/skills-cursor/statusline/SKILL.md +193 -0
- package/skills-cursor/update-cli-config/SKILL.md +85 -0
- package/skills-cursor/update-cursor-settings/SKILL.md +137 -0
- package/skills.sh.json +297 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-ux
|
|
3
|
+
description: >
|
|
4
|
+
Per-page UX audit with NN/g heuristics, microcopy review, and Google HEART.
|
|
5
|
+
Use when evaluating usability, auditing microcopy, checking UX heuristics,
|
|
6
|
+
or assessing cognitive load. Cross-page flows/IA → audit-ux-journeys.
|
|
7
|
+
license: MIT
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# UX Audit Skill
|
|
12
|
+
|
|
13
|
+
**Degree of freedom: MIXED** — Steps 0, 2–5 `[HIGH freedom]`; Step 1
|
|
14
|
+
research JSON and every playwright step `[LOW freedom — run exactly]`.
|
|
15
|
+
Read `protocol-browser-anti-stall` before any browser interaction.
|
|
16
|
+
|
|
17
|
+
## How to reason
|
|
18
|
+
|
|
19
|
+
1. **Observe** — quote the screenshot, copy, or code line
|
|
20
|
+
2. **Interpret** — what does this do to the human in this moment of the pipeline?
|
|
21
|
+
3. **Classify** — heuristic fail / law violation / microcopy / correct-as-is
|
|
22
|
+
4. **Severity** — blocks the success moment = P0; recoverable friction = P1; nit = P2
|
|
23
|
+
|
|
24
|
+
## Worked example
|
|
25
|
+
|
|
26
|
+
> **Observe:** invoice Submit stays enabled; no toast; `POST /invoices` in-flight 4s.
|
|
27
|
+
> **Interpret:** a second click creates a duplicate invoice (H1 + H5, money path).
|
|
28
|
+
> **Classify:** heuristic fail on a trust-sensitive write.
|
|
29
|
+
> **Severity:** P0 — double-submit on money.
|
|
30
|
+
> **Finding:** `/invoices/new` | H1/H5 | P0 | no pending state | disable + toast.
|
|
31
|
+
|
|
32
|
+
## Self-critique before reporting [LOW freedom — do not skip]
|
|
33
|
+
|
|
34
|
+
1. **Evidenced** — screenshot or quoted copy, not "feels confusing"
|
|
35
|
+
2. **Per-page** — cross-page IA/stories → `audit-ux-journeys`
|
|
36
|
+
3. **Severity justified** — P0 blocks the recorded success moment
|
|
37
|
+
4. **Right owner** — breakpoints → `audit-responsive`; empty/error → `audit-ui-states`
|
|
38
|
+
5. **Context first** — no finding without Step 0 human + pipeline
|
|
39
|
+
|
|
40
|
+
## Context-First
|
|
41
|
+
|
|
42
|
+
Before scoring a heuristic: who is the human (state, not "users"), where this
|
|
43
|
+
page sits in the journey, how data moves input → API → DB → screen, and the
|
|
44
|
+
emotional arc. Step 0 is mandatory.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Step 0: Deep Product and Pipeline Understanding
|
|
49
|
+
|
|
50
|
+
### 0a. Understand the Business and Human Context
|
|
51
|
+
|
|
52
|
+
Read README, landing page, marketing copy, and any onboarding flows to answer:
|
|
53
|
+
|
|
54
|
+
- **What problem does this solve?** (Not features — the human pain it alleviates)
|
|
55
|
+
- **Who is the primary human?** (Demographics, technical skill, emotional state when using)
|
|
56
|
+
- **What's the alternative?** (What do people do without this product? Spreadsheets? Phone calls? Nothing?)
|
|
57
|
+
- **What's the success moment?** (The "aha" — when the human gets what they came for)
|
|
58
|
+
- **What's the trust model?** (Does the user trust this product with money? Health data? Business data?)
|
|
59
|
+
|
|
60
|
+
### 0b. Map pipeline, routes, and emotional arc
|
|
61
|
+
|
|
62
|
+
For each core task, trace how data moves from the human's input through
|
|
63
|
+
client validation, the API call, server processing, the database, the
|
|
64
|
+
response, and the client update to the feedback the human sees (`api/`,
|
|
65
|
+
`actions/`, `hooks/use*`, `lib/`, and `fetch|axios|ky|useSWR|useQuery|trpc`
|
|
66
|
+
call sites locate the integration points). Mark the latency-sensitive,
|
|
67
|
+
error-prone, and trust-sensitive points — H1, H5, and H9 findings come from
|
|
68
|
+
there. Discover routes by framework (`app/**/page.tsx`, `pages/**/*.tsx`,
|
|
69
|
+
`src/routes/`, `router.*`) and note nav shape (flat / hierarchical /
|
|
70
|
+
hub-and-spoke), depth, cross-links, and dead ends for the pages in scope;
|
|
71
|
+
cross-page IA belongs to `audit-ux-journeys`. For each core flow, note the
|
|
72
|
+
entry emotion, where confusion or anxiety spikes, where the product earns
|
|
73
|
+
trust, the peak moment (best or worst), and how the flow ends.
|
|
74
|
+
|
|
75
|
+
### 0c. Record discovery
|
|
76
|
+
|
|
77
|
+
One short block in whatever shape fits: product type, the human problem,
|
|
78
|
+
the primary human and their emotional context, the top core tasks, the
|
|
79
|
+
success moment, trust level (money / data / time / reputation), page count,
|
|
80
|
+
auth pattern, locale/i18n, and known latency or error-prone points.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Step 1: Research Current UX Standards
|
|
85
|
+
|
|
86
|
+
### 1a. NN/g — Usability Heuristics and Methods
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
firecrawl:firecrawl_search
|
|
90
|
+
{
|
|
91
|
+
"query": "site:nngroup.com heuristic evaluation checklist [current year]",
|
|
92
|
+
"limit": 5,
|
|
93
|
+
"sources": [{ "type": "web" }]
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 1b. Intuit Content Design — Microcopy Principles
|
|
98
|
+
|
|
99
|
+
```json
|
|
100
|
+
firecrawl:firecrawl_search
|
|
101
|
+
{
|
|
102
|
+
"query": "site:contentdesign.intuit.com UX writing principles",
|
|
103
|
+
"limit": 5,
|
|
104
|
+
"sources": [{ "type": "web" }]
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Scrape the most relevant result for detailed writing guidelines.
|
|
109
|
+
|
|
110
|
+
### 1c. Laws of UX — Interaction Psychology
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
firecrawl:firecrawl_scrape
|
|
114
|
+
{
|
|
115
|
+
"url": "https://lawsofux.com",
|
|
116
|
+
"formats": ["markdown"],
|
|
117
|
+
"onlyMainContent": true
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 1d. Domain-Specific UX Research
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
firecrawl:firecrawl_search
|
|
125
|
+
{
|
|
126
|
+
"query": "<PRODUCT_TYPE> UX best practices usability patterns [current year]",
|
|
127
|
+
"limit": 5,
|
|
128
|
+
"sources": [{ "type": "web" }]
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Scrape the best result for domain-specific UX patterns.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Step 2: Nielsen's 10 Usability Heuristics (Deep Evaluation)
|
|
137
|
+
|
|
138
|
+
For each heuristic: code analysis and live browser verification.
|
|
139
|
+
|
|
140
|
+
### H1: Visibility of System Status
|
|
141
|
+
|
|
142
|
+
**What to find in code:**
|
|
143
|
+
|
|
144
|
+
Search `*.tsx` for feedback patterns: `loading|isLoading|isPending|skeleton|Skeleton|spinner|Spinner`
|
|
145
|
+
(loading states); `progress|Progress|step.*of|currentStep` (multi-step progress);
|
|
146
|
+
`toast|Toast|notification|Notification|snackbar` (user notifications).
|
|
147
|
+
|
|
148
|
+
**What to verify in browser:**
|
|
149
|
+
|
|
150
|
+
| Signal | Pass | Fail |
|
|
151
|
+
|--------|------|------|
|
|
152
|
+
| Loading states | Skeleton/spinner visible during data fetch | Blank screen or frozen UI |
|
|
153
|
+
| Form submission | Button shows loading, success/error feedback | No feedback, user clicks again |
|
|
154
|
+
| Progress indication | Multi-step flows show step count | User doesn't know where they are |
|
|
155
|
+
| Active navigation | Current page/section highlighted | No indication of current location |
|
|
156
|
+
| Real-time updates | Optimistic UI or polling feedback | Stale data, no refresh indication |
|
|
157
|
+
|
|
158
|
+
### H2: Match Between System and Real World
|
|
159
|
+
|
|
160
|
+
**What to find in code:**
|
|
161
|
+
|
|
162
|
+
Search `*.tsx` for copy-quality TODOs: `TODO.*wording|TODO.*copy|TODO.*label|TODO.*text` (case-insensitive).
|
|
163
|
+
|
|
164
|
+
**What to verify in browser:**
|
|
165
|
+
|
|
166
|
+
| Signal | Pass | Fail |
|
|
167
|
+
|--------|------|------|
|
|
168
|
+
| Labels and terminology | Domain-appropriate language users expect | Technical jargon, internal codenames |
|
|
169
|
+
| Icons | Universally recognized or labeled | Ambiguous icons without text labels |
|
|
170
|
+
| Data format | Dates, currency, numbers in user's locale | ISO dates, raw numbers, wrong currency |
|
|
171
|
+
| Logical grouping | Information organized by user mental model | Organized by database schema or dev convenience |
|
|
172
|
+
| Metaphors | Real-world analogies aid understanding | Forced metaphors that confuse |
|
|
173
|
+
|
|
174
|
+
### H3: User Control and Freedom
|
|
175
|
+
|
|
176
|
+
**What to find in code:**
|
|
177
|
+
|
|
178
|
+
Search `*.tsx` for emergency-exit patterns: `onCancel|handleCancel|onClose|handleClose|onDismiss`
|
|
179
|
+
(cancel/close handlers); `undo|Undo|revert|Revert` (undo actions);
|
|
180
|
+
`confirm.*delete|confirm.*remove|AlertDialog|ConfirmDialog` (destructive-action guards).
|
|
181
|
+
|
|
182
|
+
**What to verify in browser:**
|
|
183
|
+
|
|
184
|
+
| Signal | Pass | Fail |
|
|
185
|
+
|--------|------|------|
|
|
186
|
+
| Modal escape | Close button + Escape key + backdrop click | No way to close, trapped |
|
|
187
|
+
| Form abandonment | Back button works, drafts saved | Data lost on navigation |
|
|
188
|
+
| Destructive actions | Confirmation dialog with clear consequences | One-click delete, no undo |
|
|
189
|
+
| Multi-step flows | Back/previous step without data loss | Can only go forward |
|
|
190
|
+
| Undo | Undo available after significant actions | Irreversible changes without warning |
|
|
191
|
+
|
|
192
|
+
### H4: Consistency and Standards
|
|
193
|
+
|
|
194
|
+
**What to verify in browser:**
|
|
195
|
+
|
|
196
|
+
| Signal | Pass | Fail |
|
|
197
|
+
|--------|------|------|
|
|
198
|
+
| Button hierarchy | Primary/secondary/ghost used consistently | Random button styles |
|
|
199
|
+
| Terminology | Same action = same label everywhere | "Save" / "Submit" / "Confirm" / "Apply" for same action |
|
|
200
|
+
| Layout patterns | Consistent page structure across views | Each page has different layout logic |
|
|
201
|
+
| Interaction patterns | Same gesture = same result | Click sometimes navigates, sometimes opens modal |
|
|
202
|
+
| Platform conventions | Follows web conventions (links underlined, form patterns) | Custom patterns that break expectations |
|
|
203
|
+
|
|
204
|
+
### H5: Error Prevention
|
|
205
|
+
|
|
206
|
+
**What to find in code:**
|
|
207
|
+
|
|
208
|
+
Search `*.tsx` for prevention patterns: `disabled.*(!|=.*false)|isDisabled|isInvalid`
|
|
209
|
+
(disabled/invalid states); `required|min.*length|max.*length|pattern=` (input constraints).
|
|
210
|
+
Check `package.json` for validation libraries: `zod|yup|joi|superstruct|valibot`.
|
|
211
|
+
|
|
212
|
+
**What to verify in browser:**
|
|
213
|
+
|
|
214
|
+
| Signal | Pass | Fail |
|
|
215
|
+
|--------|------|------|
|
|
216
|
+
| Input constraints | Date pickers (not free text), dropdowns for known options | Free text for structured data |
|
|
217
|
+
| Inline validation | Validation on blur/change, before submit | Only validates on submit |
|
|
218
|
+
| Destructive guards | Requires confirmation, type-to-confirm for critical actions | One-click irreversible actions |
|
|
219
|
+
| Defaults | Smart defaults reduce input needed | All fields blank, user guesses |
|
|
220
|
+
| Disabled states | Buttons disabled when form invalid, with explanation | Enabled but silently fails |
|
|
221
|
+
|
|
222
|
+
### H6: Recognition Over Recall
|
|
223
|
+
|
|
224
|
+
**What to verify in browser:**
|
|
225
|
+
|
|
226
|
+
| Signal | Pass | Fail |
|
|
227
|
+
|--------|------|------|
|
|
228
|
+
| Navigation | All major sections visible in nav | Features hidden in deep menus |
|
|
229
|
+
| Search | Search available for large data sets | User must scroll/browse to find |
|
|
230
|
+
| Breadcrumbs | Breadcrumbs in hierarchical content | User loses context in deep pages |
|
|
231
|
+
| Recent items | Recently accessed items surfaced | Must remember and navigate from scratch |
|
|
232
|
+
| Contextual help | Tooltips, placeholders explain fields | Labels without context |
|
|
233
|
+
|
|
234
|
+
### H7: Flexibility and Efficiency of Use
|
|
235
|
+
|
|
236
|
+
**What to find in code:**
|
|
237
|
+
|
|
238
|
+
Search `*.tsx` for efficiency patterns: `keyboard|shortcut|hotkey|useHotkeys|Cmd\+|Ctrl\+`
|
|
239
|
+
(keyboard accelerators); `bulk|batch|selectAll|multiSelect` (bulk operations).
|
|
240
|
+
|
|
241
|
+
**What to verify in browser:**
|
|
242
|
+
|
|
243
|
+
| Signal | Pass | Fail |
|
|
244
|
+
|--------|------|------|
|
|
245
|
+
| Keyboard shortcuts | Power-user shortcuts available | Mouse-only interaction |
|
|
246
|
+
| Bulk actions | Multi-select, batch operations | One-at-a-time only |
|
|
247
|
+
| Filters and sort | Filter/sort on data-heavy pages | Must scan manually |
|
|
248
|
+
| Customization | Users can configure views/preferences | One-size-fits-all |
|
|
249
|
+
| Quick actions | Common tasks reachable in 1-2 clicks | Core tasks buried in menus |
|
|
250
|
+
|
|
251
|
+
### H8: Aesthetic and Minimalist Design
|
|
252
|
+
|
|
253
|
+
**What to verify in browser:**
|
|
254
|
+
|
|
255
|
+
| Signal | Pass | Fail |
|
|
256
|
+
|--------|------|------|
|
|
257
|
+
| Information density | Progressive disclosure, expand-on-demand | Everything visible at once |
|
|
258
|
+
| Visual hierarchy | Clear primary/secondary/tertiary content | Everything same visual weight |
|
|
259
|
+
| Whitespace | Breathing room between sections | Cramped, dense layout |
|
|
260
|
+
| CTAs | 1 primary action per view, clearly distinguished | Multiple competing CTAs |
|
|
261
|
+
| Content priority | Most important content first/prominent | Critical info buried below fold |
|
|
262
|
+
|
|
263
|
+
### H9: Help Users Recognize, Diagnose, and Recover from Errors
|
|
264
|
+
|
|
265
|
+
**What to find in code:**
|
|
266
|
+
|
|
267
|
+
Search `*.tsx` for error-handling patterns: `error.*message|errorMessage|Error.*:.*'` (error
|
|
268
|
+
message strings); `try.*catch|\.catch\(|onError` (catch sites); `fallback|ErrorBoundary|error\.tsx`
|
|
269
|
+
(fallback components — list files with matches, not just count).
|
|
270
|
+
|
|
271
|
+
**What to verify in browser:**
|
|
272
|
+
|
|
273
|
+
| Signal | Pass | Fail |
|
|
274
|
+
|--------|------|------|
|
|
275
|
+
| Error language | Plain language, no codes | "Error 500", "ECONNREFUSED", raw stack trace |
|
|
276
|
+
| Specificity | Says exactly what went wrong | "Something went wrong" |
|
|
277
|
+
| Recovery action | Suggests what user can do next | Dead end, user must guess |
|
|
278
|
+
| Inline errors | Field-level errors near the input | Single error at top of form |
|
|
279
|
+
| Empty states | Helpful empty states with next action | Blank page, "No data" |
|
|
280
|
+
|
|
281
|
+
### H10: Help and Documentation
|
|
282
|
+
|
|
283
|
+
**What to find in code:**
|
|
284
|
+
|
|
285
|
+
Search `*.tsx` for in-app help: `Tooltip|tooltip|HelpCircle|InfoIcon|help.*text|aria-describedby`
|
|
286
|
+
(contextual help); `onboarding|tour|walkthrough|guide|Onboarding` (guided flows).
|
|
287
|
+
|
|
288
|
+
**What to verify in browser:**
|
|
289
|
+
|
|
290
|
+
| Signal | Pass | Fail |
|
|
291
|
+
|--------|------|------|
|
|
292
|
+
| Contextual help | Tooltips on complex fields/features | No explanation, user must guess |
|
|
293
|
+
| Onboarding | First-time user guidance available | Dropped into complex UI cold |
|
|
294
|
+
| Documentation | Help accessible from within the app | Must search external docs |
|
|
295
|
+
| Input guidance | Placeholders, hint text, format examples | Bare input fields |
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Step 3: Laws of UX Evaluation
|
|
300
|
+
|
|
301
|
+
| Law | Principle | What to Check | How to Fix Violations |
|
|
302
|
+
|-----|-----------|---------------|----------------------|
|
|
303
|
+
| **Jakob's Law** | Users expect your site to work like other sites | Navigation, form patterns, checkout flows follow platform conventions | Research 3 competitors via Firecrawl, adopt their common patterns |
|
|
304
|
+
| **Fitts's Law** | Larger, closer targets are faster to click | Primary CTAs large enough, not in corners. Touch targets ≥44px | Increase CTA size, move primary actions to natural thumb zones on mobile |
|
|
305
|
+
| **Hick's Law** | More options to *weigh* = longer decisions | Choice sets the user must evaluate (plans, actions, filters) are grouped, staged, or have a default. Not known-item lookups (countries, prefectures): that is search | Group options, preselect one with a true reason, hide the long tail behind "More", typeahead for lookups |
|
|
306
|
+
| **Miller's Law** | Working memory holds ~4–7 chunks | Nothing must be carried in memory between screens; codes shown grouped with Copy; fields keep visible labels. Not a cap on visible menu items: a visible menu is read, not memorised | Persistent labels, summaries of earlier choices, chunked codes, labelled field groups |
|
|
307
|
+
| **Von Restorff** | The item that differs is noticed | One filled accent action per view | Demote competing CTAs to outline/ghost variants |
|
|
308
|
+
| **Goal-Gradient / Zeigarnik** | Visible progress and unfinished work pull users to finish | Multi-step flows show honest position and total; input survives reload and Back | "Step 2 of 3" from real state, autosave drafts (never card numbers or codes) |
|
|
309
|
+
| **Cognitive Load** | Minimize mental effort | No unnecessary fields, no memory burden between steps | Remove optional fields from default view, show only what's needed now |
|
|
310
|
+
| **Aesthetic-Usability** | Beautiful = perceived as easier | First impression inspires confidence | Visual polish on landing + key flows. Personality, not just correctness |
|
|
311
|
+
| **Tesler's Law** | Complexity can't be eliminated, only moved | Complex tasks simplified for the user, not pushed to them | Smart defaults, auto-detection, progressive disclosure of complexity |
|
|
312
|
+
| **Doherty Threshold** | Productivity rises when response <400ms | Do interactions feel instant? | Optimistic UI, skeleton screens, prefetching, perceived performance tricks |
|
|
313
|
+
| **Postel's Law** | Be liberal in what you accept | Flexible input parsing (phone, date, case) | Accept multiple input formats, auto-format, don't reject valid variations |
|
|
314
|
+
| **Peak-End Rule** | People judge by peaks and endings | Success moment satisfying? Error moments handled gracefully? | Celebrate completions (confetti, clear confirmation). Soften errors |
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Step 4: Content and Microcopy Audit (Intuit Content Design Principles)
|
|
319
|
+
|
|
320
|
+
### 4a. Voice and Tone
|
|
321
|
+
|
|
322
|
+
| Principle | Pass | Fail |
|
|
323
|
+
|-----------|------|------|
|
|
324
|
+
| Conversational | Reads like talking to a friend | Reads like a legal document or robot |
|
|
325
|
+
| Active voice | "We saved your changes" | "Your changes have been saved by the system" |
|
|
326
|
+
| Second person | "You" for the user, "We" for the product | Third person, passive constructions |
|
|
327
|
+
| Contractions | Natural contractions used ("don't", "we'll") | Stilted formal language ("do not", "we will") |
|
|
328
|
+
|
|
329
|
+
### 4b. Clarity and Precision
|
|
330
|
+
|
|
331
|
+
| Principle | Pass | Fail |
|
|
332
|
+
|-----------|------|------|
|
|
333
|
+
| Specific language | "We can't connect to Square right now" | "Something went wrong. Try again later" |
|
|
334
|
+
| Consistent terms | Same word for same concept throughout | "Save" / "Submit" / "Confirm" / "Apply" used interchangeably |
|
|
335
|
+
| Simple verbs | Present/past/future simple tense | Progressive, perfect, complex tenses |
|
|
336
|
+
| Short sentences | ≤20 words per sentence | Run-on sentences with multiple clauses |
|
|
337
|
+
|
|
338
|
+
### 4c. Microcopy Quality
|
|
339
|
+
|
|
340
|
+
**Check these locations in the browser:**
|
|
341
|
+
|
|
342
|
+
| Location | What to Evaluate |
|
|
343
|
+
|----------|-----------------|
|
|
344
|
+
| Button labels | Action-oriented, specific ("Save invoice" not just "Submit") |
|
|
345
|
+
| Error messages | Plain language, specific cause, recovery action |
|
|
346
|
+
| Empty states | Helpful, guides next action, not just "No data" |
|
|
347
|
+
| Confirmations | Clear consequence ("Delete this invoice? This can't be undone") |
|
|
348
|
+
| Tooltips | Concise, answers one question, not paragraphs |
|
|
349
|
+
| Placeholders | Format hints ("e.g., john@example.com"), not labels |
|
|
350
|
+
| Loading text | Informative when possible ("Loading your invoices...") |
|
|
351
|
+
| Success messages | Confirms what happened ("Invoice sent to John") |
|
|
352
|
+
|
|
353
|
+
### 4d. Internationalization Readiness
|
|
354
|
+
|
|
355
|
+
| Check | Pass | Fail |
|
|
356
|
+
|-------|------|------|
|
|
357
|
+
| Hardcoded strings | All strings in i18n files | Strings inline in components |
|
|
358
|
+
| Cultural idioms | Neutral metaphors | Culture-specific slang or humor |
|
|
359
|
+
| Text expansion | UI handles 40% longer translated text | Layout breaks with longer strings |
|
|
360
|
+
| RTL readiness | Logical properties (`margin-inline-start`) | Physical properties (`margin-left`) |
|
|
361
|
+
|
|
362
|
+
**Find violations:** search `*.tsx` for `>([\w\s]{3,})<` to surface hardcoded visible text strings that may be i18n misses.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Step 5: Emotional Design and Human-Centric Evaluation
|
|
367
|
+
|
|
368
|
+
### 5a. First Impression Test (5-Second Test)
|
|
369
|
+
|
|
370
|
+
Navigate to the landing/home page. In the first 5 seconds of the screenshot:
|
|
371
|
+
|
|
372
|
+
| Question | Evidence |
|
|
373
|
+
|----------|----------|
|
|
374
|
+
| Can you tell what this product does? | [yes/no — what's communicated] |
|
|
375
|
+
| Do you trust it? | [visual polish, credibility signals, brand presence] |
|
|
376
|
+
| Do you know what to do first? | [clear CTA, obvious starting point] |
|
|
377
|
+
| Does it feel like a real product or a template? | [personality, craft, vs generic bootstrap] |
|
|
378
|
+
|
|
379
|
+
## Further reading
|
|
380
|
+
|
|
381
|
+
- [5b. Emotional Friction Map and more](references/details.md)
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
### 5b. Emotional Friction Map
|
|
2
|
+
|
|
3
|
+
Walk through each core flow and note where emotions shift:
|
|
4
|
+
|
|
5
|
+
| Moment | Expected Emotion | Actual Emotion | Cause |
|
|
6
|
+
|--------|-----------------|----------------|-------|
|
|
7
|
+
| Landing | Curiosity, hope | [observed] | [what the UI communicates] |
|
|
8
|
+
| First input | Confidence | [observed] | [guidance quality, field clarity] |
|
|
9
|
+
| Waiting (loading) | Patience | [observed] | [feedback quality during wait] |
|
|
10
|
+
| Error | Understanding | [observed] | [error message tone, recovery path] |
|
|
11
|
+
| Success | Satisfaction | [observed] | [celebration quality, next action clarity] |
|
|
12
|
+
| Return visit | Recognition | [observed] | [remembered state, personalization] |
|
|
13
|
+
|
|
14
|
+
### 5c. Trust Signal Audit
|
|
15
|
+
|
|
16
|
+
| Signal | Present? | Quality |
|
|
17
|
+
|--------|----------|---------|
|
|
18
|
+
| Consistent branding | [y/n] | [logo, colors, voice consistent across pages] |
|
|
19
|
+
| Professional microcopy | [y/n] | [no typos, no placeholder text, no dev jargon] |
|
|
20
|
+
| Data safety indicators | [y/n] | [HTTPS badge, privacy note near sensitive inputs] |
|
|
21
|
+
| Social proof | [y/n] | [testimonials, user count, recognizable clients] |
|
|
22
|
+
| Error grace | [y/n] | [errors don't blame the user, offer help] |
|
|
23
|
+
| Completion feedback | [y/n] | [user knows their action succeeded and what's next] |
|
|
24
|
+
|
|
25
|
+
### 5d. Delight and Surprise Moments
|
|
26
|
+
|
|
27
|
+
Products that feel human have moments of unexpected care:
|
|
28
|
+
|
|
29
|
+
| Pattern | Example | Present? |
|
|
30
|
+
|---------|---------|----------|
|
|
31
|
+
| Contextual encouragement | "Almost there!" on step 3/4 | [y/n] |
|
|
32
|
+
| Smart defaults | Pre-filling from context (timezone, currency, name) | [y/n] |
|
|
33
|
+
| Celebrating milestones | First invoice sent, 100th customer added | [y/n] |
|
|
34
|
+
| Recovering gracefully | "We saved your draft" after accidental navigation | [y/n] |
|
|
35
|
+
| Personality in empty states | Friendly illustration + helpful copy, not just "No data" | [y/n] |
|
|
36
|
+
| Predictive help | Suggesting next action based on user behavior | [y/n] |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Step 6: User Flow Analysis
|
|
41
|
+
|
|
42
|
+
### 6a. Core Flow Walkthrough
|
|
43
|
+
|
|
44
|
+
For each core task identified in Step 0, walk through in the browser:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
1. Start point → Where does the user begin?
|
|
48
|
+
2. Steps → How many clicks/interactions to complete?
|
|
49
|
+
3. Friction points → Where do users get stuck or confused?
|
|
50
|
+
4. Success → How does the user know they succeeded?
|
|
51
|
+
5. Error recovery → What happens when something goes wrong?
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 6b. Flow Quality Criteria
|
|
55
|
+
|
|
56
|
+
| Criteria | Excellent | Poor |
|
|
57
|
+
|----------|-----------|------|
|
|
58
|
+
| Task completion | 1-3 steps for common tasks | 5+ steps, multiple page loads |
|
|
59
|
+
| Orientation | User always knows where they are and what's next | Lost in multi-step flow |
|
|
60
|
+
| Data persistence | Form data survives navigation, refresh | Data lost on back button or refresh |
|
|
61
|
+
| Error recovery | Inline errors, field-level, preserves input | Page-level error, form cleared |
|
|
62
|
+
| Success confirmation | Clear confirmation with next suggested action | No feedback, dumped to homepage |
|
|
63
|
+
|
|
64
|
+
### 6c. Edge Case Flows
|
|
65
|
+
|
|
66
|
+
Test these scenarios in browser:
|
|
67
|
+
|
|
68
|
+
- **Empty state:** First-time user with no data
|
|
69
|
+
- **Error state:** Network failure, validation failure, 404
|
|
70
|
+
- **Loading state:** Slow network, large data set
|
|
71
|
+
- **Boundary values:** Very long text, special characters, max items
|
|
72
|
+
- **Interrupted flow:** Navigate away mid-form, back button, refresh
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Step 7: Accessibility UX (Beyond WCAG Compliance)
|
|
77
|
+
|
|
78
|
+
This step evaluates the *experience* of accessibility, not just technical compliance.
|
|
79
|
+
|
|
80
|
+
| Aspect | What to Evaluate |
|
|
81
|
+
|--------|-----------------|
|
|
82
|
+
| Keyboard flow | Tab order follows visual flow, logical focus movement |
|
|
83
|
+
| Screen reader experience | Announcements make sense without visual context |
|
|
84
|
+
| Focus management | Focus moves to new content (modals, toasts), returns after dismissal |
|
|
85
|
+
| Skip navigation | Skip-to-content link for keyboard users |
|
|
86
|
+
| Error announcement | Errors announced to screen readers via `aria-live` or focus |
|
|
87
|
+
| Touch targets | ≥44px on mobile, sufficient spacing between targets |
|
|
88
|
+
| Motion sensitivity | Animations respect `prefers-reduced-motion` |
|
|
89
|
+
|
|
90
|
+
**Verify via browser:**
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
PW="npx --yes @playwright/cli@latest"
|
|
94
|
+
$PW -s=ux-audit snapshot # check tab order
|
|
95
|
+
$PW -s=ux-audit press Tab # step through interactive elements
|
|
96
|
+
$PW -s=ux-audit snapshot # verify focus indicator visible
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Step 8: HEART Metrics Assessment
|
|
102
|
+
|
|
103
|
+
Rate each dimension qualitatively based on audit findings.
|
|
104
|
+
|
|
105
|
+
| Dimension | What It Measures | Audit Proxy |
|
|
106
|
+
|-----------|-----------------|-------------|
|
|
107
|
+
| **Happiness** | User satisfaction, trust, confidence | Tone of microcopy, error handling grace, visual polish |
|
|
108
|
+
| **Engagement** | Depth of interaction, feature discovery | Progressive disclosure, clear navigation, feature visibility |
|
|
109
|
+
| **Adoption** | New user onboarding success | Onboarding flow quality, empty states, first-run guidance |
|
|
110
|
+
| **Retention** | Reasons users would return | Task completion satisfaction, notification value, habit loops |
|
|
111
|
+
| **Task Success** | Core task completion rate and efficiency | Steps to complete, error recovery, flow friction |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Output Template
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
## UX Audit Report
|
|
119
|
+
|
|
120
|
+
**Date:** [date]
|
|
121
|
+
**Product:** [name]
|
|
122
|
+
**Type:** [SaaS / e-commerce / dashboard / etc.]
|
|
123
|
+
**Pages Audited:** [count]
|
|
124
|
+
**Core Flows Tested:** [count]
|
|
125
|
+
**Issues Found:** [count]
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### Nielsen's 10 Heuristics Assessment
|
|
130
|
+
|
|
131
|
+
| # | Heuristic | Score (1-5) | Key Finding |
|
|
132
|
+
|---|-----------|-------------|-------------|
|
|
133
|
+
| 1 | System status visibility | [1-5] | [finding] |
|
|
134
|
+
| 2 | Real world match | [1-5] | [finding] |
|
|
135
|
+
| 3 | User control and freedom | [1-5] | [finding] |
|
|
136
|
+
| 4 | Consistency and standards | [1-5] | [finding] |
|
|
137
|
+
| 5 | Error prevention | [1-5] | [finding] |
|
|
138
|
+
| 6 | Recognition over recall | [1-5] | [finding] |
|
|
139
|
+
| 7 | Flexibility and efficiency | [1-5] | [finding] |
|
|
140
|
+
| 8 | Aesthetic and minimal design | [1-5] | [finding] |
|
|
141
|
+
| 9 | Error recovery | [1-5] | [finding] |
|
|
142
|
+
| 10 | Help and documentation | [1-5] | [finding] |
|
|
143
|
+
|
|
144
|
+
**Overall Heuristic Score:** [average]/5
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### Laws of UX Findings
|
|
149
|
+
|
|
150
|
+
| Law | Status | Evidence |
|
|
151
|
+
|-----|--------|----------|
|
|
152
|
+
| Jakob's Law | [pass/warn/fail] | [finding] |
|
|
153
|
+
| Fitts's Law | [pass/warn/fail] | [finding] |
|
|
154
|
+
| Hick's Law | [pass/warn/fail] | [finding] |
|
|
155
|
+
| Miller's Law | [pass/warn/fail] | [finding] |
|
|
156
|
+
| Cognitive Load | [pass/warn/fail] | [finding] |
|
|
157
|
+
| Aesthetic-Usability | [pass/warn/fail] | [finding] |
|
|
158
|
+
| Peak-End Rule | [pass/warn/fail] | [finding] |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### Content & Microcopy Quality (Intuit Principles)
|
|
163
|
+
|
|
164
|
+
| Aspect | Score (1-5) | Issues |
|
|
165
|
+
|--------|-------------|--------|
|
|
166
|
+
| Voice consistency | [1-5] | [details] |
|
|
167
|
+
| Clarity and precision | [1-5] | [details] |
|
|
168
|
+
| Error message quality | [1-5] | [details] |
|
|
169
|
+
| Empty state helpfulness | [1-5] | [details] |
|
|
170
|
+
| Button/CTA clarity | [1-5] | [details] |
|
|
171
|
+
| i18n readiness | [1-5] | [details] |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
### Emotional Design Assessment
|
|
176
|
+
|
|
177
|
+
| Aspect | Score (1-5) | Evidence |
|
|
178
|
+
|--------|-------------|----------|
|
|
179
|
+
| First impression (5-sec test) | [1-5] | [clarity, trust, personality] |
|
|
180
|
+
| Emotional friction points | [count] | [where anxiety/confusion spikes] |
|
|
181
|
+
| Trust signals | [1-5] | [branding, microcopy quality, data safety] |
|
|
182
|
+
| Delight moments | [count] | [smart defaults, celebrations, recovery grace] |
|
|
183
|
+
| Human feel vs template feel | [1-5] | [specific tells] |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### User Flow Analysis
|
|
188
|
+
|
|
189
|
+
| Flow | Steps | Friction Points | Error Recovery | Score |
|
|
190
|
+
|------|-------|-----------------|----------------|-------|
|
|
191
|
+
| [Core task 1] | [N] | [description] | [pass/fail] | [1-5] |
|
|
192
|
+
| [Core task 2] | [N] | [description] | [pass/fail] | [1-5] |
|
|
193
|
+
| [Core task 3] | [N] | [description] | [pass/fail] | [1-5] |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
### Accessibility UX
|
|
198
|
+
|
|
199
|
+
| Aspect | Status | Issues |
|
|
200
|
+
|--------|--------|--------|
|
|
201
|
+
| Keyboard navigation | [pass/warn/fail] | [details] |
|
|
202
|
+
| Focus management | [pass/warn/fail] | [details] |
|
|
203
|
+
| Screen reader experience | [pass/warn/fail] | [details] |
|
|
204
|
+
| Touch targets | [pass/warn/fail] | [details] |
|
|
205
|
+
| Motion sensitivity | [pass/warn/fail] | [details] |
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
### HEART Assessment
|
|
210
|
+
|
|
211
|
+
| Dimension | Rating (1-5) | Evidence |
|
|
212
|
+
|-----------|-------------|----------|
|
|
213
|
+
| Happiness | [1-5] | [what drives or harms user satisfaction] |
|
|
214
|
+
| Engagement | [1-5] | [feature discovery, interaction depth] |
|
|
215
|
+
| Adoption | [1-5] | [onboarding quality, first-run experience] |
|
|
216
|
+
| Retention | [1-5] | [reasons to return or churn signals] |
|
|
217
|
+
| Task Success | [1-5] | [completion efficiency, error recovery] |
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
### Critical Issues (Must Fix)
|
|
222
|
+
|
|
223
|
+
#### 1. [Flow/Page] — [Issue]
|
|
224
|
+
- **Heuristic violated:** [H# — name]
|
|
225
|
+
- **Problem:** [description]
|
|
226
|
+
- **User impact:** [what the user experiences]
|
|
227
|
+
- **Fix:** [specific recommendation]
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
### Research Findings Applied
|
|
232
|
+
- [NN/g pattern]: [how it applies to this product]
|
|
233
|
+
- [Intuit principle]: [gap identified]
|
|
234
|
+
- [Law of UX]: [violation found]
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
### Next Steps (Priority Order)
|
|
239
|
+
|
|
240
|
+
1. [ ] Fix critical usability blockers: [list]
|
|
241
|
+
2. [ ] Improve error messages and empty states: [list]
|
|
242
|
+
3. [ ] Enhance onboarding flow: [details]
|
|
243
|
+
4. [ ] Add keyboard shortcuts / accelerators: [list]
|
|
244
|
+
5. [ ] Content audit — rewrite microcopy: [pages]
|
|
245
|
+
```
|