@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,475 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-uiux-design-system
|
|
3
|
+
description: >
|
|
4
|
+
Audit visual-system coherence: tokens, component variants, color, type,
|
|
5
|
+
spacing, dark mode. Use for "design drift", inconsistent UI, or duplicate
|
|
6
|
+
primitives. Per-page usability → audit-ux. Plan-only unification →
|
|
7
|
+
plan-uiux-unification.
|
|
8
|
+
license: MIT
|
|
9
|
+
effort: high
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# UI Design System Audit Skill
|
|
13
|
+
|
|
14
|
+
**Degree of freedom: MIXED** — Steps 0–3, 5–6 `[HIGH freedom]`; Step 4
|
|
15
|
+
playwright captures `[LOW freedom — run exactly]`. Read
|
|
16
|
+
`protocol-browser-anti-stall` before any browser step. Breakpoints-only →
|
|
17
|
+
`audit-responsive`.
|
|
18
|
+
|
|
19
|
+
## How to reason
|
|
20
|
+
|
|
21
|
+
1. **Observe** — quote the token file, raw hex, or screenshot
|
|
22
|
+
2. **Interpret** — is this the system token, a one-off, or an AI-tell?
|
|
23
|
+
3. **Classify** — token leak / duplicate component / missing state / template / correct
|
|
24
|
+
4. **Severity** — raw color on a core primitive = P0; missing hover = P1; radius nit = P2
|
|
25
|
+
|
|
26
|
+
## Worked example
|
|
27
|
+
|
|
28
|
+
> **Observe:** `Button.tsx` uses `bg-[#3B82F6]`; `--primary` exists in `globals.css`.
|
|
29
|
+
> **Interpret:** the primitive bypasses the token SSOT; dark mode cannot switch it.
|
|
30
|
+
> **Classify:** token leak on a core primitive.
|
|
31
|
+
> **Severity:** P0 — every button is a hardcoded hex.
|
|
32
|
+
> **Finding:** `Button.tsx` | color token | P0 | replace with `bg-primary`.
|
|
33
|
+
|
|
34
|
+
## Self-critique before reporting [LOW freedom — do not skip]
|
|
35
|
+
|
|
36
|
+
1. **Tokens first** — do not invent a second scale
|
|
37
|
+
2. **Evidenced** — screenshot under `.playwright-mcp/` or quoted class
|
|
38
|
+
3. **Severity justified** — P0 = core primitive off-token or unusable contrast
|
|
39
|
+
4. **Right owner** — linearized desktop → `audit-responsive`; WCAG keyboard → `audit-accessibility`
|
|
40
|
+
5. **Hand-crafted** — no recommendation that increases template sameness
|
|
41
|
+
|
|
42
|
+
## Anti-template
|
|
43
|
+
|
|
44
|
+
Recommendations must name what to avoid, not ask for taste. Research
|
|
45
|
+
award-winning sites in the domain; vary rhythm (not identical `py-16`);
|
|
46
|
+
give each control a distinct hover/focus/active/disabled; define
|
|
47
|
+
personality tokens (radius, type voice). Defaults to call out — extend
|
|
48
|
+
this list from whatever the first draft reached for: identical section
|
|
49
|
+
padding, generic or purple gradients, three equal cards / 3-col
|
|
50
|
+
icon-title-desc as the default, cream or off-white page backgrounds,
|
|
51
|
+
italic accent words in headlines, "01/02/03" numbered section labels,
|
|
52
|
+
monospace labels, pill-shaped buttons everywhere, Inter/Roboto as the
|
|
53
|
+
only type voice, lorem empty states, uniform radius, unadapted stock art.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Step 0: Auto-Detect Design System
|
|
58
|
+
|
|
59
|
+
### 0a. Detect CSS Framework
|
|
60
|
+
|
|
61
|
+
| Signal | Technology |
|
|
62
|
+
|--------|-----------|
|
|
63
|
+
| `tailwindcss` v3 + `tailwind.config.*` | Tailwind CSS v3 |
|
|
64
|
+
| `tailwindcss` v4 + `@theme` in CSS | Tailwind CSS v4 |
|
|
65
|
+
| `*.module.css` files | CSS Modules |
|
|
66
|
+
| `styled-components` or `@emotion/styled` | CSS-in-JS |
|
|
67
|
+
| `@chakra-ui/react` | Chakra UI |
|
|
68
|
+
| `@mui/material` | Material UI |
|
|
69
|
+
| `@mantine/core` | Mantine |
|
|
70
|
+
|
|
71
|
+
### 0b. Detect Component Library
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Glob: **/components/ui/*.tsx → shadcn/ui
|
|
75
|
+
Glob: **/components/ui/*.vue → Vue component lib
|
|
76
|
+
Glob: **/components/ui/*.svelte → Svelte component lib
|
|
77
|
+
Grep: "from '@radix-ui" glob "*.{ts,tsx}" output_mode "count"
|
|
78
|
+
Grep: "from 'lucide-react" glob "*.{ts,tsx}" output_mode "count"
|
|
79
|
+
Grep: "from '@heroicons" glob "*.{ts,tsx}" output_mode "count"
|
|
80
|
+
Grep: "from 'react-icons" glob "*.{ts,tsx}" output_mode "count"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 0c. Find Design Tokens
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Glob: **/tailwind.config.*
|
|
87
|
+
Glob: **/app/globals.css
|
|
88
|
+
Glob: **/styles/tokens.*
|
|
89
|
+
Glob: **/theme.*
|
|
90
|
+
Grep: "--primary|--secondary|--accent|--muted" glob "*.css"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Read token source to extract: colors, spacing, typography, radii, shadows.
|
|
94
|
+
|
|
95
|
+
### 0d. Discover Forbidden Patterns
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Grep: "NEVER|FORBIDDEN|DO NOT" glob "**/*README*" -i
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 0e. Record Discovery
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
DESIGN SYSTEM DISCOVERY:
|
|
105
|
+
- CSS framework: [Tailwind v3/v4 / CSS Modules / Styled Components / etc.]
|
|
106
|
+
- Component library: [shadcn/ui / Radix / MUI / Chakra / custom]
|
|
107
|
+
- Icon library: [Lucide / Heroicons / react-icons / mixed]
|
|
108
|
+
- Token source: [file path]
|
|
109
|
+
- Colors defined: [count]
|
|
110
|
+
- Typography scale: [list]
|
|
111
|
+
- Spacing base: [4px / 8px / etc.]
|
|
112
|
+
- Border radius: [list]
|
|
113
|
+
- Shadow levels: [list]
|
|
114
|
+
- Dark mode: [YES — class/media / NO]
|
|
115
|
+
- Forbidden patterns: [list from README]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Step 1: Research Design System Best Practices
|
|
121
|
+
|
|
122
|
+
### 1a. Context7 — Component Library Docs
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
context7:resolve-library-id
|
|
126
|
+
{
|
|
127
|
+
"libraryName": "<DETECTED_COMPONENT_LIBRARY>",
|
|
128
|
+
"query": "component variants accessibility patterns"
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Then fetch docs with the resolved ID. Also fetch CSS framework docs.
|
|
133
|
+
|
|
134
|
+
### 1b. Firecrawl — Design System Standards
|
|
135
|
+
|
|
136
|
+
```json
|
|
137
|
+
firecrawl:firecrawl_search
|
|
138
|
+
{
|
|
139
|
+
"query": "<COMPONENT_LIBRARY> design system audit token compliance best practices [current year]",
|
|
140
|
+
"limit": 5,
|
|
141
|
+
"sources": [{ "type": "web" }]
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Additional queries:
|
|
146
|
+
|
|
147
|
+
| Topic | Query |
|
|
148
|
+
|-------|-------|
|
|
149
|
+
| Token compliance | `design token audit <CSS_FRAMEWORK> consistency` |
|
|
150
|
+
| Component patterns | `<FRAMEWORK> component modularity composition patterns` |
|
|
151
|
+
| Dark mode | `<CSS_FRAMEWORK> dark mode implementation best practices` |
|
|
152
|
+
|
|
153
|
+
### 1c. Firecrawl — Award-Winning Reference Sites
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
firecrawl:firecrawl_search
|
|
157
|
+
{
|
|
158
|
+
"query": "<PRODUCT_TYPE> website design award Awwwards Muzli [current year]",
|
|
159
|
+
"limit": 5,
|
|
160
|
+
"sources": [{ "type": "web" }]
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
firecrawl:firecrawl_search
|
|
166
|
+
{
|
|
167
|
+
"query": "<PRODUCT_TYPE> SaaS UI design inspiration unique not generic [current year]",
|
|
168
|
+
"limit": 5,
|
|
169
|
+
"sources": [{ "type": "web" }]
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Scrape 2–3 standout sites for grid breaks, signature motion, type voice, and accent logic.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Step 2: Token Compliance Audit
|
|
178
|
+
|
|
179
|
+
### 2a. Color Tokens
|
|
180
|
+
|
|
181
|
+
| Rule | Standard | How to Check |
|
|
182
|
+
|------|----------|-------------|
|
|
183
|
+
| Semantic naming | `primary`, `secondary`, `destructive`, `muted`, `accent` | No raw hex/rgb in components |
|
|
184
|
+
| CSS variables | `hsl(var(--primary))` or `oklch()` | All colors reference variables |
|
|
185
|
+
| Foreground pairs | Every bg color has `*-foreground` | Text contrast maintained |
|
|
186
|
+
| Dark mode | All tokens have dark variant | `.dark` class or `@media` |
|
|
187
|
+
| Status colors | `success`, `warning`, `error`, `info` defined | Consistent across alerts, badges, toasts |
|
|
188
|
+
|
|
189
|
+
**Find violations:**
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Grep: "(#[0-9a-fA-F]{3,8}|rgb\(|rgba\(|hsl\([^v])" glob "*.tsx"
|
|
193
|
+
Grep: "\[(#|rgb|hsl)" glob "*.tsx"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 2b. Typography Tokens
|
|
197
|
+
|
|
198
|
+
| Rule | Standard |
|
|
199
|
+
|------|----------|
|
|
200
|
+
| Font families | Max 2-3 families in theme |
|
|
201
|
+
| Size scale | Consistent (`text-sm`, `text-base`, `text-lg`) |
|
|
202
|
+
| Weight scale | Limited set (`font-normal`, `font-medium`, `font-semibold`, `font-bold`) |
|
|
203
|
+
| Heading hierarchy | `h1` > `h2` > `h3` in visual weight AND DOM order |
|
|
204
|
+
| No arbitrary sizes | No `text-[14px]` when `text-sm` exists |
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
Grep: "text-\[" glob "*.tsx"
|
|
208
|
+
Grep: "font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)" glob "*.tsx" output_mode "count"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### 2c. Spacing Tokens
|
|
212
|
+
|
|
213
|
+
| Rule | Standard |
|
|
214
|
+
|------|----------|
|
|
215
|
+
| Base unit | 4px grid (Tailwind default) |
|
|
216
|
+
| Consistent gaps | Same spacing for same contexts |
|
|
217
|
+
| No arbitrary values | No `p-[13px]` when `p-3` exists |
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
Grep: "(p|m|gap|space)-\[" glob "*.tsx"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 2d. Borders, Radii, Shadows
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
Grep: "rounded-\[" glob "*.tsx"
|
|
227
|
+
Grep: "shadow-" glob "*.tsx" output_mode "count"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Step 3: Component Modularity Audit
|
|
233
|
+
|
|
234
|
+
### 3a. Component Health
|
|
235
|
+
|
|
236
|
+
| Rule | Standard |
|
|
237
|
+
|------|----------|
|
|
238
|
+
| Single responsibility | One component = one purpose |
|
|
239
|
+
| Composable | Small pieces compose into larger ones |
|
|
240
|
+
| Reusable | Same UI = same component everywhere |
|
|
241
|
+
| Consistent props | `variant`, `size`, `disabled`, `className` across all |
|
|
242
|
+
| Variants pattern | `cva()` or similar for style variants |
|
|
243
|
+
|
|
244
|
+
### 3b. Find Duplicate Components
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Grep: "<button " glob "*.tsx" — raw buttons outside ui/ (should use Button)
|
|
248
|
+
Grep: "<input " glob "*.tsx" — raw inputs (should use Input)
|
|
249
|
+
Grep: "<select " glob "*.tsx" — raw selects
|
|
250
|
+
Grep: "<a " glob "*.tsx" — raw anchors (should use Link)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Exclude `components/ui/*` — those are legitimate primitives.
|
|
254
|
+
|
|
255
|
+
### 3c. Check Component Consistency
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
Grep: "function (Button|Input|Modal|Dialog|Card)" glob "*.tsx" output_mode "files_with_matches"
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### 3d. Mixed Icon Libraries
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
Grep: "from .lucide-react" glob "*.tsx" output_mode "count"
|
|
265
|
+
Grep: "from .@heroicons" glob "*.tsx" output_mode "count"
|
|
266
|
+
Grep: "from .react-icons" glob "*.tsx" output_mode "count"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Step 4: Live Visual Verification (playwright-cli)
|
|
272
|
+
|
|
273
|
+
### 4a. Navigate and Capture
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
PW="npx --yes @playwright/cli@latest"
|
|
277
|
+
$PW -s=ds-audit open --headed "http://localhost:<PORT>/<ROUTE>"
|
|
278
|
+
sleep 2
|
|
279
|
+
$PW -s=ds-audit snapshot # verify content rendered
|
|
280
|
+
$PW -s=ds-audit screenshot --filename ".playwright-mcp/ds-<route>.png" # visual evidence
|
|
281
|
+
$PW -s=ds-audit console # check for errors
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### 4b. Per-Page Checks
|
|
285
|
+
|
|
286
|
+
| Check | How |
|
|
287
|
+
|-------|-----|
|
|
288
|
+
| Token compliance | Screenshot — inconsistent colors, spacing |
|
|
289
|
+
| Component reuse | Snapshot — shared primitives used? |
|
|
290
|
+
| Console errors | `console` — hydration, missing CSS vars |
|
|
291
|
+
| Layout shift | Snapshot before/after interaction |
|
|
292
|
+
| Dark mode | Toggle dark mode, re-screenshot, compare |
|
|
293
|
+
|
|
294
|
+
### 4c. Responsive Check
|
|
295
|
+
|
|
296
|
+
Test at three viewports:
|
|
297
|
+
|
|
298
|
+
- **Desktop** (1440px)
|
|
299
|
+
- **Tablet** (768px)
|
|
300
|
+
- **Mobile** (375px)
|
|
301
|
+
|
|
302
|
+
### 4d. Visual Accessibility
|
|
303
|
+
|
|
304
|
+
| Check | How |
|
|
305
|
+
|-------|-----|
|
|
306
|
+
| Color contrast | 4.5:1 text, 3:1 large text/UI — compute from the token pair values (one-line script or the DevTools accessibility pane); the screenshot confirms which pair is in use, it does not measure the ratio |
|
|
307
|
+
| Focus rings | Tab through elements, verify visible focus indicator |
|
|
308
|
+
| Semantic HTML | `Grep: "<nav>|<main>|<section>|<article>|<aside>" glob "*.tsx"` |
|
|
309
|
+
| Alt text | `Grep: "<(img|Image)" glob "*.tsx"` then check for `alt=` |
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Step 5: Microinteractions and User Feedback
|
|
314
|
+
|
|
315
|
+
### 5a. Microinteraction Coverage Audit
|
|
316
|
+
|
|
317
|
+
Check each interactive:
|
|
318
|
+
|
|
319
|
+
| Element | Expected Feedback | AI-Tell if Missing |
|
|
320
|
+
|---------|------------------|--------------------|
|
|
321
|
+
| Buttons | Hover: color shift + subtle shadow change. Active: scale(0.98) press. Loading: spinner replaces label or inline indicator | Flat, no state change — feels dead |
|
|
322
|
+
| Links | Hover: underline animation or color transition, not instant swap | Instant color jump with no transition |
|
|
323
|
+
| Cards (clickable) | Hover: lift (translateY + shadow increase). Not just color change | Color change only, or no hover at all |
|
|
324
|
+
| Inputs | Focus: ring animation or border color transition. Not just outline swap | Browser default outline, no custom focus |
|
|
325
|
+
| Toggles/switches | State transition animated, not instant. Haptic feel via easing | Instant snap between states |
|
|
326
|
+
| Dropdowns/menus | Open/close with slide or fade, not instant appear/disappear | Instant pop, no transition |
|
|
327
|
+
| Toasts/notifications | Enter with slide + fade, exit with fade. Auto-dismiss with progress | Instant appear/disappear |
|
|
328
|
+
| Modals/dialogs | Backdrop fade + content scale/slide. Exit reverses. Not instant | Instant appear, jarring |
|
|
329
|
+
| Tabs | Active indicator slides to new tab, not instant jump | Instant color swap |
|
|
330
|
+
| Tooltips | Slight delay (200-300ms), fade in. Don't flicker on mouse movement | Instant, flickers, no delay |
|
|
331
|
+
|
|
332
|
+
**Find in code:**
|
|
333
|
+
|
|
334
|
+
```
|
|
335
|
+
Grep: "transition-all|transition-colors|transition-opacity|transition-transform" glob "*.tsx" output_mode "count"
|
|
336
|
+
Grep: "hover:|group-hover:|focus-visible:" glob "*.tsx" output_mode "count"
|
|
337
|
+
Grep: "animate-|animation-|@keyframes|framer-motion|motion\." glob "*.tsx" output_mode "count"
|
|
338
|
+
Grep: "scale-|translate-|rotate-" glob "*.tsx" output_mode "count"
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### 5b. Interaction State Completeness
|
|
342
|
+
|
|
343
|
+
Verify ALL states exist per interactive:
|
|
344
|
+
|
|
345
|
+
```
|
|
346
|
+
States checklist per component:
|
|
347
|
+
□ Default (resting)
|
|
348
|
+
□ Hover (mouse over)
|
|
349
|
+
□ Focus-visible (keyboard navigation)
|
|
350
|
+
□ Active/pressed (during click)
|
|
351
|
+
□ Disabled (grayed, not clickable, cursor-not-allowed)
|
|
352
|
+
□ Loading (async action in progress)
|
|
353
|
+
□ Error (validation failed, destructive context)
|
|
354
|
+
□ Success (completed action)
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**Find missing states:**
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
Grep: "focus-visible:|focus:" glob "*.tsx" output_mode "count"
|
|
361
|
+
Grep: "active:|pressed" glob "*.tsx" output_mode "count"
|
|
362
|
+
Grep: "disabled:|cursor-not-allowed|opacity-50" glob "*.tsx" output_mode "count"
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### 5c. Visual Rhythm and Personality Audit
|
|
366
|
+
|
|
367
|
+
Intentional variety vs uniform repetition:
|
|
368
|
+
|
|
369
|
+
| Pattern | Curated Feel | Template Feel |
|
|
370
|
+
|---------|-------------|---------------|
|
|
371
|
+
| Section spacing | Varies by content type (hero: generous, form: tight, CTA: spacious) | Same `py-16` on every section |
|
|
372
|
+
| Typography contrast | Large jumps between heading and body (e.g., 48px → 16px). Mix weights | Incremental scale, same weight everywhere |
|
|
373
|
+
| Color accent usage | Accent used sparingly for emphasis, not on every element | Primary color on every button, link, icon |
|
|
374
|
+
| Layout variation | Different layouts per section (text-left/image-right, full-width, sidebar) | Same 3-column card grid repeated |
|
|
375
|
+
| Border radius | Intentional variation (pills for tags, rounded for cards, sharp for data tables) | Same `rounded-lg` on everything |
|
|
376
|
+
| Shadow depth | Multiple shadow levels for elevation hierarchy | Same shadow on everything, or no shadows |
|
|
377
|
+
| Whitespace | Asymmetric margins create visual flow and reading rhythm | Perfectly symmetric, mechanical spacing |
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## Step 6: Animation and Dark Mode
|
|
382
|
+
|
|
383
|
+
### Animations
|
|
384
|
+
|
|
385
|
+
| Rule | Standard |
|
|
386
|
+
|------|----------|
|
|
387
|
+
| Duration scale | `150ms` (micro), `200ms` (hover), `300ms` (enter), `500ms` (complex) — NOT all the same |
|
|
388
|
+
| Easing | `ease-out` for enter, `ease-in` for exit, `ease-in-out` for state changes — NOT all `ease-in-out` |
|
|
389
|
+
| Reduced motion | `motion-safe:` prefix or `prefers-reduced-motion` |
|
|
390
|
+
| No layout shift | Transitions don't cause CLS |
|
|
391
|
+
| Stagger effect | List items, card grids animate in with stagger delay, not all at once |
|
|
392
|
+
|
|
393
|
+
```
|
|
394
|
+
Grep: "duration-[0-9]+" glob "*.tsx" output_mode "count"
|
|
395
|
+
Grep: "transition-" glob "*.tsx" output_mode "count"
|
|
396
|
+
Grep: "prefers-reduced-motion|motion-safe|motion-reduce" glob "*.tsx"
|
|
397
|
+
Grep: "stagger|delay-\[|animation-delay" glob "*.tsx" output_mode "count"
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### Dark Mode
|
|
401
|
+
|
|
402
|
+
| Rule | Standard |
|
|
403
|
+
|------|----------|
|
|
404
|
+
| All tokens switch | CSS variables change in dark mode |
|
|
405
|
+
| No hardcoded colors | No `bg-white`, `text-black` — use semantic tokens |
|
|
406
|
+
| Borders visible | In both modes |
|
|
407
|
+
| Contrast | WCAG in BOTH light and dark |
|
|
408
|
+
| Not an afterthought | Dark mode should feel designed, not inverted. Shadows become glows, borders become subtle |
|
|
409
|
+
|
|
410
|
+
```
|
|
411
|
+
Grep: "(bg-white|bg-black|text-white|text-black)" glob "*.tsx" output_mode "count"
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## Output Template
|
|
417
|
+
|
|
418
|
+
```markdown
|
|
419
|
+
## UI Design System Audit Report
|
|
420
|
+
|
|
421
|
+
**Date:** [date]
|
|
422
|
+
**Framework:** [detected]
|
|
423
|
+
**CSS:** [Tailwind v3/v4 / CSS Modules / etc.]
|
|
424
|
+
**Component library:** [shadcn / Radix / MUI / custom]
|
|
425
|
+
**Pages Audited:** [count]
|
|
426
|
+
**Issues Found:** [count]
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
### Design Token Compliance
|
|
431
|
+
|
|
432
|
+
| Token Category | Defined | Violations | Status |
|
|
433
|
+
|----------------|---------|------------|--------|
|
|
434
|
+
| Colors | [count] | [count] raw hex/rgb | [pass/warn/fail] |
|
|
435
|
+
| Typography | [count] | [count] arbitrary sizes | [pass/warn/fail] |
|
|
436
|
+
| Spacing | [count] | [count] arbitrary values | [pass/warn/fail] |
|
|
437
|
+
| Radii | [count] | [count] arbitrary radii | [pass/warn/fail] |
|
|
438
|
+
| Shadows | [count] | [count] inconsistent | [pass/warn/fail] |
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
### Component Health
|
|
443
|
+
|
|
444
|
+
| Component | Used In | Variants | Issues |
|
|
445
|
+
|-----------|---------|----------|--------|
|
|
446
|
+
| Button | [N] files | [N] | [notes] |
|
|
447
|
+
| Input | [N] files | [N] | [notes] |
|
|
448
|
+
| Card | [N] files | [N] | [notes] |
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
### Duplicate / Redundant Components
|
|
453
|
+
|
|
454
|
+
| Pattern | Locations | Recommendation |
|
|
455
|
+
|---------|-----------|----------------|
|
|
456
|
+
| Raw `<button>` | [files] | Use `<Button>` from `components/ui` |
|
|
457
|
+
| Custom modal | [file] | Use `<Dialog>` from `components/ui` |
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
### Visual Accessibility
|
|
462
|
+
|
|
463
|
+
| Criteria | Status | Issues |
|
|
464
|
+
|----------|--------|--------|
|
|
465
|
+
| Color contrast | [pass/warn/fail] | [details] |
|
|
466
|
+
| Focus indicators | [pass/warn/fail] | [details] |
|
|
467
|
+
| Alt text | [pass/warn/fail] | [details] |
|
|
468
|
+
| Semantic HTML | [pass/warn/fail] | [details] |
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## Further reading
|
|
474
|
+
|
|
475
|
+
- [Microinteraction Coverage and more](references/details.md)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
### Microinteraction Coverage
|
|
3
|
+
|
|
4
|
+
| Element | Hover | Focus | Active | Loading | Disabled | Status |
|
|
5
|
+
|---------|-------|-------|--------|---------|----------|--------|
|
|
6
|
+
| Buttons | [y/n] | [y/n] | [y/n] | [y/n] | [y/n] | [pass/warn/fail] |
|
|
7
|
+
| Links | [y/n] | [y/n] | [y/n] | — | — | [pass/warn/fail] |
|
|
8
|
+
| Cards | [y/n] | [y/n] | [y/n] | — | — | [pass/warn/fail] |
|
|
9
|
+
| Inputs | — | [y/n] | — | — | [y/n] | [pass/warn/fail] |
|
|
10
|
+
| Modals | enter | exit | — | — | — | [pass/warn/fail] |
|
|
11
|
+
| Toasts | enter | — | dismiss | auto | — | [pass/warn/fail] |
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### Visual Personality Assessment
|
|
16
|
+
|
|
17
|
+
| Trait | Score (1-5) | Evidence |
|
|
18
|
+
|-------|-------------|----------|
|
|
19
|
+
| Typography personality | [1-5] | [serif/sans contrast, weight variety, scale jumps] |
|
|
20
|
+
| Layout variety | [1-5] | [different section layouts vs repeated grids] |
|
|
21
|
+
| Color restraint | [1-5] | [accent used sparingly vs painted everywhere] |
|
|
22
|
+
| Spacing rhythm | [1-5] | [intentional variation vs mechanical uniformity] |
|
|
23
|
+
| Border radius intention | [1-5] | [varied by context vs same everywhere] |
|
|
24
|
+
| Shadow depth hierarchy | [1-5] | [multiple levels vs flat/uniform] |
|
|
25
|
+
| **AI-Generated Feel?** | [YES/NO] | [specific tells found] |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### Dark Mode & Animation
|
|
30
|
+
|
|
31
|
+
| Category | Status | Issues |
|
|
32
|
+
|----------|--------|--------|
|
|
33
|
+
| Token switching | [pass/warn/fail] | [details] |
|
|
34
|
+
| Hardcoded colors | [pass/warn/fail] | [count] violations |
|
|
35
|
+
| Reduced motion | [pass/warn/fail] | [details] |
|
|
36
|
+
| Easing variety | [pass/warn/fail] | [all same vs appropriate per context] |
|
|
37
|
+
| Duration variety | [pass/warn/fail] | [appropriate per interaction type] |
|
|
38
|
+
| Stagger animations | [pass/warn/fail] | [lists/grids animate with stagger?] |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### Page-by-Page Summary
|
|
43
|
+
|
|
44
|
+
| Page | Tokens | Components | Visual A11y | Dark Mode | Overall |
|
|
45
|
+
|------|--------|------------|-------------|-----------|---------|
|
|
46
|
+
| / | pass | pass | warn | pass | Good |
|
|
47
|
+
| /dashboard | warn | fail | fail | warn | Needs Work |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### Research Findings Applied
|
|
52
|
+
- [Pattern from research]: [how it applies]
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### Critical Issues (Must Fix)
|
|
57
|
+
|
|
58
|
+
#### 1. [Component/Page] — [Issue]
|
|
59
|
+
- **Problem:** [description]
|
|
60
|
+
- **Impact:** [visual consistency / a11y / dark mode]
|
|
61
|
+
- **Fix:** [specific code change]
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Next Steps
|
|
66
|
+
|
|
67
|
+
1. [ ] Replace raw HTML with shared components: [list]
|
|
68
|
+
2. [ ] Remove arbitrary token values: [list]
|
|
69
|
+
3. [ ] Fix dark mode violations: [list]
|
|
70
|
+
4. [ ] Add reduced motion support: [list]
|
|
71
|
+
```
|