claude-code-superkit 0.0.0-stage → 1.5.3
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/LICENSE +21 -0
- package/README.md +374 -2
- package/bin/cli.js +153 -0
- package/bin/inject-tokens.js +224 -0
- package/bin/measure-tokens.js +17 -0
- package/bin/superkit-counts-verify.sh +30 -0
- package/lib/codex.js +246 -0
- package/lib/docs-scaffold.js +147 -0
- package/lib/installer.js +499 -0
- package/lib/prompts.js +51 -0
- package/lib/settings-builder.js +51 -0
- package/lib/superpowers.js +99 -0
- package/lib/utils.js +117 -0
- package/lib/validator.js +84 -0
- package/package.json +49 -4
- package/packages/codex/AGENTS.md +396 -0
- package/packages/codex/INSTALL.md +342 -0
- package/packages/codex/config.toml +22 -0
- package/packages/codex/hooks/superkit.mjs +203 -0
- package/packages/codex/hooks.json +30 -0
- package/packages/codex/legacy-baseline.json +88 -0
- package/packages/codex/native-skills.txt +65 -0
- package/packages/codex/rules/default.rules +565 -0
- package/packages/codex/skills/ai-slop-cleaner/SKILL.md +44 -0
- package/packages/codex/skills/api-contract-sync/SKILL.md +96 -0
- package/packages/codex/skills/architect/SKILL.md +49 -0
- package/packages/codex/skills/audit-backend/SKILL.md +80 -0
- package/packages/codex/skills/audit-frontend/SKILL.md +82 -0
- package/packages/codex/skills/audit-infra/SKILL.md +87 -0
- package/packages/codex/skills/audit-orchestrator/SKILL.md +114 -0
- package/packages/codex/skills/behavioral-nudge-engine/SKILL.md +110 -0
- package/packages/codex/skills/benchmark/SKILL.md +49 -0
- package/packages/codex/skills/bot-reviewer/SKILL.md +94 -0
- package/packages/codex/skills/code-reviewer/SKILL.md +67 -0
- package/packages/codex/skills/codebase-onboarding-engineer/SKILL.md +46 -0
- package/packages/codex/skills/comment-rot-analyzer/SKILL.md +75 -0
- package/packages/codex/skills/commit-helper/SKILL.md +101 -0
- package/packages/codex/skills/critic/SKILL.md +56 -0
- package/packages/codex/skills/database-reviewer/SKILL.md +79 -0
- package/packages/codex/skills/debug-observer/SKILL.md +107 -0
- package/packages/codex/skills/dependency-checker/SKILL.md +69 -0
- package/packages/codex/skills/design-system-reviewer/SKILL.md +121 -0
- package/packages/codex/skills/dev-orchestrator/SKILL.md +304 -0
- package/packages/codex/skills/docs-reviewer/SKILL.md +86 -0
- package/packages/codex/skills/drizzle-orm-expert/SKILL.md +246 -0
- package/packages/codex/skills/e2e-test-generator/SKILL.md +95 -0
- package/packages/codex/skills/evaluator/SKILL.md +63 -0
- package/packages/codex/skills/frontend-perf-reviewer/SKILL.md +95 -0
- package/packages/codex/skills/frontend-ui-color-reviewer/SKILL.md +68 -0
- package/packages/codex/skills/frontend-ui-design-critic/SKILL.md +99 -0
- package/packages/codex/skills/frontend-ui-interaction-reviewer/SKILL.md +102 -0
- package/packages/codex/skills/frontend-ui-motion-reviewer/SKILL.md +85 -0
- package/packages/codex/skills/frontend-ui-reviewer/SKILL.md +81 -0
- package/packages/codex/skills/frontend-ui-typography-reviewer/SKILL.md +62 -0
- package/packages/codex/skills/gltf-debugging/SKILL.md +128 -0
- package/packages/codex/skills/go-benchmark/SKILL.md +217 -0
- package/packages/codex/skills/go-concurrency-reviewer/SKILL.md +113 -0
- package/packages/codex/skills/go-error-reviewer/SKILL.md +107 -0
- package/packages/codex/skills/go-grpc-patterns/SKILL.md +285 -0
- package/packages/codex/skills/go-modernizer/SKILL.md +111 -0
- package/packages/codex/skills/go-observability-reviewer/SKILL.md +121 -0
- package/packages/codex/skills/go-performance-reviewer/SKILL.md +112 -0
- package/packages/codex/skills/go-reviewer/SKILL.md +109 -0
- package/packages/codex/skills/go-samber-do/SKILL.md +158 -0
- package/packages/codex/skills/go-samber-lo/SKILL.md +178 -0
- package/packages/codex/skills/go-samber-oops/SKILL.md +174 -0
- package/packages/codex/skills/goal-verifier/SKILL.md +53 -0
- package/packages/codex/skills/health-checker/SKILL.md +109 -0
- package/packages/codex/skills/html-to-3d-texture/SKILL.md +153 -0
- package/packages/codex/skills/impeccable-craft/SKILL.md +101 -0
- package/packages/codex/skills/lint-runner/SKILL.md +85 -0
- package/packages/codex/skills/migrate/SKILL.md +60 -0
- package/packages/codex/skills/migration-reviewer/SKILL.md +88 -0
- package/packages/codex/skills/minimal-change-engineer/SKILL.md +44 -0
- package/packages/codex/skills/new-migration/SKILL.md +59 -0
- package/packages/codex/skills/nextjs-supabase-auth/SKILL.md +227 -0
- package/packages/codex/skills/output-enforcement/SKILL.md +71 -0
- package/packages/codex/skills/plan-checker/SKILL.md +53 -0
- package/packages/codex/skills/postgresql-optimization/SKILL.md +159 -0
- package/packages/codex/skills/pre-deploy-validator/SKILL.md +111 -0
- package/packages/codex/skills/presentation-reviewer/SKILL.md +88 -0
- package/packages/codex/skills/product-3d-lighting/SKILL.md +137 -0
- package/packages/codex/skills/project-architecture/SKILL.md +52 -0
- package/packages/codex/skills/py-reviewer/SKILL.md +100 -0
- package/packages/codex/skills/r3f-scene-reviewer/SKILL.md +88 -0
- package/packages/codex/skills/r3f-scroll-driven-3d/SKILL.md +162 -0
- package/packages/codex/skills/reality-checker/SKILL.md +61 -0
- package/packages/codex/skills/redis-patterns/SKILL.md +260 -0
- package/packages/codex/skills/review-orchestrator/SKILL.md +151 -0
- package/packages/codex/skills/rs-reviewer/SKILL.md +98 -0
- package/packages/codex/skills/ru-text/SKILL.md +132 -0
- package/packages/codex/skills/scaffold-endpoint/SKILL.md +44 -0
- package/packages/codex/skills/security-scanner/SKILL.md +94 -0
- package/packages/codex/skills/silent-failure-hunter/SKILL.md +176 -0
- package/packages/codex/skills/telegram-bot-builder/SKILL.md +120 -0
- package/packages/codex/skills/test-generator/SKILL.md +79 -0
- package/packages/codex/skills/test-runner/SKILL.md +101 -0
- package/packages/codex/skills/threejs-color-management/SKILL.md +97 -0
- package/packages/codex/skills/tree-generator/SKILL.md +63 -0
- package/packages/codex/skills/ts-reviewer/SKILL.md +90 -0
- package/packages/codex/skills/ui-design-reviewer/SKILL.md +89 -0
- package/packages/codex/skills/ui-reviewer/SKILL.md +103 -0
- package/packages/codex/skills/visual-reviewer/SKILL.md +85 -0
- package/packages/codex/skills/writing-agents/SKILL.md +165 -0
- package/packages/codex/skills/writing-commands/SKILL.md +173 -0
- package/packages/core/CLAUDE.md +118 -0
- package/packages/core/INTERNAL-FILES +16 -0
- package/packages/core/agents/ai-slop-cleaner.md +187 -0
- package/packages/core/agents/api-contract-sync.md +127 -0
- package/packages/core/agents/architect.md +205 -0
- package/packages/core/agents/audit-backend.md +137 -0
- package/packages/core/agents/audit-frontend.md +129 -0
- package/packages/core/agents/audit-infra.md +182 -0
- package/packages/core/agents/behavioral-nudge-engine.md +170 -0
- package/packages/core/agents/code-reviewer.md +195 -0
- package/packages/core/agents/codebase-onboarding-engineer.md +172 -0
- package/packages/core/agents/comment-rot-analyzer.md +115 -0
- package/packages/core/agents/critic.md +172 -0
- package/packages/core/agents/database-reviewer.md +201 -0
- package/packages/core/agents/debug-observer.md +261 -0
- package/packages/core/agents/dependency-checker.md +199 -0
- package/packages/core/agents/docs-reviewer.md +206 -0
- package/packages/core/agents/e2e-test-generator.md +261 -0
- package/packages/core/agents/evaluator.md +141 -0
- package/packages/core/agents/goal-verifier.md +130 -0
- package/packages/core/agents/health-checker.md +194 -0
- package/packages/core/agents/migration-reviewer.md +161 -0
- package/packages/core/agents/minimal-change-engineer.md +219 -0
- package/packages/core/agents/plan-checker.md +139 -0
- package/packages/core/agents/pre-deploy-validator.md +189 -0
- package/packages/core/agents/reality-checker.md +175 -0
- package/packages/core/agents/scaffold-endpoint.md +162 -0
- package/packages/core/agents/security-scanner.md +236 -0
- package/packages/core/agents/silent-failure-hunter.md +276 -0
- package/packages/core/agents/test-generator.md +146 -0
- package/packages/core/agents/tree-generator.md +141 -0
- package/packages/core/agents/ui-reviewer.md +172 -0
- package/packages/core/agents/visual-reviewer.md +211 -0
- package/packages/core/commands/audit.md +166 -0
- package/packages/core/commands/benchmark.md +130 -0
- package/packages/core/commands/commit.md +148 -0
- package/packages/core/commands/dev.md +302 -0
- package/packages/core/commands/docs-init.md +75 -0
- package/packages/core/commands/lint.md +137 -0
- package/packages/core/commands/migrate.md +146 -0
- package/packages/core/commands/new-migration.md +182 -0
- package/packages/core/commands/pair.md +209 -0
- package/packages/core/commands/review.md +195 -0
- package/packages/core/commands/security-scan.md +142 -0
- package/packages/core/commands/superkit-evolve.md +231 -0
- package/packages/core/commands/superkit-init.md +274 -0
- package/packages/core/commands/test.md +108 -0
- package/packages/core/commands/workflow.md +150 -0
- package/packages/core/docs/guide/01-getting-started.md +41 -0
- package/packages/core/docs-templates/README.md +33 -0
- package/packages/core/docs-templates/adr-template.md +62 -0
- package/packages/core/docs-templates/architecture/api-contracts.md +26 -0
- package/packages/core/docs-templates/architecture/api-reference.md +48 -0
- package/packages/core/docs-templates/architecture/auth-and-sessions.md +38 -0
- package/packages/core/docs-templates/architecture/backend-layers.md +42 -0
- package/packages/core/docs-templates/architecture/data-flow.md +26 -0
- package/packages/core/docs-templates/architecture/database-schema.md +51 -0
- package/packages/core/docs-templates/architecture/deployment.md +41 -0
- package/packages/core/docs-templates/architecture/frontend-state.md +46 -0
- package/packages/core/helpers/statusline.cjs +370 -0
- package/packages/core/hooks/CHAIN-SEMANTICS.md +84 -0
- package/packages/core/hooks/audit-settings-source.sh +98 -0
- package/packages/core/hooks/audit-trail.sh +120 -0
- package/packages/core/hooks/block-dangerous-git.sh +189 -0
- package/packages/core/hooks/bundle-import-check.sh +64 -0
- package/packages/core/hooks/compact-state-inject.sh +84 -0
- package/packages/core/hooks/config-protection.sh +68 -0
- package/packages/core/hooks/console-log-warning.sh +28 -0
- package/packages/core/hooks/context-monitor.sh +35 -0
- package/packages/core/hooks/dev-edit-counter.sh +59 -0
- package/packages/core/hooks/dev-marker-set.sh +55 -0
- package/packages/core/hooks/dev-required-on-commit.sh +426 -0
- package/packages/core/hooks/doc-check-on-commit.sh +396 -0
- package/packages/core/hooks/edit-streak-check.sh +63 -0
- package/packages/core/hooks/evolve-check.sh +78 -0
- package/packages/core/hooks/gateguard-pre-edit.sh +154 -0
- package/packages/core/hooks/gateguard-record-facts.sh +37 -0
- package/packages/core/hooks/intake-classifier.py +449 -0
- package/packages/core/hooks/lib/profile.sh +141 -0
- package/packages/core/hooks/loop-guard.sh +75 -0
- package/packages/core/hooks/migration-safety.sh +56 -0
- package/packages/core/hooks/plan-completion-gate.sh +61 -0
- package/packages/core/hooks/pre-compact-save.sh +89 -0
- package/packages/core/hooks/security-patterns.sh +119 -0
- package/packages/core/hooks/session-context-restore.sh +76 -0
- package/packages/core/hooks/subagent-stop-validate.sh +73 -0
- package/packages/core/hooks/superkit-counts-verify.sh +346 -0
- package/packages/core/hooks/superkit-update.sh +367 -0
- package/packages/core/hooks/tests/README.md +42 -0
- package/packages/core/hooks/tests/audit-trail-chain_test.sh +62 -0
- package/packages/core/hooks/tests/block-dangerous-git_test.sh +144 -0
- package/packages/core/hooks/tests/chain-semantics/h1.sh +11 -0
- package/packages/core/hooks/tests/chain-semantics/h2.sh +9 -0
- package/packages/core/hooks/tests/chain-semantics/h3.sh +11 -0
- package/packages/core/hooks/tests/chain-semantics/run-experiment.sh +65 -0
- package/packages/core/hooks/tests/chain-semantics/settings-experiment.json +15 -0
- package/packages/core/hooks/tests/counts-verify_test.sh +118 -0
- package/packages/core/hooks/tests/dev-required-on-commit_test.sh +207 -0
- package/packages/core/hooks/tests/dev-required-wip-on-main_test.sh +20 -0
- package/packages/core/hooks/tests/doc-check-on-commit_test.sh +122 -0
- package/packages/core/hooks/tests/edit-streak-check_test.sh +106 -0
- package/packages/core/hooks/tests/internal-manifest_test.sh +130 -0
- package/packages/core/hooks/tests/json-path_test.sh +108 -0
- package/packages/core/hooks/tests/mirror-invariants_test.sh +139 -0
- package/packages/core/hooks/tests/nudge-throttle_test.sh +95 -0
- package/packages/core/hooks/tests/profile-helper_test.sh +21 -0
- package/packages/core/hooks/tests/run-all.sh +47 -0
- package/packages/core/hooks/tests/session-key-helper_test.sh +17 -0
- package/packages/core/hooks/tests/superkit-update_test.sh +311 -0
- package/packages/core/hooks/tests/warn-visibility_test.sh +59 -0
- package/packages/core/hooks/user-intent-detect.sh +44 -0
- package/packages/core/hooks/verify-hooks.sh +69 -0
- package/packages/core/rules/auto-commands.md +124 -0
- package/packages/core/rules/coding-style.md +68 -0
- package/packages/core/rules/dev-workflow.md +77 -0
- package/packages/core/rules/documentation.md +106 -0
- package/packages/core/rules/frontend-aesthetics.md +53 -0
- package/packages/core/rules/git-workflow.md +14 -0
- package/packages/core/rules/security.md +29 -0
- package/packages/core/rules/superkit-integrity.md +114 -0
- package/packages/core/settings.json +229 -0
- package/packages/core/skills/drizzle-orm-expert/SKILL.md +260 -0
- package/packages/core/skills/nextjs-supabase-auth/SKILL.md +259 -0
- package/packages/core/skills/postgresql-optimization/SKILL.md +150 -0
- package/packages/core/skills/project-architecture/SKILL.md +31 -0
- package/packages/core/skills/project-scanner/SKILL.md +132 -0
- package/packages/core/skills/redis-patterns/SKILL.md +261 -0
- package/packages/core/skills/ru-text/SKILL.md +156 -0
- package/packages/core/skills/telegram-bot-builder/SKILL.md +145 -0
- package/packages/core/skills/writing-agents/SKILL.md +220 -0
- package/packages/core/skills/writing-commands/SKILL.md +176 -0
- package/packages/core/skills/writing-hooks/SKILL.md +335 -0
- package/packages/extras/bot-reviewer.md +279 -0
- package/packages/extras/design-system-reviewer.md +234 -0
- package/packages/extras/red-blue-auditor/README.md +117 -0
- package/packages/extras/red-blue-auditor/agent.md +128 -0
- package/packages/extras/red-blue-auditor/patterns/agent-config.txt +4 -0
- package/packages/extras/red-blue-auditor/patterns/hook-injection.txt +8 -0
- package/packages/extras/red-blue-auditor/patterns/mcp-risk.txt +5 -0
- package/packages/extras/red-blue-auditor/patterns/permission-abuse.txt +6 -0
- package/packages/extras/red-blue-auditor/patterns/secrets.txt +17 -0
- package/packages/extras/red-blue-auditor/scan.sh +88 -0
- package/packages/extras/skillsmp-search/SKILL.md +134 -0
- package/packages/frontend-3d/README.md +62 -0
- package/packages/frontend-3d/agents/frontend-perf-reviewer.md +164 -0
- package/packages/frontend-3d/agents/presentation-reviewer.md +146 -0
- package/packages/frontend-3d/agents/r3f-scene-reviewer.md +128 -0
- package/packages/frontend-3d/agents/ui-design-reviewer.md +169 -0
- package/packages/frontend-3d/commands/capture-screen.md +166 -0
- package/packages/frontend-3d/hooks/bundle-size-warn.sh +93 -0
- package/packages/frontend-3d/hooks/gsap-pattern-check.sh +74 -0
- package/packages/frontend-3d/hooks/r3f-color-check.sh +76 -0
- package/packages/frontend-3d/hooks/tailwind-version-guard.sh +98 -0
- package/packages/frontend-3d/rules/frontend-aesthetics-3d.md +81 -0
- package/packages/frontend-3d/rules/gsap-conventions.md +129 -0
- package/packages/frontend-3d/rules/threejs-conventions.md +116 -0
- package/packages/frontend-3d/skills/gltf-debugging/SKILL.md +145 -0
- package/packages/frontend-3d/skills/html-to-3d-texture/SKILL.md +183 -0
- package/packages/frontend-3d/skills/output-enforcement/SKILL.md +79 -0
- package/packages/frontend-3d/skills/product-3d-lighting/SKILL.md +166 -0
- package/packages/frontend-3d/skills/r3f-scroll-driven-3d/SKILL.md +209 -0
- package/packages/frontend-3d/skills/threejs-color-management/SKILL.md +111 -0
- package/packages/frontend-ui/NOTICE.md +99 -0
- package/packages/frontend-ui/README.md +59 -0
- package/packages/frontend-ui/agents/ui-color-reviewer.md +174 -0
- package/packages/frontend-ui/agents/ui-design-critic.md +198 -0
- package/packages/frontend-ui/agents/ui-interaction-reviewer.md +259 -0
- package/packages/frontend-ui/agents/ui-motion-reviewer.md +266 -0
- package/packages/frontend-ui/agents/ui-reviewer.md +251 -0
- package/packages/frontend-ui/agents/ui-typography-reviewer.md +222 -0
- package/packages/frontend-ui/hooks/tests/ui-animation-easing-check_test.sh +78 -0
- package/packages/frontend-ui/hooks/tests/ui-banned-fonts-check_test.sh +77 -0
- package/packages/frontend-ui/hooks/tests/ui-color-check_test.sh +75 -0
- package/packages/frontend-ui/hooks/ui-animation-easing-check.sh +86 -0
- package/packages/frontend-ui/hooks/ui-banned-fonts-check.sh +90 -0
- package/packages/frontend-ui/hooks/ui-color-check.sh +102 -0
- package/packages/frontend-ui/rules/color-and-contrast.md +230 -0
- package/packages/frontend-ui/rules/frontend-design-aesthetics.md +124 -0
- package/packages/frontend-ui/rules/interaction-polish.md +335 -0
- package/packages/frontend-ui/rules/motion-and-animation.md +283 -0
- package/packages/frontend-ui/rules/spatial-and-layout.md +212 -0
- package/packages/frontend-ui/rules/typography-guidelines.md +185 -0
- package/packages/frontend-ui/rules/ui-anti-patterns.md +309 -0
- package/packages/frontend-ui/settings.json +24 -0
- package/packages/frontend-ui/skills/impeccable-craft/SKILL.md +187 -0
- package/packages/gan/README.md +232 -0
- package/packages/gan/agents/gan-evaluator.md +214 -0
- package/packages/gan/agents/gan-generator.md +171 -0
- package/packages/gan/agents/gan-planner.md +206 -0
- package/packages/gan/rubrics/functionality.md +66 -0
- package/packages/gan/rubrics/ui-quality.md +77 -0
- package/packages/gan/skills/gan-evaluator/SKILL.md +91 -0
- package/packages/gan/skills/gan-generator/SKILL.md +72 -0
- package/packages/gan/skills/gan-planner/SKILL.md +93 -0
- package/packages/stack-agents/go/go-concurrency-reviewer.md +210 -0
- package/packages/stack-agents/go/go-error-reviewer.md +187 -0
- package/packages/stack-agents/go/go-modernizer.md +160 -0
- package/packages/stack-agents/go/go-observability-reviewer.md +185 -0
- package/packages/stack-agents/go/go-performance-reviewer.md +160 -0
- package/packages/stack-agents/go/go-reviewer.md +277 -0
- package/packages/stack-agents/go/references/benchmark-methodology.md +280 -0
- package/packages/stack-agents/go/references/channel-patterns.md +384 -0
- package/packages/stack-agents/go/references/cli-cobra-viper.md +190 -0
- package/packages/stack-agents/go/references/code-style.md +262 -0
- package/packages/stack-agents/go/references/context-propagation.md +317 -0
- package/packages/stack-agents/go/references/data-structures.md +315 -0
- package/packages/stack-agents/go/references/database-patterns.md +334 -0
- package/packages/stack-agents/go/references/design-patterns.md +411 -0
- package/packages/stack-agents/go/references/di-frameworks.md +146 -0
- package/packages/stack-agents/go/references/error-creation.md +251 -0
- package/packages/stack-agents/go/references/error-inspection.md +348 -0
- package/packages/stack-agents/go/references/error-wrapping.md +230 -0
- package/packages/stack-agents/go/references/gopls-driving.md +62 -0
- package/packages/stack-agents/go/references/goroutine-lifecycle.md +351 -0
- package/packages/stack-agents/go/references/graphql-patterns.md +221 -0
- package/packages/stack-agents/go/references/grpc-patterns.md +373 -0
- package/packages/stack-agents/go/references/modernize-guide.md +522 -0
- package/packages/stack-agents/go/references/module-management.md +191 -0
- package/packages/stack-agents/go/references/naming-conventions.md +176 -0
- package/packages/stack-agents/go/references/observability-pipeline.md +352 -0
- package/packages/stack-agents/go/references/performance-profiling.md +250 -0
- package/packages/stack-agents/go/references/refactoring-mechanics.md +127 -0
- package/packages/stack-agents/go/references/rest-openapi-patterns.md +160 -0
- package/packages/stack-agents/go/references/samber-do.md +201 -0
- package/packages/stack-agents/go/references/samber-libraries.md +363 -0
- package/packages/stack-agents/go/references/samber-lo.md +260 -0
- package/packages/stack-agents/go/references/samber-oops.md +200 -0
- package/packages/stack-agents/go/references/security-checklist.md +441 -0
- package/packages/stack-agents/go/references/standard-stdlib-now.md +181 -0
- package/packages/stack-agents/go/references/stay-updated.md +147 -0
- package/packages/stack-agents/go/references/structs-interfaces.md +312 -0
- package/packages/stack-agents/go/references/sync-primitives.md +395 -0
- package/packages/stack-agents/go/references/testing-patterns.md +483 -0
- package/packages/stack-agents/go/references/troubleshooting.md +98 -0
- package/packages/stack-agents/python/py-reviewer.md +194 -0
- package/packages/stack-agents/rust/rs-reviewer.md +188 -0
- package/packages/stack-agents/typescript/ts-reviewer.md +135 -0
- package/packages/stack-hooks/go/go-context-check-on-edit.sh +56 -0
- package/packages/stack-hooks/go/go-error-check-on-edit.sh +54 -0
- package/packages/stack-hooks/go/go-format-on-edit.sh +32 -0
- package/packages/stack-hooks/go/go-safety-check-on-edit.sh +54 -0
- package/packages/stack-hooks/go/go-vet-on-edit.sh +61 -0
- package/packages/stack-hooks/go/golangci-lint-on-edit.sh +54 -0
- package/packages/stack-hooks/python/ruff-on-edit.sh +67 -0
- package/packages/stack-hooks/rust/cargo-check-on-edit.sh +64 -0
- package/packages/stack-hooks/typescript/typecheck-on-edit.sh +76 -0
- package/packages/stack-rules/go/go-conventions.md +44 -0
- package/packages/stack-rules/go/go-safety.md +35 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ui-anti-patterns
|
|
3
|
+
description: "Explicit rejection list — banned fonts, banned color patterns, banned layout templates, banned motion patterns. The 'what not to do' companion to the positive design rules. Auto-loaded when editing UI files."
|
|
4
|
+
tokens: 2604
|
|
5
|
+
alwaysApply: false
|
|
6
|
+
applyWhenPaths:
|
|
7
|
+
- "**/*.tsx"
|
|
8
|
+
- "**/*.jsx"
|
|
9
|
+
- "**/*.ts"
|
|
10
|
+
- "**/*.css"
|
|
11
|
+
- "**/*.scss"
|
|
12
|
+
- "**/*.html"
|
|
13
|
+
- "**/*.vue"
|
|
14
|
+
- "**/tailwind.config.*"
|
|
15
|
+
- "**/*.tokens.*"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# UI Anti-Patterns
|
|
19
|
+
|
|
20
|
+
Consolidated rejection list. Every item here is the LLM's training-data
|
|
21
|
+
default; the positive rules (typography, color, motion, interaction)
|
|
22
|
+
say what TO do — this file catches the reflexes before they ship.
|
|
23
|
+
|
|
24
|
+
## Hard rules
|
|
25
|
+
|
|
26
|
+
1. **Every ban in this file is absolute.** ONE occurrence of any banned
|
|
27
|
+
pattern = fix it before shipping. There is no acceptable count of
|
|
28
|
+
banned patterns.
|
|
29
|
+
2. **The "3 or more" threshold in the reflex audit below controls only
|
|
30
|
+
how reviewers aggregate findings** (one CRITICAL vs individual
|
|
31
|
+
findings). It never licenses shipping 1–2 banned patterns — rule 1
|
|
32
|
+
still applies to every hit.
|
|
33
|
+
3. **This file owns the single canonical `reflex_fonts_to_reject`
|
|
34
|
+
list.** Sibling rules and agents reference it by section name; never
|
|
35
|
+
copy the list into another file.
|
|
36
|
+
4. **After rejecting a banned font, run the 4-step font-selection
|
|
37
|
+
procedure in `typography-guidelines.md`.** Do NOT simply pick your
|
|
38
|
+
second-favorite font — that becomes the new monoculture.
|
|
39
|
+
|
|
40
|
+
## Banned typography
|
|
41
|
+
|
|
42
|
+
### The reflex_fonts_to_reject list
|
|
43
|
+
|
|
44
|
+
This is the canonical copy — the only full copy kit-wide.
|
|
45
|
+
`typography-guidelines.md` and `frontend-design-aesthetics.md` refer to
|
|
46
|
+
this section by name instead of restating it.
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Fraunces
|
|
50
|
+
Newsreader
|
|
51
|
+
Lora
|
|
52
|
+
Crimson, Crimson Pro, Crimson Text
|
|
53
|
+
Playfair, Playfair Display
|
|
54
|
+
Cormorant, Cormorant Garamond
|
|
55
|
+
Syne
|
|
56
|
+
IBM Plex Sans, IBM Plex Serif, IBM Plex Mono
|
|
57
|
+
Space Mono, Space Grotesk
|
|
58
|
+
Inter
|
|
59
|
+
DM Sans, DM Serif Display, DM Serif Text
|
|
60
|
+
Outfit
|
|
61
|
+
Plus Jakarta Sans
|
|
62
|
+
Instrument Sans, Instrument Serif
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
And the system defaults: Arial, Helvetica, Roboto, Open Sans, Times New
|
|
66
|
+
Roman, system-ui.
|
|
67
|
+
|
|
68
|
+
Reject every one of these for every new project — they are the
|
|
69
|
+
training-data default and produce visual monoculture. Replacement path:
|
|
70
|
+
Hard rule 4 (the `typography-guidelines.md` procedure), never a
|
|
71
|
+
second-favorite swap.
|
|
72
|
+
|
|
73
|
+
### Other typographic bans
|
|
74
|
+
|
|
75
|
+
- **Monospace typography as "technical" shorthand.** IBM Plex Mono or
|
|
76
|
+
JetBrains Mono on a marketing page to signal "we build technical
|
|
77
|
+
products" is a lazy signal, not a design choice.
|
|
78
|
+
- **Single font family for an entire page.** You lose your hierarchy
|
|
79
|
+
tools. Always pair display + body (or display + body + code).
|
|
80
|
+
- **All-caps body text.** Reserve all-caps for short labels (≤6 words)
|
|
81
|
+
and headings with strong tracking (+0.05em or more).
|
|
82
|
+
- **Flat type hierarchy** (sizes within 1.1× of each other). Keep a
|
|
83
|
+
minimum 1.25× ratio between scale steps.
|
|
84
|
+
|
|
85
|
+
## Banned color patterns
|
|
86
|
+
|
|
87
|
+
### Pure black and pure white
|
|
88
|
+
|
|
89
|
+
```css
|
|
90
|
+
/* NEVER */
|
|
91
|
+
color: #000;
|
|
92
|
+
color: #fff;
|
|
93
|
+
background: rgb(0, 0, 0);
|
|
94
|
+
background: rgba(0, 0, 0, 0.5); /* even modal overlays should be tinted */
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```css
|
|
98
|
+
/* INSTEAD */
|
|
99
|
+
color: oklch(15% 0.01 260); /* near-black, tinted toward brand hue */
|
|
100
|
+
color: oklch(98% 0.005 260); /* near-white, tinted toward brand hue */
|
|
101
|
+
background: oklch(15% 0.01 260 / 0.5); /* tinted modal overlay */
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### The AI palette
|
|
105
|
+
|
|
106
|
+
Four combinations that scream "I asked the model for something
|
|
107
|
+
futuristic" — all banned:
|
|
108
|
+
|
|
109
|
+
- **Cyan text on black backgrounds.** 1990s IDE nostalgia, not a design
|
|
110
|
+
choice.
|
|
111
|
+
- **Purple-to-blue gradient backgrounds.** Deep purple bleeding into
|
|
112
|
+
blue at 45° — every AI-generated landing page has one.
|
|
113
|
+
- **Neon accents on pure black.** Hot pink, electric green, neon cyan
|
|
114
|
+
against `#000` reads as lazy "cyber" aesthetic.
|
|
115
|
+
- **Gradient text for impact** (`background: linear-gradient(...);
|
|
116
|
+
background-clip: text; color: transparent;` on headlines). Fresh in
|
|
117
|
+
2020; a template now.
|
|
118
|
+
|
|
119
|
+
Replacement: use solid colors for text; use gradients on surfaces
|
|
120
|
+
sparingly and with intention — never as the default hero background.
|
|
121
|
+
|
|
122
|
+
### Gray text on colored backgrounds
|
|
123
|
+
|
|
124
|
+
```css
|
|
125
|
+
/* NEVER */
|
|
126
|
+
.card {
|
|
127
|
+
background: oklch(60% 0.18 280); /* brand accent */
|
|
128
|
+
color: #666666; /* grey body text — looks washed */
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* INSTEAD */
|
|
132
|
+
.card {
|
|
133
|
+
background: oklch(60% 0.18 280);
|
|
134
|
+
color: oklch(25% 0.10 280); /* deep shade of the surface hue */
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Always tint text toward a deeper shade of the surface hue.
|
|
139
|
+
|
|
140
|
+
### Default dark mode with glowing accents
|
|
141
|
+
|
|
142
|
+
Dark page + glowing neon accent = "dark mode cosplay". Pick dark mode
|
|
143
|
+
only when the USE CONTEXT demands it (see the theme-selection table in
|
|
144
|
+
`color-and-contrast.md`), and build it from tinted neutrals + a
|
|
145
|
+
restrained accent — not `#000` + neon glow.
|
|
146
|
+
|
|
147
|
+
## Banned layout patterns
|
|
148
|
+
|
|
149
|
+
### Nested cards
|
|
150
|
+
|
|
151
|
+
```jsx
|
|
152
|
+
// NEVER
|
|
153
|
+
<Card>
|
|
154
|
+
<Card>
|
|
155
|
+
<Card>Content</Card>
|
|
156
|
+
</Card>
|
|
157
|
+
</Card>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Nesting cards means the card pattern is papering over poor hierarchy.
|
|
161
|
+
Flatten.
|
|
162
|
+
|
|
163
|
+
### Everything wrapped in cards
|
|
164
|
+
|
|
165
|
+
Not every section needs a card container — the page is the container.
|
|
166
|
+
Typography + spacing can make sections distinct without any surface
|
|
167
|
+
around them.
|
|
168
|
+
|
|
169
|
+
### The identical-card-grid template
|
|
170
|
+
|
|
171
|
+
```jsx
|
|
172
|
+
// NEVER as a default template
|
|
173
|
+
<div className="grid grid-cols-3 gap-4">
|
|
174
|
+
<Card icon={Heart} title="Feature 1" description="Lorem..." />
|
|
175
|
+
<Card icon={Star} title="Feature 2" description="Lorem..." />
|
|
176
|
+
<Card icon={Shield} title="Feature 3" description="Lorem..." />
|
|
177
|
+
</div>
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
"Three identical cards, each with a rounded icon, heading, and 2-line
|
|
181
|
+
description" is the default AI marketing page. Break the pattern: one
|
|
182
|
+
feature at double width, asymmetric layout, varied content (not every
|
|
183
|
+
item needs an icon), a narrative flow.
|
|
184
|
+
|
|
185
|
+
Single exception: genuinely homogeneous data collections — pricing
|
|
186
|
+
tiers, plan comparisons, spec sheets — may use an identical-card grid,
|
|
187
|
+
because the sameness lives in the content, not the template.
|
|
188
|
+
|
|
189
|
+
### The hero-metrics template
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
[ BIG NUMBER ]
|
|
193
|
+
small label text
|
|
194
|
+
supporting stat row: 12M users · 4.9 rating · trusted by X
|
|
195
|
+
[ gradient accent bar underneath ]
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The default AI dashboard hero. Ditch the big number; lead with a real
|
|
199
|
+
headline that says what the user can DO.
|
|
200
|
+
|
|
201
|
+
### Centered everything
|
|
202
|
+
|
|
203
|
+
Centered text + centered layout + centered CTA reads as "template".
|
|
204
|
+
Default to left-aligned text with asymmetric image/element placement;
|
|
205
|
+
center only with a strong stated reason.
|
|
206
|
+
|
|
207
|
+
### Identical padding everywhere
|
|
208
|
+
|
|
209
|
+
```css
|
|
210
|
+
/* NEVER */
|
|
211
|
+
* { padding: 16px; }
|
|
212
|
+
.section, .card, .button, .modal { padding: 24px; }
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Every spacing decision is a hierarchy opportunity — uniform spacing
|
|
216
|
+
flattens the hierarchy.
|
|
217
|
+
|
|
218
|
+
### Large rounded-corner icons above every heading
|
|
219
|
+
|
|
220
|
+
```jsx
|
|
221
|
+
// NEVER as a repeated pattern above every heading
|
|
222
|
+
<section>
|
|
223
|
+
<div className="rounded-2xl p-3 bg-accent/10">
|
|
224
|
+
<HeartIcon className="size-8" />
|
|
225
|
+
</div>
|
|
226
|
+
<h2>Section title</h2>
|
|
227
|
+
<p>...</p>
|
|
228
|
+
</section>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Universal on AI-generated marketing pages; pure visual filler. Add an
|
|
232
|
+
icon only when it carries information the heading text does not.
|
|
233
|
+
|
|
234
|
+
## Banned motion patterns
|
|
235
|
+
|
|
236
|
+
- **`ease-in` on UI animations** — starts slow, feels sluggish. Use
|
|
237
|
+
`ease-out` or the custom curves from `motion-and-animation.md`.
|
|
238
|
+
Scope: this ban covers 2D UI element transitions; 3D/scroll-scrub
|
|
239
|
+
viewport-exit animations are governed by `gsap-conventions`
|
|
240
|
+
(frontend-3d package), which allows `power2.in` there.
|
|
241
|
+
- **`transition: all`** — specify exact properties. `all` animates
|
|
242
|
+
layout properties (width, height, margin) that cause stutter.
|
|
243
|
+
- **`transform: scale(0)`** as entry animation — nothing in the real
|
|
244
|
+
world appears from true zero. Use `scale(0.95)` + `opacity: 0`.
|
|
245
|
+
- **Bounce / elastic easing in standard UI transitions**
|
|
246
|
+
(`cubic-bezier(0.68, -0.55, 0.265, 1.55)`) — reads as 2014 Material.
|
|
247
|
+
Exception: subtle bounce (0.1–0.3) is allowed for drag-release and
|
|
248
|
+
playful gestures — see the spring patterns in
|
|
249
|
+
`motion-and-animation.md`.
|
|
250
|
+
- **Animation on keyboard shortcuts** (⌘K, ⌘/, ⌘S toggles). Power
|
|
251
|
+
users hit these 100×/day; the animation is a tax.
|
|
252
|
+
- **Page-load splash animations.** Users want to use the product, not
|
|
253
|
+
watch a logo breathe for 600ms on every load.
|
|
254
|
+
- **Animating `width`, `height`, `top`, `left`, `margin`.** These
|
|
255
|
+
trigger layout and paint. Use `transform` and `opacity`, which are
|
|
256
|
+
compositor-accelerated.
|
|
257
|
+
|
|
258
|
+
## Banned interaction patterns
|
|
259
|
+
|
|
260
|
+
- **No `:active` state on buttons.** Users can't tell if the click
|
|
261
|
+
registered before the action completes.
|
|
262
|
+
- **Default browser focus rings on colored surfaces.** They vanish on
|
|
263
|
+
non-white backgrounds — always ship your own focus style.
|
|
264
|
+
- **"OK" / "Cancel" on destructive confirmations.** Use specific verbs
|
|
265
|
+
("Delete project" / "Keep it"). Users muscle-memory-click "Confirm".
|
|
266
|
+
- **Validation errors on focus.** The user hasn't done anything yet.
|
|
267
|
+
Validate on blur or submit.
|
|
268
|
+
- **Generic error messages** ("Invalid input", "Error: 422"). Tell the
|
|
269
|
+
user what went wrong and how to fix it.
|
|
270
|
+
- **Bare "No results" empty states.** Prescribe a next action.
|
|
271
|
+
- **Modal animating from a corner when it rests centered.** Spatial
|
|
272
|
+
dissonance. Modal = center-scale; popover = trigger-scale.
|
|
273
|
+
- **Floating labels in serious forms.** Accessibility edge cases with
|
|
274
|
+
zoom/translate. Top-aligned labels by default.
|
|
275
|
+
|
|
276
|
+
## The LLM reflex audit (11 checks)
|
|
277
|
+
|
|
278
|
+
Before shipping UI, answer every box yes/no:
|
|
279
|
+
|
|
280
|
+
- [ ] Are you using Inter, DM Sans, or any `reflex_fonts_to_reject`
|
|
281
|
+
entry?
|
|
282
|
+
- [ ] Is `#000` or `#fff` anywhere in the code?
|
|
283
|
+
- [ ] Does the page include a purple-to-blue gradient?
|
|
284
|
+
- [ ] Are there three identical cards with icon + heading + body?
|
|
285
|
+
- [ ] Is there a "big number / small label / stat row" hero?
|
|
286
|
+
- [ ] Is every section wrapped in a `Card`?
|
|
287
|
+
- [ ] Is the layout fully centered?
|
|
288
|
+
- [ ] Is the padding the same everywhere?
|
|
289
|
+
- [ ] Are rounded-corner icons above every heading?
|
|
290
|
+
- [ ] Is `ease-in` used on any UI animation, or `transition: all` anywhere?
|
|
291
|
+
- [ ] Is grey text sitting on a colored background?
|
|
292
|
+
|
|
293
|
+
Verdict — apply both lines:
|
|
294
|
+
|
|
295
|
+
1. **Any checked box is a banned pattern — fix it before shipping**
|
|
296
|
+
(Hard rule 1). One checked box is not a pass.
|
|
297
|
+
2. Reviewer aggregation (same threshold as `ui-reviewer` and
|
|
298
|
+
`ui-design-critic`): **3 or more checked boxes → raise ONE CRITICAL
|
|
299
|
+
finding: "AI-reflex aesthetic — multiple defaults present"**,
|
|
300
|
+
listing the hits inside it. 1–2 checked boxes → report each as an
|
|
301
|
+
individual finding at its own severity.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
Attribution: the `reflex_fonts_to_reject` list, the banned color
|
|
306
|
+
patterns, and the banned layout templates are adapted from Impeccable's
|
|
307
|
+
anti-patterns scattered across the reference files (Apache-2.0).
|
|
308
|
+
Additional motion bans (transition: all, scale(0)) and interaction bans
|
|
309
|
+
are Emil Kowalski's observations, re-expressed. See `../NOTICE.md`.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "frontend-ui package hooks. Merged into root .claude/settings.json at install time by lib/settings-builder.js.",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"PostToolUse": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "Edit|Write",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/scripts/hooks/ui-banned-fonts-check.sh"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"type": "command",
|
|
14
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/scripts/hooks/ui-color-check.sh"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "command",
|
|
18
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/scripts/hooks/ui-animation-easing-check.sh"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: impeccable-craft
|
|
3
|
+
description: Opt-in shape-then-build flow for creating a UI from scratch — gather brand context, commit to an aesthetic direction, then run the 4-stage craft cycle (Shape → Refine → Implement → Polish); invoke only when explicitly asked to craft a UI from scratch or use the impeccable approach.
|
|
4
|
+
tokens: 1839
|
|
5
|
+
user-invocable: true
|
|
6
|
+
license: Apache-2.0 (based on portions of pbakaus/impeccable — see https://github.com/RaNDoM6913/claude-code-superkit/blob/main/packages/frontend-ui/NOTICE.md)
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Impeccable Craft
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Build a UI from scratch with maximum intentionality: commit to an
|
|
14
|
+
aesthetic direction on paper BEFORE writing code, then iterate through
|
|
15
|
+
four stages ending in a full specialist review pass.
|
|
16
|
+
|
|
17
|
+
## Use when
|
|
18
|
+
|
|
19
|
+
- User explicitly asks for "craft", "build from scratch", "design
|
|
20
|
+
something new"
|
|
21
|
+
- User wants the full impeccable methodology end-to-end
|
|
22
|
+
- User wants the sketch-first workflow (instead of jumping straight to
|
|
23
|
+
code)
|
|
24
|
+
|
|
25
|
+
## Do not use
|
|
26
|
+
|
|
27
|
+
- For code review — `ui-reviewer` and specialists auto-dispatch
|
|
28
|
+
- For polish / audit / critique — specialists auto-dispatch
|
|
29
|
+
- For bug fixes — no craft methodology needed
|
|
30
|
+
|
|
31
|
+
## Hard Rules
|
|
32
|
+
|
|
33
|
+
- **NEVER skip Stage 1 (Shape).** Building without a written brief is
|
|
34
|
+
how AI-slop happens; the brief takes 3–5 minutes and saves hours.
|
|
35
|
+
- **NEVER skip Stage 4 (Polish).** All 5 specialist reviewers must run;
|
|
36
|
+
a "90% done" implementation ships defaults they would catch.
|
|
37
|
+
- **Two user check-ins, always:** after Stage 1 (confirm the brief
|
|
38
|
+
before Stage 2) and at the end of Stage 3 (confirm before Stage 4).
|
|
39
|
+
- **Review triage is fixed:** fix every CRITICAL; address every WARNING
|
|
40
|
+
or document why not; apply a SUGGESTION only if it takes <5 minutes
|
|
41
|
+
AND does not conflict with the Stage 1 brief — otherwise list it as
|
|
42
|
+
deferred in the final summary.
|
|
43
|
+
- **Cite the rule section as you apply it** ("per
|
|
44
|
+
`typography-guidelines.md` Step 3, I'm looking at Velvetyne for a
|
|
45
|
+
weird-but-grounded display font") — the user should learn the
|
|
46
|
+
methodology, not just receive output.
|
|
47
|
+
- **Save the Stage 1 brief** to auto-memory as
|
|
48
|
+
`project_brand_context.md` so future sessions start with context.
|
|
49
|
+
|
|
50
|
+
## The four stages
|
|
51
|
+
|
|
52
|
+
### Stage 1 — Shape
|
|
53
|
+
|
|
54
|
+
Before writing any code:
|
|
55
|
+
|
|
56
|
+
1. **Gather brand context** per the "Before writing any UI: gather
|
|
57
|
+
design context" section of `frontend-design-aesthetics.md`
|
|
58
|
+
(audience, use cases, brand tone; source order: prompt →
|
|
59
|
+
`CLAUDE.md`/`README.md` → `docs/architecture/frontend-*.md` →
|
|
60
|
+
auto-memory → one targeted question). If `CLAUDE.md` gives no
|
|
61
|
+
signal and auto-memory has no `project_brand_context.md`, ask ONE
|
|
62
|
+
question: "In one sentence, what should this interface feel like?"
|
|
63
|
+
Then proceed.
|
|
64
|
+
2. **Articulate the aesthetic direction in 3 concrete words.** Not
|
|
65
|
+
"modern" or "elegant" — concrete: "warm, mechanical, opinionated";
|
|
66
|
+
"calm, clinical, careful"; "fast, dense, unimpressed"; "expensive,
|
|
67
|
+
quiet, precise". The 3 words must be mutually constraining.
|
|
68
|
+
3. **Pick the one memorable thing.** What is the ONE decision that
|
|
69
|
+
makes this interface unforgettable — a distinctive typographic
|
|
70
|
+
choice, a signature interaction, a surprising composition, a
|
|
71
|
+
particular rhythm? Without an answer, the design drifts to default.
|
|
72
|
+
4. **State constraints explicitly.** Framework, performance budget,
|
|
73
|
+
accessibility requirements, browser support, reduced-motion
|
|
74
|
+
defaults.
|
|
75
|
+
5. **Draft the core palette** per the "Building the palette" section
|
|
76
|
+
of `color-and-contrast.md` (Steps 1–4: brand hue → tinted neutral
|
|
77
|
+
scale → accent scale with reduced chroma at extremes → status
|
|
78
|
+
colors as system, not brand).
|
|
79
|
+
6. **Draft the type system** per "The font-selection procedure" in
|
|
80
|
+
`typography-guidelines.md` (Steps 1–4). Reject reflex-list fonts.
|
|
81
|
+
Pair display + body.
|
|
82
|
+
|
|
83
|
+
Stage 1 output — a short written brief the user can see, stating:
|
|
84
|
+
|
|
85
|
+
- Audience + use context
|
|
86
|
+
- 3 concrete brand-voice words
|
|
87
|
+
- The one memorable thing
|
|
88
|
+
- Constraints
|
|
89
|
+
- Palette tokens
|
|
90
|
+
- Type choices
|
|
91
|
+
|
|
92
|
+
**Check-in 1:** confirm the brief with the user — "Building on this
|
|
93
|
+
direction, OK to proceed?" — before Stage 2.
|
|
94
|
+
|
|
95
|
+
### Stage 2 — Refine
|
|
96
|
+
|
|
97
|
+
Translate the brief into component primitives:
|
|
98
|
+
|
|
99
|
+
1. **Build the design-token file** (CSS custom properties or Tailwind
|
|
100
|
+
config) with everything from Stage 1.
|
|
101
|
+
2. **Pick the component library** if applicable (Radix / shadcn /
|
|
102
|
+
Headless UI / custom). For high-craft projects, custom is often the
|
|
103
|
+
right call — shadcn defaults read as shadcn.
|
|
104
|
+
3. **Sketch the key layouts** in code at a primitive level — no
|
|
105
|
+
styling polish yet, just structure. Flex/grid boxes labelled with
|
|
106
|
+
what they'll contain. Check composition and hierarchy BEFORE
|
|
107
|
+
committing to details.
|
|
108
|
+
|
|
109
|
+
### Stage 3 — Implement
|
|
110
|
+
|
|
111
|
+
Write production code with attention to:
|
|
112
|
+
|
|
113
|
+
1. **Motion decisions.** For each interactive element, run "The
|
|
114
|
+
4-question framework (ask in order, before writing any animation)"
|
|
115
|
+
from `motion-and-animation.md`. Use the custom `cubic-bezier`
|
|
116
|
+
constants (`--ease-out`, `--ease-in-out`, `--ease-drawer`,
|
|
117
|
+
`--ease-snappy`) from its "Custom curves (stronger than the CSS
|
|
118
|
+
defaults)" subsection and the duration table under "Question 4 —
|
|
119
|
+
How long should it take?".
|
|
120
|
+
2. **Interaction polish.** Every button gets `:active`. Every focus
|
|
121
|
+
state uses `:focus-visible` with visible custom styling. Every
|
|
122
|
+
modal/drawer has scroll-lock and focus trap. Every form validates
|
|
123
|
+
on blur / submit, not focus.
|
|
124
|
+
3. **Spacing rhythm.** Vary spacing deliberately — tight for related,
|
|
125
|
+
generous for transitional, major breaks at section boundaries.
|
|
126
|
+
Don't `p-4` everything.
|
|
127
|
+
4. **Prefers-reduced-motion.** Include the blanket rule from the
|
|
128
|
+
"Reduced motion — required, not optional" section of
|
|
129
|
+
`motion-and-animation.md`.
|
|
130
|
+
|
|
131
|
+
**Check-in 2:** show the user what was built and confirm before
|
|
132
|
+
starting the Stage 4 specialist reviews.
|
|
133
|
+
|
|
134
|
+
### Stage 4 — Polish
|
|
135
|
+
|
|
136
|
+
Run every specialist review, in order:
|
|
137
|
+
|
|
138
|
+
1. Dispatch `ui-typography-reviewer` on the type system.
|
|
139
|
+
2. Dispatch `ui-color-reviewer` on the palette.
|
|
140
|
+
3. Dispatch `ui-motion-reviewer` on transitions.
|
|
141
|
+
4. Dispatch `ui-interaction-reviewer` on components.
|
|
142
|
+
5. Dispatch `ui-design-critic` on the whole result.
|
|
143
|
+
|
|
144
|
+
Triage findings per the Hard Rules: CRITICAL → fix; WARNING → address
|
|
145
|
+
or document why not; SUGGESTION → apply only if <5 minutes and
|
|
146
|
+
brief-compatible, else list as deferred.
|
|
147
|
+
|
|
148
|
+
## Output
|
|
149
|
+
|
|
150
|
+
At the end of Stage 4, emit exactly this summary:
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
## Impeccable Craft — final summary
|
|
154
|
+
**Stage 1 brief:** <3 words + the one memorable thing + key constraints>
|
|
155
|
+
**Built:** <screens/components created>
|
|
156
|
+
**Iterated after reviews:** <CRITICALs fixed, WARNINGs addressed>
|
|
157
|
+
**Deferred:** <SUGGESTIONs and skipped WARNINGs, each with a one-line reason>
|
|
158
|
+
**Deliberately NOT done:** <choices avoided + why>
|
|
159
|
+
**Brief saved:** project_brand_context.md → yes/no
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Done ONLY when
|
|
163
|
+
|
|
164
|
+
- [ ] Stage 1 brief written and confirmed by the user before Stage 2.
|
|
165
|
+
- [ ] User confirmed the implementation at the end of Stage 3.
|
|
166
|
+
- [ ] All 5 specialists dispatched (typography, color, motion,
|
|
167
|
+
interaction, design-critic).
|
|
168
|
+
- [ ] Every CRITICAL fixed; every WARNING addressed or its skip reason
|
|
169
|
+
documented.
|
|
170
|
+
- [ ] Stage 1 brief saved to auto-memory as `project_brand_context.md`.
|
|
171
|
+
- [ ] Final summary emitted in the template above.
|
|
172
|
+
|
|
173
|
+
Not all boxes checked → say what is missing; do not claim completion.
|
|
174
|
+
|
|
175
|
+
## Recap — non-negotiables
|
|
176
|
+
|
|
177
|
+
- Stage 1 brief first, Stage 4 reviews last — neither may be skipped.
|
|
178
|
+
- Two user check-ins: after Stage 1 and at the end of Stage 3.
|
|
179
|
+
- CRITICAL = fix; WARNING = address or document; SUGGESTION = apply
|
|
180
|
+
only if <5 min and brief-compatible, else defer.
|
|
181
|
+
- Cite the exact rule-file sections as you apply them.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
Attribution: adapted from Impeccable's `craft` flow (Apache-2.0).
|
|
186
|
+
See the project's NOTICE.md at
|
|
187
|
+
https://github.com/RaNDoM6913/claude-code-superkit/blob/main/packages/frontend-ui/NOTICE.md
|