@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,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-ux-journeys
|
|
3
|
+
description: >
|
|
4
|
+
Cross-page UX audit of user stories, task completion, and information
|
|
5
|
+
architecture. Use when "audit user flows", "IA audit", "can users find X",
|
|
6
|
+
"navigation audit", or "funnel drop-off". Per-page heuristics → audit-ux.
|
|
7
|
+
license: MIT
|
|
8
|
+
effort: high
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# audit-ux-journeys — User-Story, Task-Completion & IA Audit
|
|
12
|
+
|
|
13
|
+
**Degree of freedom: MIXED** — Story derivation, IA, and evidence tags
|
|
14
|
+
`[HIGH freedom]`; Phase 2 headed walkthrough `[LOW freedom — run exactly]`.
|
|
15
|
+
|
|
16
|
+
A site can pass every per-page heuristic and still fail: pages clean, yet nobody
|
|
17
|
+
can *find* the feature, checkout takes nine steps with two dead ends, and nav
|
|
18
|
+
follows the database schema. `audit-ux` judges **pages**; this skill judges
|
|
19
|
+
**paths and structure**.
|
|
20
|
+
|
|
21
|
+
A UX audit is **not personal taste**. Derive stories from
|
|
22
|
+
the product, walk the journeys, audit IA against mental models, and ground
|
|
23
|
+
findings in behavioral evidence when it exists. Pre-launch: qualitative
|
|
24
|
+
walkthroughs, *labeled as assumptions*.
|
|
25
|
+
|
|
26
|
+
**Before ANY browser interaction, read `protocol-browser-anti-stall` and apply
|
|
27
|
+
its rules to every step.**
|
|
28
|
+
|
|
29
|
+
> **Report-first.** Prioritized audit, then delegate: per-page heuristics/
|
|
30
|
+
> microcopy → **`audit-ux`** · single-screen → **`enhance-web-ux`** · forms →
|
|
31
|
+
> **`enhance-web-forms`** · WCAG → **`audit-accessibility`** · speed →
|
|
32
|
+
> **`audit-performance`** · feature parity → **`audit-realworld`**. Owns the
|
|
33
|
+
> *cross-page journey and IA* layer.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Core principle — stories over pages, data over taste
|
|
38
|
+
|
|
39
|
+
- **The unit of audit is a story, not a screen.** Every finding attaches to a
|
|
40
|
+
user story and a step in its path.
|
|
41
|
+
- **Derive stories from the product, not imagination.** Routes, nav, CTAs,
|
|
42
|
+
README, marketing copy, existing PRDs.
|
|
43
|
+
- **Evidence or hypothesis — say which.** Tag `[data]`, `[observed]`, or
|
|
44
|
+
`[judgment]`. Presenting `[judgment]` as `[data]` is the cardinal sin.
|
|
45
|
+
- **Findable beats beautiful.** Depth, labels, and grouping vs the *user's*
|
|
46
|
+
mental model, not the module layout.
|
|
47
|
+
- **Prioritize by impact × effort.** Slow checkout beats a slow About page.
|
|
48
|
+
|
|
49
|
+
## How to reason — Observe → Interpret → Classify → Severity
|
|
50
|
+
|
|
51
|
+
1. **Observe** — quote the story, the step, the route/nav evidence, and the walkthrough or funnel number
|
|
52
|
+
2. **Interpret** — can the persona complete the claimed task, and is the next click obvious?
|
|
53
|
+
3. **Classify** — COMPLETED / COMPLETED-WITH-FRICTION / BLOCKED; evidence tag `[data]` / `[observed]` / `[judgment]`
|
|
54
|
+
4. **Severity** — Blocker = cannot complete; then impact × effort. A "confusing" page with 95% pass-through is not Critical
|
|
55
|
+
|
|
56
|
+
## Worked example
|
|
57
|
+
|
|
58
|
+
> **Observe:** Story "As a returning customer I want to reorder — done when
|
|
59
|
+
> confirmation shows." Desktop: 7 clicks; cart cleared on refresh at step 3.
|
|
60
|
+
> Mobile 390: hamburger does not open; pricing unreachable. No analytics SDK.
|
|
61
|
+
> **Interpret:** mobile cannot start the story; desktop completes with data-loss
|
|
62
|
+
> friction. Nothing to upgrade the evidence tag.
|
|
63
|
+
> **Classify:** BLOCKED (mobile nav) + COMPLETED-WITH-FRICTION (desktop cart).
|
|
64
|
+
> Evidence: `[observed]`.
|
|
65
|
+
> **Severity:** Blocker for mobile findability; High for cart-loss.
|
|
66
|
+
> **Finding:** Checkout loses cart on refresh | Blocker | observed | buy §3 |
|
|
67
|
+
> High × Med | debug-error → enhance-web-ux
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Phase 0 — Derive the stories and scope the trigger [HIGH freedom]
|
|
72
|
+
|
|
73
|
+
### 0a. Extract user stories from the real product
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Route inventory (framework-appropriate)
|
|
77
|
+
fd -H 'page\.(tsx|jsx|vue|svelte)' app/ src/app/ 2>/dev/null; fd -H . src/routes pages 2>/dev/null -t f
|
|
78
|
+
# Navigation + entry points
|
|
79
|
+
rg -n -i "<nav|navbar|sidebar|menu|Link.*href|routerLink|to=\"/" -g '*.{tsx,jsx,vue,svelte}' -l
|
|
80
|
+
# What the product promises (CTAs, marketing verbs)
|
|
81
|
+
rg -n -i "get started|sign up|buy|checkout|create|upload|invite|export|book|order|subscribe" -g '*.{tsx,jsx,vue,svelte,md}'
|
|
82
|
+
# Existing story sources — reuse, don't re-invent
|
|
83
|
+
fd -H -i 'prd|user-stor|journey|persona' docs/ .cursor/ 2>/dev/null
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Write 5–10 stories max, each with a **completion signal**:
|
|
87
|
+
`As [persona], I want [goal] — done when [observable outcome]`. If `design-prd`
|
|
88
|
+
output or `plan-test-coverage` story inventory exists, start from it.
|
|
89
|
+
|
|
90
|
+
### 0b. Scope by audit trigger (sets depth and method)
|
|
91
|
+
|
|
92
|
+
| Trigger | Method emphasis |
|
|
93
|
+
|---|---|
|
|
94
|
+
| **KPIs dropping** | Targeted: the affected funnel only; cross-validate with data; check recent changes |
|
|
95
|
+
| **Complaints rising** | Thematic: cluster complaints → walk those stories first; treat complaints as hypotheses |
|
|
96
|
+
| **Redesign planned** | Comprehensive: all stories + full IA; findings shape the redesign |
|
|
97
|
+
| **Pre-launch / no data** | Qualitative walkthroughs of critical flows (signup, onboarding, checkout); **label all findings `[judgment]`** |
|
|
98
|
+
| **"Just optimize"** | Holistic roadmap: start at highest-impact stories, surface UX debt |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Phase 1 — Information architecture & navigation audit (structural) [HIGH freedom]
|
|
103
|
+
|
|
104
|
+
Build the route tree, then audit structure against findability. Detailed commands
|
|
105
|
+
and pass/fail signals in [references/checklist.md](references/checklist.md).
|
|
106
|
+
|
|
107
|
+
| # | Check | Red flag |
|
|
108
|
+
|---|---|---|
|
|
109
|
+
| IA1 | **Click depth per story target** — core-story destinations reachable in ≤3 clicks from landing | Money pages buried 4+ clicks deep |
|
|
110
|
+
| IA2 | **Orphan pages** — every route reachable from some nav/link path | Routes with zero inbound links (exist only by URL) |
|
|
111
|
+
| IA3 | **Dead ends** — every page offers a forward action | Pages with no CTA/next step (journey stalls) |
|
|
112
|
+
| IA4 | **Label consistency** — nav label ≈ page title ≈ H1; same concept = same word everywhere | "Billing" in nav → "Payments" title → "Invoices" H1 |
|
|
113
|
+
| IA5 | **Grouping vs mental model** — nav organized by user tasks/goals | Organized by DB schema or team org chart |
|
|
114
|
+
| IA6 | **First-click logic** — for each story, the correct first click from the landing page is the *obvious* one | Correct path requires insider knowledge |
|
|
115
|
+
| IA7 | **Wayfinding** — breadcrumbs in hierarchies ≥3 deep; current location highlighted | User can't answer "where am I?" |
|
|
116
|
+
| IA8 | **Search & filtering** — present and functional for large content/data sets | 200 items, no search; filter resets on nav |
|
|
117
|
+
| IA9 | **URL sanity** — URLs human-readable, hierarchical, shareable | Opaque ids everywhere; state lost on refresh |
|
|
118
|
+
|
|
119
|
+
Verdicts: `Pass / Fail / N-A` with `file:line` or route evidence. IA6 requires the browser (Phase 2).
|
|
120
|
+
|
|
121
|
+
## Phase 2 — Story-by-story task walkthroughs (headed browser) [LOW freedom — run exactly]
|
|
122
|
+
|
|
123
|
+
Walk **every** story from Phase 0, entry → completion signal, desktop **and**
|
|
124
|
+
mobile viewport (390px — most real friction is mobile). Per story record:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
STORY: [As … I want … — done when …] Trigger tag: [data|observed|judgment]
|
|
128
|
+
Entry: [landing/deep-link] Steps to goal: N clicks / M inputs
|
|
129
|
+
Friction log: [each hesitation, mislabel, backtrack, surprise — with screenshot]
|
|
130
|
+
Error recovery: [wrong input / back button / refresh mid-flow — data survives? path recoverable?]
|
|
131
|
+
Success moment: [is completion confirmed clearly? what happens next?]
|
|
132
|
+
Result: COMPLETED / COMPLETED-WITH-FRICTION / BLOCKED (blocker = finding, severity Blocker)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Rules: screenshots to `.playwright-mcp/` per the artifact-hygiene rule; forms
|
|
136
|
+
judged only for flow-level friction (field-level → `enhance-web-forms`);
|
|
137
|
+
per-page heuristic violations noticed along the way are *handed to* `audit-ux`,
|
|
138
|
+
not re-audited here.
|
|
139
|
+
|
|
140
|
+
## Phase 3 — Evidence layer (validate or label) [HIGH freedom]
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# What analytics exist?
|
|
144
|
+
rg -n -i "gtag|googletagmanager|G-[A-Z0-9]{6,}|posthog|clarity\.ms|hotjar|amplitude|mixpanel|plausible|umami|fathom" -g '*.{ts,tsx,js,jsx,html,vue,svelte}' -l
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
- **Data available** (GA4/PostHog/Clarity/Amplitude/Mixpanel, or Sentry for error
|
|
148
|
+
hotspots): pull funnel completion and drop-off per story path, top exit pages,
|
|
149
|
+
rage-click/dead-click signals. Upgrade or *refute* walkthrough findings — a
|
|
150
|
+
"confusing" page with a 95% pass-through rate is not a Critical finding.
|
|
151
|
+
- **No data** (typical pre-launch): every finding stays `[observed]` or
|
|
152
|
+
`[judgment]`. Say so in the report, and recommend minimal instrumentation
|
|
153
|
+
(page + funnel events on core stories) so the *next* audit has evidence.
|
|
154
|
+
|
|
155
|
+
## Phase 4 — Prioritized report [HIGH freedom]
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
## UX Journey & IA Audit — [product] — [date]
|
|
159
|
+
**Trigger:** [scenario] · **Stories audited:** N · **Evidence:** [analytics available? which]
|
|
160
|
+
**Working well:** [1–3 genuine strengths — always present]
|
|
161
|
+
|
|
162
|
+
### Task-completion matrix
|
|
163
|
+
| Story | Result | Steps | Frictions | Blockers | Evidence |
|
|
164
|
+
|---|---|---|---|---|---|
|
|
165
|
+
| Reorder as returning customer | COMPLETED-WITH-FRICTION | 7 (target ≤4) | 3 | – | [observed] |
|
|
166
|
+
| Find pricing from landing | BLOCKED (mobile) | – | – | menu unreachable | [observed] |
|
|
167
|
+
|
|
168
|
+
### IA verdicts (IA1–IA9)
|
|
169
|
+
| Check | Verdict | Evidence |
|
|
170
|
+
|---|---|---|
|
|
171
|
+
|
|
172
|
+
### Findings (each: severity · evidence tag · story · impact×effort quadrant)
|
|
173
|
+
| # | Finding | Severity | Evidence | Story/step | Impact | Effort | Fix via |
|
|
174
|
+
|---|---|---|---|---|---|---|---|
|
|
175
|
+
| 1 | Checkout loses cart on refresh at step 3 | Blocker | observed | buy §5 | High | Med | debug-error → enhance-web-ux |
|
|
176
|
+
|
|
177
|
+
### Quick wins (high impact · low effort — do first)
|
|
178
|
+
### Roadmap (high impact · high effort)
|
|
179
|
+
### Deprioritized (low impact — listed, not scheduled)
|
|
180
|
+
### Validate next (all [judgment] findings + the instrumentation to settle them)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Language discipline: neutral, behavior-grounded observations ("3 of 5
|
|
184
|
+
walkthrough runs backtracked at X"), never accusatory. One observation per
|
|
185
|
+
finding, in the length the evidence needs.
|
|
186
|
+
|
|
187
|
+
**Forbidden:** presenting `[judgment]` as data; re-auditing per-page
|
|
188
|
+
heuristics/microcopy that `audit-ux` owns; inventing personas unmoored from the
|
|
189
|
+
product; recommending a full redesign when incremental fixes close the findings;
|
|
190
|
+
a findings dump with no impact×effort prioritization; only-negatives reports
|
|
191
|
+
(name what works); auditing without walking the stories (a route-tree grep
|
|
192
|
+
alone is not a journey audit).
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Self-critique before reporting [LOW freedom — do not skip]
|
|
197
|
+
|
|
198
|
+
1. **Walked, not grepped** — every story has an entry → completion (or BLOCKED) record
|
|
199
|
+
2. **Evidence tagged** — `[judgment]` is never presented as `[data]`
|
|
200
|
+
3. **Artifacts** — screenshots under `.playwright-mcp/`
|
|
201
|
+
4. **Right owner** — per-page heuristics → `audit-ux`; forms → `enhance-web-forms`; breakpoint layout → `audit-responsive`
|
|
202
|
+
5. **Nothing implemented** — report-first; delegate fixes
|
|
203
|
+
|
|
204
|
+
## Related
|
|
205
|
+
|
|
206
|
+
- `audit-responsive` — page-level layout/IA at 375 / 768 / 1440 (this skill is cross-page stories)
|
|
207
|
+
- `audit-ux` — per-page NN/g heuristics, Laws of UX, microcopy, emotional design (the page lens to this skill's path lens)
|
|
208
|
+
- `enhance-web-ux` / `enhance-web-forms` — fix the screens and forms this audit flags
|
|
209
|
+
- `audit-uiux-design-system` — visual token/component compliance
|
|
210
|
+
- `audit-accessibility` / `audit-performance` — WCAG and speed lenses (delegated)
|
|
211
|
+
- `audit-realworld` — full-stack feature parity vs the RealWorld reference
|
|
212
|
+
- `plan-test-coverage` — same story inventory, test-coverage lens; share Phase 0 output
|
|
213
|
+
- `design-prd` — where stories come from on greenfield; this skill audits them post-build
|
|
214
|
+
- `test-playwright` — turn walkthroughs into regression coverage after fixes
|
|
215
|
+
- `complete-everything` — close the audited gaps to done with verification
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# UX journeys & IA audit — detailed methods
|
|
2
|
+
|
|
3
|
+
Per-phase detection commands, pass/fail signals, and method notes for `audit-ux-journeys`.
|
|
4
|
+
Sources: 2026 practitioner consensus (data-over-taste, trigger-scoped audits, IA findability,
|
|
5
|
+
task-completion walkthroughs, impact×effort prioritization).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Phase 0 — Story derivation
|
|
10
|
+
|
|
11
|
+
### Route inventory by framework
|
|
12
|
+
```bash
|
|
13
|
+
# Next.js App Router
|
|
14
|
+
fd -H 'page\.(tsx|jsx)' app/ src/app/ | sed 's|/page\..*||' | sort
|
|
15
|
+
# Next.js Pages Router / Nuxt / SvelteKit / Remix
|
|
16
|
+
fd -H . pages/ src/pages/ src/routes/ -t f -e tsx -e jsx -e vue -e svelte 2>/dev/null
|
|
17
|
+
# SPA route config
|
|
18
|
+
rg -n "path:\s*['\"]|createBrowserRouter|<Route" -g '*.{ts,tsx,js,jsx}'
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Story quality bar
|
|
22
|
+
- Max 5–10 stories; each core to the product's promise (from landing CTAs, README, pricing page).
|
|
23
|
+
- Each has an **observable completion signal** (order confirmation rendered, file downloadable,
|
|
24
|
+
invite email in outbox) — "user is happy" is not a signal.
|
|
25
|
+
- Reuse existing inventories first: `design-prd` outputs, `plan-test-coverage` story matrix,
|
|
26
|
+
`.cursor/` plan files. Same stories, different lens — divergence between inventories is itself
|
|
27
|
+
a finding.
|
|
28
|
+
- Persona detail only where it changes the audit: auth state (guest vs returning), device
|
|
29
|
+
(mobile-first products), and skill level are the usual splits that matter.
|
|
30
|
+
|
|
31
|
+
### Trigger scoping notes
|
|
32
|
+
- **KPIs dropping:** get the specific KPI and date range; check `git log` around the inflection
|
|
33
|
+
for shipped changes; audit only the affected funnel first.
|
|
34
|
+
- **Complaints:** cluster support tickets/reviews into themes; each theme becomes a hypothesis
|
|
35
|
+
walked in Phase 2. Complaints are hypotheses, not verdicts.
|
|
36
|
+
- **Pre-launch:** no behavioral data exists — run walkthroughs of the 3 riskiest flows (signup,
|
|
37
|
+
onboarding, money path) and label every finding `[judgment]`. State this limitation in the
|
|
38
|
+
report header.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Phase 1 — IA checks in detail
|
|
43
|
+
|
|
44
|
+
### IA1 — Click depth
|
|
45
|
+
Method: from the route tree + nav links, compute shortest click path from `/` to each story's
|
|
46
|
+
destination. Browser-verify the top 3 stories (menus can hide links that exist in code).
|
|
47
|
+
- **Pass:** core-story targets ≤3 clicks; money paths ≤2.
|
|
48
|
+
- **Red flag:** revenue/conversion pages 4+ deep; critical action only reachable via settings.
|
|
49
|
+
|
|
50
|
+
### IA2 — Orphan pages
|
|
51
|
+
```bash
|
|
52
|
+
# All internal link targets
|
|
53
|
+
rg -oN "href=[\"']/([^\"'#?]*)" -g '*.{tsx,jsx,vue,svelte,html}' -r '/$1' | sort -u > /tmp/linked.txt
|
|
54
|
+
# Compare against route inventory — routes never linked are orphans
|
|
55
|
+
```
|
|
56
|
+
- **Pass:** every route reachable via nav/link chain (or intentionally unlisted: legal, deep-links
|
|
57
|
+
from email — record as exceptions).
|
|
58
|
+
- **Red flag:** feature pages with zero inbound links — the feature effectively doesn't exist.
|
|
59
|
+
|
|
60
|
+
### IA3 — Dead ends
|
|
61
|
+
Method: for each route, check for forward affordances (primary CTA, related links, next-step).
|
|
62
|
+
```bash
|
|
63
|
+
rg -L -n "success|thank|complete|done" -g '*{page,Success,Confirmation}*' # then inspect for next-step CTA
|
|
64
|
+
```
|
|
65
|
+
- **Red flag:** success/confirmation pages with no "what's next"; empty states with no action
|
|
66
|
+
(also hand to `audit-ux` H9); 404 without a route home.
|
|
67
|
+
|
|
68
|
+
### IA4 — Label consistency
|
|
69
|
+
```bash
|
|
70
|
+
# Nav labels vs page titles vs H1s — extract and diff
|
|
71
|
+
rg -n "<(title|h1)|title:|headline" -g '*.{tsx,jsx,vue,svelte}' | rg -i "[A-Z]"
|
|
72
|
+
```
|
|
73
|
+
- **Pass:** nav label, page `<title>`, and H1 agree (± minor casing); one concept = one word
|
|
74
|
+
product-wide (pick "Billing" *or* "Payments", never both).
|
|
75
|
+
- **Red flag:** synonyms across surfaces; internal jargon in labels (module names leaking to nav).
|
|
76
|
+
|
|
77
|
+
### IA5 — Grouping vs mental model
|
|
78
|
+
Method (expert judgment — tag accordingly): list nav groups; ask "would a first-time user look
|
|
79
|
+
here for X?" for each story target. Card-sort logic without the card sort: group by user *task*
|
|
80
|
+
(Buy, Manage, Learn) not by implementation (Entities, Admin, Misc).
|
|
81
|
+
- **Red flag:** a "Miscellaneous"/"Other" group; groups mirroring the DB schema or team structure;
|
|
82
|
+
one group with 12 items next to three groups with 1.
|
|
83
|
+
|
|
84
|
+
### IA6 — First-click logic (browser)
|
|
85
|
+
Method: land on `/` cold, per story ask "what would a user click first?" — then check that click
|
|
86
|
+
actually leads down the story's shortest path. First-click correctness is the strongest single
|
|
87
|
+
predictor of task success in tree-testing literature.
|
|
88
|
+
- **Red flag:** correct first click is in a hamburger/footer while a prominent decoy leads away.
|
|
89
|
+
|
|
90
|
+
### IA7 — Wayfinding
|
|
91
|
+
- Breadcrumbs on hierarchies ≥3 deep; current nav item highlighted (`aria-current="page"` or
|
|
92
|
+
active state); page titles update per route (`document.title`).
|
|
93
|
+
```bash
|
|
94
|
+
rg -n -i "breadcrumb|aria-current" -g '*.{tsx,jsx,vue,svelte}' -l
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### IA8 — Search & filtering
|
|
98
|
+
- Present for large sets (>~50 items); persists across pagination; filter state in URL (shareable,
|
|
99
|
+
survives refresh).
|
|
100
|
+
- **Red flag:** filters reset on back-navigation; search with no empty-state guidance.
|
|
101
|
+
|
|
102
|
+
### IA9 — URL sanity
|
|
103
|
+
- Human-readable slugs for content; hierarchy mirrors IA; state that users would share/bookmark
|
|
104
|
+
lives in the URL.
|
|
105
|
+
- **Red flag:** wizard step or selected tab lost on refresh; UUID-only URLs for shareable content.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Phase 2 — Walkthrough method
|
|
110
|
+
|
|
111
|
+
- **Anti-stall first:** apply `protocol-browser-anti-stall` on every step; screenshots go to
|
|
112
|
+
`.playwright-mcp/` named `story-<n>-step-<m>-<viewport>.png`.
|
|
113
|
+
- **Two viewports minimum:** 1280px and 390px. Most real-world friction (tap targets, undismissable
|
|
114
|
+
modals, forms) is mobile-only.
|
|
115
|
+
- **Count honestly:** steps = clicks + field inputs + scrolls-to-find. Compare against a sane
|
|
116
|
+
target for the story class (checkout ≤5 steps, signup ≤3, find-info ≤3 clicks).
|
|
117
|
+
- **Friction taxonomy** (log each occurrence): hesitation (nothing obviously clickable), mislabel
|
|
118
|
+
(clicked the wrong thing because the label lied), backtrack (had to go back), surprise (result
|
|
119
|
+
didn't match expectation), stall (waiting with no feedback — also `audit-ux` H1).
|
|
120
|
+
- **Error-recovery probes per story:** enter one invalid input (is the message specific + inline?);
|
|
121
|
+
press browser Back mid-flow (data preserved?); refresh mid-flow (state survives?); for money
|
|
122
|
+
paths, attempt double-submit (also `audit-resilience`/`audit-payment-system` territory — link,
|
|
123
|
+
don't duplicate).
|
|
124
|
+
- **BLOCKED protocol:** a story that cannot be completed is a **Blocker** severity finding with a
|
|
125
|
+
screenshot and the exact step — the single most important output of the audit.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Phase 3 — Evidence layer method
|
|
130
|
+
|
|
131
|
+
### Analytics detection & use
|
|
132
|
+
| Found | Use for |
|
|
133
|
+
|---|---|
|
|
134
|
+
| GA4 / gtag | funnel + drop-off per story path, top exits, device split |
|
|
135
|
+
| PostHog / Amplitude / Mixpanel | funnels, retention, rage-click autocapture (PostHog) |
|
|
136
|
+
| MS Clarity / Hotjar | heatmaps, dead/rage clicks, session replays for friction validation |
|
|
137
|
+
| Plausible / Umami / Fathom | page-level entries/exits only (no funnels) — partial evidence |
|
|
138
|
+
| Sentry | error hotspots along the story path (a JS error mid-checkout is a UX finding) |
|
|
139
|
+
|
|
140
|
+
Rules:
|
|
141
|
+
- Cross at least two signals before upgrading a finding to `[data]` (e.g. funnel drop + replay).
|
|
142
|
+
- A walkthrough finding *contradicted* by data gets downgraded, not hidden — record both.
|
|
143
|
+
- No access to dashboards? Ask the user once for exports/screenshots; otherwise stay `[observed]`.
|
|
144
|
+
|
|
145
|
+
### No-data recommendation template
|
|
146
|
+
Minimal instrumentation as a roadmap item: page views + one funnel per core story (entry,
|
|
147
|
+
mid-step, completion signal) + error tracking on the money path. Delegate implementation to
|
|
148
|
+
`backend-observability` / the analytics tool's docs. This makes the *next* audit evidence-based.
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Phase 4 — Prioritization method
|
|
153
|
+
|
|
154
|
+
- **Impact:** does the finding sit on a revenue/activation story (High), a secondary story
|
|
155
|
+
(Medium), or a rarely-walked path (Low)? Data trumps guesswork when available.
|
|
156
|
+
- **Effort:** copy/label/link fixes = Low; layout/flow restructure = Medium; IA regroup or route
|
|
157
|
+
redesign = High.
|
|
158
|
+
- **Quadrants:** High-impact/Low-effort → *Quick wins* (ship this week). High/High → *Roadmap*.
|
|
159
|
+
Low impact → *Deprioritized* regardless of ease (fixing easy-but-irrelevant things is audit
|
|
160
|
+
theater).
|
|
161
|
+
- **Blockers bypass the grid** — a story that cannot be completed is first in line, always.
|
|
162
|
+
- **Report hygiene:** number findings; one observation + one recommendation each; ≤1 paragraph;
|
|
163
|
+
annotated screenshot for the top findings; always include the "working well" section (readers
|
|
164
|
+
accept criticism better, and it protects strengths from being "fixed" away).
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Delegation map (don't double-count)
|
|
169
|
+
| Concern | Owner |
|
|
170
|
+
|---|---|
|
|
171
|
+
| Per-page heuristics, microcopy, emotional design | `audit-ux` |
|
|
172
|
+
| Single-screen layout/UX fixes | `enhance-web-ux` |
|
|
173
|
+
| Field-level form design & validation UX | `enhance-web-forms` |
|
|
174
|
+
| WCAG / assistive tech | `audit-accessibility` |
|
|
175
|
+
| Load speed / CWV (a UX factor, separate lens) | `audit-performance` |
|
|
176
|
+
| Visual tokens / components / dark mode | `audit-uiux-design-system` |
|
|
177
|
+
| Feature parity vs reference apps | `audit-realworld` |
|
|
178
|
+
| Story inventory for tests | `plan-test-coverage` |
|
|
179
|
+
| Double-submit / idempotency on money paths | `audit-resilience`, `audit-payment-system` |
|