tribunal-kit 6.0.1 → 7.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/.agent/ARCHITECTURE.md +9 -6
- package/.agent/agents/accessibility-reviewer.md +23 -16
- package/.agent/agents/ai-code-reviewer.md +25 -21
- package/.agent/agents/anti-pattern-reviewer.md +12 -7
- package/.agent/agents/api-architect.md +1 -0
- package/.agent/agents/backend-specialist.md +23 -22
- package/.agent/agents/cloud-engineer.md +1 -0
- package/.agent/agents/code-archaeologist.md +1 -0
- package/.agent/agents/complexity-reviewer.md +10 -7
- package/.agent/agents/database-architect.md +3 -2
- package/.agent/agents/db-latency-auditor.md +6 -2
- package/.agent/agents/debugger.md +3 -2
- package/.agent/agents/dependency-reviewer.md +1 -0
- package/.agent/agents/devops-engineer.md +9 -8
- package/.agent/agents/documentation-writer.md +6 -5
- package/.agent/agents/explorer-agent.md +1 -0
- package/.agent/agents/frontend-reviewer.md +21 -17
- package/.agent/agents/frontend-specialist.md +23 -20
- package/.agent/agents/game-developer.md +1 -0
- package/.agent/agents/interaction-reviewer.md +10 -5
- package/.agent/agents/logic-reviewer.md +3 -0
- package/.agent/agents/minimalist-reviewer.md +6 -0
- package/.agent/agents/mobile-developer.md +7 -6
- package/.agent/agents/mobile-reviewer.md +14 -13
- package/.agent/agents/orchestrator.md +3 -0
- package/.agent/agents/penetration-tester.md +1 -0
- package/.agent/agents/performance-optimizer.md +6 -5
- package/.agent/agents/performance-reviewer.md +6 -6
- package/.agent/agents/pipeline-reviewer.md +144 -0
- package/.agent/agents/precedence-reviewer.md +1 -0
- package/.agent/agents/product-manager.md +1 -0
- package/.agent/agents/product-owner.md +1 -0
- package/.agent/agents/product-reviewer.md +12 -7
- package/.agent/agents/project-planner.md +3 -0
- package/.agent/agents/qa-automation-engineer.md +50 -43
- package/.agent/agents/resilience-reviewer.md +1 -0
- package/.agent/agents/schema-reviewer.md +1 -0
- package/.agent/agents/security-auditor.md +24 -24
- package/.agent/agents/seo-specialist.md +33 -23
- package/.agent/agents/sql-reviewer.md +5 -4
- package/.agent/agents/supervisor-agent.md +12 -2
- package/.agent/agents/swarm-worker-contracts.md +13 -13
- package/.agent/agents/swarm-worker-registry.md +51 -51
- package/.agent/agents/system-architect.md +1 -0
- package/.agent/agents/test-coverage-reviewer.md +25 -22
- package/.agent/agents/test-engineer.md +12 -11
- package/.agent/agents/throughput-optimizer.md +45 -40
- package/.agent/agents/type-safety-reviewer.md +5 -4
- package/.agent/agents/ui-ux-auditor.md +6 -4
- package/.agent/agents/ui-visual-auditor.md +3 -0
- package/.agent/agents/ux-reviewer.md +11 -6
- package/.agent/agents/visual-reviewer.md +11 -6
- package/.agent/agents/vitals-reviewer.md +5 -4
- package/.agent/history/memory/.memory.idx +1532 -1
- package/.agent/history/memory/MEMORY.md +102 -1
- package/.agent/mcp_config.json +1 -6
- package/.agent/routing_index.json +2033 -263
- package/.agent/rules/GEMINI.md +11 -9
- package/.agent/rules/GEMINI_PLANNER.md +19 -21
- package/.agent/scripts/_colors.js +52 -54
- package/.agent/scripts/_utils.js +52 -53
- package/.agent/scripts/auto_preview.js +39 -43
- package/.agent/scripts/bundle_analyzer.js +47 -60
- package/.agent/scripts/case_law_manager.js +200 -294
- package/.agent/scripts/checklist.js +73 -94
- package/.agent/scripts/cicd_validator.js +305 -0
- package/.agent/scripts/compile_router.py +4 -111
- package/.agent/scripts/context_broker.js +317 -412
- package/.agent/scripts/contract_engine.js +402 -0
- package/.agent/scripts/dependency_analyzer.js +112 -124
- package/.agent/scripts/graph_builder.js +75 -103
- package/.agent/scripts/graph_visualizer.js +10 -12
- package/.agent/scripts/graph_zoom.js +38 -55
- package/.agent/scripts/guardrail_engine.js +195 -145
- package/.agent/scripts/impact_classifier.js +55 -30
- package/.agent/scripts/inner_loop_validator.js +108 -159
- package/.agent/scripts/integrity_manifest.js +59 -67
- package/.agent/scripts/lint_runner.js +65 -75
- package/.agent/scripts/marathon_harness.js +131 -208
- package/.agent/scripts/migrate_skills_frontmatter.py +4 -63
- package/.agent/scripts/minify_context.js +29 -33
- package/.agent/scripts/minimal_change_engine.js +95 -87
- package/.agent/scripts/mutation_runner.js +46 -62
- package/.agent/scripts/pipeline_engine.js +320 -209
- package/.agent/scripts/prompt_compiler.js +118 -93
- package/.agent/scripts/schema_validator.js +73 -121
- package/.agent/scripts/security_scan.js +88 -117
- package/.agent/scripts/session_manager.js +52 -69
- package/.agent/scripts/signal_detector.js +24 -22
- package/.agent/scripts/skill_evolution.js +184 -245
- package/.agent/scripts/skill_integrator.js +35 -48
- package/.agent/scripts/socratic_gate_policy.js +15 -12
- package/.agent/scripts/strengthen_skills.js +29 -33
- package/.agent/scripts/swarm_dispatcher.js +120 -151
- package/.agent/scripts/test_runner.js +54 -56
- package/.agent/scripts/token_budget_broker.js +9 -7
- package/.agent/scripts/trace_engine.js +126 -0
- package/.agent/scripts/verify_all.js +76 -93
- package/.agent/scripts/visual_audit.js +16 -21
- package/.agent/skill_topic_map.json +22 -3
- package/.agent/skills/12-principles-of-animation/SKILL.md +7 -0
- package/.agent/skills/60fps-animation/SKILL.md +7 -0
- package/.agent/skills/accessible-animation/SKILL.md +5 -1
- package/.agent/skills/adapt/SKILL.md +7 -1
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +1 -0
- package/.agent/skills/agent-organizer/SKILL.md +1 -0
- package/.agent/skills/agentic-patterns/SKILL.md +33 -25
- package/.agent/skills/agentic-workflows-2026/SKILL.md +6 -2
- package/.agent/skills/ai-app-hardening/SKILL.md +9 -8
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +7 -6
- package/.agent/skills/animation-on-scroll/SKILL.md +24 -15
- package/.agent/skills/animation-systems/SKILL.md +11 -10
- package/.agent/skills/antfu-conventions/SKILL.md +7 -2
- package/.agent/skills/api-patterns/SKILL.md +14 -10
- package/.agent/skills/api-security-auditor/SKILL.md +15 -14
- package/.agent/skills/app-builder/SKILL.md +1 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +2 -2
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +12 -12
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +3 -3
- package/.agent/skills/apple-design/SKILL.md +8 -7
- package/.agent/skills/architecture/SKILL.md +3 -2
- package/.agent/skills/audit-and-fix/SKILL.md +8 -5
- package/.agent/skills/authentication-best-practices/SKILL.md +9 -8
- package/.agent/skills/backend-security-expert/SKILL.md +1 -0
- package/.agent/skills/baseline-ui/SKILL.md +8 -7
- package/.agent/skills/bash-linux/SKILL.md +1 -0
- package/.agent/skills/behavioral-modes/SKILL.md +1 -0
- package/.agent/skills/better-colors/SKILL.md +11 -7
- package/.agent/skills/better-typography/SKILL.md +30 -16
- package/.agent/skills/better-ui/SKILL.md +17 -10
- package/.agent/skills/bolder/SKILL.md +6 -0
- package/.agent/skills/brainstorming/SKILL.md +6 -4
- package/.agent/skills/browser-native-ai/SKILL.md +5 -4
- package/.agent/skills/build-primitive/SKILL.md +5 -0
- package/.agent/skills/building-native-ui/SKILL.md +1 -0
- package/.agent/skills/cicd-pro/SKILL.md +2 -1
- package/.agent/skills/clarify/SKILL.md +19 -14
- package/.agent/skills/clean-code/SKILL.md +16 -15
- package/.agent/skills/cloud-architect/SKILL.md +1 -0
- package/.agent/skills/cobejs/SKILL.md +7 -9
- package/.agent/skills/code-review-checklist/SKILL.md +1 -0
- package/.agent/skills/codebase-design/SKILL.md +7 -2
- package/.agent/skills/colorize/SKILL.md +8 -3
- package/.agent/skills/compact-landing/SKILL.md +8 -3
- package/.agent/skills/company-logos/SKILL.md +6 -0
- package/.agent/skills/config-validator/SKILL.md +10 -9
- package/.agent/skills/containerization-pro/SKILL.md +6 -5
- package/.agent/skills/context-engineering-pro/SKILL.md +5 -4
- package/.agent/skills/create-design-md/SKILL.md +13 -5
- package/.agent/skills/critique/SKILL.md +10 -8
- package/.agent/skills/csharp-developer/SKILL.md +1 -0
- package/.agent/skills/data-validation-schemas/SKILL.md +28 -23
- package/.agent/skills/database-design/SKILL.md +2 -1
- package/.agent/skills/delight/SKILL.md +6 -0
- package/.agent/skills/deployment-procedures/SKILL.md +2 -1
- package/.agent/skills/design-lab/SKILL.md +5 -0
- package/.agent/skills/devops-engineer/SKILL.md +3 -2
- package/.agent/skills/devops-incident-responder/SKILL.md +2 -1
- package/.agent/skills/diagnosing-bugs/SKILL.md +12 -2
- package/.agent/skills/distill/SKILL.md +7 -2
- package/.agent/skills/documentation-templates/SKILL.md +3 -2
- package/.agent/skills/domain-modeling/SKILL.md +12 -4
- package/.agent/skills/duckdb-analytical-sql/SKILL.md +7 -3
- package/.agent/skills/edge-ai-mobile/SKILL.md +5 -1
- package/.agent/skills/edge-computing/SKILL.md +9 -8
- package/.agent/skills/emil-design-eng/SKILL.md +43 -27
- package/.agent/skills/error-resilience/SKILL.md +34 -16
- package/.agent/skills/expo-router-v4/SKILL.md +2 -1
- package/.agent/skills/extract-design-system/SKILL.md +12 -11
- package/.agent/skills/fabel-protocol/SKILL.md +24 -17
- package/.agent/skills/fixing-accessibility/SKILL.md +23 -16
- package/.agent/skills/fixing-metadata/SKILL.md +24 -13
- package/.agent/skills/fixing-motion-performance/SKILL.md +7 -5
- package/.agent/skills/framer-motion-expert/SKILL.md +29 -15
- package/.agent/skills/frontend-design/SKILL.md +21 -13
- package/.agent/skills/frontend-security-expert/SKILL.md +1 -0
- package/.agent/skills/game-design-expert/SKILL.md +1 -0
- package/.agent/skills/game-engineering-expert/SKILL.md +1 -0
- package/.agent/skills/generative-ui-expert/SKILL.md +3 -2
- package/.agent/skills/geo-fundamentals/SKILL.md +2 -1
- package/.agent/skills/git-pro/SKILL.md +10 -9
- package/.agent/skills/github-operations/SKILL.md +2 -1
- package/.agent/skills/gpt-taste/SKILL.md +7 -0
- package/.agent/skills/gsap-core/SKILL.md +26 -22
- package/.agent/skills/gsap-frameworks/SKILL.md +6 -5
- package/.agent/skills/gsap-performance/SKILL.md +4 -3
- package/.agent/skills/gsap-plugins/SKILL.md +34 -33
- package/.agent/skills/gsap-react/SKILL.md +9 -8
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +34 -33
- package/.agent/skills/gsap-timeline/SKILL.md +18 -15
- package/.agent/skills/gsap-utils/SKILL.md +25 -24
- package/.agent/skills/harden/SKILL.md +9 -3
- package/.agent/skills/harness-protocol/SKILL.md +1 -0
- package/.agent/skills/i18n-localization/SKILL.md +10 -9
- package/.agent/skills/impeccable/SKILL.md +5 -0
- package/.agent/skills/improve-codebase-architecture/SKILL.md +10 -5
- package/.agent/skills/improve-ui/SKILL.md +12 -5
- package/.agent/skills/intelligent-routing/SKILL.md +7 -6
- package/.agent/skills/knowledge-graph/SKILL.md +1 -0
- package/.agent/skills/landing-page/SKILL.md +1 -0
- package/.agent/skills/lint-and-validate/SKILL.md +9 -4
- package/.agent/skills/llm-engineering/SKILL.md +55 -54
- package/.agent/skills/local-first/SKILL.md +20 -19
- package/.agent/skills/local-first-architecture/SKILL.md +6 -1
- package/.agent/skills/lottie-animation/SKILL.md +7 -3
- package/.agent/skills/marquee-loop/SKILL.md +1 -0
- package/.agent/skills/masked-reveal/SKILL.md +17 -4
- package/.agent/skills/mcp-builder/SKILL.md +13 -10
- package/.agent/skills/micro-interaction/SKILL.md +20 -5
- package/.agent/skills/mobile-design/SKILL.md +26 -15
- package/.agent/skills/monorepo-management/SKILL.md +3 -2
- package/.agent/skills/morphing-icons/SKILL.md +16 -6
- package/.agent/skills/motion-engineering/SKILL.md +19 -15
- package/.agent/skills/nextjs-react-expert/SKILL.md +26 -21
- package/.agent/skills/nodejs-best-practices/SKILL.md +89 -76
- package/.agent/skills/observability/SKILL.md +45 -44
- package/.agent/skills/opentelemetry-observability/SKILL.md +2 -1
- package/.agent/skills/page-transition-animation/SKILL.md +6 -3
- package/.agent/skills/parallel-agents/SKILL.md +7 -2
- package/.agent/skills/performance-profiling/SKILL.md +24 -13
- package/.agent/skills/plan-writing/SKILL.md +1 -0
- package/.agent/skills/platform-engineer/SKILL.md +3 -2
- package/.agent/skills/platform-engineering-opentofu/SKILL.md +1 -0
- package/.agent/skills/playwright-ai-e2e/SKILL.md +3 -2
- package/.agent/skills/playwright-best-practices/SKILL.md +29 -28
- package/.agent/skills/polish/SKILL.md +13 -12
- package/.agent/skills/powershell-windows/SKILL.md +1 -0
- package/.agent/skills/pricing-page/SKILL.md +8 -3
- package/.agent/skills/product-aware-heuristics/SKILL.md +122 -72
- package/.agent/skills/progressive-blur/SKILL.md +9 -4
- package/.agent/skills/project-idioms/SKILL.md +1 -0
- package/.agent/skills/property-based-testing/SKILL.md +10 -12
- package/.agent/skills/python-patterns/SKILL.md +1 -0
- package/.agent/skills/python-pro/SKILL.md +1 -0
- package/.agent/skills/quieter/SKILL.md +6 -0
- package/.agent/skills/react-doctor/SKILL.md +6 -0
- package/.agent/skills/react-specialist/SKILL.md +32 -28
- package/.agent/skills/readme-builder/SKILL.md +1 -0
- package/.agent/skills/realtime-patterns/SKILL.md +34 -33
- package/.agent/skills/red-team-tactics/SKILL.md +1 -0
- package/.agent/skills/redesign-skill/SKILL.md +6 -0
- package/.agent/skills/review-animations/SKILL.md +5 -2
- package/.agent/skills/review-animations/STANDARDS.md +37 -23
- package/.agent/skills/rust-pro/SKILL.md +1 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +4 -3
- package/.agent/skills/server-management/SKILL.md +1 -0
- package/.agent/skills/shadcn-ui-expert/SKILL.md +28 -22
- package/.agent/skills/shape/SKILL.md +9 -2
- package/.agent/skills/skill-creator/SKILL.md +1 -0
- package/.agent/skills/soft-skill/SKILL.md +6 -0
- package/.agent/skills/sounds-on-the-web/SKILL.md +1 -0
- package/.agent/skills/sql-pro/SKILL.md +1 -0
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +1 -0
- package/.agent/skills/svg-animation/SKILL.md +16 -7
- package/.agent/skills/swiftui-expert/SKILL.md +1 -0
- package/.agent/skills/swiss-design/SKILL.md +5 -0
- package/.agent/skills/system-design-pro/SKILL.md +1 -0
- package/.agent/skills/systematic-debugging/SKILL.md +1 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +25 -11
- package/.agent/skills/taste-skill/SKILL.md +6 -0
- package/.agent/skills/tdd-workflow/SKILL.md +5 -0
- package/.agent/skills/test-result-analyzer/SKILL.md +1 -0
- package/.agent/skills/testing-patterns/SKILL.md +123 -115
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +5 -0
- package/.agent/skills/thinking-protocol/SKILL.md +3 -0
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +9 -8
- package/.agent/skills/transitions-dev/SKILL.md +19 -6
- package/.agent/skills/trend-researcher/SKILL.md +1 -0
- package/.agent/skills/typescript-advanced/SKILL.md +23 -18
- package/.agent/skills/typeset/SKILL.md +10 -1
- package/.agent/skills/ui-reasoning-engine/SKILL.md +67 -48
- package/.agent/skills/ui-skill-packs/SKILL.md +6 -1
- package/.agent/skills/ui-skills-root/SKILL.md +39 -38
- package/.agent/skills/ui-ux-pro-max/SKILL.md +34 -26
- package/.agent/skills/ui-ux-researcher/SKILL.md +1 -0
- package/.agent/skills/vector-search-pgvector/SKILL.md +3 -2
- package/.agent/skills/vue-expert/SKILL.md +22 -19
- package/.agent/skills/vulnerability-scanner/SKILL.md +22 -21
- package/.agent/skills/web-accessibility-auditor/SKILL.md +2 -1
- package/.agent/skills/web-design-guidelines/SKILL.md +16 -10
- package/.agent/skills/web-quality-audit/SKILL.md +5 -0
- package/.agent/skills/webapp-testing/SKILL.md +14 -13
- package/.agent/skills/webgpu-performance/SKILL.md +1 -0
- package/.agent/skills/whimsy-injector/SKILL.md +9 -5
- package/.agent/skills/workflow-optimizer/SKILL.md +1 -0
- package/.agent/skills/zero-trust-passkeys/SKILL.md +11 -6
- package/.agent/templates/DESIGN.md +119 -110
- package/.agent/templates/design-tokens.json +9 -6
- package/.agent/workflows/acf.md +1 -0
- package/.agent/workflows/api-tester.md +1 -0
- package/.agent/workflows/audit.md +1 -0
- package/.agent/workflows/brainstorm.md +1 -0
- package/.agent/workflows/changelog.md +1 -0
- package/.agent/workflows/contract.md +60 -0
- package/.agent/workflows/create.md +1 -0
- package/.agent/workflows/debug.md +1 -0
- package/.agent/workflows/deploy.md +1 -0
- package/.agent/workflows/enhance.md +1 -0
- package/.agent/workflows/fix-ci.md +89 -0
- package/.agent/workflows/fix.md +1 -0
- package/.agent/workflows/generate.md +1 -0
- package/.agent/workflows/marathon.md +1 -0
- package/.agent/workflows/migrate.md +1 -0
- package/.agent/workflows/minimal.md +9 -7
- package/.agent/workflows/orchestrate.md +1 -0
- package/.agent/workflows/performance-benchmarker.md +1 -0
- package/.agent/workflows/pipeline.md +26 -21
- package/.agent/workflows/plan.md +1 -0
- package/.agent/workflows/preview.md +1 -0
- package/.agent/workflows/refactor.md +3 -2
- package/.agent/workflows/review-ai.md +4 -3
- package/.agent/workflows/review.md +1 -0
- package/.agent/workflows/session.md +1 -0
- package/.agent/workflows/status.md +1 -0
- package/.agent/workflows/strengthen-skills.md +1 -0
- package/.agent/workflows/super-prompt.md +1 -0
- package/.agent/workflows/swarm.md +15 -3
- package/.agent/workflows/test.md +8 -7
- package/.agent/workflows/tribunal-backend.md +3 -2
- package/.agent/workflows/tribunal-cicd.md +104 -0
- package/.agent/workflows/tribunal-database.md +1 -0
- package/.agent/workflows/tribunal-frontend.md +8 -6
- package/.agent/workflows/tribunal-full.md +2 -1
- package/.agent/workflows/tribunal-mobile.md +6 -5
- package/.agent/workflows/tribunal-performance.md +1 -0
- package/.agent/workflows/tribunal-speed.md +1 -0
- package/.agent/workflows/tribunal-ui.md +29 -21
- package/.agent/workflows/ui-ux-pro-max.md +19 -15
- package/CONTRIBUTING.md +3 -3
- package/README.md +94 -44
- package/SECURITY.md +10 -10
- package/bin/mcp-server.js +385 -252
- package/bin/tribunal-kit.js +29 -30
- package/bin/wrapper.js +40 -46
- package/dist/cli.js +6 -0
- package/dist/commands/case.js +2 -0
- package/dist/commands/contract.js +440 -0
- package/dist/commands/status.js +6 -0
- package/dist/index.d.ts +8 -1
- package/package.json +13 -12
- package/scripts/benchmark.js +62 -86
- package/scripts/changelog.js +67 -73
- package/scripts/fix-vbc.js +13 -15
- package/scripts/fix-vbc.ps1 +2 -118
- package/scripts/stress_benchmark.js +358 -0
- package/scripts/sync-version.js +71 -41
- package/scripts/validate-payload.js +23 -30
- package/scripts/visual_audit.js +23 -13
|
@@ -20,6 +20,7 @@ scripts-binding:
|
|
|
20
20
|
## Mandatory Pre-Flight Context Inspection
|
|
21
21
|
|
|
22
22
|
Before writing complex TypeScript types or library abstractions, you MUST inspect:
|
|
23
|
+
|
|
23
24
|
1. Zero `as any` Cast Rule (Section 15) → Fix the underlying type signature or use `as unknown as T` with explicit reasoning comment; ban `as any`
|
|
24
25
|
2. Discriminated Unions for State Machine Modeling (Section 62) → Model multi-state objects with tagged discriminated unions for compile-time exhaustive checks
|
|
25
26
|
3. The `satisfies` Operator vs Type Assertion (Section 193) → Use `satisfies` to validate types without widening object literals
|
|
@@ -41,7 +42,7 @@ Before writing complex TypeScript types or library abstractions, you MUST inspec
|
|
|
41
42
|
```typescript
|
|
42
43
|
// ✅ Constrained generics — T must have an id
|
|
43
44
|
function findById<T extends { id: string }>(items: T[], id: string): T | undefined {
|
|
44
|
-
return items.find(
|
|
45
|
+
return items.find(item => item.id === id);
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
// ✅ Multiple constraints
|
|
@@ -54,9 +55,9 @@ function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
|
|
|
54
55
|
return obj[key];
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
const user = { name:
|
|
58
|
-
const name = getProperty(user,
|
|
59
|
-
const age = getProperty(user,
|
|
58
|
+
const user = { name: 'Alice', age: 30 };
|
|
59
|
+
const name = getProperty(user, 'name'); // type: string
|
|
60
|
+
const age = getProperty(user, 'age'); // type: number
|
|
60
61
|
// getProperty(user, "email"); // ❌ Compile error — "email" not in keyof
|
|
61
62
|
|
|
62
63
|
// ✅ Default generic parameters
|
|
@@ -64,7 +65,7 @@ function createState<T = string>(initial: T): { value: T; set: (v: T) => void }
|
|
|
64
65
|
let value = initial;
|
|
65
66
|
return {
|
|
66
67
|
value,
|
|
67
|
-
set:
|
|
68
|
+
set: v => {
|
|
68
69
|
value = v;
|
|
69
70
|
},
|
|
70
71
|
};
|
|
@@ -119,7 +120,7 @@ function renderUser(state: RequestState<User>) {
|
|
|
119
120
|
// ✅ Type-level if/else
|
|
120
121
|
type IsString<T> = T extends string ? true : false;
|
|
121
122
|
|
|
122
|
-
type A = IsString<
|
|
123
|
+
type A = IsString<'hello'>; // true
|
|
123
124
|
type B = IsString<42>; // false
|
|
124
125
|
|
|
125
126
|
// ✅ Extract return type of async functions
|
|
@@ -184,21 +185,25 @@ type OnlyStrings = StringKeys<{ name: string; age: number; email: string }>;
|
|
|
184
185
|
|
|
185
186
|
```typescript
|
|
186
187
|
// ✅ Type-safe string patterns
|
|
187
|
-
type HTTPMethod =
|
|
188
|
+
type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
188
189
|
type APIRoute = `/api/${string}`;
|
|
189
190
|
type EventName = `on${Capitalize<string>}`;
|
|
190
191
|
|
|
191
192
|
// ✅ Practical: CSS unit types
|
|
192
|
-
type CSSUnit =
|
|
193
|
+
type CSSUnit = 'px' | 'rem' | 'em' | 'vh' | 'vw' | '%';
|
|
193
194
|
type CSSValue = `${number}${CSSUnit}`;
|
|
194
195
|
|
|
195
|
-
const width: CSSValue =
|
|
196
|
+
const width: CSSValue = '100px'; // ✅
|
|
196
197
|
// const bad: CSSValue = "100"; // ❌ Compile error
|
|
197
198
|
|
|
198
199
|
// ✅ Route parameter extraction
|
|
199
|
-
type ExtractParams<T extends string> = T extends `${string}:${infer Param}/${infer Rest}`
|
|
200
|
+
type ExtractParams<T extends string> = T extends `${string}:${infer Param}/${infer Rest}`
|
|
201
|
+
? Param | ExtractParams<Rest>
|
|
202
|
+
: T extends `${string}:${infer Param}`
|
|
203
|
+
? Param
|
|
204
|
+
: never;
|
|
200
205
|
|
|
201
|
-
type UserRouteParams = ExtractParams<
|
|
206
|
+
type UserRouteParams = ExtractParams<'/users/:userId/posts/:postId'>;
|
|
202
207
|
// → "userId" | "postId"
|
|
203
208
|
```
|
|
204
209
|
|
|
@@ -213,16 +218,16 @@ type ColorMap = Record<string, [number, number, number] | string>;
|
|
|
213
218
|
// With `as` — loses specificity
|
|
214
219
|
const colorsAs = {
|
|
215
220
|
red: [255, 0, 0],
|
|
216
|
-
green:
|
|
221
|
+
green: '#00ff00',
|
|
217
222
|
} as ColorMap;
|
|
218
|
-
colorsAs.red.map(
|
|
223
|
+
colorsAs.red.map(x => x); // ❌ Error: string | number[] has no .map
|
|
219
224
|
|
|
220
225
|
// With `satisfies` — keeps literal types
|
|
221
226
|
const colors = {
|
|
222
227
|
red: [255, 0, 0],
|
|
223
|
-
green:
|
|
228
|
+
green: '#00ff00',
|
|
224
229
|
} satisfies ColorMap;
|
|
225
|
-
colors.red.map(
|
|
230
|
+
colors.red.map(x => x); // ✅ TypeScript knows it's a tuple
|
|
226
231
|
colors.green.toUpperCase(); // ✅ TypeScript knows it's a string
|
|
227
232
|
```
|
|
228
233
|
|
|
@@ -292,11 +297,11 @@ Awaited<T>; // Unwrap Promise<T> recursively
|
|
|
292
297
|
|
|
293
298
|
```typescript
|
|
294
299
|
// ❌ BAD: Non-null assertion
|
|
295
|
-
const element = document.getElementById(
|
|
300
|
+
const element = document.getElementById('app')!;
|
|
296
301
|
|
|
297
302
|
// ✅ GOOD: Narrowing
|
|
298
|
-
const element = document.getElementById(
|
|
299
|
-
if (!element) throw new Error(
|
|
303
|
+
const element = document.getElementById('app');
|
|
304
|
+
if (!element) throw new Error('Missing #app element');
|
|
300
305
|
// element is now guaranteed non-null
|
|
301
306
|
```
|
|
302
307
|
|
|
@@ -20,6 +20,7 @@ scripts-binding:
|
|
|
20
20
|
## Mandatory Pre-Flight Context Inspection
|
|
21
21
|
|
|
22
22
|
Before refining typography scales or text styles, you MUST inspect:
|
|
23
|
+
|
|
23
24
|
1. `DESIGN.md` / `index.css` → Verify typography scale variables, font families, and OpenType settings
|
|
24
25
|
2. Optical Tracking & Line-Height Cadence (Section 24) → Enforce `1.1` line-height for display headings, `1.5` for body text, and `-0.03em` tracking
|
|
25
26
|
3. Modern Text Wrapping (Section 36) → Apply `text-wrap: balance` to headings and limit paragraph line width to `65ch`
|
|
@@ -31,7 +32,9 @@ Architect disciplined, optically balanced typography systems across web componen
|
|
|
31
32
|
## 4 Typography Rules
|
|
32
33
|
|
|
33
34
|
### 1. Typographic Scale & Line-Height Cadence
|
|
35
|
+
|
|
34
36
|
Use a modular scale (e.g. Major Third 1.25 or Perfect Fourth 1.333):
|
|
37
|
+
|
|
35
38
|
- **Display 1**: `3.5rem` / Line-height `1.1` / Tracking `-0.03em`
|
|
36
39
|
- **H1**: `2.25rem` / Line-height `1.15` / Tracking `-0.025em`
|
|
37
40
|
- **H2**: `1.75rem` / Line-height `1.2` / Tracking `-0.02em`
|
|
@@ -39,20 +42,26 @@ Use a modular scale (e.g. Major Third 1.25 or Perfect Fourth 1.333):
|
|
|
39
42
|
- **Caption**: `0.75rem` / Line-height `1.4` / Tracking `+0.01em`
|
|
40
43
|
|
|
41
44
|
### 2. Optical Tracking Formula
|
|
45
|
+
|
|
42
46
|
Larger font sizes require tighter negative letter-spacing; smaller caption sizes require positive letter-spacing:
|
|
43
47
|
$$\text{Tracking}(\text{px}) \propto -\log(\text{FontSize})$$
|
|
44
48
|
|
|
45
49
|
### 3. Modern Text Wrapping
|
|
50
|
+
|
|
46
51
|
- Headings: `text-wrap: balance` (prevents visual orphans).
|
|
47
52
|
- Body Paragraphs: `text-wrap: pretty` (prevents trailing single-word last lines).
|
|
48
53
|
- Max Width: Limit body paragraphs to `65ch` for comfortable reading lines.
|
|
49
54
|
|
|
50
55
|
### 4. Tabular & OpenType Features
|
|
56
|
+
|
|
51
57
|
- Enable tabular figures for numbers in statistics, prices, and tables:
|
|
58
|
+
|
|
52
59
|
```css
|
|
53
60
|
.numeric-data {
|
|
54
61
|
font-variant-numeric: tabular-nums lining-nums;
|
|
55
|
-
font-feature-settings:
|
|
62
|
+
font-feature-settings:
|
|
63
|
+
'tnum' 1,
|
|
64
|
+
'lnum' 1;
|
|
56
65
|
}
|
|
57
66
|
```
|
|
58
67
|
|
|
@@ -21,6 +21,7 @@ scripts-binding:
|
|
|
21
21
|
## Mandatory Pre-Flight Context Inspection
|
|
22
22
|
|
|
23
23
|
Before generating UI component code, you MUST inspect:
|
|
24
|
+
|
|
24
25
|
1. `DESIGN.md` / `package.json` → Identify visual style direction, color token specifications, and UI dependencies
|
|
25
26
|
2. The 16-Step Reasoning Pipeline (Section 1) → Execute intent classification, accessibility constraints, and platform layout rules
|
|
26
27
|
3. Target viewport & input mode → Check desktop vs mobile touch bounds (minimum 44x44px for coarse pointers)
|
|
@@ -36,84 +37,100 @@ User Intent ↓ Product Classification ↓ User Classification ↓ Primary User
|
|
|
36
37
|
```
|
|
37
38
|
|
|
38
39
|
### 1. User Intent
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
|
|
41
|
+
- **Input:** User prompt description.
|
|
42
|
+
- **Analysis:** Analyze what the user is _actually_ trying to accomplish.
|
|
43
|
+
- **Result:** Is this an analytical task (comparing figures), an operational task (inputting records), a navigational task (getting to another screen), or an emotional/brand task (purchasing, onboarding)?
|
|
42
44
|
|
|
43
45
|
### 2. Product Classification
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
|
|
47
|
+
- **Input:** Chosen intent.
|
|
48
|
+
- **Analysis:** Categorize the product to choose the correct heuristic pack (see `product-aware-heuristics` skill).
|
|
49
|
+
- **Result:** SaaS, Developer Tool, Analytics Dashboard, Luxury/Marketing, AI Interface, Healthcare, Fintech, E-commerce, or Experimental.
|
|
47
50
|
|
|
48
51
|
### 3. User Classification
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
|
|
53
|
+
- **Input:** Product category.
|
|
54
|
+
- **Analysis:** Identify the target audience's demographics and expertise.
|
|
55
|
+
- **Result:** Is the user an expert operator (requires high density, shortcuts, speed), a casual consumer (requires clarity, onboarding, simplicity), or someone with temporary/permanent accessibility challenges?
|
|
52
56
|
|
|
53
57
|
### 4. Primary User Goals
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
|
|
59
|
+
- **Input:** User classification.
|
|
60
|
+
- **Analysis:** List the 3 most frequent tasks the user will perform on this screen.
|
|
61
|
+
- **Result:** How do we make the primary task take the least physical and cognitive effort (Fitts's Law)?
|
|
57
62
|
|
|
58
63
|
### 5. Task Frequency & Pace
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
|
|
65
|
+
- **Input:** Primary user goals.
|
|
66
|
+
- **Analysis:** Determine whether this is a high-frequency daily tool (e.g., terminal, text editor) or a low-frequency workflow (e.g., onboarding, checkout).
|
|
67
|
+
- **Result:** High frequency demands extreme speed, efficiency, and keyboard workflows. Low frequency demands validation, guardrails, and instructional microcopy.
|
|
62
68
|
|
|
63
69
|
### 6. Information Architecture (IA)
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
|
|
71
|
+
- **Input:** Spacing guidelines.
|
|
72
|
+
- **Analysis:** Map the relationships between data fields and screen areas.
|
|
73
|
+
- **Result:** Group related data items together using Gestalt principles of proximity and common region. Do not separate related data with arbitrary containers.
|
|
67
74
|
|
|
68
75
|
### 7. Interaction Model
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
|
|
77
|
+
- **Input:** IA relationships.
|
|
78
|
+
- **Analysis:** Define how users navigate, filter, and modify data.
|
|
79
|
+
- **Result:** Are we using modal dialogs, slide-out drawers, inline disclosures, tabs, or split-screen panels? Choose based on cognitive load and screen size.
|
|
72
80
|
|
|
73
81
|
### 8. Content Hierarchy
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
82
|
+
|
|
83
|
+
- **Input:** Interaction model.
|
|
84
|
+
- **Analysis:** Rank items by visual weight.
|
|
85
|
+
- **Result:** The eye must see the most important element first (Primary Action / Primary Figure), followed by secondary details, then supporting metadata.
|
|
77
86
|
|
|
78
87
|
### 9. Platform Constraints
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
|
|
89
|
+
- **Input:** Content hierarchy.
|
|
90
|
+
- **Analysis:** Identify the target environment.
|
|
91
|
+
- **Result:** Desktop (mouse precision, wide viewport), Mobile (coarse pointer, bottom action zone), or Cross-Platform.
|
|
82
92
|
|
|
83
93
|
### 10. Visual Direction & Mood
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
94
|
+
|
|
95
|
+
- **Input:** Platform constraints.
|
|
96
|
+
- **Analysis:** Select a distinctive theme that matches the product purpose (from `DESIGN.md`).
|
|
97
|
+
- **Result:** Swiss Precision, Brutalist, Dark Luxury, Editorial, Neo-Glassmorphism, Soft Minimal, Retro Analog, or Neon Cyberpunk.
|
|
87
98
|
|
|
88
99
|
### 11. Design System Selection
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
100
|
+
|
|
101
|
+
- **Input:** Visual Direction.
|
|
102
|
+
- **Analysis:** Match colors, radius, and shadows to the Visual Direction.
|
|
103
|
+
- **Result:** Never use raw hex colors. Use OKLCH semantic variables (`--bg-surface`, `--color-primary`, `--border-subtle`).
|
|
92
104
|
|
|
93
105
|
### 12. Component Architecture
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
106
|
+
|
|
107
|
+
- **Input:** Design system.
|
|
108
|
+
- **Analysis:** Decompose the UI into primitives (headless buttons, fields), components (cards, forms), and patterns (dashboards, headers).
|
|
109
|
+
- **Result:** Prevent duplication. Reuse existing UI tokens and patterns.
|
|
97
110
|
|
|
98
111
|
### 13. Responsive Strategy
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
112
|
+
|
|
113
|
+
- **Input:** Component list.
|
|
114
|
+
- **Analysis:** Plan reflow, resizing, and pointer changes.
|
|
115
|
+
- **Result:** Avoid scaling down desktop interfaces. Reorganize layouts using container queries (`@container`) and CSS clamp functions.
|
|
102
116
|
|
|
103
117
|
### 14. Accessibility (A11y) Strategy
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
118
|
+
|
|
119
|
+
- **Input:** Responsive plan.
|
|
120
|
+
- **Analysis:** Verify contrast, keyboard paths, and ARIA labels.
|
|
121
|
+
- **Result:** Verify target sizes are at least 24px (standard AA) and preferably 44px (touch). Contrast must meet APCA Lc ratios.
|
|
107
122
|
|
|
108
123
|
### 15. Motion Strategy
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
124
|
+
|
|
125
|
+
- **Input:** Accessibility strategy.
|
|
126
|
+
- **Analysis:** Define transitions and state changes.
|
|
127
|
+
- **Result:** Ensure all animations serve a purpose (feedback, orientation, or progression) and respect `prefers-reduced-motion`.
|
|
112
128
|
|
|
113
129
|
### 16. Implementation
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
130
|
+
|
|
131
|
+
- **Input:** All prior steps trace.
|
|
132
|
+
- **Analysis:** Generate the actual semantic markup, CSS custom properties, and logic.
|
|
133
|
+
- **Result:** Output code block.
|
|
117
134
|
|
|
118
135
|
---
|
|
119
136
|
|
|
@@ -146,9 +163,11 @@ When building any UI, the Maker Agent must document this reasoning loop before r
|
|
|
146
163
|
---
|
|
147
164
|
|
|
148
165
|
## Pre-Flight Checklist
|
|
166
|
+
|
|
149
167
|
- [ ] Have I executed the 16-step UI Reasoning Loop?
|
|
150
168
|
- [ ] Have I identified the target Product Category and Visual Direction?
|
|
151
169
|
- [ ] Have I verified touch targets are 24px minimum (and 44px+ for coarse pointers)?
|
|
152
170
|
|
|
153
171
|
## VBC Protocol (Verification-Before-Completion)
|
|
172
|
+
|
|
154
173
|
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
@@ -22,6 +22,7 @@ scripts-binding:
|
|
|
22
22
|
## Mandatory Pre-Flight Context Inspection
|
|
23
23
|
|
|
24
24
|
Before generating UI code, you MUST inspect:
|
|
25
|
+
|
|
25
26
|
1. `package.json` / `tailwind.config.ts` / `index.css` → Check UI stack (Tailwind v4, Vanilla CSS, OKLCH, Framer Motion)
|
|
26
27
|
2. `DESIGN.md` / color token definitions → Verify palette rules and dark mode contrast variables
|
|
27
28
|
3. Active UI component target → Assign Pack 1 (Core UI), Pack 2 (System Micro-Interactions), or Pack 3 (Immersive Landing)
|
|
@@ -31,16 +32,19 @@ Before generating UI code, you MUST inspect:
|
|
|
31
32
|
When generating UI code, the agent MUST load the appropriate UI Skill Pack based on the complexity level of the requested interface:
|
|
32
33
|
|
|
33
34
|
### Pack 1: Core UI Craft (Standard Components & Forms)
|
|
35
|
+
|
|
34
36
|
- **Skills Included:** `taste-skill`, `better-ui`, `better-colors`, `typeset`, `build-primitive`
|
|
35
37
|
- **Use For:** Buttons, cards, form controls, modals, tables, simple dashboards.
|
|
36
38
|
- **Enforces:** OKLCH colors, 8pt spacing grid, fluid typography, explicit interactive states.
|
|
37
39
|
|
|
38
40
|
### Pack 2: System & Micro-Interactions (Dynamic Web Apps)
|
|
41
|
+
|
|
39
42
|
- **Skills Included:** `impeccable`, `micro-interaction`, `framer-motion-expert`, `transitions-dev`, `delight`
|
|
40
43
|
- **Use For:** Interactive web apps, complex dashboards, multi-step flows, animated components.
|
|
41
44
|
- **Enforces:** Micro-animations, spring easings, tactile click/hover feedback, clean state transitions.
|
|
42
45
|
|
|
43
46
|
### Pack 3: High-End Immersive & Landing (Full Page / Showcase)
|
|
47
|
+
|
|
44
48
|
- **Skills Included:** `gpt-taste`, `swiss-design`, `compact-landing`, `masked-reveal`, `marquee-loop`, `progressive-blur`
|
|
45
49
|
- **Use For:** Landing pages, hero sections, marketing sites, showcase portfolios.
|
|
46
50
|
- **Enforces:** Typographic hierarchy, asymmetric visual rhythm, noise grain overlays, luminous borders.
|
|
@@ -61,6 +65,7 @@ Binding skills: taste-skill, better-colors, micro-interaction, impeccable...
|
|
|
61
65
|
## Pre-Flight Checklist
|
|
62
66
|
|
|
63
67
|
Before generating UI component code:
|
|
68
|
+
|
|
64
69
|
1. Verify target framework (React, Next.js, Vue, Svelte) and styling system (CSS Modules, Tailwind, OKLCH CSS).
|
|
65
70
|
2. Select appropriate UI Skill Pack (Pack 1, Pack 2, or Pack 3).
|
|
66
71
|
3. Ensure color variables use OKLCH color space for accessible contrast ratios.
|
|
@@ -71,7 +76,7 @@ Before generating UI component code:
|
|
|
71
76
|
## VBC Protocol
|
|
72
77
|
|
|
73
78
|
Visual Balance & Contrast Protocol:
|
|
79
|
+
|
|
74
80
|
1. **Contrast Ratio**: Enforce WCAG 2.2 AA (4.5:1 text, 3:1 graphical elements).
|
|
75
81
|
2. **Typography Cadence**: Enforce strict fluid font sizing and line-height cadence.
|
|
76
82
|
3. **Motion Hygiene**: Respect `prefers-reduced-motion` media queries on all animations.
|
|
77
|
-
|
|
@@ -22,6 +22,7 @@ scripts-binding:
|
|
|
22
22
|
## Mandatory Pre-Flight Context Inspection
|
|
23
23
|
|
|
24
24
|
Before routing UI requests, you MUST inspect:
|
|
25
|
+
|
|
25
26
|
1. `package.json` / `DESIGN.md` → Identify tech stack (React, Next.js, Vue, Tailwind, CSS) and visual design language
|
|
26
27
|
2. Intent Routing Matrix (Section 2) → Select maximum 2-3 precise skills matching the user's primary UI goal
|
|
27
28
|
3. Skill pack bindings (`ui-skill-packs`) → Use consolidated packs for multi-component frontend builds
|
|
@@ -34,44 +35,44 @@ The master decision engine for routing user UI requests to the precise set of de
|
|
|
34
35
|
|
|
35
36
|
When a user asks for UI assistance, identify their core **intent** and dispatch the appropriate skills:
|
|
36
37
|
|
|
37
|
-
| Intent / Goal
|
|
38
|
-
|
|
|
39
|
-
| **Fast cleanup of ugly/cluttered UI**
|
|
40
|
-
| **Production-grade design engineering & micro-details** | `better-ui`
|
|
41
|
-
| **Extract design language & create DESIGN.md**
|
|
42
|
-
| **Audit & fix HTML / ARIA accessibility (WCAG)**
|
|
43
|
-
| **Fix animation jank & 60/120fps performance**
|
|
44
|
-
| **Evidence-based UI audit & implementation planning**
|
|
45
|
-
| **OKLCH color system, contrast & P3 gamut**
|
|
46
|
-
| **Web typography, font scales, tabular numbers**
|
|
47
|
-
| **Apple-grade fluid springs, translucency & depth**
|
|
48
|
-
| **Make a bland UI stand out / add punch**
|
|
49
|
-
| **Tone down noisy or loud designs**
|
|
50
|
-
| **Simplify complex / cluttered interface**
|
|
51
|
-
| **Add subtle micro-interactions & delight**
|
|
52
|
-
| **Final pre-ship quality & alignment pass**
|
|
53
|
-
| **Make UI resilient (errors, empty states, i18n)**
|
|
54
|
-
| **UX evaluation & scoring**
|
|
55
|
-
| **Improve microcopy & messaging clarity**
|
|
56
|
-
| **Pre-code feature UX planning**
|
|
57
|
-
| **Build unstyled accessible UI primitives**
|
|
58
|
-
| **Responsive & container-query adaptation**
|
|
59
|
-
| **Depth, progressive blur, glassmorphism**
|
|
60
|
-
| **60fps animation performance audit**
|
|
61
|
-
| **Tiered reduced-motion (a11y)**
|
|
62
|
-
| **Page & route transitions (View Transitions)**
|
|
63
|
-
| **Scroll-driven motion & storytelling**
|
|
64
|
-
| **Cohesive animation token system**
|
|
65
|
-
| **Lottie & dotLottie vector animations**
|
|
66
|
-
| **SVG path morphing & stroke draw-on**
|
|
67
|
-
| **Hardware-accelerated marquees**
|
|
68
|
-
| **Spring physics vs easing decision**
|
|
69
|
-
| **Tactile Web Audio API sound feedback**
|
|
70
|
-
| **Technical SEO, metadata & OpenGraph**
|
|
71
|
-
| **Lighthouse quality audit**
|
|
72
|
-
| **Landing page hierarchy & conversion**
|
|
73
|
-
| **Pricing tables & comparison matrices**
|
|
74
|
-
| **Social proof, logo grids, trust rows**
|
|
38
|
+
| Intent / Goal | Primary Skill | Secondary / Supporting Skills |
|
|
39
|
+
| ------------------------------------------------------- | ---------------------------- | -------------------------------------------- |
|
|
40
|
+
| **Fast cleanup of ugly/cluttered UI** | `baseline-ui` | `better-ui`, `polish` |
|
|
41
|
+
| **Production-grade design engineering & micro-details** | `better-ui` | `impeccable`, `frontend-design` |
|
|
42
|
+
| **Extract design language & create DESIGN.md** | `create-design-md` | `extract-design-system`, `frontend-design` |
|
|
43
|
+
| **Audit & fix HTML / ARIA accessibility (WCAG)** | `fixing-accessibility` | `audit-and-fix`, `web-accessibility-auditor` |
|
|
44
|
+
| **Fix animation jank & 60/120fps performance** | `fixing-motion-performance` | `60fps-animation`, `gsap-performance` |
|
|
45
|
+
| **Evidence-based UI audit & implementation planning** | `improve-ui` | `better-ui`, `baseline-ui` |
|
|
46
|
+
| **OKLCH color system, contrast & P3 gamut** | `better-colors` | `colorize`, `better-ui` |
|
|
47
|
+
| **Web typography, font scales, tabular numbers** | `better-typography` | `typeset`, `better-ui` |
|
|
48
|
+
| **Apple-grade fluid springs, translucency & depth** | `apple-design` | `emil-design-eng`, `soft-skill` |
|
|
49
|
+
| **Make a bland UI stand out / add punch** | `bolder` | `delight`, `colorize` |
|
|
50
|
+
| **Tone down noisy or loud designs** | `quieter` | `distill`, `swiss-design` |
|
|
51
|
+
| **Simplify complex / cluttered interface** | `distill` | `clarify`, `quieter` |
|
|
52
|
+
| **Add subtle micro-interactions & delight** | `delight` | `whimsy-injector`, `micro-interaction` |
|
|
53
|
+
| **Final pre-ship quality & alignment pass** | `polish` | `harden`, `fixing-accessibility` |
|
|
54
|
+
| **Make UI resilient (errors, empty states, i18n)** | `harden` | `web-accessibility-auditor` |
|
|
55
|
+
| **UX evaluation & scoring** | `critique` | `ui-ux-researcher` |
|
|
56
|
+
| **Improve microcopy & messaging clarity** | `clarify` | `shape` |
|
|
57
|
+
| **Pre-code feature UX planning** | `shape` | `brainstorming`, `appflow-wireframe` |
|
|
58
|
+
| **Build unstyled accessible UI primitives** | `build-primitive` | `fixing-accessibility` |
|
|
59
|
+
| **Responsive & container-query adaptation** | `adapt` | `mobile-design` |
|
|
60
|
+
| **Depth, progressive blur, glassmorphism** | `progressive-blur` | `beautiful-shadows` |
|
|
61
|
+
| **60fps animation performance audit** | `60fps-animation` | `fixing-motion-performance` |
|
|
62
|
+
| **Tiered reduced-motion (a11y)** | `accessible-animation` | `fixing-accessibility` |
|
|
63
|
+
| **Page & route transitions (View Transitions)** | `page-transition-animation` | `framer-motion-expert` |
|
|
64
|
+
| **Scroll-driven motion & storytelling** | `animation-on-scroll` | `gsap-scrolltrigger` |
|
|
65
|
+
| **Cohesive animation token system** | `animation-systems` | `motion-engineering` |
|
|
66
|
+
| **Lottie & dotLottie vector animations** | `lottie-animation` | `text-to-lottie` |
|
|
67
|
+
| **SVG path morphing & stroke draw-on** | `svg-animation` | `morphing-icons` |
|
|
68
|
+
| **Hardware-accelerated marquees** | `marquee-loop` | `60fps-animation` |
|
|
69
|
+
| **Spring physics vs easing decision** | `to-spring-or-not-to-spring` | `apple-design` |
|
|
70
|
+
| **Tactile Web Audio API sound feedback** | `sounds-on-the-web` | `delight` |
|
|
71
|
+
| **Technical SEO, metadata & OpenGraph** | `fixing-metadata` | `web-quality-audit` |
|
|
72
|
+
| **Lighthouse quality audit** | `web-quality-audit` | `performance-profiling` |
|
|
73
|
+
| **Landing page hierarchy & conversion** | `landing-page` | `compact-landing` |
|
|
74
|
+
| **Pricing tables & comparison matrices** | `pricing-page` | `frontend-design` |
|
|
75
|
+
| **Social proof, logo grids, trust rows** | `company-logos` | `baseline-ui` |
|
|
75
76
|
|
|
76
77
|
---
|
|
77
78
|
|
|
@@ -21,41 +21,44 @@ scripts-binding:
|
|
|
21
21
|
## Mandatory Pre-Flight Context Inspection
|
|
22
22
|
|
|
23
23
|
Before generating UI designs or front-end components, you MUST inspect:
|
|
24
|
+
|
|
24
25
|
1. Rejection Guardrails (Section 17) → Ban primary purple gradients (`from-purple-600`), Inter/Roboto defaults, left-text/right-image hero layouts, and mesh gradients
|
|
25
26
|
2. OKLCH Display-P3 Color Science (Section 29) → Use OKLCH variables with chroma `0.20`–`0.28` for accents and stepped neutral contrast (`0.04` Lightness increments)
|
|
26
27
|
3. Fluid Typographic Scaling (Section 51) → Apply `clamp()` sizes, tight negative tracking (`-0.04em`), and `text-wrap: balance` on headings
|
|
27
28
|
|
|
28
|
-
This skill transforms AI-generated interfaces from generic "AI templates" into portfolio-grade, human-crafted interfaces by running intent analysis
|
|
29
|
+
This skill transforms AI-generated interfaces from generic "AI templates" into portfolio-grade, human-crafted interfaces by running intent analysis _before_ layout and styling.
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
32
33
|
## 🚨 Design Governance Guardrails (REJECTION Rules)
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
- ❌ **Primary Purple Accents:** Banned. Use electric blue, signal orange, coral, warm slate, or natural sage.
|
|
36
|
+
- ❌ **Inter/Roboto Defaults:** Banned. Display titles must use characterful display fonts; body text uses readable body options.
|
|
37
|
+
- ❌ **Left Text/Right Image Hero:** Banned. Use full-bleed, asymmetric overlap, or typographical layouts.
|
|
38
|
+
- ❌ **Radial Mesh Backgrounds:** Banned. Use ambient grain overlay, solid high-contrast depth, or radial tinting.
|
|
39
|
+
- ❌ **Bento Box Grid Overuse:** Banned. Break the grid intentionally for visual interest.
|
|
40
|
+
- ❌ **Flat Glassmorphic Panels:** Banned. Translucency should only be used as a rare overlay, not for main containers.
|
|
41
|
+
- ❌ **No States Feedback:** Banned. Every control must have styled states (Hover, Focus-visible, Active, Disabled).
|
|
41
42
|
|
|
42
43
|
---
|
|
43
44
|
|
|
44
45
|
## 1. Color Gamuts & Display-P3 Color Science
|
|
45
46
|
|
|
46
47
|
Use dynamic OKLCH variables to access the wider Display-P3 color spectrum for stunning vibrancy. Perceptually uniform lightness ensures stable contrast:
|
|
48
|
+
|
|
47
49
|
```css
|
|
48
50
|
:root {
|
|
49
51
|
/* oklch(Lightness Chroma Hue / Alpha) */
|
|
50
|
-
--color-primary: oklch(65% 0.22 250);
|
|
52
|
+
--color-primary: oklch(65% 0.22 250); /* Brand electric blue */
|
|
51
53
|
--color-primary-hover: oklch(58% 0.22 250); /* Darker active state */
|
|
52
|
-
--bg-base: oklch(0.08 0.005 250);
|
|
53
|
-
--bg-surface: oklch(0.12 0.008 250);
|
|
54
|
+
--bg-base: oklch(0.08 0.005 250); /* OLED base background */
|
|
55
|
+
--bg-surface: oklch(0.12 0.008 250); /* Stepped card surface */
|
|
54
56
|
--border-subtle: oklch(22% 0.01 250 / 0.4); /* Hairline separator */
|
|
55
57
|
}
|
|
56
58
|
```
|
|
57
59
|
|
|
58
60
|
### Color Gamut Guidelines
|
|
61
|
+
|
|
59
62
|
- **Display-P3 Saturated Accents:** When targeting high-end modern screens, use chroma values between `0.20` and `0.28`.
|
|
60
63
|
- **Stepped Neutral Contrast:** Stepped neutral surfaces must increase by `0.04` Lightness increments (e.g., base `0.08` → surface `0.12` → raised `0.16` → overlay `0.20`) to create physical depth without color tint deviations.
|
|
61
64
|
|
|
@@ -65,31 +68,33 @@ Use dynamic OKLCH variables to access the wider Display-P3 color spectrum for st
|
|
|
65
68
|
|
|
66
69
|
Headings must use `clamp()` for fluid sizing and tight negative letter spacing (tracking) to prevent loose display layouts:
|
|
67
70
|
|
|
68
|
-
| Token
|
|
69
|
-
|
|
|
70
|
-
| `--text-hero` | `clamp(2.5rem, 6vw, 4.5rem)` | 800
|
|
71
|
-
| `--text-h1`
|
|
72
|
-
| `--text-h2`
|
|
73
|
-
| `--text-body` | `1rem`
|
|
74
|
-
| `--text-sm`
|
|
71
|
+
| Token | Clamp Value | Weight | Line Height | Tracking |
|
|
72
|
+
| :------------ | :--------------------------- | :----- | :---------- | :----------------- |
|
|
73
|
+
| `--text-hero` | `clamp(2.5rem, 6vw, 4.5rem)` | 800 | 0.95 | `-0.04em` (Tight) |
|
|
74
|
+
| `--text-h1` | `clamp(2.0rem, 4vw, 3.0rem)` | 700 | 1.05 | `-0.03em` |
|
|
75
|
+
| `--text-h2` | `clamp(1.5rem, 3vw, 2.0rem)` | 600 | 1.15 | `-0.02em` |
|
|
76
|
+
| `--text-body` | `1rem` | 400 | 1.60 | `0` (Normal) |
|
|
77
|
+
| `--text-sm` | `0.875rem` | 400 | 1.50 | `+0.005em` (Loose) |
|
|
75
78
|
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
- **BALANCED Headings:** Always declare `text-wrap: balance` on all dynamic title elements to prevent visual orphans.
|
|
80
|
+
- **Reading Measures:** Paragraph widths must be clamped to `65ch` max width (`max-width: 65ch`) to reduce cognitive scan overhead.
|
|
78
81
|
|
|
79
82
|
---
|
|
80
83
|
|
|
81
84
|
## 3. Depth Shadows & Layering Math
|
|
82
85
|
|
|
83
86
|
Flat shadows look cheap. Premium interfaces use physics-based multi-layered shadows to simulate light occlusion:
|
|
87
|
+
|
|
84
88
|
```css
|
|
85
89
|
/* Stepped ambient + key shadow coefficients */
|
|
86
90
|
.elevation-md {
|
|
87
|
-
box-shadow:
|
|
88
|
-
0 1px 2px oklch(0% 0 0 / 0.05),
|
|
89
|
-
0 4px 12px oklch(0% 0 0 / 0.08),
|
|
90
|
-
0 0 1px oklch(100% 0 0 / 0.12);
|
|
91
|
+
box-shadow:
|
|
92
|
+
0 1px 2px oklch(0% 0 0 / 0.05),
|
|
93
|
+
/* Ambient shadow */ 0 4px 12px oklch(0% 0 0 / 0.08),
|
|
94
|
+
/* Key shadow */ 0 0 1px oklch(100% 0 0 / 0.12); /* Hairline luminous stroke */
|
|
91
95
|
}
|
|
92
96
|
```
|
|
97
|
+
|
|
93
98
|
- In dark themes, shadows should drop in opacity and be accompanied by luminous hairlines (`border: 1px solid oklch(100% 0 0 / 0.08)`) instead of thick black shadows.
|
|
94
99
|
|
|
95
100
|
---
|
|
@@ -97,15 +102,18 @@ Flat shadows look cheap. Premium interfaces use physics-based multi-layered shad
|
|
|
97
102
|
## 4. Interaction States & Transitions
|
|
98
103
|
|
|
99
104
|
All buttons and active controls must define styled properties for:
|
|
100
|
-
|
|
101
|
-
|
|
105
|
+
|
|
106
|
+
- `hover`, `focus-visible`, `active`/`pressed`, and `disabled` states.
|
|
107
|
+
- Use spring easing curves: `cubic-bezier(0.34, 1.56, 0.64, 1)`.
|
|
102
108
|
|
|
103
109
|
---
|
|
104
110
|
|
|
105
111
|
## Pre-Flight Checklist
|
|
112
|
+
|
|
106
113
|
- [ ] Have I reviewed the user's specific constraints and requests?
|
|
107
114
|
- [ ] Have I checked the environment for relevant existing implementations?
|
|
108
115
|
- [ ] Have I verified the design passes the Anti-AI-Slop Checklist?
|
|
109
116
|
|
|
110
117
|
## VBC Protocol (Verification-Before-Completion)
|
|
118
|
+
|
|
111
119
|
You MUST verify existing code signatures and variables before attempting to modify or call them. No hallucination is permitted.
|
|
@@ -20,6 +20,7 @@ scripts-binding:
|
|
|
20
20
|
## Mandatory Pre-Flight Context Inspection
|
|
21
21
|
|
|
22
22
|
Before conducting UX audits or evaluating cognitive load heuristics, you MUST inspect:
|
|
23
|
+
|
|
23
24
|
1. P0 Safety & Accessibility Gates (Section 49) → Audit contrast ($\ge 4.5:1$), touch target sizes ($\ge 44\times 44\text{px}$), keyboard focus rings, and screen reader labels
|
|
24
25
|
2. Nielsen 10 Heuristics Alignment (Section 162) → Map all P1 findings explicitly to Nielsen heuristics (H1–H10)
|
|
25
26
|
3. Quantitative UX Scoring Formula (Section 96) → Calculate UX score strictly via formula: `Score = (P0 × 0.5) + (P1 × 0.3) + (P2 × 0.2)`
|