imhcode 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +41 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +39 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +29 -0
- package/.github/copilot-instructions.md +43 -0
- package/.github/workflows/framework-validator.yml +53 -0
- package/.gitignore.template +15 -0
- package/AGENTS.md +69 -0
- package/CLAUDE.md +27 -0
- package/README.md +63 -0
- package/SETUP.md +81 -0
- package/USER_MANUAL.md +70 -0
- package/agents/android-executor/SYSTEM.md +32 -0
- package/agents/android-executor/agent.yml +53 -0
- package/agents/debugger/SYSTEM.md +32 -0
- package/agents/debugger/agent.yml +56 -0
- package/agents/designer/SYSTEM.md +32 -0
- package/agents/designer/agent.yml +59 -0
- package/agents/devops-executor/SYSTEM.md +32 -0
- package/agents/devops-executor/agent.yml +56 -0
- package/agents/flutter-executor/SYSTEM.md +32 -0
- package/agents/flutter-executor/agent.yml +54 -0
- package/agents/ios-executor/SYSTEM.md +32 -0
- package/agents/ios-executor/agent.yml +53 -0
- package/agents/java-executor/SYSTEM.md +32 -0
- package/agents/java-executor/agent.yml +57 -0
- package/agents/laravel-executor/SYSTEM.md +32 -0
- package/agents/laravel-executor/agent.yml +59 -0
- package/agents/nextjs-executor/SYSTEM.md +32 -0
- package/agents/nextjs-executor/agent.yml +60 -0
- package/agents/planner/SYSTEM.md +32 -0
- package/agents/planner/agent.yml +56 -0
- package/agents/python-executor/SYSTEM.md +32 -0
- package/agents/python-executor/agent.yml +58 -0
- package/agents/react-executor/SYSTEM.md +32 -0
- package/agents/react-executor/agent.yml +58 -0
- package/agents/react-native-executor/SYSTEM.md +32 -0
- package/agents/react-native-executor/agent.yml +53 -0
- package/agents/security-auditor/SYSTEM.md +32 -0
- package/agents/security-auditor/agent.yml +56 -0
- package/agents/seo-optimizer/SYSTEM.md +32 -0
- package/agents/seo-optimizer/agent.yml +54 -0
- package/agents/systems-executor/SYSTEM.md +32 -0
- package/agents/systems-executor/agent.yml +54 -0
- package/agents/tester/SYSTEM.md +32 -0
- package/agents/tester/agent.yml +58 -0
- package/agents/vue-executor/SYSTEM.md +32 -0
- package/agents/vue-executor/agent.yml +58 -0
- package/agents/web3-executor/SYSTEM.md +32 -0
- package/agents/web3-executor/agent.yml +55 -0
- package/bin/imhcode.js +1634 -0
- package/dist/orchestrator/builder.d.ts +23 -0
- package/dist/orchestrator/builder.d.ts.map +1 -0
- package/dist/orchestrator/builder.js +231 -0
- package/dist/orchestrator/builder.js.map +1 -0
- package/dist/orchestrator/executor.d.ts +43 -0
- package/dist/orchestrator/executor.d.ts.map +1 -0
- package/dist/orchestrator/executor.js +356 -0
- package/dist/orchestrator/executor.js.map +1 -0
- package/dist/orchestrator/index.d.ts +35 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +490 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/loader.d.ts +33 -0
- package/dist/orchestrator/loader.d.ts.map +1 -0
- package/dist/orchestrator/loader.js +203 -0
- package/dist/orchestrator/loader.js.map +1 -0
- package/dist/orchestrator/registry.d.ts +63 -0
- package/dist/orchestrator/registry.d.ts.map +1 -0
- package/dist/orchestrator/registry.js +181 -0
- package/dist/orchestrator/registry.js.map +1 -0
- package/dist/orchestrator/schema.d.ts +132 -0
- package/dist/orchestrator/schema.d.ts.map +1 -0
- package/dist/orchestrator/schema.js +101 -0
- package/dist/orchestrator/schema.js.map +1 -0
- package/dist/orchestrator/session.d.ts +25 -0
- package/dist/orchestrator/session.d.ts.map +1 -0
- package/dist/orchestrator/session.js +80 -0
- package/dist/orchestrator/session.js.map +1 -0
- package/dist/orchestrator/types.d.ts +91 -0
- package/dist/orchestrator/types.d.ts.map +1 -0
- package/dist/orchestrator/types.js +7 -0
- package/dist/orchestrator/types.js.map +1 -0
- package/package.json +95 -0
- package/skills/AnimatePresence/SKILL.md +3 -0
- package/skills/accessibility/SKILL.md +146 -0
- package/skills/agent-architecture-audit/SKILL.md +256 -0
- package/skills/agent-eval/SKILL.md +145 -0
- package/skills/agent-introspection-debugging/SKILL.md +153 -0
- package/skills/agentic-engineering/SKILL.md +63 -0
- package/skills/ai-regression-testing/SKILL.md +385 -0
- package/skills/android-clean-architecture/SKILL.md +339 -0
- package/skills/animated-component-libraries/SKILL.md +8 -0
- package/skills/animejs/SKILL.md +8 -0
- package/skills/api-connector-builder/SKILL.md +120 -0
- package/skills/api-design/SKILL.md +523 -0
- package/skills/apple/SKILL.md +158 -0
- package/skills/apple/metadata.json +16 -0
- package/skills/architecture-decision-records/SKILL.md +179 -0
- package/skills/article-writing/SKILL.md +79 -0
- package/skills/automation-audit-ops/SKILL.md +142 -0
- package/skills/awwwards/SKILL.md +162 -0
- package/skills/awwwards/metadata.json +16 -0
- package/skills/babylonjs-engine/SKILL.md +8 -0
- package/skills/backend-patterns/SKILL.md +561 -0
- package/skills/baqir-docs/SKILL.md +3 -0
- package/skills/barba-js/SKILL.md +8 -0
- package/skills/benchmark/SKILL.md +93 -0
- package/skills/best-practice/SKILL.md +7 -0
- package/skills/best-practice/assets/claude-memory/claude-memory-monorepo.jpg +0 -0
- package/skills/best-practice/assets/claude-power-ups/dial-the-model-1.png +0 -0
- package/skills/best-practice/assets/claude-power-ups/dial-the-model-2.png +0 -0
- package/skills/best-practice/assets/claude-power-ups/dial-the-model-3.png +0 -0
- package/skills/best-practice/assets/claude-power-ups/powerup-menu.png +0 -0
- package/skills/best-practice/claude-cli-startup-flags.md +231 -0
- package/skills/best-practice/claude-commands.md +132 -0
- package/skills/best-practice/claude-mcp.md +132 -0
- package/skills/best-practice/claude-memory.md +121 -0
- package/skills/best-practice/claude-power-ups.md +66 -0
- package/skills/best-practice/claude-settings.md +1170 -0
- package/skills/best-practice/claude-skills.md +58 -0
- package/skills/best-practice/claude-subagents.md +56 -0
- package/skills/blender-motion-state-inspection/SKILL.md +164 -0
- package/skills/bootstrap-patterns/SKILL.md +316 -0
- package/skills/brand-guidelines/LICENSE.txt +202 -0
- package/skills/brand-guidelines/SKILL.md +73 -0
- package/skills/brand-voice/SKILL.md +97 -0
- package/skills/brand-voice/references/voice-profile-schema.md +55 -0
- package/skills/browser-qa/SKILL.md +87 -0
- package/skills/canary-watch/SKILL.md +107 -0
- package/skills/canvas-design/LICENSE.txt +202 -0
- package/skills/canvas-design/SKILL.md +8 -0
- package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/caveman/SKILL.md +74 -0
- package/skills/changelog-generator/SKILL.md +104 -0
- package/skills/cisco-ios-patterns/SKILL.md +163 -0
- package/skills/ckm:design-system/SKILL.md +3 -0
- package/skills/ckm:slides/SKILL.md +3 -0
- package/skills/claude-red/SKILL.md +35 -0
- package/skills/click-path-audit/SKILL.md +244 -0
- package/skills/clickhouse-io/SKILL.md +439 -0
- package/skills/codebase-onboarding/SKILL.md +233 -0
- package/skills/coding-standards/SKILL.md +549 -0
- package/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/skills/computational-architecture/SKILL.md +31 -0
- package/skills/content-engine/SKILL.md +131 -0
- package/skills/content-research-writer/SKILL.md +538 -0
- package/skills/continuous-agent-loop/SKILL.md +45 -0
- package/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/skills/cpp-coding-standards/SKILL.md +723 -0
- package/skills/crosspost/SKILL.md +111 -0
- package/skills/css-container-queries/SKILL.md +132 -0
- package/skills/customer-billing-ops/SKILL.md +140 -0
- package/skills/customs-trade-compliance/SKILL.md +263 -0
- package/skills/dart-flutter-patterns/SKILL.md +563 -0
- package/skills/dashboard-builder/SKILL.md +108 -0
- package/skills/data-scraper-agent/SKILL.md +764 -0
- package/skills/database-migrations/SKILL.md +429 -0
- package/skills/deep-research/SKILL.md +159 -0
- package/skills/defi-amm-security/SKILL.md +166 -0
- package/skills/deployment-patterns/SKILL.md +427 -0
- package/skills/design-auditor/README.md +504 -0
- package/skills/design-auditor/README_KR.md +327 -0
- package/skills/design-auditor/SKILL.md +8 -0
- package/skills/design-auditor/references/animation.md +300 -0
- package/skills/design-auditor/references/color.md +241 -0
- package/skills/design-auditor/references/corner-radius.md +331 -0
- package/skills/design-auditor/references/elevation.md +249 -0
- package/skills/design-auditor/references/ethics.md +877 -0
- package/skills/design-auditor/references/figma-mcp.md +377 -0
- package/skills/design-auditor/references/heuristics.md +730 -0
- package/skills/design-auditor/references/i18n.md +254 -0
- package/skills/design-auditor/references/iconography.md +201 -0
- package/skills/design-auditor/references/microcopy.md +227 -0
- package/skills/design-auditor/references/navigation.md +311 -0
- package/skills/design-auditor/references/spacing.md +313 -0
- package/skills/design-auditor/references/states.md +254 -0
- package/skills/design-auditor/references/tokens.md +286 -0
- package/skills/design-auditor/references/typography.md +273 -0
- package/skills/design-system/SKILL.md +82 -0
- package/skills/design-tokens-system/SKILL.md +156 -0
- package/skills/development-workflows/SKILL.md +7 -0
- package/skills/development-workflows/cross-model-workflow/assets/cross-model-workflow.png +0 -0
- package/skills/development-workflows/cross-model-workflow/cross-model-workflow.md +55 -0
- package/skills/development-workflows/rpi/.claude/agents/code-reviewer.md +21 -0
- package/skills/development-workflows/rpi/.claude/agents/constitutional-validator.md +288 -0
- package/skills/development-workflows/rpi/.claude/agents/documentation-analyst-writer.md +64 -0
- package/skills/development-workflows/rpi/.claude/agents/product-manager.md +15 -0
- package/skills/development-workflows/rpi/.claude/agents/requirement-parser.md +238 -0
- package/skills/development-workflows/rpi/.claude/agents/senior-software-engineer.md +15 -0
- package/skills/development-workflows/rpi/.claude/agents/technical-cto-advisor.md +201 -0
- package/skills/development-workflows/rpi/.claude/agents/ux-designer.md +14 -0
- package/skills/development-workflows/rpi/.claude/commands/rpi/implement.md +634 -0
- package/skills/development-workflows/rpi/.claude/commands/rpi/plan.md +416 -0
- package/skills/development-workflows/rpi/.claude/commands/rpi/research.md +381 -0
- package/skills/development-workflows/rpi/rpi-workflow.md +101 -0
- package/skills/development-workflows/rpi/rpi-workflow.svg +178 -0
- package/skills/django-celery/SKILL.md +457 -0
- package/skills/django-patterns/SKILL.md +734 -0
- package/skills/django-security/SKILL.md +593 -0
- package/skills/django-tdd/SKILL.md +729 -0
- package/skills/dmux-workflows/SKILL.md +7 -0
- package/skills/docker-patterns/SKILL.md +364 -0
- package/skills/documentation-lookup/SKILL.md +90 -0
- package/skills/domain-name-brainstormer/SKILL.md +212 -0
- package/skills/dribbble/SKILL.md +160 -0
- package/skills/dribbble/metadata.json +16 -0
- package/skills/e2e-testing/SKILL.md +326 -0
- package/skills/empirical-research/SKILL.md +22 -0
- package/skills/error-handling/SKILL.md +376 -0
- package/skills/eval-harness/SKILL.md +270 -0
- package/skills/evm-token-decimals/SKILL.md +130 -0
- package/skills/fastapi-patterns/SKILL.md +327 -0
- package/skills/finance-billing-ops/SKILL.md +127 -0
- package/skills/flox-environments/SKILL.md +496 -0
- package/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/skills/foundation-models-on-device/SKILL.md +243 -0
- package/skills/framer/SKILL.md +159 -0
- package/skills/framer/metadata.json +16 -0
- package/skills/frontend-design/LICENSE.txt +21 -0
- package/skills/frontend-design/README.md +71 -0
- package/skills/frontend-design/SKILL.md +115 -0
- package/skills/frontend-design-direction/SKILL.md +92 -0
- package/skills/frontend-patterns/SKILL.md +7 -0
- package/skills/frontend-slides/SKILL.md +184 -0
- package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/skills/frontend-slides/animation-patterns.md +122 -0
- package/skills/frontend-slides/html-template.md +419 -0
- package/skills/frontend-slides/scripts/export-pdf.sh +418 -0
- package/skills/frontend-slides/scripts/extract-pptx.py +96 -0
- package/skills/frontend-slides/viewport-base.css +153 -0
- package/skills/gateguard/SKILL.md +125 -0
- package/skills/git-workflow/SKILL.md +715 -0
- package/skills/github-ops/SKILL.md +144 -0
- package/skills/golang-patterns/SKILL.md +674 -0
- package/skills/golang-testing/SKILL.md +720 -0
- package/skills/graphify/__init__.py +28 -0
- package/skills/graphify/__main__.py +2899 -0
- package/skills/graphify/analyze.py +608 -0
- package/skills/graphify/benchmark.py +152 -0
- package/skills/graphify/build.py +366 -0
- package/skills/graphify/cache.py +244 -0
- package/skills/graphify/callflow_html.py +2014 -0
- package/skills/graphify/cluster.py +267 -0
- package/skills/graphify/dedup.py +414 -0
- package/skills/graphify/detect.py +1018 -0
- package/skills/graphify/export.py +1264 -0
- package/skills/graphify/extract.py +6646 -0
- package/skills/graphify/global_graph.py +155 -0
- package/skills/graphify/google_workspace.py +223 -0
- package/skills/graphify/hooks.py +304 -0
- package/skills/graphify/ingest.py +331 -0
- package/skills/graphify/llm.py +1111 -0
- package/skills/graphify/manifest.py +4 -0
- package/skills/graphify/prs.py +746 -0
- package/skills/graphify/report.py +203 -0
- package/skills/graphify/security.py +242 -0
- package/skills/graphify/serve.py +899 -0
- package/skills/graphify/skill-aider.md +1229 -0
- package/skills/graphify/skill-claw.md +1229 -0
- package/skills/graphify/skill-codex.md +1290 -0
- package/skills/graphify/skill-copilot.md +1317 -0
- package/skills/graphify/skill-droid.md +1285 -0
- package/skills/graphify/skill-kiro.md +1228 -0
- package/skills/graphify/skill-opencode.md +1340 -0
- package/skills/graphify/skill-pi.md +1228 -0
- package/skills/graphify/skill-trae.md +1254 -0
- package/skills/graphify/skill-vscode.md +258 -0
- package/skills/graphify/skill-windows.md +1434 -0
- package/skills/graphify/skill.md +1086 -0
- package/skills/graphify/transcribe.py +184 -0
- package/skills/graphify/tree_html.py +580 -0
- package/skills/graphify/validate.py +72 -0
- package/skills/graphify/watch.py +728 -0
- package/skills/graphify/wiki.py +259 -0
- package/skills/growth-marketing/SKILL.md +26 -0
- package/skills/gsap-scrolltrigger/SKILL.md +8 -0
- package/skills/healthcare-cdss-patterns/SKILL.md +245 -0
- package/skills/healthcare-emr-patterns/SKILL.md +159 -0
- package/skills/healthcare-phi-compliance/SKILL.md +145 -0
- package/skills/hexagonal-architecture/SKILL.md +276 -0
- package/skills/hipaa-compliance/SKILL.md +78 -0
- package/skills/homelab-network-setup/SKILL.md +129 -0
- package/skills/imhcode/SKILL.md +183 -0
- package/skills/imhcode-brainstorm/SKILL.md +37 -0
- package/skills/imhcode-codebase-knowledge/SKILL.md +37 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/ARCHITECTURE.md +49 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/CONCERNS.md +56 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/CONVENTIONS.md +52 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/INTEGRATIONS.md +48 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/STACK.md +56 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/STRUCTURE.md +44 -0
- package/skills/imhcode-codebase-knowledge/assets/templates/TESTING.md +57 -0
- package/skills/imhcode-codebase-knowledge/references/inquiry-checkpoints.md +70 -0
- package/skills/imhcode-codebase-knowledge/references/stack-detection.md +131 -0
- package/skills/imhcode-codebase-knowledge/scripts/scan.py +712 -0
- package/skills/imhcode-dispatch/SKILL.md +31 -0
- package/skills/imhcode-saas-architect/SKILL.md +55 -0
- package/skills/imhcode-security/SKILL.md +42 -0
- package/skills/imhcode-sprint-planner/SKILL.md +42 -0
- package/skills/inventory-demand-planning/SKILL.md +247 -0
- package/skills/investor-materials/SKILL.md +96 -0
- package/skills/investor-outreach/SKILL.md +91 -0
- package/skills/ios-icon-gen/SKILL.md +157 -0
- package/skills/ios-icon-gen/scripts/generate_icons.swift +258 -0
- package/skills/ios-icon-gen/scripts/iconify_gen.sh +235 -0
- package/skills/java-coding-standards/SKILL.md +383 -0
- package/skills/jpa-patterns/SKILL.md +151 -0
- package/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/skills/kotlin-patterns/SKILL.md +711 -0
- package/skills/laravel-patterns/SKILL.md +415 -0
- package/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/skills/laravel-security/SKILL.md +285 -0
- package/skills/laravel-tdd/SKILL.md +283 -0
- package/skills/laravel-verification/SKILL.md +179 -0
- package/skills/lightweight-3d-effects/SKILL.md +8 -0
- package/skills/linear/SKILL.md +156 -0
- package/skills/linear/metadata.json +16 -0
- package/skills/liquid-glass-design/SKILL.md +279 -0
- package/skills/llm-trading-agent-security/SKILL.md +146 -0
- package/skills/locomotive-scroll/SKILL.md +8 -0
- package/skills/logistics-exception-management/SKILL.md +222 -0
- package/skills/lottie-animations/SKILL.md +8 -0
- package/skills/make-interfaces-feel-better/SKILL.md +151 -0
- package/skills/mcp-server-patterns/SKILL.md +69 -0
- package/skills/meeting-insights-analyzer/SKILL.md +327 -0
- package/skills/micro-interactions/SKILL.md +178 -0
- package/skills/mle-workflow/SKILL.md +346 -0
- package/skills/mobbin/SKILL.md +157 -0
- package/skills/mobbin/metadata.json +16 -0
- package/skills/mobile-app-design/README.md +302 -0
- package/skills/mobile-app-design/SKILL.md +330 -0
- package/skills/mobile-app-design/examples/design-system-config.ts +685 -0
- package/skills/mobile-app-design/examples/form-validation-example.tsx +501 -0
- package/skills/mobile-app-design/examples/optimized-list-example.tsx +384 -0
- package/skills/mobile-app-design/examples/profile-screen-example.tsx +450 -0
- package/skills/mobile-app-design/references/accessibility-checklist.md +525 -0
- package/skills/mobile-app-design/references/android-guidelines.md +582 -0
- package/skills/mobile-app-design/references/common-mistakes.md +834 -0
- package/skills/mobile-app-design/references/ios-guidelines.md +421 -0
- package/skills/mobile-app-design/references/performance-patterns.md +705 -0
- package/skills/mobile-app-design/references/platform-differences.md +353 -0
- package/skills/mobile-app-design/references/ui-libraries.md +729 -0
- package/skills/mobile-app-design/scripts/accessibility-audit.sh +281 -0
- package/skills/mobile-app-design/scripts/check-contrast.py +188 -0
- package/skills/mobile-app-design/scripts/validate-touch-targets.sh +228 -0
- package/skills/mobile-app-ui-design/INDEX.md +131 -0
- package/skills/mobile-app-ui-design/README.md +135 -0
- package/skills/mobile-app-ui-design/SKILL.md +7 -0
- package/skills/mobile-app-ui-design/references/industry-conventions.md +151 -0
- package/skills/modern-web-design/SKILL.md +8 -0
- package/skills/motion-advanced/SKILL.md +596 -0
- package/skills/motion-design/SKILL.md +21 -0
- package/skills/motion-foundations/SKILL.md +299 -0
- package/skills/motion-framer/SKILL.md +8 -0
- package/skills/motion-patterns/SKILL.md +435 -0
- package/skills/motion-ui/SKILL.md +575 -0
- package/skills/mysql-patterns/SKILL.md +412 -0
- package/skills/nestjs-patterns/SKILL.md +230 -0
- package/skills/network-config-validation/SKILL.md +210 -0
- package/skills/nextjs-turbopack/SKILL.md +44 -0
- package/skills/nodejs-keccak256/SKILL.md +102 -0
- package/skills/nothing-design/SKILL.md +177 -0
- package/skills/nothing-design/references/components.md +153 -0
- package/skills/nothing-design/references/platform-mapping.md +64 -0
- package/skills/nothing-design/references/tokens.md +142 -0
- package/skills/nuxt4-patterns/SKILL.md +100 -0
- package/skills/openclaw-persona-forge/SKILL.md +288 -0
- package/skills/openclaw-persona-forge/gacha.py +224 -0
- package/skills/openclaw-persona-forge/gacha.sh +5 -0
- package/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
- package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
- package/skills/openclaw-persona-forge/references/error-handling.md +53 -0
- package/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
- package/skills/openclaw-persona-forge/references/naming-system.md +39 -0
- package/skills/openclaw-persona-forge/references/output-template.md +166 -0
- package/skills/orchestration-workflow/SKILL.md +199 -0
- package/skills/orchestration-workflow/orchestration-workflow.gif +0 -0
- package/skills/orchestration-workflow/orchestration-workflow.md +199 -0
- package/skills/orchestration-workflow/orchestration-workflow.svg +78 -0
- package/skills/orchestration-workflow/output.md +13 -0
- package/skills/orchestration-workflow/weather.svg +6 -0
- package/skills/pixijs-2d/SKILL.md +8 -0
- package/skills/plan-orchestrate/SKILL.md +262 -0
- package/skills/plankton-code-quality/SKILL.md +236 -0
- package/skills/postgres-patterns/SKILL.md +147 -0
- package/skills/ppt-mckinsey/SKILL.md +27 -0
- package/skills/prisma-patterns/SKILL.md +371 -0
- package/skills/product-capability/SKILL.md +141 -0
- package/skills/product-lens/SKILL.md +92 -0
- package/skills/production-audit/SKILL.md +206 -0
- package/skills/project-flow-ops/SKILL.md +111 -0
- package/skills/prompt-optimizer/SKILL.md +398 -0
- package/skills/python-patterns/SKILL.md +750 -0
- package/skills/python-testing/SKILL.md +816 -0
- package/skills/pytorch-patterns/SKILL.md +396 -0
- package/skills/quarkus-patterns/SKILL.md +722 -0
- package/skills/radix-ui-primitives/SKILL.md +86 -0
- package/skills/react-native-best-practices/SKILL.md +83 -0
- package/skills/react-native-brownfield-migration/SKILL.md +115 -0
- package/skills/react-spring-physics/SKILL.md +8 -0
- package/skills/react-three-fiber/SKILL.md +8 -0
- package/skills/recsys-pipeline-architect/SKILL.md +114 -0
- package/skills/redis-patterns/SKILL.md +403 -0
- package/skills/remotion-video-creation/SKILL.md +43 -0
- package/skills/remotion-video-creation/rules/3d.md +86 -0
- package/skills/remotion-video-creation/rules/animations.md +29 -0
- package/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
- package/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
- package/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/skills/remotion-video-creation/rules/assets.md +78 -0
- package/skills/remotion-video-creation/rules/audio.md +172 -0
- package/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
- package/skills/remotion-video-creation/rules/can-decode.md +75 -0
- package/skills/remotion-video-creation/rules/charts.md +58 -0
- package/skills/remotion-video-creation/rules/compositions.md +146 -0
- package/skills/remotion-video-creation/rules/display-captions.md +126 -0
- package/skills/remotion-video-creation/rules/extract-frames.md +229 -0
- package/skills/remotion-video-creation/rules/fonts.md +152 -0
- package/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
- package/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
- package/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
- package/skills/remotion-video-creation/rules/gifs.md +138 -0
- package/skills/remotion-video-creation/rules/images.md +130 -0
- package/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
- package/skills/remotion-video-creation/rules/lottie.md +67 -0
- package/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
- package/skills/remotion-video-creation/rules/measuring-text.md +143 -0
- package/skills/remotion-video-creation/rules/sequencing.md +106 -0
- package/skills/remotion-video-creation/rules/tailwind.md +11 -0
- package/skills/remotion-video-creation/rules/text-animations.md +20 -0
- package/skills/remotion-video-creation/rules/timing.md +179 -0
- package/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
- package/skills/remotion-video-creation/rules/transitions.md +122 -0
- package/skills/remotion-video-creation/rules/trimming.md +52 -0
- package/skills/remotion-video-creation/rules/videos.md +171 -0
- package/skills/repo-scan/SKILL.md +78 -0
- package/skills/responsive-email-templates/SKILL.md +110 -0
- package/skills/rive-interactive/SKILL.md +8 -0
- package/skills/rust-patterns/SKILL.md +499 -0
- package/skills/rust-testing/SKILL.md +500 -0
- package/skills/scroll-reveal-libraries/SKILL.md +8 -0
- package/skills/security-bounty-hunter/SKILL.md +99 -0
- package/skills/security-review/SKILL.md +503 -0
- package/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/skills/security-scan/SKILL.md +165 -0
- package/skills/seo/SKILL.md +154 -0
- package/skills/seo-growth/SKILL.md +34 -0
- package/skills/shadcn-ui-patterns/SKILL.md +123 -0
- package/skills/spline-interactive/SKILL.md +8 -0
- package/skills/springboot-patterns/SKILL.md +314 -0
- package/skills/springboot-security/SKILL.md +272 -0
- package/skills/springboot-tdd/SKILL.md +158 -0
- package/skills/strategic-compact/SKILL.md +131 -0
- package/skills/stripe/SKILL.md +168 -0
- package/skills/stripe/metadata.json +16 -0
- package/skills/swift-actor-persistence/SKILL.md +143 -0
- package/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/skills/swiftui-patterns/SKILL.md +259 -0
- package/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/systematic-debugging/find-polluter.sh +63 -0
- package/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/tailwindcss-v4/SKILL.md +107 -0
- package/skills/tdd-workflow/SKILL.md +463 -0
- package/skills/team-builder/SKILL.md +168 -0
- package/skills/test-driven-development/SKILL.md +371 -0
- package/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/theme-factory/LICENSE.txt +202 -0
- package/skills/theme-factory/SKILL.md +59 -0
- package/skills/theme-factory/theme-showcase.pdf +0 -0
- package/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/skills/theme-factory/themes/desert-rose.md +19 -0
- package/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/skills/theme-factory/themes/golden-hour.md +19 -0
- package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/skills/threejs-webgl/SKILL.md +8 -0
- package/skills/trailofbits-auditing/SKILL.md +30 -0
- package/skills/twitter-algorithm-optimizer/SKILL.md +327 -0
- package/skills/typeui-cli/SKILL.md +90 -0
- package/skills/typeui-main/DESIGN.md +114 -0
- package/skills/typeui-main/LICENSE.md +9 -0
- package/skills/typeui-main/README.md +84 -0
- package/skills/typeui-main/REGISTRY.md +60 -0
- package/skills/typeui-main/SKILL.md +114 -0
- package/skills/typeui-main/package-lock.json +2123 -0
- package/skills/typeui-main/package.json +56 -0
- package/skills/typeui-main/skills/typeui-cli/SKILL.md +90 -0
- package/skills/typeui-main/src/cli.ts +282 -0
- package/skills/typeui-main/src/config.ts +28 -0
- package/skills/typeui-main/src/domain/designSystemSchema.ts +77 -0
- package/skills/typeui-main/src/generation/existingDesignSystem.ts +228 -0
- package/skills/typeui-main/src/generation/randomDesignSystem.ts +348 -0
- package/skills/typeui-main/src/generation/runDesignGeneration.ts +31 -0
- package/skills/typeui-main/src/generation/runGeneration.ts +36 -0
- package/skills/typeui-main/src/generation/runPull.ts +62 -0
- package/skills/typeui-main/src/io/updateSkillFile.ts +118 -0
- package/skills/typeui-main/src/prompts/designSystem.ts +755 -0
- package/skills/typeui-main/src/prompts/registry.ts +72 -0
- package/skills/typeui-main/src/registry/registryClient.ts +246 -0
- package/skills/typeui-main/src/renderers/claudeRenderer.ts +10 -0
- package/skills/typeui-main/src/renderers/codexRenderer.ts +10 -0
- package/skills/typeui-main/src/renderers/cursorRenderer.ts +10 -0
- package/skills/typeui-main/src/renderers/index.ts +14 -0
- package/skills/typeui-main/src/renderers/openCodeRenderer.ts +10 -0
- package/skills/typeui-main/src/renderers/shared.ts +252 -0
- package/skills/typeui-main/src/skillMetadata.ts +19 -0
- package/skills/typeui-main/src/types.ts +204 -0
- package/skills/typeui-main/src/ui/banner.ts +20 -0
- package/skills/typeui-main/test/existingDesignSystem.test.ts +67 -0
- package/skills/typeui-main/test/orchestrator.test.ts +113 -0
- package/skills/typeui-main/test/randomDesignSystem.test.ts +20 -0
- package/skills/typeui-main/test/registryClient.test.ts +408 -0
- package/skills/typeui-main/test/renderers.test.ts +41 -0
- package/skills/typeui-main/test/runDesignGeneration.test.ts +52 -0
- package/skills/typeui-main/test/runPull.test.ts +92 -0
- package/skills/typeui-main/test/skillMetadata.test.ts +11 -0
- package/skills/typeui-main/test/updateSkillFile.test.ts +160 -0
- package/skills/typeui-main/tsconfig.json +16 -0
- package/skills/ui-demo/SKILL.md +465 -0
- package/skills/ui-to-vue/SKILL.md +134 -0
- package/skills/ui-ux-pro-max/.claude/skills/banner-design/SKILL.md +192 -0
- package/skills/ui-ux-pro-max/.claude/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/SKILL.md +97 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/approval-checklist.md +169 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/asset-organization.md +157 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/brand-guideline-template.md +140 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/color-palette-management.md +186 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/consistency-checklist.md +94 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/logo-usage-rules.md +185 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/messaging-framework.md +85 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/typography-specifications.md +214 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/update.md +118 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/visual-identity.md +96 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/references/voice-framework.md +88 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/scripts/extract-colors.cjs +341 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/scripts/inject-brand-context.cjs +349 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/scripts/sync-brand-to-tokens.cjs +266 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/scripts/validate-asset.cjs +387 -0
- package/skills/ui-ux-pro-max/.claude/skills/brand/templates/brand-guidelines-starter.md +275 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/SKILL.md +302 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/cip/deliverables.csv +51 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/cip/industries.csv +21 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/cip/mockup-contexts.csv +21 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/cip/styles.csv +21 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/icon/styles.csv +16 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/logo/colors.csv +56 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/logo/industries.csv +56 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/data/logo/styles.csv +56 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/banner-sizes-and-styles.md +118 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/cip-deliverable-guide.md +95 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/cip-design.md +121 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/cip-prompt-engineering.md +84 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/cip-style-guide.md +68 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/design-routing.md +207 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/icon-design.md +122 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/logo-color-psychology.md +101 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/logo-design.md +92 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/logo-prompt-engineering.md +158 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/logo-style-guide.md +109 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/slides-copywriting-formulas.md +84 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/slides-create.md +4 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/slides-html-template.md +295 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/slides-layout-patterns.md +137 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/slides-strategies.md +94 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/slides.md +42 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/references/social-photos-design.md +329 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/cip/core.py +215 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/cip/generate.py +484 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/cip/render-html.py +424 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/cip/search.py +127 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/icon/generate.py +487 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/logo/core.py +175 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/logo/generate.py +362 -0
- package/skills/ui-ux-pro-max/.claude/skills/design/scripts/logo/search.py +114 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/SKILL.md +244 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-backgrounds.csv +11 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-charts.csv +26 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-color-logic.csv +14 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-copy.csv +26 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-layout-logic.csv +16 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-layouts.csv +26 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-strategies.csv +16 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/data/slide-typography.csv +15 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/component-specs.md +236 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/component-tokens.md +214 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/primitive-tokens.md +203 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/semantic-tokens.md +215 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/states-and-variants.md +241 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/tailwind-integration.md +251 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/references/token-architecture.md +224 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/embed-tokens.cjs +99 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/fetch-background.py +317 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/generate-slide.py +753 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/generate-tokens.cjs +205 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/html-token-validator.py +327 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/search-slides.py +218 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/slide-token-validator.py +35 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/slide_search_core.py +453 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/scripts/validate-tokens.cjs +251 -0
- package/skills/ui-ux-pro-max/.claude/skills/design-system/templates/design-tokens-starter.json +143 -0
- package/skills/ui-ux-pro-max/.claude/skills/slides/SKILL.md +42 -0
- package/skills/ui-ux-pro-max/.claude/skills/slides/references/copywriting-formulas.md +84 -0
- package/skills/ui-ux-pro-max/.claude/skills/slides/references/create.md +4 -0
- package/skills/ui-ux-pro-max/.claude/skills/slides/references/html-template.md +295 -0
- package/skills/ui-ux-pro-max/.claude/skills/slides/references/layout-patterns.md +137 -0
- package/skills/ui-ux-pro-max/.claude/skills/slides/references/slide-strategies.md +94 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/LICENSE.txt +202 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/SKILL.md +324 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/shadcn-components.md +424 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/.coverage +0 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/requirements.txt +17 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/ui-ux-pro-max/.claude/skills/ui-ux-pro-max/SKILL.md +659 -0
- package/skills/ui-ux-pro-max/.claude-plugin/marketplace.json +35 -0
- package/skills/ui-ux-pro-max/.claude-plugin/plugin.json +11 -0
- package/skills/ui-ux-pro-max/.github/workflows/claude-code-review.yml +44 -0
- package/skills/ui-ux-pro-max/.github/workflows/claude.yml +50 -0
- package/skills/ui-ux-pro-max/.github/workflows/python-package-conda.yml +34 -0
- package/skills/ui-ux-pro-max/CLAUDE.md +98 -0
- package/skills/ui-ux-pro-max/LICENSE +21 -0
- package/skills/ui-ux-pro-max/README.md +513 -0
- package/skills/ui-ux-pro-max/SKILL.md +292 -0
- package/skills/ui-ux-pro-max/cli/README.md +63 -0
- package/skills/ui-ux-pro-max/cli/assets/data/_sync_all.py +414 -0
- package/skills/ui-ux-pro-max/cli/assets/data/app-interface.csv +31 -0
- package/skills/ui-ux-pro-max/cli/assets/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/cli/assets/data/colors.csv +162 -0
- package/skills/ui-ux-pro-max/cli/assets/data/design.csv +1776 -0
- package/skills/ui-ux-pro-max/cli/assets/data/draft.csv +1779 -0
- package/skills/ui-ux-pro-max/cli/assets/data/google-fonts.csv +1924 -0
- package/skills/ui-ux-pro-max/cli/assets/data/icons.csv +105 -0
- package/skills/ui-ux-pro-max/cli/assets/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/cli/assets/data/products.csv +162 -0
- package/skills/ui-ux-pro-max/cli/assets/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/angular.csv +51 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/laravel.csv +51 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/threejs.csv +54 -0
- package/skills/ui-ux-pro-max/cli/assets/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/cli/assets/data/styles.csv +85 -0
- package/skills/ui-ux-pro-max/cli/assets/data/typography.csv +74 -0
- package/skills/ui-ux-pro-max/cli/assets/data/ui-reasoning.csv +162 -0
- package/skills/ui-ux-pro-max/cli/assets/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/cli/assets/scripts/core.py +247 -0
- package/skills/ui-ux-pro-max/cli/assets/scripts/design_system.py +1148 -0
- package/skills/ui-ux-pro-max/cli/assets/scripts/search.py +114 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/base/quick-reference.md +297 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/base/skill-content.md +353 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/agent.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/augment.json +18 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/claude.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/codebuddy.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/codex.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/continue.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/copilot.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/cursor.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/droid.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/gemini.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/kilocode.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/kiro.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/opencode.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/qoder.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/roocode.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/trae.json +21 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/warp.json +18 -0
- package/skills/ui-ux-pro-max/cli/assets/templates/platforms/windsurf.json +21 -0
- package/skills/ui-ux-pro-max/cli/bun.lock +77 -0
- package/skills/ui-ux-pro-max/cli/package-lock.json +370 -0
- package/skills/ui-ux-pro-max/cli/package.json +48 -0
- package/skills/ui-ux-pro-max/cli/src/commands/init.ts +216 -0
- package/skills/ui-ux-pro-max/cli/src/commands/uninstall.ts +135 -0
- package/skills/ui-ux-pro-max/cli/src/commands/update.ts +36 -0
- package/skills/ui-ux-pro-max/cli/src/commands/versions.ts +42 -0
- package/skills/ui-ux-pro-max/cli/src/index.ts +83 -0
- package/skills/ui-ux-pro-max/cli/src/types/index.ts +68 -0
- package/skills/ui-ux-pro-max/cli/src/utils/detect.ts +120 -0
- package/skills/ui-ux-pro-max/cli/src/utils/extract.ts +149 -0
- package/skills/ui-ux-pro-max/cli/src/utils/github.ts +104 -0
- package/skills/ui-ux-pro-max/cli/src/utils/logger.ts +11 -0
- package/skills/ui-ux-pro-max/cli/src/utils/template.ts +243 -0
- package/skills/ui-ux-pro-max/cli/tsconfig.json +17 -0
- package/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills/ui-ux-pro-max/docs//344/270/211/344/270/252 data-scripts-templates /347/232/204/345/214/272/345/210/253.md" +30 -0
- package/skills/ui-ux-pro-max/preview/xiaomaomi-app.html +411 -0
- package/skills/ui-ux-pro-max/screenshots/website.png +0 -0
- package/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/ui-ux-pro-max/skill.json +41 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/_sync_all.py +414 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/app-interface.csv +31 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/colors.csv +162 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/design.csv +1776 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/draft.csv +1779 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/google-fonts.csv +1924 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/icons.csv +106 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/landing.csv +35 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/products.csv +162 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/angular.csv +51 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/laravel.csv +51 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/threejs.csv +54 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/styles.csv +85 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/typography.csv +74 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/ui-reasoning.csv +162 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/scripts/core.py +262 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/scripts/design_system.py +1148 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/scripts/search.py +114 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/base/quick-reference.md +297 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/base/skill-content.md +358 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/agent.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/augment.json +18 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/claude.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/codebuddy.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/codex.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/continue.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/copilot.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/cursor.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/droid.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/gemini.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/kilocode.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/kiro.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/opencode.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/qoder.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/roocode.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/trae.json +21 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/warp.json +18 -0
- package/skills/ui-ux-pro-max/src/ui-ux-pro-max/templates/platforms/windsurf.json +21 -0
- package/skills/uncloud/SKILL.md +343 -0
- package/skills/upgrading-react-native/SKILL.md +58 -0
- package/skills/using-git-worktrees/SKILL.md +215 -0
- package/skills/vercel/SKILL.md +161 -0
- package/skills/vercel/metadata.json +16 -0
- package/skills/verification-loop/SKILL.md +126 -0
- package/skills/view-transitions-api/SKILL.md +108 -0
- package/skills/vite-patterns/SKILL.md +449 -0
- package/skills/vue3-composition-patterns/SKILL.md +375 -0
- package/skills/waza-habits/SKILL.md +22 -0
- package/skills/webapp-testing/LICENSE.txt +202 -0
- package/skills/webapp-testing/SKILL.md +96 -0
- package/skills/webapp-testing/examples/console_logging.py +35 -0
- package/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/webapp-testing/scripts/with_server.py +106 -0
- package/src/orchestrator/builder.ts +234 -0
- package/src/orchestrator/executor.ts +386 -0
- package/src/orchestrator/index.ts +535 -0
- package/src/orchestrator/loader.ts +237 -0
- package/src/orchestrator/registry.ts +211 -0
- package/src/orchestrator/schema.ts +141 -0
- package/src/orchestrator/session.ts +128 -0
- package/src/orchestrator/types.ts +109 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
[🇬🇧 English version →](./README.md)
|
|
2
|
+
|
|
3
|
+
# 🎨 Design Auditor — Claude 스킬
|
|
4
|
+
|
|
5
|
+
**19가지 전문 디자인 카테고리**를 기준으로 디자인을 감사하는 Claude 스킬입니다. 개발자, 비디자이너, 디자인 규칙을 몰라도 전문적인 피드백이 필요한 모든 분을 위해 만들어졌습니다.
|
|
6
|
+
|
|
7
|
+
**Figma 파일** (Figma MCP), **코드** (HTML/CSS/React/Vue), **스크린샷**, **와이어프레임**, **라이브 URL**, **GitHub 링크** 등 다양한 입력을 지원합니다. **한국어와 영어** 모두 지원합니다.
|
|
8
|
+
|
|
9
|
+
**Claude**, **Manus**, 그 외 SKILL.md 기반 스킬을 지원하는 에이전트와 호환됩니다.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 무엇을 해주나요?
|
|
14
|
+
|
|
15
|
+
Figma 링크를 붙여넣거나, CSS를 공유하거나, 스크린샷을 업로드하거나, 와이어프레임을 첨부하면 — Design Auditor가 19가지 디자인 규칙 카테고리에 따라 검토하고 다음을 제공합니다:
|
|
16
|
+
|
|
17
|
+
- **100점 만점 점수** + 카테고리별 세부 점수 (각 행에 미니 바 차트 포함)
|
|
18
|
+
- 별도 **접근성 점수** (WCAG 기준 — Cat 2, 6, 7, 15, 16)
|
|
19
|
+
- 별도 **윤리 점수** (다크 패턴 — Cat 18)
|
|
20
|
+
- 별도 **사용성 점수** (닐슨 휴리스틱 — Cat 19, H4/H5/H8/H9 교차 참조 포함)
|
|
21
|
+
- **🚫 차단** 레벨 — WCAG AA, GDPR, PECR 등 법적 위반 사항 (−12점)
|
|
22
|
+
- 심각도별 이슈 분류 (🚫 차단 / 🔴 심각 / 🟡 경고 / 🟢 팁)
|
|
23
|
+
- **색맹 컨텍스트** — 실패한 색상 조합마다 영향 받는 색맹 유형 주석 추가
|
|
24
|
+
- **SVG 접근성 검사** — 장식/의미 SVG 패턴, aria-hidden, role="img"
|
|
25
|
+
- **디자인 시스템 감지** — MUI, Chakra, shadcn/ui, Ant Design, Radix, Bootstrap (시스템별 수정 방법 제시)
|
|
26
|
+
- **Figma 오토 레이아웃 스캔** — 오토 레이아웃 대신 수동 배치 사용 중인 프레임 감지
|
|
27
|
+
- 각 규칙이 **왜** 중요한지 쉬운 언어로 설명
|
|
28
|
+
- **"원리 설명(Teach Me)" 모드** — 수정 방법이 아닌 디자인 원칙 중심의 3레슨 설명
|
|
29
|
+
- 이슈를 수정 난이도 vs 개선 효과로 매핑한 **이슈 우선순위 매트릭스**
|
|
30
|
+
- HTML/CSS/React/Vue 코드의 **수정 전/후 코드 diff**
|
|
31
|
+
- Figma MCP를 통한 **Figma 파일 직접 수정**
|
|
32
|
+
- Figma Code Connect — 디자인-코드 간 매핑 갭 감지
|
|
33
|
+
- **와이어프레임 → 스펙** 변환 — 개발 즉시 사용 가능한 주석 스펙 생성
|
|
34
|
+
- **개발자 전달 보고서** — CSS 스펙 표, 접근성 체크리스트, 핵심 수정사항
|
|
35
|
+
- **Canva 시각적 보고서** — 이해관계자와 공유 가능한 시각 요약
|
|
36
|
+
- **마크다운 보고서 내보내기** — Notion, GitHub, Linear, Jira 활용 가능
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 19가지 감사 카테고리
|
|
41
|
+
|
|
42
|
+
| # | 카테고리 | 확인 항목 |
|
|
43
|
+
|---|---|---|
|
|
44
|
+
| 1 | **타이포그래피** | 계층 구조, 폰트 수, 크기, 줄 높이, 대비 |
|
|
45
|
+
| 2 | **색상 및 대비** | WCAG 비율, 의미론적 색상 사용, 팔레트 일관성 |
|
|
46
|
+
| 3 | **간격 및 레이아웃** | 8포인트 그리드, 근접성, 정렬, 여백 |
|
|
47
|
+
| 4 | **시각적 계층** | 주요 동작 명확성, 읽기 패턴, 크기/대비 매핑 |
|
|
48
|
+
| 5 | **일관성** | 컴포넌트 재사용, 아이콘 패밀리, 모서리 반경, 상호작용 상태 |
|
|
49
|
+
| 6 | **접근성 (A11y / WCAG)** | 터치 타깃, 포커스 상태, 대체 텍스트, 폼 라벨, 읽기 순서 |
|
|
50
|
+
| 7 | **폼 및 입력** | 라벨, 크기, 유효성 검사 타이밍, 오류 위치, 제출 상태 |
|
|
51
|
+
| 8 | **모션 및 애니메이션** | 목적, 지속 시간, 이징, 모션 감소 지원 |
|
|
52
|
+
| 9 | **다크 모드** | 단순 반전 금지, 표면 높낮이, 채도, 아이콘 가독성 |
|
|
53
|
+
| 10 | **반응형 및 적응형** | 브레이크포인트, 오버플로우, 터치 타깃, 타입 스케일링 |
|
|
54
|
+
| 11 | **로딩·빈 상태·오류 상태** | 스켈레톤, 빈 상태 구성, 오류 레벨, 성공 확인, 피크-엔드 법칙, 목표 경사 진행 표시 검사 |
|
|
55
|
+
| 12 | **콘텐츠 및 마이크로카피** | 버튼 라벨, 오류 메시지, 톤 일관성, 용어 |
|
|
56
|
+
| 13 | **국제화 및 RTL** | 텍스트 확장, RTL 미러링, 로케일 형식, 폰트 지원 |
|
|
57
|
+
| 14 | **엘리베이션 및 그림자** | 그림자 스케일, 높낮이 계층, 다크 모드 깊이 |
|
|
58
|
+
| 15 | **아이콘그래피** | 아이콘 패밀리, 광학적 크기, 터치 타깃, 의미 일관성 |
|
|
59
|
+
| 16 | **내비게이션 패턴** | 탭, 브레드크럼, 뒤로 가기, 모바일 내비, 활성 상태 |
|
|
60
|
+
| 17 | **디자인 토큰 및 변수** | 의미론적 명명, 하드코딩된 값, 다크 모드 토큰 교환 |
|
|
61
|
+
| 18 | **윤리적 디자인 및 다크 패턴** | 컨펌셰이밍, 거짓 긴박감, 사전 체크된 동의, CTA 계층 반전, 개인정보 조작, 숨겨진 비용, 디코이 가격 책정, 조작적 앵커링 등 6개 그룹 — 규제 컴플라이언스 기준(쿠키 동의, 구독 고지, 수집 시점 개인정보 고지, 취소 정책, 연령 확인, 접근성 법적 지위) 포함 |
|
|
62
|
+
| 19 | **닐슨 사용성 휴리스틱** | H1(시스템 상태 가시성), H2(현실 세계 일치), H3(사용자 제어), H6(기억보다 인식), H7(사용 유연성), H10(도움말 및 문서) |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 누구를 위한 스킬인가요?
|
|
67
|
+
|
|
68
|
+
- 디자인 배경이 없는 **개발자**
|
|
69
|
+
- 빠른 피드백 또는 WCAG 확인이 필요한 **디자이너**
|
|
70
|
+
- Figma MCP 또는 VS Code에서 디자인 검증을 원하는 **팀**
|
|
71
|
+
- 윤리적이고 접근 가능한 제품을 만들고 싶은 **PM 및 창업자**
|
|
72
|
+
- "이거 괜찮아 보여?"가 궁금한 **모든 분**
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 설치 방법
|
|
77
|
+
|
|
78
|
+
1. 릴리즈 페이지에서 [`design-auditor.skill`](../../releases/latest) 다운로드
|
|
79
|
+
2. [Claude.ai](https://claude.ai) → **커스터마이즈** → **스킬**
|
|
80
|
+
3. **스킬 업로드** 클릭 후 파일 선택
|
|
81
|
+
4. 완료 — 이제 대화에서 스킬이 활성화됩니다
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 사용 방법
|
|
86
|
+
|
|
87
|
+
설치 후 Claude에게 자연스럽게 말하면 됩니다:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
"디자인 검토해줘" → 범위 선택 후 전체 감사
|
|
91
|
+
"접근성 확인해줘" → 접근성 중심 감사
|
|
92
|
+
"이 폼 좀 봐줘" → 관련 카테고리 부분 감사
|
|
93
|
+
"WCAG 기준에 맞아?" → 대비 및 접근성 감사
|
|
94
|
+
"이 Figma 파일 확인해줘: [링크]" → Figma MCP 감사
|
|
95
|
+
"다크 패턴 있어?" → 윤리 감사
|
|
96
|
+
"와이어프레임 스펙 출력해줘" → 와이어프레임 → 스펙 모드
|
|
97
|
+
"휴리스틱 검토해줘" → 닐슨 사용성 감사
|
|
98
|
+
"이거 GDPR 준수해?" → 윤리 및 접근성 감사
|
|
99
|
+
"색상 대비 확인해줘" → 색상 및 접근성 감사
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Figma URL, GitHub 링크, 라이브 사이트 URL, 스크린샷, HTML/CSS 코드를 공유하면 Claude가 자동으로 감사를 실행하고 입력한 언어로 응답합니다.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 지원하는 URL 유형
|
|
107
|
+
|
|
108
|
+
| URL 유형 | 신뢰도 | 처리 방식 |
|
|
109
|
+
|---|---|---|
|
|
110
|
+
| 라이브 웹사이트 (`https://...`) | 🟡 보통 | web_fetch, 로그인 처리, 다중 페이지 제안 |
|
|
111
|
+
| Vercel / Netlify 프리뷰 | 🟡 보통 | 라이브 웹사이트와 동일 |
|
|
112
|
+
| GitHub 파일 URL | 🟢 높음 | 원시 소스 가져와 전체 코드 감사 |
|
|
113
|
+
| GitHub 저장소 URL | 🟡 보통 | 주요 파일 탐색, 범위 선택 위젯 |
|
|
114
|
+
| CodeSandbox / StackBlitz | 🟡–🟢 | 소스 접근 가능 시 코드 감사, 아니면 미리보기 |
|
|
115
|
+
| CodePen | 🟡 보통 | 디버그 URL 가져오기, 소스 추출 시도 |
|
|
116
|
+
| Storybook | 🟡 보통 | URL 경로에서 컴포넌트/변형 감지 |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 출력 예시
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
## 🔍 디자인 감사 보고서
|
|
124
|
+
|
|
125
|
+
**입력:** 체크아웃 플로우 · 3개 프레임
|
|
126
|
+
**유형:** Figma MCP
|
|
127
|
+
**신뢰도:** 🟢 높음
|
|
128
|
+
**컴포넌트 건강도:** 71% 커버리지 · 2개 분리된 인스턴스 · 8개 이름 없는 레이어
|
|
129
|
+
**Code Connect:** 8개 컴포넌트 매핑됨 · 3개 미매핑
|
|
130
|
+
|
|
131
|
+
### 종합 점수: 62/100
|
|
132
|
+
100 − (1 × 🚫 12) − (2 × 🔴 8) − (4 × 🟡 4) − (2 × 🟢 1) = 62/100
|
|
133
|
+
법적 준수 위반 및 대비 문제가 주요 원인입니다.
|
|
134
|
+
|
|
135
|
+
### 접근성 점수: 55/100 — 심각한 문제 ⚠️ 법적 준수 위반 포함
|
|
136
|
+
### 윤리 점수: 85/100 — 사소한 우려
|
|
137
|
+
### 사용성 점수: 78/100 — 사소한 문제
|
|
138
|
+
|
|
139
|
+
### 🚫 차단 항목 (−12점 각각) — 출시 불가
|
|
140
|
+
- **텍스트 대비 미달** — #aaa on white = 2.3:1 → 수정: #595959 사용 (7:1)
|
|
141
|
+
법적 근거: WCAG 2.1 SC 1.4.3
|
|
142
|
+
|
|
143
|
+
### 🔴 심각한 문제 (−8점 각각)
|
|
144
|
+
- **폼 라벨 누락** — 플레이스홀더만 있는 입력 필드
|
|
145
|
+
→ 수정: 각 입력 위에 <label> 추가
|
|
146
|
+
|
|
147
|
+
### 🟡 경고 (−4점 각각)
|
|
148
|
+
- **그리드 벗어난 간격** — padding: 13px → 수정: 8의 배수 사용 (8, 16, 24px)
|
|
149
|
+
- **CTA 계층 반전** — "모두 수락"이 주요, "모두 거부"가 회색 텍스트
|
|
150
|
+
→ 수정: 동등한 시각적 비중 적용 (GDPR 요구사항)
|
|
151
|
+
|
|
152
|
+
### ✅ 잘 된 부분
|
|
153
|
+
- 논리적인 섹션 흐름의 깔끔한 페이지 구조
|
|
154
|
+
- 히어로 CTA 버튼의 강한 대비와 적절한 크기
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 스킬 구조
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
design-auditor/
|
|
163
|
+
├── SKILL.md — 주요 스킬 지시사항 (19개 카테고리)
|
|
164
|
+
└── references/
|
|
165
|
+
├── typography.md — 폰트 규칙, 크기, 계층, 타입 스케일 알고리즘
|
|
166
|
+
├── color.md — WCAG 휘도 공식, 대비, 팔레트 가이드
|
|
167
|
+
├── spacing.md — 8포인트 그리드, 레이아웃, 근접성, 코드 확인
|
|
168
|
+
├── corner-radius.md — 중첩 반경 규칙, 스케일, 필 셰이프, 코드 확인
|
|
169
|
+
├── elevation.md — 그림자 스케일, 높낮이 계층, 코드 그림자 감사
|
|
170
|
+
├── iconography.md — 아이콘 패밀리, 크기, 터치 타깃
|
|
171
|
+
├── navigation.md — 탭, 브레드크럼, 뒤로 가기, 모바일 내비, 코드 확인
|
|
172
|
+
├── tokens.md — 디자인 토큰, 의미론적 명명, 다크 모드 아키텍처
|
|
173
|
+
├── figma-mcp.md — Figma MCP 워크플로우, Code Connect, 페이지 구조
|
|
174
|
+
├── states.md — 로딩, 빈, 오류, 성공 상태 + 코드 확인
|
|
175
|
+
├── microcopy.md — 버튼 라벨, 오류, 톤, 역할별 감사 가이드
|
|
176
|
+
├── animation.md — 이징 곡선, 지속 시간 스케일, 모션 감소, 코드 확인
|
|
177
|
+
├── i18n.md — RTL 지원, 로케일 형식, 국제화
|
|
178
|
+
├── ethics.md — 다크 패턴, 윤리적 디자인, 설득 vs 조작
|
|
179
|
+
└── heuristics.md — 닐슨 10가지 사용성 휴리스틱, 탐지 신호, 사용성 점수
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 변경 이력
|
|
185
|
+
|
|
186
|
+
### v1.2.13
|
|
187
|
+
|
|
188
|
+
**Cat 18에 규제 컴플라이언스 기준 추가.**
|
|
189
|
+
|
|
190
|
+
**신규: 규제 컴플라이언스 기준 (Cat 18 Group F)**
|
|
191
|
+
EU, 미국, 영국, 캐나다, 브라질, 호주에 공통 적용되는 UI 감지 가능 컴플라이언스 검사 6종. 법적 요건이 명확히 누락된 경우 🚫 차단, 모호한 경우 🟡 경고. 각 항목에 코드 신호 및 "법률 전문가 확인 필요" 주의 문구 포함. 한국어 전체 지원.
|
|
192
|
+
- **쿠키 및 동의 배너** — GDPR, PECR, CCPA: 배너 존재 여부, "모두 거부"와 "모두 수락" 동등한 시각적 비중, 세분화된 동의 카테고리
|
|
193
|
+
- **구독 자동 갱신 고지** — FTC, CMA, EU 소비자 권리 지침: 결제 확인 전 갱신 주기·금액·취소 방법 명시
|
|
194
|
+
- **수집 시점 개인정보 고지** — GDPR 제13조, CCPA, PIPEDA: 민감 입력 필드 근처 개인정보처리방침 링크 또는 수집 목적 안내
|
|
195
|
+
- **청약 철회 / 취소 정책** — EU 소비자 권리 지침, 영국 CRA, FTC: 최종 결제 CTA 근처 취소·환불 정책 링크
|
|
196
|
+
- **연령 제한 콘텐츠 연령 확인** — COPPA, GDPR 제8조, 영국 연령적합 디자인 코드: 제한 콘텐츠 접근 전 연령 확인 절차
|
|
197
|
+
- **접근성 법적 기준** — ADA/Section 508(미국), 유럽 접근성법(EU — 2025년 6월 의무화), PSBAR(영국), DDA(호주), AODA(캐나다): Cat 6 차단 항목은 법적 책임 수반
|
|
198
|
+
|
|
199
|
+
------------------------------------------------------------------------------------------------------------------------------------------
|
|
200
|
+
|
|
201
|
+
### v1.2.12
|
|
202
|
+
|
|
203
|
+
**nudges.fyi 행동 패턴 추가, 버그 수정, 시각적 보고서 개선.**
|
|
204
|
+
|
|
205
|
+
**신규: 5가지 행동 패턴 추가**
|
|
206
|
+
- **선택 과부하(Overchoice Paradox) → Cat 4** — 주요 액션 구분 없이 4개 이상 동일 비중의 선택지 → 🟡; 6개 이상 → 🔴. 목록·내비·테이블 제외
|
|
207
|
+
- **피크-엔드 법칙(Peak-End Rule) → Cat 11** — 성공/완료 화면의 기억 가능성 감사: 완료 내용, 다음 단계, 시각적 강화 요소, 자동 리다이렉트 타이밍
|
|
208
|
+
- **목표 경사 이론(Goal Gradient Theory) → Cat 11** — 진행 바 없는 다단계 플로우, 정적 진행 바, 전체 단계 수 미표시, `aria-valuenow` 누락 감지
|
|
209
|
+
- **디코이 가격 책정(Decoy Pricing) → Cat 18 Group A** — 3열 가격 표에서 모든 기준에서 열등한 하나의 등급 감지
|
|
210
|
+
- **조작적 앵커링(Manipulative Anchoring) → Cat 18 Group D** — `text-decoration: line-through` / `.was-price` / `.rrp` 패턴 감지
|
|
211
|
+
|
|
212
|
+
**버그 수정**
|
|
213
|
+
- Cat 18 패턴 수 업데이트: 20개 → 22개 (두 README 모두)
|
|
214
|
+
- Cat 6 SVG `<use>`: `href`와 함께 `xlink:href` 레거시 검사 추가
|
|
215
|
+
- Cat 19 H1 "멀티스텝 진행 표시": Cat 11 목표 경사 이론 교차 참조 추가로 중복 플래그 방지
|
|
216
|
+
- 점수 패널: 윤리 점수 별도 산식 주의 문구 추가 — `🔴 −15 · 🟡 −7 · 🟢 0`
|
|
217
|
+
- `heuristics.md` 구분자: `-` → `—`
|
|
218
|
+
- README Cat 11 행: 피크-엔드 법칙 및 목표 경사 이론 명시
|
|
219
|
+
|
|
220
|
+
**시각적 보고서 개선**
|
|
221
|
+
- 레이더 차트: 이진 보라/빨강 → 3색 스케일 — 보라(8–10) · 황색(6–7) · 빨강(≤ 5)
|
|
222
|
+
- 레이더 차트: Visualizer 사용 불가 시 카테고리 점수 표로 폴백 (영문 + 한국어)
|
|
223
|
+
- 이슈 우선순위 매트릭스: 한국어 축 라벨 추가 — `수정 난이도` (x) · `개선 효과` (y)
|
|
224
|
+
- 카테고리별 점수 표: 점수 밴드 각주 추가 — `≥ 8 ✅ · 5–7 🟡 · ≤ 4 🔴` (영문 + 한국어)
|
|
225
|
+
- 재감사 델타: Visualizer로 이전/이후 바 쌍 렌더링, 색상 코드 델타 배지 포함
|
|
226
|
+
- "원리 설명" 모드: 레슨 후 3카드 Visualizer 레이아웃, 각 카드 `sendPrompt()` 클릭 가능
|
|
227
|
+
|
|
228
|
+
------------------------------------------------------------------------------------------------------------------------------------------
|
|
229
|
+
|
|
230
|
+
### v1.2.11
|
|
231
|
+
|
|
232
|
+
**코드 커버리지 완성, 디자인 시스템 감지, 접근성 개선, 버그 수정.**
|
|
233
|
+
|
|
234
|
+
- **코드 슈퍼파워 완성** — 19개 전 카테고리에 `📋 Code input:` 블록 추가: Cat 4, 5, 11, 12, 14, 15
|
|
235
|
+
- **디자인 시스템 감지** — MUI, Chakra UI, shadcn/ui, Ant Design, Radix, Bootstrap 자동 감지; 시스템별 이슈 유형 및 수정 경로 제공
|
|
236
|
+
- **색맹 컨텍스트** — 실패한 색상 조합마다 영향 받는 색맹 유형 주석 추가 (제1/제2/제3 색약)
|
|
237
|
+
- **SVG 접근성** — 장식용 `aria-hidden`, 의미 있는 `role="img"` + `<title>`, 아이콘 버튼 라벨 검사 (Cat 6 + Cat 15)
|
|
238
|
+
- **Figma 오토 레이아웃 스캔** — 오토 레이아웃 대신 수동 배치 사용 프레임 감지; 보고서 헤더에 표시
|
|
239
|
+
- **접근성 점수** — Cat 2/6/7/16에서 Cat 2/6/7/**15**/16으로 확장 (Cat 15 SVG 검사는 WCAG 법적 위반)
|
|
240
|
+
- **닐슨 교차 참조** — H4/H5/H8/H9를 점수 패널에서 Cat 5/7/4/11–12로 매핑 표시
|
|
241
|
+
- **"원리 설명" 모드** — 상위 3개 이슈의 디자인 원칙 설명 (초보자/숙련자 적응, 한국어 전체 지원)
|
|
242
|
+
- **점수 산식** — 블로커 명시 추가: `100 − (blockers × 12) − (criticals × 8) − (warnings × 4) − (tips × 1)`
|
|
243
|
+
- **개발자 전달 보고서** — 🟢 팁 섹션 추가; 한국어 번역 포함
|
|
244
|
+
- **출력 개선** — 카테고리 점수 표 미니 바; 보고서 헤더 Design System + Auto Layout 행; Cat 9 `color-scheme` 검사
|
|
245
|
+
- **버그 수정** — "17" → "19" 전체 수정; Cat 18/19 번호 오류; `i19n.md` → `i18n.md`; README_KR 카테고리 수 수정
|
|
246
|
+
|
|
247
|
+
------------------------------------------------------------------------------------------------------------------------------------------
|
|
248
|
+
|
|
249
|
+
### v1.2.10
|
|
250
|
+
|
|
251
|
+
**개발자 전달 보고서, 와이어프레임 스펙 — 구조 개편. 두 기능 모두 한국어 지원 추가.**
|
|
252
|
+
|
|
253
|
+
**개발자 전달 보고서 개편:**
|
|
254
|
+
- 모든 섹션에 `━━━` 구분선 추가 — 일관된 시각적 구분
|
|
255
|
+
- 블로커를 별도 섹션(`🚫 블로커 — 다른 작업보다 먼저 수정`)으로 분리 — 기존에는 치명적 수정과 묶여 있었음
|
|
256
|
+
- 메타데이터 표에 4개 점수 모두 포함: 전체, 접근성, 윤리, 사용성 (조건부 표시)
|
|
257
|
+
- Code Connect 매핑 표 템플릿에 추가
|
|
258
|
+
- `━━━` 구분선으로 감싼 일관된 푸터
|
|
259
|
+
|
|
260
|
+
**와이어프레임 스펙 개편:**
|
|
261
|
+
- 8개 섹션 모두 이모지 헤더와 `━━━` 구분선 적용 (📐 📏 🔤 🧩 ✍️ 🖱️ ♿ ❓)
|
|
262
|
+
- 컨텍스트 메모를 각 `━━━` 블록 바로 아래로 이동 — 기존 인라인 분산 배치에서 개선
|
|
263
|
+
|
|
264
|
+
**신규 기능 한국어 지원 추가:**
|
|
265
|
+
- 개발자 전달 보고서 — 한국어 노트: 제목, 6개 필드 라벨, 7개 섹션 헤더, 12개 표 컬럼 헤더, 푸터
|
|
266
|
+
- 와이어프레임 스펙 — 이중 언어 푸터 + 한국어 노트: 제목, 필드 라벨, 8개 섹션 헤더(컨텍스트 메모 포함), 표 컬럼 헤더
|
|
267
|
+
|
|
268
|
+
**README:**
|
|
269
|
+
- 영어 README의 v1.0.0–v1.2.4 변경 이력을 `<details>` 블록으로 접기
|
|
270
|
+
|
|
271
|
+
### v1.2.9
|
|
272
|
+
- 한국어 지원 전면 감사 및 보완 — v1.2.4 이후 추가된 모든 기능에 한국어 적용
|
|
273
|
+
- Cat 19 체크리스트 19개 항목 모두 한국어 라벨 추가
|
|
274
|
+
- 한국어 트리거: "휴리스틱 검토", "닐슨 감사", "사용성 휴리스틱"
|
|
275
|
+
- 사용성 점수 밴드 한국어 추가
|
|
276
|
+
- URL 감사 보고서 헤더 한국어 형식 추가
|
|
277
|
+
- 와이어프레임 스펙 헤더 한국어 추가
|
|
278
|
+
- `heuristics.md` 한국어 용어 표, 심각도 라벨, 체크리스트 번역 추가
|
|
279
|
+
|
|
280
|
+
### v1.2.8
|
|
281
|
+
- **Cat 19 닐슨 사용성 휴리스틱** 추가 — H1/H2/H3/H6/H7/H10 감사
|
|
282
|
+
- 새 참조 파일 `heuristics.md` (730줄) 추가
|
|
283
|
+
- 종합 보고서에 별도 사용성 점수 표시
|
|
284
|
+
|
|
285
|
+
### v1.2.7
|
|
286
|
+
- URL 입력 전면 지원 — 라이브 사이트, GitHub, CodeSandbox, StackBlitz, CodePen, Storybook
|
|
287
|
+
- 에이전트 출력 형식 강제 적용 — 자유 형식 UX 리뷰 대신 점수화된 보고서 의무화
|
|
288
|
+
|
|
289
|
+
### v1.2.6
|
|
290
|
+
- **와이어프레임 → 스펙 모드** — 레이아웃, 간격, 타이포그래피, 필요한 컴포넌트, 카피 플레이스홀더, 상호작용 메모, 접근성 요구사항, 미해결 질문 포함
|
|
291
|
+
- **Canva 시각적 보고서** 내보내기 — 이해관계자 친화적 형식
|
|
292
|
+
- 트리거 어휘 확장 및 버전 스탬프 수정
|
|
293
|
+
|
|
294
|
+
### v1.2.5
|
|
295
|
+
- Figma MCP 새 도구 3개 통합: `get_code_connect_suggestions`, `get_code_connect_map`, `create_design_system_rules`
|
|
296
|
+
- **차단(Blocker) 심각도 레벨** 추가 — WCAG AA, GDPR, PECR 법적 위반 시 −12점
|
|
297
|
+
- 트리거 어휘 15개 이상 추가
|
|
298
|
+
|
|
299
|
+
### v1.2.4
|
|
300
|
+
- **Cat 18 윤리적 디자인 및 다크 패턴** 추가 — 5개 그룹 20가지 조작 패턴
|
|
301
|
+
- 새 참조 파일 `ethics.md` 추가
|
|
302
|
+
- 윤리 심각도 모델: 🔴 기만 (−15점) · 🟡 의심스러움 (−7점) · 🟢 참고 (0점)
|
|
303
|
+
|
|
304
|
+
### v1.2.4 이전
|
|
305
|
+
[영어 README의 v1.0.0–v1.2.4 변경 이력을 참고하세요](./README.md) (`<details>` 블록에 접혀 있습니다)
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## 기여하기
|
|
310
|
+
|
|
311
|
+
추가해야 할 디자인 규칙이 있나요? 이슈나 PR을 열어주세요.
|
|
312
|
+
|
|
313
|
+
확장이 필요한 영역:
|
|
314
|
+
- UX 플로우 분석 및 정보 구조
|
|
315
|
+
- 데이터 시각화 및 차트
|
|
316
|
+
- 네이티브 모바일 (iOS/Android) 특화 패턴
|
|
317
|
+
- 인쇄 / PDF 레이아웃 규칙
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## 라이선스
|
|
322
|
+
|
|
323
|
+
MIT — 사용, 포크, 빌드 모두 자유롭게 가능합니다.
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
*[Claude](https://claude.ai)로 제작 · 스킬 형식: [Anthropic](https://anthropic.com)*
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-auditor
|
|
3
|
+
description: design auditor — loaded from design-skills plugin
|
|
4
|
+
source: design-skills-plugin
|
|
5
|
+
---
|
|
6
|
+
# Design Auditor
|
|
7
|
+
|
|
8
|
+
> **Plugin Skill**: This skill is provided by the `design-skills` plugin. When available, read the full skill from the plugin directory. When not available, use the agent's embedded knowledge of design auditor patterns.
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
# Motion & Animation Reference
|
|
2
|
+
|
|
3
|
+
## Why Animation Rules Exist
|
|
4
|
+
|
|
5
|
+
Animation has a job. When it does its job it reduces cognitive load, orients the user, and confirms actions. When it doesn't, it distracts, delays, and exhausts. Every animation in a UI should pass the "why is this here?" test.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## The Animation Purpose Taxonomy
|
|
10
|
+
|
|
11
|
+
Every animation falls into one of these categories. If it doesn't, it's decoration — and decoration should be removed.
|
|
12
|
+
|
|
13
|
+
| Purpose | What It Does | Example |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| **Orientation** | Shows *where* something came from or is going | Panel slides in from the right = it came from a sub-layer |
|
|
16
|
+
| **Feedback** | Confirms an action was received | Button press → brief scale-down → spring back |
|
|
17
|
+
| **State change** | Communicates a change of status | Toggle switches from off to on |
|
|
18
|
+
| **Relationship** | Shows connection between two things | Shared element transitions (hero card → detail view) |
|
|
19
|
+
| **Attention** | Draws the eye to something important | New notification badge pulses once |
|
|
20
|
+
| **Progress** | Shows work is happening | Loading bar, skeleton shimmer |
|
|
21
|
+
|
|
22
|
+
❌ Pure decoration: "logo spins on load because it looks cool" — remove.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Duration Scale
|
|
27
|
+
|
|
28
|
+
UI animation should feel instant but not jarring. These are the standard duration bands:
|
|
29
|
+
|
|
30
|
+
| Category | Duration | When to Use |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| **Micro** | 100–150ms | Hover states, color changes, button presses |
|
|
33
|
+
| **Transition** | 150–250ms | Element enter/exit, expanding panels, tooltips |
|
|
34
|
+
| **Page** | 250–400ms | Route transitions, modal open/close |
|
|
35
|
+
| **Emphasis** | 400–600ms | Onboarding, celebration, error shake |
|
|
36
|
+
| **Never** | 600ms+ | Nothing in UI. Feels broken. |
|
|
37
|
+
|
|
38
|
+
**Common mistakes:**
|
|
39
|
+
- Sidebar slides in at 600ms → user waits, feels sluggish
|
|
40
|
+
- Toast notification exits at 1200ms → user waits for it to leave
|
|
41
|
+
- Staggered list animation total > 500ms → last item feels forgotten
|
|
42
|
+
|
|
43
|
+
**Rule of thumb:** If you're animating data or content the user is waiting for, err shorter. If you're animating a transition the user triggered, 200ms feels crisp.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Easing Reference
|
|
48
|
+
|
|
49
|
+
Easing defines the velocity curve. Using the wrong easing makes motion feel physically wrong.
|
|
50
|
+
|
|
51
|
+
| Easing | Curve | When to Use |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `ease-out` | Fast start, slow end | **Entering elements.** Things entering the screen decelerate into place — like an object being placed. |
|
|
54
|
+
| `ease-in` | Slow start, fast end | **Exiting elements.** Things leaving the screen accelerate away — like an object being picked up. |
|
|
55
|
+
| `ease-in-out` | Slow start, slow end | **Elements that move but stay.** Drawers, panels sliding across the screen. |
|
|
56
|
+
| `linear` | Constant speed | **Looping animations only** (spinners, progress). Linear motion for one-off transitions feels mechanical and unnatural. |
|
|
57
|
+
| `spring` | Overshoot + settle | **High-energy feedback.** Button presses, pull-to-refresh, elastic effects. Use sparingly. |
|
|
58
|
+
|
|
59
|
+
**CSS values for reference:**
|
|
60
|
+
```css
|
|
61
|
+
ease-out: cubic-bezier(0, 0, 0.58, 1)
|
|
62
|
+
ease-in: cubic-bezier(0.42, 0, 1, 1)
|
|
63
|
+
ease-in-out: cubic-bezier(0.42, 0, 0.58, 1)
|
|
64
|
+
spring: Use spring() in Figma or CSS @spring in motion libraries
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Common mistake**: Using `ease-in` for entering elements — it starts slow, making the UI feel unresponsive.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Figma Smart Animate Naming Conventions
|
|
72
|
+
|
|
73
|
+
Figma's Smart Animate transitions work by matching layer names across frames. For it to work correctly:
|
|
74
|
+
|
|
75
|
+
### Naming Rules
|
|
76
|
+
```
|
|
77
|
+
ComponentName/Variant/State
|
|
78
|
+
|
|
79
|
+
Button/Primary/Default → Button/Primary/Hover ✅ Smart Animate works
|
|
80
|
+
button-default → button-hover ✅ Works (if exact names match)
|
|
81
|
+
Rectangle 12 → Rectangle 12 ❌ Accidental match possible
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Smart Animate checklist:**
|
|
85
|
+
- [ ] Layer that should animate has the **exact same name** in both source and destination frame
|
|
86
|
+
- [ ] Layer **types match** — text animates to text, frame to frame
|
|
87
|
+
- [ ] Layers are **not inside renamed groups** between variants
|
|
88
|
+
- [ ] Use `Move in`, `Move out` with direction for panel/sheet transitions
|
|
89
|
+
- [ ] Use `Dissolve` for opacity-only changes (tooltips, overlays)
|
|
90
|
+
- [ ] Use `Smart Animate` for property-based transitions (size, position, color)
|
|
91
|
+
|
|
92
|
+
### What to Audit in Figma
|
|
93
|
+
When reviewing a Figma prototype with animations:
|
|
94
|
+
- Check variant layer names match exactly if Smart Animate is expected
|
|
95
|
+
- Check that Delay is 0ms unless a stagger is intentional and < 50ms per item
|
|
96
|
+
- Check that prototype connections use the right animation type for the context
|
|
97
|
+
- Flag any animation with duration > 400ms as 🟡 Warning, > 600ms as 🔴 Critical
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Reduced Motion: Non-Negotiable
|
|
102
|
+
|
|
103
|
+
The `prefers-reduced-motion` media query is not optional. Some users have vestibular disorders where moving UI can cause nausea, dizziness, or seizures.
|
|
104
|
+
|
|
105
|
+
### Required behaviour:
|
|
106
|
+
```css
|
|
107
|
+
@media (prefers-reduced-motion: reduce) {
|
|
108
|
+
/* Remove or reduce all animations */
|
|
109
|
+
* {
|
|
110
|
+
animation-duration: 0.01ms !important;
|
|
111
|
+
animation-iteration-count: 1 !important;
|
|
112
|
+
transition-duration: 0.01ms !important;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### In Figma:
|
|
118
|
+
There is no built-in reduced motion support in Figma prototypes. Flag this as a 🟡 Warning on any Figma audit — note that developers must implement it in code. If the file has a `Motion: Reduced` page or variant, mark it ✅.
|
|
119
|
+
|
|
120
|
+
### What still works at reduced motion:
|
|
121
|
+
- **Opacity changes**: Fading is generally acceptable (not physical movement)
|
|
122
|
+
- **Color transitions**: Fine
|
|
123
|
+
- **Scroll-based changes**: Use `scroll-behavior: auto` instead of `smooth`
|
|
124
|
+
- **State changes with no movement**: Toggle from off→on with color change, no slide
|
|
125
|
+
|
|
126
|
+
### What must be removed at reduced motion:
|
|
127
|
+
- Parallax effects
|
|
128
|
+
- Scroll-triggered entrance animations
|
|
129
|
+
- Auto-playing video or GIF backgrounds
|
|
130
|
+
- Bouncing/pulsing attention animations
|
|
131
|
+
- Staggered list animations
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Autoplay & Loop Rules
|
|
136
|
+
|
|
137
|
+
| Type | Rule |
|
|
138
|
+
|---|---|
|
|
139
|
+
| Background video | Pause button required. No audio autoplay. |
|
|
140
|
+
| Looping animation | Stop or pause after 3 loops. Never infinite without user control. |
|
|
141
|
+
| Skeleton screens | OK to loop infinitely — they communicate "loading", stop when content arrives |
|
|
142
|
+
| Loading spinners | OK to loop — clear purpose, user understands it will stop |
|
|
143
|
+
| Celebration confetti | Max 3s, then stop. Never infinite. |
|
|
144
|
+
| Marquee / ticker | Only if user can pause it (WCAG 2.2.2) |
|
|
145
|
+
|
|
146
|
+
**WCAG 2.2.2 (Pause, Stop, Hide):** Any moving, blinking, or scrolling content that (1) starts automatically, (2) lasts more than 5 seconds, and (3) is presented in parallel with other content — must have a mechanism to pause, stop, or hide it.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Stagger Animations
|
|
151
|
+
|
|
152
|
+
Staggered list item animations (each item enters slightly after the last) can work well if:
|
|
153
|
+
- Total stagger duration < 300ms
|
|
154
|
+
- Per-item delay: 30–50ms
|
|
155
|
+
- Only on first load, not every state change
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
Item 1: delay 0ms
|
|
159
|
+
Item 2: delay 40ms
|
|
160
|
+
Item 3: delay 80ms
|
|
161
|
+
Item 4: delay 120ms (total: 120ms + duration ≈ fine)
|
|
162
|
+
Item 8: delay 280ms (total: 280ms + duration ≈ borderline)
|
|
163
|
+
Item 15: delay 560ms (total: 560ms + duration ≈ 🔴 too slow)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Animation Anti-Patterns
|
|
169
|
+
|
|
170
|
+
| Anti-pattern | Problem | Fix |
|
|
171
|
+
|---|---|---|
|
|
172
|
+
| Loading spinner on < 1s operations | Creates perceived slowness | Show spinner only after 300ms delay |
|
|
173
|
+
| Entrance animation on every page load | Gets annoying after first visit | One-time or skip-if-visited |
|
|
174
|
+
| Simultaneous animations on multiple elements | Overwhelming, hard to track | Sequence or stagger with clear hierarchy |
|
|
175
|
+
| Hover animation with no click confirmation | User can't tell if action worked | Add a distinct pressed state |
|
|
176
|
+
| Long exit animation on dismissed content | User waits for content they don't want | Exit animations should be shorter than entrances |
|
|
177
|
+
| Scale > 105% on hover | Feels aggressive | Keep scale hover to 101–103% |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Severity Guide for Cat 8
|
|
182
|
+
|
|
183
|
+
| Issue | Severity |
|
|
184
|
+
|---|---|
|
|
185
|
+
| No reduced motion support (code) | 🔴 Critical |
|
|
186
|
+
| Animation > 600ms | 🔴 Critical |
|
|
187
|
+
| Infinite autoplay loop with no pause | 🟡 Warning |
|
|
188
|
+
| Wrong easing (ease-in on entrance) | 🟡 Warning |
|
|
189
|
+
| Animation with no purpose (pure decoration) | 🟡 Warning |
|
|
190
|
+
| Total stagger > 400ms | 🟡 Warning |
|
|
191
|
+
| Animation > 300ms (shorter than 600ms) | 🟢 Tip |
|
|
192
|
+
| Spring easing used too liberally | 🟢 Tip |
|
|
193
|
+
| No Smart Animate naming convention | 🟢 Tip (Figma only) |
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Code-Specific Animation Checks
|
|
198
|
+
|
|
199
|
+
When auditing CSS/React/Vue animation code, check these directly.
|
|
200
|
+
|
|
201
|
+
### prefers-reduced-motion
|
|
202
|
+
```
|
|
203
|
+
This is the single most important code check for Cat 8. Run automatically.
|
|
204
|
+
|
|
205
|
+
Detection:
|
|
206
|
+
→ Search for @media (prefers-reduced-motion: reduce) in all CSS and styled-components
|
|
207
|
+
→ Search for useReducedMotion() hook (Framer Motion), or equivalent
|
|
208
|
+
|
|
209
|
+
If any transition: or animation: declaration exists AND no reduced-motion query found:
|
|
210
|
+
→ 🔴 Critical
|
|
211
|
+
|
|
212
|
+
Correct global pattern:
|
|
213
|
+
@media (prefers-reduced-motion: reduce) {
|
|
214
|
+
*, *::before, *::after {
|
|
215
|
+
animation-duration: 0.01ms !important;
|
|
216
|
+
animation-iteration-count: 1 !important;
|
|
217
|
+
transition-duration: 0.01ms !important;
|
|
218
|
+
scroll-behavior: auto !important;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
Also acceptable (targeted, not global):
|
|
223
|
+
@media (prefers-reduced-motion: reduce) {
|
|
224
|
+
.card { transition: none; }
|
|
225
|
+
.modal { animation: none; }
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Duration values
|
|
230
|
+
```
|
|
231
|
+
Collect all transition-duration and animation-duration values in ms.
|
|
232
|
+
|
|
233
|
+
> 600ms on any UI interaction → 🔴 Critical (feels broken/sluggish)
|
|
234
|
+
300–600ms on UI interaction → 🟡 Warning (check if intentional for page-level)
|
|
235
|
+
150–300ms on UI interaction → ✅ ideal range
|
|
236
|
+
< 100ms on any transition → 🟢 Tip (may be imperceptible — intentional?)
|
|
237
|
+
|
|
238
|
+
Page transitions (route changes): 300–500ms → ✅
|
|
239
|
+
Loading/progress animations: any duration → ✅ (exempt from UI duration rule)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Easing
|
|
243
|
+
```
|
|
244
|
+
Collect all transition-timing-function and animation-timing-function values.
|
|
245
|
+
|
|
246
|
+
linear on any interactive element transition → 🟡
|
|
247
|
+
(linear feels mechanical — use ease-out for entrances, ease-in for exits)
|
|
248
|
+
|
|
249
|
+
ease-in on entrance animations → 🟡
|
|
250
|
+
(starts slow, speeds up — feels like it arrives late)
|
|
251
|
+
|
|
252
|
+
ease-out on entrance animations → ✅
|
|
253
|
+
ease-in on exit animations → ✅
|
|
254
|
+
ease-in-out on transitions → ✅ (symmetric — fine for hover states)
|
|
255
|
+
|
|
256
|
+
cubic-bezier values: check if they approximate ease-in or ease-out
|
|
257
|
+
→ cubic-bezier(0, 0, 0.2, 1) = ease-out → ✅
|
|
258
|
+
→ cubic-bezier(0.4, 0, 1, 1) = ease-in → ✅ for exits
|
|
259
|
+
→ cubic-bezier(0, 0, 1, 1) = linear → 🟡
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Infinite loops
|
|
263
|
+
```
|
|
264
|
+
animation-iteration-count: infinite:
|
|
265
|
+
→ On a background/decorative element with no user control → 🟡 Warning
|
|
266
|
+
→ On a loading spinner → ✅ (expected)
|
|
267
|
+
→ On a skeleton shimmer → ✅ (expected)
|
|
268
|
+
→ On a marquee/ticker → 🟡 (distraction — should pause on hover/focus)
|
|
269
|
+
|
|
270
|
+
animation-play-state: paused on :hover / :focus → ✅ (infinite loop with pause = acceptable)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### transition: all
|
|
274
|
+
```
|
|
275
|
+
transition: all [duration] → 🟡 Warning
|
|
276
|
+
Reason: Animates every CSS property including layout properties (width, height, padding),
|
|
277
|
+
which causes expensive layout recalculations and jank.
|
|
278
|
+
|
|
279
|
+
Preferred: specify only the properties you need:
|
|
280
|
+
transition: color 200ms ease-out, background-color 200ms ease-out;
|
|
281
|
+
transition: transform 250ms ease-out, opacity 250ms ease-out;
|
|
282
|
+
|
|
283
|
+
High-performance properties (GPU-composited, no layout cost):
|
|
284
|
+
transform, opacity → ✅ always prefer these
|
|
285
|
+
color, background-color, box-shadow, border-color → ✅ acceptable (paint only)
|
|
286
|
+
width, height, padding, margin, top, left → 🟡 (trigger layout — avoid animating)
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Framer Motion / React Spring specific
|
|
290
|
+
```
|
|
291
|
+
If Framer Motion detected (import { motion } from 'framer-motion'):
|
|
292
|
+
→ Check for useReducedMotion() hook used to conditionally disable animations → ✅
|
|
293
|
+
→ AnimatePresence without reduced motion fallback → 🟡
|
|
294
|
+
→ variants with duration > 0.6s → 🟡 (same threshold in seconds)
|
|
295
|
+
→ staggerChildren > 0.1s × item count > 400ms total → 🟡
|
|
296
|
+
|
|
297
|
+
If React Spring detected:
|
|
298
|
+
→ config.slow or tension < 100 (slow animations) → 🟡 check intent
|
|
299
|
+
→ No reduced motion handling → 🟡
|
|
300
|
+
```
|