vibe-ui-suite 6.2.0 β 6.3.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/package.json +77 -77
- package/skills/conversion-copy-engine/SKILL.md +65 -65
- package/skills/ui-verifier/SKILL.md +130 -130
- package/skills/visual-chemistry-engine/SKILL.md +165 -165
- package/dist/cli.d.ts +0 -2
- package/dist/cli.js +0 -467
- package/dist/cli.mjs +0 -432
- package/dist/index.d.ts +0 -48
- package/dist/index.js +0 -245
- package/dist/index.mjs +0 -239
- package/dist/registry/components.d.ts +0 -12
- package/dist/registry/components.js +0 -995
- package/dist/registry/components.mjs +0 -992
- package/dist/tailwind.d.ts +0 -11
- package/dist/tailwind.js +0 -64
- package/dist/tailwind.mjs +0 -60
- package/dist/v4.css +0 -361
package/package.json
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "vibe-ui-suite",
|
|
3
|
-
"version": "6.
|
|
4
|
-
"description": "Deterministic design contracts, 11 visual paradigms, flagship component recipes, and WCAG AA evaluation gates for AI coding agents.",
|
|
5
|
-
"bin": {
|
|
6
|
-
"vibe-ui-suite": "./dist/cli.js",
|
|
7
|
-
"vibe-ui": "./dist/cli.js"
|
|
8
|
-
},
|
|
9
|
-
"main": "./dist/index.js",
|
|
10
|
-
"module": "./dist/index.mjs",
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"types": "./dist/index.d.ts",
|
|
15
|
-
"import": "./dist/index.mjs",
|
|
16
|
-
"require": "./dist/index.js"
|
|
17
|
-
},
|
|
18
|
-
"./tailwind": {
|
|
19
|
-
"types": "./dist/tailwind.d.ts",
|
|
20
|
-
"import": "./dist/tailwind.mjs",
|
|
21
|
-
"require": "./dist/tailwind.js"
|
|
22
|
-
},
|
|
23
|
-
"./v4": "./dist/v4.css",
|
|
24
|
-
"./v4.css": "./dist/v4.css",
|
|
25
|
-
"./registry": {
|
|
26
|
-
"types": "./dist/registry/components.d.ts",
|
|
27
|
-
"import": "./dist/registry/components.mjs",
|
|
28
|
-
"require": "./dist/registry/components.js"
|
|
29
|
-
},
|
|
30
|
-
"./registry/*": {
|
|
31
|
-
"types": "./dist/registry/*.d.ts",
|
|
32
|
-
"import": "./dist/registry/*.mjs",
|
|
33
|
-
"require": "./dist/registry/*.js"
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
"files": [
|
|
37
|
-
"dist",
|
|
38
|
-
"skills",
|
|
39
|
-
"README.md"
|
|
40
|
-
],
|
|
41
|
-
"scripts": {
|
|
42
|
-
"build": "node build.js"
|
|
43
|
-
},
|
|
44
|
-
"devDependencies": {
|
|
45
|
-
"@types/node": "^20.14.0",
|
|
46
|
-
"typescript": "^5.6.3"
|
|
47
|
-
},
|
|
48
|
-
"keywords": [
|
|
49
|
-
"vibe-ui",
|
|
50
|
-
"vibe-ui-suite",
|
|
51
|
-
"vibe-coding",
|
|
52
|
-
"design-tokens",
|
|
53
|
-
"oklch",
|
|
54
|
-
"tailwind",
|
|
55
|
-
"tailwindcss",
|
|
56
|
-
"ai-agents",
|
|
57
|
-
"cursor",
|
|
58
|
-
"cursorrules",
|
|
59
|
-
"windsurf",
|
|
60
|
-
"claude-code",
|
|
61
|
-
"antigravity",
|
|
62
|
-
"accessibility",
|
|
63
|
-
"wcag",
|
|
64
|
-
"anti-slop"
|
|
65
|
-
],
|
|
66
|
-
"author": "Omid Zaferi <https://github.com/omid-io>",
|
|
67
|
-
"license": "MIT",
|
|
68
|
-
"repository": {
|
|
69
|
-
"type": "git",
|
|
70
|
-
"url": "git+https://github.com/omid-io/vibe-ui-suite.git",
|
|
71
|
-
"directory": "packages/vibe-ui-suite"
|
|
72
|
-
},
|
|
73
|
-
"bugs": {
|
|
74
|
-
"url": "https://github.com/omid-io/vibe-ui-suite/issues"
|
|
75
|
-
},
|
|
76
|
-
"homepage": "https://omid-io.github.io/vibe-ui-suite/"
|
|
77
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "vibe-ui-suite",
|
|
3
|
+
"version": "6.3.0",
|
|
4
|
+
"description": "Deterministic design contracts, 11 visual paradigms, flagship component recipes, and WCAG AA evaluation gates for AI coding agents.",
|
|
5
|
+
"bin": {
|
|
6
|
+
"vibe-ui-suite": "./dist/cli.js",
|
|
7
|
+
"vibe-ui": "./dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"module": "./dist/index.mjs",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.mjs",
|
|
16
|
+
"require": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./tailwind": {
|
|
19
|
+
"types": "./dist/tailwind.d.ts",
|
|
20
|
+
"import": "./dist/tailwind.mjs",
|
|
21
|
+
"require": "./dist/tailwind.js"
|
|
22
|
+
},
|
|
23
|
+
"./v4": "./dist/v4.css",
|
|
24
|
+
"./v4.css": "./dist/v4.css",
|
|
25
|
+
"./registry": {
|
|
26
|
+
"types": "./dist/registry/components.d.ts",
|
|
27
|
+
"import": "./dist/registry/components.mjs",
|
|
28
|
+
"require": "./dist/registry/components.js"
|
|
29
|
+
},
|
|
30
|
+
"./registry/*": {
|
|
31
|
+
"types": "./dist/registry/*.d.ts",
|
|
32
|
+
"import": "./dist/registry/*.mjs",
|
|
33
|
+
"require": "./dist/registry/*.js"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"skills",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "node build.js"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/node": "^20.14.0",
|
|
46
|
+
"typescript": "^5.6.3"
|
|
47
|
+
},
|
|
48
|
+
"keywords": [
|
|
49
|
+
"vibe-ui",
|
|
50
|
+
"vibe-ui-suite",
|
|
51
|
+
"vibe-coding",
|
|
52
|
+
"design-tokens",
|
|
53
|
+
"oklch",
|
|
54
|
+
"tailwind",
|
|
55
|
+
"tailwindcss",
|
|
56
|
+
"ai-agents",
|
|
57
|
+
"cursor",
|
|
58
|
+
"cursorrules",
|
|
59
|
+
"windsurf",
|
|
60
|
+
"claude-code",
|
|
61
|
+
"antigravity",
|
|
62
|
+
"accessibility",
|
|
63
|
+
"wcag",
|
|
64
|
+
"anti-slop"
|
|
65
|
+
],
|
|
66
|
+
"author": "Omid Zaferi <https://github.com/omid-io>",
|
|
67
|
+
"license": "MIT",
|
|
68
|
+
"repository": {
|
|
69
|
+
"type": "git",
|
|
70
|
+
"url": "git+https://github.com/omid-io/vibe-ui-suite.git",
|
|
71
|
+
"directory": "packages/vibe-ui-suite"
|
|
72
|
+
},
|
|
73
|
+
"bugs": {
|
|
74
|
+
"url": "https://github.com/omid-io/vibe-ui-suite/issues"
|
|
75
|
+
},
|
|
76
|
+
"homepage": "https://omid-io.github.io/vibe-ui-suite/"
|
|
77
|
+
}
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: conversion-copy-engine
|
|
3
|
-
description: Strategic value copywriting, objection neutralization frameworks, and domain-calibrated narrative architecture with strict anti-dark-pattern compliance.
|
|
4
|
-
triggers: ["write copy", "conversion", "sales page", "persuasive", "CTA", "landing page copy", "a/b test copy", "cro copy"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# βοΈ Conversion Copy Engine & Strategic Value Architecture
|
|
8
|
-
|
|
9
|
-
## π― Purpose
|
|
10
|
-
The `conversion-copy-engine` transforms standard marketing filler into high-converting, domain-calibrated narrative architecture anchored in **Pillar 1: Deep Trend Research & World-Class Inspiration** (benchmarking premier SaaS and product copy from Linear, Stripe, Apple, Notion, and Framer). It applies behavioral clarity, objection neutralization, and transparent risk reversal to maximize conversion rates without resorting to manipulative tricks.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## π§© 1. Domain-Calibrated Copy Frameworks
|
|
15
|
-
|
|
16
|
-
Choose the narrative formula that matches the product category (avoid forcing acute pain/embarrassment onto professional tools):
|
|
17
|
-
|
|
18
|
-
| Product Domain | Primary Framework | Core Hook & Narrative Focus |
|
|
19
|
-
| :--- | :--- | :--- |
|
|
20
|
-
| **B2B SaaS / DevTools** | **JTBD + ROI + Friction Reduction** | Quantifiable efficiency gain, hours saved per sprint, zero workflow disruption. |
|
|
21
|
-
| **Luxury / High-Ticket** | **Status + Exclusivity + Craftsmanship** | Heritage, discerning taste, white-glove concierge, scarcity. |
|
|
22
|
-
| **Healthcare / Clinical** | **Trust + Clinical Evidence + Clarity** | Board certification, verified outcomes, transparent methodology, peace of mind. |
|
|
23
|
-
| **Consumer / Creator** | **Identity + Convenience + Desire** | Frictionless self-expression, lifestyle alignment, immediate gratification. |
|
|
24
|
-
| **Local Services / Trades** | **Proximity + Reliability + Fast Availability** | 24/7 dispatched response, upfront transparent pricing, licensed & insured guarantee. |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## β‘ 2. Universal Conversion Mechanics
|
|
29
|
-
|
|
30
|
-
### A. The Hero Headline Formula
|
|
31
|
-
$$\mathbf{\text{Hero Headline}} = [\text{Dream Outcome}] + [\text{Without Main Fear / Friction}] + [\text{Unique Mechanism / Timeframe}]$$
|
|
32
|
-
|
|
33
|
-
### B. PAS Framework (Problem - Agitation - Solution)
|
|
34
|
-
*Best for: Consumer, Health, High-Pain problem spaces.*
|
|
35
|
-
1. **Problem (Acute Friction):** State the persistent obstacle or wasted cost.
|
|
36
|
-
2. **Agitation (Cost of Inaction):** Highlight the compounding risk, missed opportunity, or frustration.
|
|
37
|
-
3. **Solution (Proprietary Mechanism):** Present the unique, credible vehicle that reliably resolves it.
|
|
38
|
-
|
|
39
|
-
### C. Objection Inversion Microcopy
|
|
40
|
-
Place risk-reversal microcopy directly below primary CTAs to dissolve hesitation at the point of action:
|
|
41
|
-
- *Β«No credit card required β’ 2-minute instant setup β’ Cancel anytimeΒ»*
|
|
42
|
-
- *Β«Transparent pricing β’ Free migration β’ Live 24/7 human supportΒ»*
|
|
43
|
-
- *Β«14-day free trial β’ No credit card required β’ Instant 2-minute setupΒ»*
|
|
44
|
-
|
|
45
|
-
### D. Direct Concierge Conversion Funnel
|
|
46
|
-
Move high-intent traffic into direct 1-on-1 conversations using context-aware, pre-filled deep links (WhatsApp, Telegram, or Live Chat).
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## π‘οΈ 3. Inviolable Anti-Dark-Pattern Policy
|
|
51
|
-
|
|
52
|
-
High conversion is built on radical trust, not deceptive manipulation:
|
|
53
|
-
1. **Zero Synthetic Social Proof:** Never fabricate customer testimonials, invent user avatars, or generate fake reviews.
|
|
54
|
-
2. **Zero Fake Scarcity or Urgency:** Never generate countdown timers that reset on page reload, or false stock counters ("Only 1 seat left!").
|
|
55
|
-
3. **Zero Unsubstantiated ROI Claims:** Never promise arbitrary financial multiples ("300% guaranteed ROI in 7 days") unless backed by verifiable customer case studies.
|
|
56
|
-
4. **Transparent Cancellation & Terms:** Clearly state trial periods, billing cadences, and cancellation rights.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## π 4. Multilingual & Persian Copy Protocol (Zero ZWNJ Standard)
|
|
61
|
-
|
|
62
|
-
When synthesizing Persian or bilingual conversion copy:
|
|
63
|
-
1. **Natural Standard Persian:** Write compelling, fluent copy using standard Persian with regular spaces exclusively.
|
|
64
|
-
2. **Absolute Prohibition of ZWNJ:** Never use the zero-width non-joiner (`\u200c` / half-space) in any headline, body text, or CTA label per User Global Rule 9. Standard spaces must be used exclusively (e.g., `Ψ«Ψ¨Ψͺ ΩΨ§Ω
Ψ³Ψ±ΫΨΉ`, `Ψ΄Ψ±ΩΨΉ Ψ±Ψ§ΫΪ―Ψ§Ω`, `ΩΎΨ΄ΨͺΫΨ¨Ψ§ΩΫ Ω
Ψ―Ψ§ΩΩ
`).
|
|
65
|
-
3. **On-Demand `<bdi>` Isolation:** Wrap Latin brand tokens, acronyms, and product terms inside `<bdi>` elements when embedded within Persian phrases to prevent bidirectional text reversals.
|
|
1
|
+
---
|
|
2
|
+
name: conversion-copy-engine
|
|
3
|
+
description: Strategic value copywriting, objection neutralization frameworks, and domain-calibrated narrative architecture with strict anti-dark-pattern compliance.
|
|
4
|
+
triggers: ["write copy", "conversion", "sales page", "persuasive", "CTA", "landing page copy", "a/b test copy", "cro copy"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# βοΈ Conversion Copy Engine & Strategic Value Architecture
|
|
8
|
+
|
|
9
|
+
## π― Purpose
|
|
10
|
+
The `conversion-copy-engine` transforms standard marketing filler into high-converting, domain-calibrated narrative architecture anchored in **Pillar 1: Deep Trend Research & World-Class Inspiration** (benchmarking premier SaaS and product copy from Linear, Stripe, Apple, Notion, and Framer). It applies behavioral clarity, objection neutralization, and transparent risk reversal to maximize conversion rates without resorting to manipulative tricks.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## π§© 1. Domain-Calibrated Copy Frameworks
|
|
15
|
+
|
|
16
|
+
Choose the narrative formula that matches the product category (avoid forcing acute pain/embarrassment onto professional tools):
|
|
17
|
+
|
|
18
|
+
| Product Domain | Primary Framework | Core Hook & Narrative Focus |
|
|
19
|
+
| :--- | :--- | :--- |
|
|
20
|
+
| **B2B SaaS / DevTools** | **JTBD + ROI + Friction Reduction** | Quantifiable efficiency gain, hours saved per sprint, zero workflow disruption. |
|
|
21
|
+
| **Luxury / High-Ticket** | **Status + Exclusivity + Craftsmanship** | Heritage, discerning taste, white-glove concierge, scarcity. |
|
|
22
|
+
| **Healthcare / Clinical** | **Trust + Clinical Evidence + Clarity** | Board certification, verified outcomes, transparent methodology, peace of mind. |
|
|
23
|
+
| **Consumer / Creator** | **Identity + Convenience + Desire** | Frictionless self-expression, lifestyle alignment, immediate gratification. |
|
|
24
|
+
| **Local Services / Trades** | **Proximity + Reliability + Fast Availability** | 24/7 dispatched response, upfront transparent pricing, licensed & insured guarantee. |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## β‘ 2. Universal Conversion Mechanics
|
|
29
|
+
|
|
30
|
+
### A. The Hero Headline Formula
|
|
31
|
+
$$\mathbf{\text{Hero Headline}} = [\text{Dream Outcome}] + [\text{Without Main Fear / Friction}] + [\text{Unique Mechanism / Timeframe}]$$
|
|
32
|
+
|
|
33
|
+
### B. PAS Framework (Problem - Agitation - Solution)
|
|
34
|
+
*Best for: Consumer, Health, High-Pain problem spaces.*
|
|
35
|
+
1. **Problem (Acute Friction):** State the persistent obstacle or wasted cost.
|
|
36
|
+
2. **Agitation (Cost of Inaction):** Highlight the compounding risk, missed opportunity, or frustration.
|
|
37
|
+
3. **Solution (Proprietary Mechanism):** Present the unique, credible vehicle that reliably resolves it.
|
|
38
|
+
|
|
39
|
+
### C. Objection Inversion Microcopy
|
|
40
|
+
Place risk-reversal microcopy directly below primary CTAs to dissolve hesitation at the point of action:
|
|
41
|
+
- *Β«No credit card required β’ 2-minute instant setup β’ Cancel anytimeΒ»*
|
|
42
|
+
- *Β«Transparent pricing β’ Free migration β’ Live 24/7 human supportΒ»*
|
|
43
|
+
- *Β«14-day free trial β’ No credit card required β’ Instant 2-minute setupΒ»*
|
|
44
|
+
|
|
45
|
+
### D. Direct Concierge Conversion Funnel
|
|
46
|
+
Move high-intent traffic into direct 1-on-1 conversations using context-aware, pre-filled deep links (WhatsApp, Telegram, or Live Chat).
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## π‘οΈ 3. Inviolable Anti-Dark-Pattern Policy
|
|
51
|
+
|
|
52
|
+
High conversion is built on radical trust, not deceptive manipulation:
|
|
53
|
+
1. **Zero Synthetic Social Proof:** Never fabricate customer testimonials, invent user avatars, or generate fake reviews.
|
|
54
|
+
2. **Zero Fake Scarcity or Urgency:** Never generate countdown timers that reset on page reload, or false stock counters ("Only 1 seat left!").
|
|
55
|
+
3. **Zero Unsubstantiated ROI Claims:** Never promise arbitrary financial multiples ("300% guaranteed ROI in 7 days") unless backed by verifiable customer case studies.
|
|
56
|
+
4. **Transparent Cancellation & Terms:** Clearly state trial periods, billing cadences, and cancellation rights.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## π 4. Multilingual & Persian Copy Protocol (Zero ZWNJ Standard)
|
|
61
|
+
|
|
62
|
+
When synthesizing Persian or bilingual conversion copy:
|
|
63
|
+
1. **Natural Standard Persian:** Write compelling, fluent copy using standard Persian with regular spaces exclusively.
|
|
64
|
+
2. **Absolute Prohibition of ZWNJ:** Never use the zero-width non-joiner (`\u200c` / half-space) in any headline, body text, or CTA label per User Global Rule 9. Standard spaces must be used exclusively (e.g., `Ψ«Ψ¨Ψͺ ΩΨ§Ω
Ψ³Ψ±ΫΨΉ`, `Ψ΄Ψ±ΩΨΉ Ψ±Ψ§ΫΪ―Ψ§Ω`, `ΩΎΨ΄ΨͺΫΨ¨Ψ§ΩΫ Ω
Ψ―Ψ§ΩΩ
`).
|
|
65
|
+
3. **On-Demand `<bdi>` Isolation:** Wrap Latin brand tokens, acronyms, and product terms inside `<bdi>` elements when embedded within Persian phrases to prevent bidirectional text reversals.
|
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ui-verifier
|
|
3
|
-
description: Complete 5-Pillar UI & Frontend Quality Verification Engine (WCAG AA Accessibility, Responsive Breakpoints, Anti-Slop Visual Architecture, Sub-Pixel rAF Motion Performance, and Semantic RTL/BiDi Resilience).
|
|
4
|
-
triggers: ["verify ui", "ui-verifier", "audit ui", "a11y check", "check design", "responsive audit", "ui inspection", "frontend audit", "design review"]
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# π UI-Verifier: 5-Pillar Frontend Quality & Verification Engine
|
|
8
|
-
|
|
9
|
-
## π― Purpose
|
|
10
|
-
The `ui-verifier` skill provides automated, rigorous quality gates for generated interfaces. It acts as an autonomous design auditor, ensuring that code synthesized by `vibe-ui-agent` (utilizing `visual-chemistry-engine` and `ui-kit`) meets international engineering, accessibility, and aesthetic standards.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## ποΈ The 5 Verification Pillars
|
|
15
|
-
|
|
16
|
-
Whenever asked to audit, verify, or review any web page, component, or frontend generation, execute this 5-stage inspection:
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
20
|
-
β π UI-VERIFIER PIPELINE β
|
|
21
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
22
|
-
β
|
|
23
|
-
βββΊ [1] Living Visual & Screenshot Inspection (Eyes on Render)
|
|
24
|
-
βββΊ [2] Responsive Multi-Device Integrity (375px / 768px / 1440px)
|
|
25
|
-
βββΊ [3] Accessibility & WCAG AA (Keyboard, ARIA, Reduced Motion)
|
|
26
|
-
βββΊ [4] Performance & Compositing Budget (Clean CSS, Vectors)
|
|
27
|
-
βββΊ [5] On-Demand RTL & BiDi Stability (Only when RTL requested)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
### Pillar 1: Living Visual & Screenshot Inspection (Playwright Multi-Viewport)
|
|
33
|
-
- **Measurement Method:** Execute automated headless Chromium rendering via `python scripts/screenshot_audit.py <file>` or `vibe_cli.py screenshot <file>`. Capture both **Desktop (1440px)** and **Mobile (390px)** viewports into `.test-artifacts/screenshots/`.
|
|
34
|
-
- **Vision Review:** Inspect captured PNGs directly (`view_file`) to audit whitespace cadence, optical balance, alignment, typographic contrast, and card boundaries.
|
|
35
|
-
- **Novelty & Anti-Slop Audit:** Audit visual chemistry against the 5 archetypes and verify the **Novelty Budget** (at least 2 of 6 structural dimensionsβhero composition, card geometry, background treatment, typography pairing, CTA style, lightingβdiffer from previous outputs to prevent template collapse). Verify real CDN photography from `skills/ui-kit/references/curated_unsplash_vault.md` rather than empty gray placeholder boxes.
|
|
36
|
-
|
|
37
|
-
### Pillar 2: Responsive Multi-Device Integrity
|
|
38
|
-
- **Measurement Method:** Verify CSS rules across 3 critical viewport widths.
|
|
39
|
-
- **Evidence Required:**
|
|
40
|
-
- **Mobile (375px/390px):** Zero horizontal scroll blowouts (`overflow-x: hidden` / flex wrapping confirmed). Touch targets conform to **WCAG 2.2 AA (min $24 \times 24\text{px}$)**, with **$44 \times 44\text{px}$ design best practice** recommended for primary mobile CTAs.
|
|
41
|
-
- **Tablet (768px):** Asymmetric Bento grids collapse gracefully into balanced 1-column or 2-column stacks.
|
|
42
|
-
- **Desktop (1440px+):** Max-width containers (`max-w-7xl` or equivalent) prevent awkward stretching.
|
|
43
|
-
|
|
44
|
-
### Pillar 3: Accessibility & WCAG 2.2 AA Compliance
|
|
45
|
-
- **Measurement Method:** Count interactive elements, check contrast, verify ARIA states.
|
|
46
|
-
- **Evidence Required:**
|
|
47
|
-
- **Semantic Controls:** $X/X$ clickables use `<button type="button">` or `<a href="...">` (zero `<div onclick>`).
|
|
48
|
-
- **Visible Focus Rings:** $X/X$ interactive elements feature `focus-visible:ring-2` with sufficient contrast.
|
|
49
|
-
- **State Semantics:** Dynamic disclosures, accordions, and sheets provide `aria-expanded` and `aria-controls`.
|
|
50
|
-
- **Color Contrast:** Sampled text nodes meet minimum $4.5:1$ contrast ratio against background tokens.
|
|
51
|
-
- **Functional Reduced Motion:** Non-essential decorative loops, parallax, and ambient meshes disabled via `@media (prefers-reduced-motion: reduce)`; functional state feedback transitions preserved with snappy durations ($\le 150\text{ms}$).
|
|
52
|
-
|
|
53
|
-
### Pillar 4: Performance & Rendering Compositing Budget
|
|
54
|
-
- **Measurement Method:** Count stacked blur layers, inspect SVG icons, verify animation drivers.
|
|
55
|
-
- **Evidence Required:**
|
|
56
|
-
- **Backdrop Blur Layers:** Detected active `backdrop-filter: blur(...)` elements (Threshold: $\le 5$ active layers simultaneously, reduced to $\le 2$ on mobile).
|
|
57
|
-
- **Zero Emojis:** Zero raw unicode emojis used as interface icons; verified inline SVG vector paths.
|
|
58
|
-
- **Frame Driver:** Continuous interactive elements (sliders, spring tilts) driven via `requestAnimationFrame`.
|
|
59
|
-
|
|
60
|
-
### Pillar 5: On-Demand RTL & BiDi Resilience (Applies to RTL/Bilingual Targets)
|
|
61
|
-
- **Activation Scope:** Evaluated exclusively on Persian/RTL interfaces or bilingual UIs with RTL support (`RTL.md`). For pure English interfaces, this pillar evaluates as N/A or passes without imposing RTL overhead.
|
|
62
|
-
- **Measurement Method:** Inspect bidirectional CSS logical properties, non-mirrored layout, and font independence.
|
|
63
|
-
- **Evidence Required:**
|
|
64
|
-
- **Zero Layout Mirroring:** Macro grid coordinates, traffic lights, and component columns physically locked in LTR coordinates.
|
|
65
|
-
- **Font Independence:** English copy retains default English fonts (Inter, Geist, sans-serif); Vazirmatn is scoped strictly to Persian characters.
|
|
66
|
-
- **BiDi Punctuation Isolation:** Mixed sentences with English terms (`Claude Code`, `Tailwind`, `API`) wrapped in `<bdi>` or styled with `unicode-bidi: isolate`.
|
|
67
|
-
- **Pure Monospace LTR:** Code blocks, CLI commands, telemetry digits, and URLs explicitly styled with `direction: ltr !important; text-align: left !important`.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## π Mandatory Output Scorecard Schema
|
|
72
|
-
|
|
73
|
-
When evaluating or generating any frontend code, `ui-verifier` outputs a structured evidence scorecard:
|
|
74
|
-
|
|
75
|
-
```text
|
|
76
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
77
|
-
β π UI-VERIFIER AUDIT SCORECARD β
|
|
78
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
|
|
79
|
-
β Overall Status: [ PASS | WARN | FAIL ] β
|
|
80
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
|
|
81
|
-
β 1. Living Visual & Screenshot Inspection (Playwright Multi-VP) β
|
|
82
|
-
β [PASS] Multi-Viewport PNG : 1440px & 390px screenshots viewedβ
|
|
83
|
-
β [PASS] Visual Hierarchy : Whitespace & typography balanced β
|
|
84
|
-
β [PASS] Novelty Budget : 3/6 structural dimensions unique β
|
|
85
|
-
β [PASS] Curated CDN Assets : Real photography, 0 gray boxes β
|
|
86
|
-
β β
|
|
87
|
-
β 2. Responsive Breakpoints β
|
|
88
|
-
β [PASS] Mobile 390px/375px : 0 horizontal overflow violations β
|
|
89
|
-
β [PASS] Touch Targets : Meets WCAG AA (>= 24px, CTA 44px)β
|
|
90
|
-
β [PASS] Desktop 1440px : max-w-7xl container bounded β
|
|
91
|
-
β β
|
|
92
|
-
β 3. Accessibility & WCAG 2.2 AA β
|
|
93
|
-
β [PASS] Keyboard Traversal : 12/12 elements keyboard reachableβ
|
|
94
|
-
β [PASS] Focus Rings : 12/12 have focus-visible states β
|
|
95
|
-
β [PASS] Color Contrast : Min 5.4:1 (exceeds 4.5:1 minimum)β
|
|
96
|
-
β [PASS] Functional Motion : prefers-reduced-motion enforced β
|
|
97
|
-
β β
|
|
98
|
-
β 4. Performance & Compositing Budget β
|
|
99
|
-
β [PASS] Backdrop Blur Layers: 2 active layers (budget max: 5) β
|
|
100
|
-
β [PASS] Vector Iconography : 0 raw emojis, inline SVGs used β
|
|
101
|
-
β [PASS] Motion Driver : rAF-based sub-pixel interpolationβ
|
|
102
|
-
β β
|
|
103
|
-
β 5. Semantic RTL & BiDi Stability β
|
|
104
|
-
β [PASS / N/A (LTR Default)] Macro Layout : Coordinate grid locked β
|
|
105
|
-
β [PASS / N/A (LTR Default)] BiDi Wrapper : <bdi> on brand tokens β
|
|
106
|
-
β [PASS / N/A (LTR Default)] Monospace LTR: Code/metrics locked LTRβ
|
|
107
|
-
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
- **PASS:** All critical checks pass. Code is production-ready.
|
|
111
|
-
- **WARN:** Non-breaking advisory (e.g., 4 blur layers detected; advisory to reduce to max 2 on mobile).
|
|
112
|
-
- **FAIL:** Blocking defect detected (e.g., `<div onclick>`, missing focus ring, 375px layout blowout, unisolated BiDi punctuation). Execution must pause and fix before completion.
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## π Standard Audit Report Template
|
|
117
|
-
|
|
118
|
-
When conducting an audit, output findings using this concise scorecard:
|
|
119
|
-
|
|
120
|
-
```markdown
|
|
121
|
-
### π UI Quality Verification Scorecard
|
|
122
|
-
|
|
123
|
-
| Pillar | Status | Key Observations & Verified Items |
|
|
124
|
-
| :--- | :---: | :--- |
|
|
125
|
-
| **1. Living Visual Inspection** | β
PASS | Playwright 1440px/390px screenshots captured & inspected; 0 template slop. |
|
|
126
|
-
| **2. Responsive Design** | β
PASS | Fluid across 390px, 768px, and 1440px with no horizontal overflow. |
|
|
127
|
-
| **3. Accessibility (WCAG)** | β
PASS | Semantic `<button>` elements, visible focus, reduced-motion handled. |
|
|
128
|
-
| **4. Motion & Performance** | β
PASS | GPU-friendly compositing (<=5 blur layers), inline SVGs, rAF interpolation. |
|
|
129
|
-
| **5. Semantic RTL & BiDi** | [PASS / N/A (LTR Default)] | Evaluated strictly for RTL/Persian interfaces; passes as N/A on pure English LTR. |
|
|
130
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: ui-verifier
|
|
3
|
+
description: Complete 5-Pillar UI & Frontend Quality Verification Engine (WCAG AA Accessibility, Responsive Breakpoints, Anti-Slop Visual Architecture, Sub-Pixel rAF Motion Performance, and Semantic RTL/BiDi Resilience).
|
|
4
|
+
triggers: ["verify ui", "ui-verifier", "audit ui", "a11y check", "check design", "responsive audit", "ui inspection", "frontend audit", "design review"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# π UI-Verifier: 5-Pillar Frontend Quality & Verification Engine
|
|
8
|
+
|
|
9
|
+
## π― Purpose
|
|
10
|
+
The `ui-verifier` skill provides automated, rigorous quality gates for generated interfaces. It acts as an autonomous design auditor, ensuring that code synthesized by `vibe-ui-agent` (utilizing `visual-chemistry-engine` and `ui-kit`) meets international engineering, accessibility, and aesthetic standards.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## ποΈ The 5 Verification Pillars
|
|
15
|
+
|
|
16
|
+
Whenever asked to audit, verify, or review any web page, component, or frontend generation, execute this 5-stage inspection:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
20
|
+
β π UI-VERIFIER PIPELINE β
|
|
21
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
22
|
+
β
|
|
23
|
+
βββΊ [1] Living Visual & Screenshot Inspection (Eyes on Render)
|
|
24
|
+
βββΊ [2] Responsive Multi-Device Integrity (375px / 768px / 1440px)
|
|
25
|
+
βββΊ [3] Accessibility & WCAG AA (Keyboard, ARIA, Reduced Motion)
|
|
26
|
+
βββΊ [4] Performance & Compositing Budget (Clean CSS, Vectors)
|
|
27
|
+
βββΊ [5] On-Demand RTL & BiDi Stability (Only when RTL requested)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### Pillar 1: Living Visual & Screenshot Inspection (Playwright Multi-Viewport)
|
|
33
|
+
- **Measurement Method:** Execute automated headless Chromium rendering via `python scripts/screenshot_audit.py <file>` or `vibe_cli.py screenshot <file>`. Capture both **Desktop (1440px)** and **Mobile (390px)** viewports into `.test-artifacts/screenshots/`.
|
|
34
|
+
- **Vision Review:** Inspect captured PNGs directly (`view_file`) to audit whitespace cadence, optical balance, alignment, typographic contrast, and card boundaries.
|
|
35
|
+
- **Novelty & Anti-Slop Audit:** Audit visual chemistry against the 5 archetypes and verify the **Novelty Budget** (at least 2 of 6 structural dimensionsβhero composition, card geometry, background treatment, typography pairing, CTA style, lightingβdiffer from previous outputs to prevent template collapse). Verify real CDN photography from `skills/ui-kit/references/curated_unsplash_vault.md` rather than empty gray placeholder boxes.
|
|
36
|
+
|
|
37
|
+
### Pillar 2: Responsive Multi-Device Integrity
|
|
38
|
+
- **Measurement Method:** Verify CSS rules across 3 critical viewport widths.
|
|
39
|
+
- **Evidence Required:**
|
|
40
|
+
- **Mobile (375px/390px):** Zero horizontal scroll blowouts (`overflow-x: hidden` / flex wrapping confirmed). Touch targets conform to **WCAG 2.2 AA (min $24 \times 24\text{px}$)**, with **$44 \times 44\text{px}$ design best practice** recommended for primary mobile CTAs.
|
|
41
|
+
- **Tablet (768px):** Asymmetric Bento grids collapse gracefully into balanced 1-column or 2-column stacks.
|
|
42
|
+
- **Desktop (1440px+):** Max-width containers (`max-w-7xl` or equivalent) prevent awkward stretching.
|
|
43
|
+
|
|
44
|
+
### Pillar 3: Accessibility & WCAG 2.2 AA Compliance
|
|
45
|
+
- **Measurement Method:** Count interactive elements, check contrast, verify ARIA states.
|
|
46
|
+
- **Evidence Required:**
|
|
47
|
+
- **Semantic Controls:** $X/X$ clickables use `<button type="button">` or `<a href="...">` (zero `<div onclick>`).
|
|
48
|
+
- **Visible Focus Rings:** $X/X$ interactive elements feature `focus-visible:ring-2` with sufficient contrast.
|
|
49
|
+
- **State Semantics:** Dynamic disclosures, accordions, and sheets provide `aria-expanded` and `aria-controls`.
|
|
50
|
+
- **Color Contrast:** Sampled text nodes meet minimum $4.5:1$ contrast ratio against background tokens.
|
|
51
|
+
- **Functional Reduced Motion:** Non-essential decorative loops, parallax, and ambient meshes disabled via `@media (prefers-reduced-motion: reduce)`; functional state feedback transitions preserved with snappy durations ($\le 150\text{ms}$).
|
|
52
|
+
|
|
53
|
+
### Pillar 4: Performance & Rendering Compositing Budget
|
|
54
|
+
- **Measurement Method:** Count stacked blur layers, inspect SVG icons, verify animation drivers.
|
|
55
|
+
- **Evidence Required:**
|
|
56
|
+
- **Backdrop Blur Layers:** Detected active `backdrop-filter: blur(...)` elements (Threshold: $\le 5$ active layers simultaneously, reduced to $\le 2$ on mobile).
|
|
57
|
+
- **Zero Emojis:** Zero raw unicode emojis used as interface icons; verified inline SVG vector paths.
|
|
58
|
+
- **Frame Driver:** Continuous interactive elements (sliders, spring tilts) driven via `requestAnimationFrame`.
|
|
59
|
+
|
|
60
|
+
### Pillar 5: On-Demand RTL & BiDi Resilience (Applies to RTL/Bilingual Targets)
|
|
61
|
+
- **Activation Scope:** Evaluated exclusively on Persian/RTL interfaces or bilingual UIs with RTL support (`RTL.md`). For pure English interfaces, this pillar evaluates as N/A or passes without imposing RTL overhead.
|
|
62
|
+
- **Measurement Method:** Inspect bidirectional CSS logical properties, non-mirrored layout, and font independence.
|
|
63
|
+
- **Evidence Required:**
|
|
64
|
+
- **Zero Layout Mirroring:** Macro grid coordinates, traffic lights, and component columns physically locked in LTR coordinates.
|
|
65
|
+
- **Font Independence:** English copy retains default English fonts (Inter, Geist, sans-serif); Vazirmatn is scoped strictly to Persian characters.
|
|
66
|
+
- **BiDi Punctuation Isolation:** Mixed sentences with English terms (`Claude Code`, `Tailwind`, `API`) wrapped in `<bdi>` or styled with `unicode-bidi: isolate`.
|
|
67
|
+
- **Pure Monospace LTR:** Code blocks, CLI commands, telemetry digits, and URLs explicitly styled with `direction: ltr !important; text-align: left !important`.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## π Mandatory Output Scorecard Schema
|
|
72
|
+
|
|
73
|
+
When evaluating or generating any frontend code, `ui-verifier` outputs a structured evidence scorecard:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
77
|
+
β π UI-VERIFIER AUDIT SCORECARD β
|
|
78
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
|
|
79
|
+
β Overall Status: [ PASS | WARN | FAIL ] β
|
|
80
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
|
|
81
|
+
β 1. Living Visual & Screenshot Inspection (Playwright Multi-VP) β
|
|
82
|
+
β [PASS] Multi-Viewport PNG : 1440px & 390px screenshots viewedβ
|
|
83
|
+
β [PASS] Visual Hierarchy : Whitespace & typography balanced β
|
|
84
|
+
β [PASS] Novelty Budget : 3/6 structural dimensions unique β
|
|
85
|
+
β [PASS] Curated CDN Assets : Real photography, 0 gray boxes β
|
|
86
|
+
β β
|
|
87
|
+
β 2. Responsive Breakpoints β
|
|
88
|
+
β [PASS] Mobile 390px/375px : 0 horizontal overflow violations β
|
|
89
|
+
β [PASS] Touch Targets : Meets WCAG AA (>= 24px, CTA 44px)β
|
|
90
|
+
β [PASS] Desktop 1440px : max-w-7xl container bounded β
|
|
91
|
+
β β
|
|
92
|
+
β 3. Accessibility & WCAG 2.2 AA β
|
|
93
|
+
β [PASS] Keyboard Traversal : 12/12 elements keyboard reachableβ
|
|
94
|
+
β [PASS] Focus Rings : 12/12 have focus-visible states β
|
|
95
|
+
β [PASS] Color Contrast : Min 5.4:1 (exceeds 4.5:1 minimum)β
|
|
96
|
+
β [PASS] Functional Motion : prefers-reduced-motion enforced β
|
|
97
|
+
β β
|
|
98
|
+
β 4. Performance & Compositing Budget β
|
|
99
|
+
β [PASS] Backdrop Blur Layers: 2 active layers (budget max: 5) β
|
|
100
|
+
β [PASS] Vector Iconography : 0 raw emojis, inline SVGs used β
|
|
101
|
+
β [PASS] Motion Driver : rAF-based sub-pixel interpolationβ
|
|
102
|
+
β β
|
|
103
|
+
β 5. Semantic RTL & BiDi Stability β
|
|
104
|
+
β [PASS / N/A (LTR Default)] Macro Layout : Coordinate grid locked β
|
|
105
|
+
β [PASS / N/A (LTR Default)] BiDi Wrapper : <bdi> on brand tokens β
|
|
106
|
+
β [PASS / N/A (LTR Default)] Monospace LTR: Code/metrics locked LTRβ
|
|
107
|
+
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
- **PASS:** All critical checks pass. Code is production-ready.
|
|
111
|
+
- **WARN:** Non-breaking advisory (e.g., 4 blur layers detected; advisory to reduce to max 2 on mobile).
|
|
112
|
+
- **FAIL:** Blocking defect detected (e.g., `<div onclick>`, missing focus ring, 375px layout blowout, unisolated BiDi punctuation). Execution must pause and fix before completion.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## π Standard Audit Report Template
|
|
117
|
+
|
|
118
|
+
When conducting an audit, output findings using this concise scorecard:
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
### π UI Quality Verification Scorecard
|
|
122
|
+
|
|
123
|
+
| Pillar | Status | Key Observations & Verified Items |
|
|
124
|
+
| :--- | :---: | :--- |
|
|
125
|
+
| **1. Living Visual Inspection** | β
PASS | Playwright 1440px/390px screenshots captured & inspected; 0 template slop. |
|
|
126
|
+
| **2. Responsive Design** | β
PASS | Fluid across 390px, 768px, and 1440px with no horizontal overflow. |
|
|
127
|
+
| **3. Accessibility (WCAG)** | β
PASS | Semantic `<button>` elements, visible focus, reduced-motion handled. |
|
|
128
|
+
| **4. Motion & Performance** | β
PASS | GPU-friendly compositing (<=5 blur layers), inline SVGs, rAF interpolation. |
|
|
129
|
+
| **5. Semantic RTL & BiDi** | [PASS / N/A (LTR Default)] | Evaluated strictly for RTL/Persian interfaces; passes as N/A on pure English LTR. |
|
|
130
|
+
```
|