vibes-plug 2.5.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/vibes-plug-core.md +32 -0
- package/.cursor/rules/vibes-plug-core.mdc +51 -0
- package/.cursorrules +42 -0
- package/AGENTS.md +37 -7
- package/BLUEPRINT.md +309 -217
- package/CHANGELOG.md +133 -1
- package/CLAUDE.md +70 -0
- package/LICENSE +1 -1
- package/README.md +641 -415
- package/index.js +19 -0
- package/package.json +44 -8
- package/plugin.json +24 -7
- package/scripts/generate_swarm_gif.py +295 -0
- package/scripts/install.js +201 -0
- package/skills/accessibility-testing-expert/SKILL.md +116 -0
- package/skills/ai-cost-token-optimizer/SKILL.md +82 -52
- package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
- package/skills/ai-llm-integration-expert/SKILL.md +185 -178
- package/skills/ai-media-generation-expert/SKILL.md +172 -0
- package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
- package/skills/angular-expert/SKILL.md +148 -0
- package/skills/api-design-expert/SKILL.md +6 -3
- package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
- package/skills/app-analyzer-optimizer/SKILL.md +6 -3
- package/skills/apple-ecosystem-expert/SKILL.md +144 -141
- package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
- package/skills/astro-framework-expert/SKILL.md +200 -0
- package/skills/async-queue-temporal-expert/SKILL.md +210 -24
- package/skills/authentication-identity-expert/SKILL.md +278 -275
- package/skills/auto-doc-updater/SKILL.md +7 -1
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -63
- package/skills/autonomous-red-teamer/SKILL.md +172 -28
- package/skills/autonomous-tdd-debugger/SKILL.md +70 -64
- package/skills/background-jobs-queue-expert/SKILL.md +235 -0
- package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
- package/skills/blockchain-web3-expert/SKILL.md +115 -0
- package/skills/bootstrap-to-modern/SKILL.md +9 -6
- package/skills/brainstorming/SKILL.md +58 -50
- package/skills/browser-automation-expert/SKILL.md +197 -21
- package/skills/bun-runtime-expert/SKILL.md +7 -1
- package/skills/chatbot-messaging-expert/SKILL.md +114 -0
- package/skills/ci-cd-devops-architect/SKILL.md +45 -36
- package/skills/cloud-hosting-expert/SKILL.md +7 -1
- package/skills/coderabbit/SKILL.md +7 -1
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
- package/skills/cron-scheduler-expert/SKILL.md +303 -297
- package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
- package/skills/data-telemetry-expert/SKILL.md +7 -1
- package/skills/data-visualization-expert/SKILL.md +154 -0
- package/skills/database-migration-versioning-expert/SKILL.md +90 -0
- package/skills/database-orm-expert/SKILL.md +13 -3
- package/skills/dependency-upgrade-migrator/SKILL.md +300 -294
- package/skills/design-system-architect/SKILL.md +278 -259
- package/skills/desktop-electron-expert/SKILL.md +128 -0
- package/skills/documentation-site-expert/SKILL.md +59 -0
- package/skills/doku-mcp-server/SKILL.md +7 -1
- package/skills/doku-payment-gateway/SKILL.md +7 -1
- package/skills/domain-driven-design-expert/SKILL.md +82 -0
- package/skills/e2e-testing-expert/SKILL.md +7 -1
- package/skills/ecommerce-expert/SKILL.md +87 -0
- package/skills/edge-serverless-db-expert/SKILL.md +98 -42
- package/skills/email-notification-expert/SKILL.md +367 -361
- package/skills/error-resilience-expert/SKILL.md +485 -479
- package/skills/event-driven-architect/SKILL.md +7 -1
- package/skills/feature-flag-analytics-expert/SKILL.md +65 -45
- package/skills/file-upload-media-expert/SKILL.md +436 -430
- package/skills/firebase-security-expert/SKILL.md +7 -1
- package/skills/form-validation-expert/SKILL.md +406 -400
- package/skills/fullstack-expert/SKILL.md +60 -1
- package/skills/gemini-agent-booster/SKILL.md +173 -135
- package/skills/geospatial-maps-expert/SKILL.md +80 -0
- package/skills/global-a11y-i18n-expert/SKILL.md +7 -1
- package/skills/glsl-shader-expert/SKILL.md +106 -100
- package/skills/go-programming-expert/SKILL.md +21 -15
- package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
- package/skills/graphql-apollo-expert/SKILL.md +113 -107
- package/skills/headless-cms-expert/SKILL.md +181 -0
- package/skills/hig/SKILL.md +7 -1
- package/skills/js-backend-expert/SKILL.md +218 -216
- package/skills/legacy-code-translator/SKILL.md +70 -64
- package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
- package/skills/logging-error-tracking-expert/SKILL.md +343 -337
- package/skills/mcp-client-orchestrator/SKILL.md +75 -69
- package/skills/mcp-server-architect/SKILL.md +294 -194
- package/skills/micro-frontend-architect/SKILL.md +111 -105
- package/skills/mobile-expo-expert/SKILL.md +8 -2
- package/skills/mobile-push-notification-expert/SKILL.md +70 -50
- package/skills/modern-css-native-expert/SKILL.md +189 -0
- package/skills/monday-design-aesthetic/SKILL.md +7 -1
- package/skills/monorepo-architect/SKILL.md +7 -1
- package/skills/mpa-orchestrator/SKILL.md +20 -1
- package/skills/multi-agent-orchestration/SKILL.md +254 -234
- package/skills/multiple-entry-points/SKILL.md +37 -1
- package/skills/mvc-expert/SKILL.md +7 -1
- package/skills/n8n-automation-expert/SKILL.md +89 -0
- package/skills/nextjs-app-router-expert/SKILL.md +148 -0
- package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
- package/skills/payment-gateway-expert/SKILL.md +85 -1
- package/skills/pdf-document-generation-expert/SKILL.md +91 -0
- package/skills/performance-web-vitals/SKILL.md +7 -1
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -57
- package/skills/prd-architect/SKILL.md +7 -1
- package/skills/proactive-background-watcher/SKILL.md +67 -61
- package/skills/production-ready-hardener/SKILL.md +461 -455
- package/skills/project-context-mapper/SKILL.md +84 -78
- package/skills/pwa-offline-first-expert/SKILL.md +185 -0
- package/skills/python-programming-expert/SKILL.md +407 -401
- package/skills/rate-limit-abuse-prevention/SKILL.md +376 -370
- package/skills/realtime-collaboration-expert/SKILL.md +55 -1
- package/skills/rich-text-editor-expert/SKILL.md +177 -0
- package/skills/rust-programming-expert/SKILL.md +7 -1
- package/skills/saas-billing/SKILL.md +7 -1
- package/skills/saas-multi-tenant/SKILL.md +7 -1
- package/skills/saas-mvp-launcher/SKILL.md +20 -1
- package/skills/saas-transformer/SKILL.md +499 -488
- package/skills/scalability-clean-code/SKILL.md +7 -1
- package/skills/search-engine-expert/SKILL.md +89 -0
- package/skills/secure-fuzz-testing/SKILL.md +7 -1
- package/skills/self-evolving-memory-graph/SKILL.md +90 -74
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -57
- package/skills/senior-frontend/SKILL.md +141 -161
- package/skills/seo/SKILL.md +41 -17
- package/skills/session-context-loader/SKILL.md +82 -76
- package/skills/session-handoff-resume/SKILL.md +7 -1
- package/skills/{skill_baru → skill-baru}/SKILL.md +8 -2
- package/skills/solidjs-expert/SKILL.md +80 -0
- package/skills/spa-orchestrator/SKILL.md +20 -1
- package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
- package/skills/state-management-expert/SKILL.md +7 -1
- package/skills/supabase-migration/SKILL.md +47 -1
- package/skills/supabase-security-expert/SKILL.md +7 -1
- package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
- package/skills/svg-animation-motion-expert/SKILL.md +115 -0
- package/skills/tailwind-expert/SKILL.md +88 -136
- package/skills/tanstack-query-expert/SKILL.md +7 -1
- package/skills/tauri-expert/SKILL.md +7 -1
- package/skills/token-saver/SKILL.md +1 -1
- package/skills/typescript-expert/SKILL.md +12 -6
- package/skills/ui-components-expert/SKILL.md +165 -279
- package/skills/ui-ux-pro-max/SKILL.md +23 -3
- package/skills/vector-db-rag-expert/SKILL.md +175 -19
- package/skills/vibe-code-gardener/SKILL.md +1 -1
- package/skills/visual-qa-vision-agent/SKILL.md +70 -64
- package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
- package/skills/vue-frontend-expert/SKILL.md +131 -125
- package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
- package/skills/web-3d-graphics-expert/SKILL.md +136 -130
- package/skills/web-game-engine-expert/SKILL.md +101 -95
- package/skills/web-scraper/SKILL.md +157 -207
- package/skills/website-design-cloner/SKILL.md +179 -173
- package/skills/webxr-ar-vr-expert/SKILL.md +122 -116
- package/skills/wordpress-headless-expert/SKILL.md +144 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +52 -27
- package/skills/zero-trust-secret-vault/SKILL.md +87 -39
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/publish.yml +0 -20
- package/CONTRIBUTING.md +0 -199
- package/SECURITY.md +0 -21
- package/banner.png +0 -0
- package/skills/autonomous-swarm-director/SKILL.md +0 -69
- package/skills/hyper-context-synthesizer/SKILL.md +0 -55
- package/skills/llm-cost-arbitrage-router/SKILL.md +0 -59
- package/skills/senior-fullstack/SKILL.md +0 -167
- package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
- package/skills/senior-fullstack/references/development_workflows.md +0 -222
- package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
- package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
- package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
- package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
- package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
- package/skills/seo-geo/SKILL.md +0 -188
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +0 -125
- package/vibes-swarm-demo.gif +0 -0
|
@@ -1,280 +1,166 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ui-components-expert
|
|
3
|
-
description:
|
|
1
|
+
---
|
|
2
|
+
name: ui-components-expert
|
|
3
|
+
description: Expert guide for building production-quality UI components following the 4 pillars. Covers React 19, Radix UI, Base UI, Tailwind v4, Material Design 3 (M3), WCAG 2.2 / Panduan ahli membangun komponen UI berkualitas produksi dengan M3.
|
|
4
4
|
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# 🎨 UI Components Expert (2026 Edition)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
### The 4 Pillars of UI Components
|
|
42
|
-
|
|
43
|
-
####
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
**
|
|
48
|
-
- **
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
**
|
|
120
|
-
- **
|
|
121
|
-
- **
|
|
122
|
-
- **
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
<button className="btn-secondary">Cancel</button>
|
|
168
|
-
</Dialog.Close>
|
|
169
|
-
<button onClick={onConfirm} className="btn-destructive">Delete</button>
|
|
170
|
-
</div>
|
|
171
|
-
</Dialog.Content>
|
|
172
|
-
</Dialog.Portal>
|
|
173
|
-
</Dialog.Root>
|
|
174
|
-
);
|
|
175
|
-
}
|
|
176
|
-
```
|
|
177
|
-
- **Focus Trap**: Radix UI handles focus trapping automatically inside dialogs.
|
|
178
|
-
- **Scroll Lock**: Lock body scroll when modal is open — Radix handles this.
|
|
179
|
-
- **Card Design**: Use subtle shadows + borders for elevation. Never use heavy drop shadows on cards in light mode.
|
|
180
|
-
- **Sheet/Drawer**: Use for mobile-first secondary actions. Prefer bottom sheet on mobile, side sheet on desktop.
|
|
181
|
-
|
|
182
|
-
---
|
|
183
|
-
|
|
184
|
-
### Micro-Interaction Checklist (Next-Gen)
|
|
185
|
-
These small details separate premium from basic UI:
|
|
186
|
-
- [ ] All interactive elements have `:focus-visible` ring (2px, brand color).
|
|
187
|
-
- [ ] Buttons have loading state with spinner + disabled state.
|
|
188
|
-
- [ ] Form fields animate error shake on invalid submit.
|
|
189
|
-
- [ ] **Physics-Based Animation**: Do not rely solely on linear `ease-in-out`. Use Framer Motion (v12) `spring` physics (`stiffness: 300, damping: 20`) for modals, popovers, and interactive elements to provide a natural, snappy feel.
|
|
190
|
-
- [ ] Hover transitions on simple buttons use `transition-all duration-200 ease-out`.
|
|
191
|
-
- [ ] Modals animate in with fade + scale: `animate-in fade-in zoom-in-95`.
|
|
192
|
-
- [ ] List items stagger-animate when rendered (use Motion `stagger`).
|
|
193
|
-
- [ ] Skeleton loaders match the exact layout of the content they replace.
|
|
194
|
-
- [ ] Dark mode tested for all states (especially error/warning colors).
|
|
195
|
-
|
|
196
|
-
### Accessibility (WCAG 2.2) Quick Reference
|
|
197
|
-
| Criterion | Requirement |
|
|
198
|
-
|---|---|
|
|
199
|
-
| **1.4.3** | Text contrast ≥4.5:1 (normal), ≥3:1 (large/bold) |
|
|
200
|
-
| **2.5.8** | Touch target ≥24×24px (min), 44×44px (recommended) |
|
|
201
|
-
| **2.4.7** | Focus indicator visible on all interactive elements |
|
|
202
|
-
| **2.4.11** | Focus not obscured by sticky headers |
|
|
203
|
-
| **3.2.2** | No unexpected context change on input |
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
<a name="bahasa-indonesia"></a>
|
|
208
|
-
## Bahasa Indonesia
|
|
209
|
-
|
|
210
|
-
### Deskripsi
|
|
211
|
-
Panduan ahli untuk mengevaluasi, mengaudit, dan membangun komponen UI berkualitas produksi di 2026. Mencakup **4 pilar komponen UI** dengan tooling modern: **shadcn/ui**, **Radix UI**, **Base UI**, **pola React 19**, **aksesibilitas WCAG 2.2**, dan desain micro-interaction. Gunakan skill ini saat membangun, me-review, atau meningkatkan elemen UI interaktif apapun.
|
|
212
|
-
|
|
213
|
-
### Kondisi Pemicu
|
|
214
|
-
- Membangun atau me-review komponen UI: tombol, form, modal, navigasi, tooltip, notifikasi.
|
|
215
|
-
- Mengimplementasikan komponen aksesibel dengan pola ARIA dan navigasi keyboard.
|
|
216
|
-
- Mengaudit komponen yang ada terhadap standar WCAG 2.2 dan desain interaksi.
|
|
217
|
-
- Menyiapkan library komponen dengan shadcn/ui, Radix UI, atau Base UI.
|
|
218
|
-
- Menambahkan micro-interaction, hover state, focus ring, dan animasi ke komponen.
|
|
219
|
-
|
|
220
|
-
### QA Visual Mandatori (KRITIS)
|
|
221
|
-
- **Siklus Verifikasi Visual**: Anda DILARANG KERAS menyelesaikan komponen UI tanpa mengambil screenshot menggunakan `browser_subagent` dan menganalisisnya via `visual-qa-vision-agent`.
|
|
222
|
-
- **Standar Pixel-Perfect**: Jangan menebak padding/margin. Ambil gambar, analisis dengan kemampuan Vision Anda, dan koreksi pergeseran tata letak hingga sempurna.
|
|
223
|
-
|
|
224
|
-
### Stack Komponen Rekomendasi (2026)
|
|
225
|
-
- **Headless Primitives**: Radix UI / Base UI — aksesibilitas dan behavior tanpa style.
|
|
226
|
-
- **Library Komponen**: shadcn/ui — pre-styled, customizable, kode dimiliki sendiri.
|
|
227
|
-
- **Styling**: Tailwind CSS v4 — utility-first dengan design token via `@theme`.
|
|
228
|
-
- **Animasi**: Motion (Framer Motion v12) — spring physics, layout animations.
|
|
229
|
-
- **Form**: React Hook Form + Zod — type-safe, performa tinggi.
|
|
230
|
-
|
|
231
|
-
### 4 Pilar Komponen UI
|
|
232
|
-
|
|
233
|
-
#### Pilar 1: Kontrol Input
|
|
234
|
-
Komponen yang menangkap input dan data pengguna (tombol, form, checkbox, select, switch).
|
|
235
|
-
|
|
236
|
-
**Best Practices:**
|
|
237
|
-
- Setiap input harus memiliki state visual yang jelas: `default`, `hover`, `active`, `focus`, `disabled`, `error`.
|
|
238
|
-
- Ukuran touch target minimal 44×44px untuk elemen interaktif di mobile.
|
|
239
|
-
- Validasi inline dengan pesan error yang muncul setelah blur, bukan hanya saat submit.
|
|
240
|
-
- Gunakan `aria-invalid` dan `aria-describedby` untuk screen reader.
|
|
241
|
-
- Gunakan **React Hook Form + Zod** untuk form yang type-safe dan berperforma tinggi.
|
|
242
|
-
|
|
243
|
-
#### Pilar 2: Navigasi
|
|
244
|
-
Komponen yang membantu pengguna bergerak dalam struktur aplikasi (navbar, tab, breadcrumb, sidebar, command palette).
|
|
245
|
-
|
|
246
|
-
**Best Practices:**
|
|
247
|
-
- Selalu tunjukkan lokasi saat ini dengan indikator visual yang jelas (background, garis bawah, teks tebal).
|
|
248
|
-
- Navigasi keyboard wajib: Arrow Keys untuk tab/menu, Escape untuk menutup, fokus terkelola saat buka/tutup.
|
|
249
|
-
- Gunakan bottom navigation di mobile, sidebar di desktop.
|
|
250
|
-
- Tambahkan command palette `⌘K` untuk power user menggunakan library `cmdk`.
|
|
251
|
-
- Tandai halaman aktif dengan `aria-current="page"`.
|
|
252
|
-
|
|
253
|
-
#### Pilar 3: Informasi & Feedback
|
|
254
|
-
Komponen yang menampilkan status, panduan, atau peringatan (toast, tooltip, badge, skeleton, empty state).
|
|
255
|
-
|
|
256
|
-
**Best Practices:**
|
|
257
|
-
- Warna semantik yang konsisten: hijau (sukses), merah (error), kuning (peringatan), biru (info).
|
|
258
|
-
- Gunakan **Sonner** untuk toast notifikasi — ringan dan aksesibel.
|
|
259
|
-
- Gunakan skeleton loader (bukan spinner) untuk area konten guna mengurangi perceived load time.
|
|
260
|
-
- Selalu sediakan empty state dengan ilustrasi, penjelasan, dan CTA yang jelas.
|
|
261
|
-
- Gunakan `aria-live="polite"` untuk pembaruan konten dinamis.
|
|
262
|
-
|
|
263
|
-
#### Pilar 4: Kontainer & Layout
|
|
264
|
-
Komponen yang mengelompokkan konten terkait (card, modal/dialog, sheet/drawer, accordion, popover).
|
|
265
|
-
|
|
266
|
-
**Best Practices:**
|
|
267
|
-
- Gunakan **Radix UI Dialog** untuk modal — menangani focus trap, scroll lock, dan aksesibilitas secara otomatis.
|
|
268
|
-
- Animasikan modal dengan fade + scale: `animate-in fade-in zoom-in-95`.
|
|
269
|
-
- Gunakan shadow tipis + border untuk elevasi card. Hindari drop shadow berat di mode terang.
|
|
270
|
-
- Gunakan bottom sheet di mobile, side sheet di desktop untuk aksi sekunder.
|
|
271
|
-
|
|
272
|
-
### Checklist Micro-Interaction (Next-Gen)
|
|
273
|
-
Detail kecil yang membedakan UI premium dari yang biasa:
|
|
274
|
-
- [ ] Semua elemen interaktif memiliki `:focus-visible` ring (2px, warna brand).
|
|
275
|
-
- [ ] Tombol memiliki loading state dengan spinner + disabled state.
|
|
276
|
-
- [ ] **Animasi Fisika (Spring)**: Hindari transisi linier kaku. Gunakan Framer Motion (v12) `spring` (`stiffness: 300, damping: 20`) pada interaksi klik, modal, dan dropdown agar terasa alami dan sangat responsif.
|
|
277
|
-
- [ ] Hover transition sederhana menggunakan `transition-all duration-200 ease-out`.
|
|
278
|
-
- [ ] Modal dan drawer muncul dengan animasi fade + scale yang mulus.
|
|
279
|
-
- [ ] Skeleton loader sesuai persis dengan layout konten yang digantikan.
|
|
280
|
-
- [ ] Dark mode diuji untuk semua state (terutama warna error/warning).
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 🎨 UI Components Expert (2026/2027 Edition)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Evaluate, audit, and build production-quality UI components. Apply the 4 pillars of UI components with modern tooling: **shadcn/ui**, **Radix UI**, **Base UI**, **React 19**, **Tailwind v4**, **Material Design 3 (M3)**, **WCAG 2.2**, and micro-interaction design.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Build or review UI components (buttons, forms, modals, navigation, tooltips).
|
|
21
|
+
- Implement accessible components (ARIA patterns, keyboard navigation).
|
|
22
|
+
- Audit components against WCAG 2.2.
|
|
23
|
+
- Set up component libraries (shadcn/ui, Radix UI, Base UI).
|
|
24
|
+
- Add micro-interactions and animations.
|
|
25
|
+
|
|
26
|
+
## Orchestration & Integration
|
|
27
|
+
This skill orchestrates and connects with:
|
|
28
|
+
- `senior-frontend`: For overall React 19 / Next.js 15 architecture.
|
|
29
|
+
- `tailwind-expert`: For Tailwind v4 styling and theming.
|
|
30
|
+
- `design-system-architect`: For system-wide design tokens and primitives.
|
|
31
|
+
- `hig`: For Human Interface Guidelines (Hierarchy, Harmony, Consistency).
|
|
32
|
+
|
|
33
|
+
### Component Stack (2026/2027)
|
|
34
|
+
- **Headless Primitives**: Radix UI / Base UI (Accessibility, behavior).
|
|
35
|
+
- **Component Library**: shadcn/ui (Pre-styled, customizable).
|
|
36
|
+
- **Styling**: Tailwind CSS v4 (Utility-first, `@theme` tokens).
|
|
37
|
+
- **Animation**: Motion / Framer Motion v12 (Spring physics).
|
|
38
|
+
- **Icons**: Lucide React.
|
|
39
|
+
- **Forms**: React Hook Form + Zod.
|
|
40
|
+
|
|
41
|
+
### The 4 Pillars of UI Components
|
|
42
|
+
|
|
43
|
+
#### 1: Input Controls
|
|
44
|
+
Capture user intent and data (Buttons, Forms, Selects).
|
|
45
|
+
- **M3 Integration (if requested)**: Use M3 button variants: Filled, Tonal, Elevated, Outlined, and Text. Include FABs (Floating Action Buttons) for primary screen actions.
|
|
46
|
+
- **Visual States**: Define `default`, `hover`, `active`, `focus`, `disabled`, and `error`.
|
|
47
|
+
- **Touch Targets**: Minimum 44×44px (WCAG 2.5.8), M3 recommends 48x48px.
|
|
48
|
+
- **Immediate Feedback**: Provide visual ripple or scale animation on interaction.
|
|
49
|
+
- **Inline Validation**: Show errors on blur. Use `aria-invalid` and `aria-describedby`.
|
|
50
|
+
- **Stack**: React Hook Form + Zod.
|
|
51
|
+
|
|
52
|
+
#### 2: Navigation
|
|
53
|
+
Move through application structure (Navbars, Tabs, Command Palettes).
|
|
54
|
+
- **M3 Integration (if requested)**: Use M3 Navigation Bar for mobile (bottom), Navigation Rail for tablet, and Navigation Drawer for desktop.
|
|
55
|
+
- **Active State**: Indicate current location with high-contrast visual indicators.
|
|
56
|
+
- **Keyboard Navigation**: Support Arrow Keys for tabs, `Escape` to close.
|
|
57
|
+
- **Responsive**: Bottom navigation (<768px), collapsible sidebar (tablet), full sidebar (desktop).
|
|
58
|
+
- **Command Palette**: Add `⌘K` via `cmdk`.
|
|
59
|
+
- **Next.js 15**: Use `<Link viewTransition>` for smooth transitions.
|
|
60
|
+
- **ARIA**: Use `role="navigation"` and `aria-current="page"`.
|
|
61
|
+
|
|
62
|
+
#### 3: Information & Feedback
|
|
63
|
+
Display status and guidance (Toasts, Skeletons, Empty States).
|
|
64
|
+
- **M3 Integration (if requested)**: Use Snackbar for transient messages. Use Badges on navigation icons for notifications.
|
|
65
|
+
- **Color Semantics**: Green (success), red (error), yellow (warning), blue (info).
|
|
66
|
+
- **Toasts**: Use **Sonner**. Limit to 3 concurrent. Auto-dismiss success, keep errors until dismissed.
|
|
67
|
+
- **Loading**: Use Skeletons matching exact content layout over spinners (prevents CLS).
|
|
68
|
+
- **Empty States**: Provide illustration, context, and clear CTA.
|
|
69
|
+
- **ARIA**: `aria-live="polite"` (updates), `aria-live="assertive"` (critical).
|
|
70
|
+
|
|
71
|
+
#### 4: Containers & Layout
|
|
72
|
+
Group related content (Cards, Modals, Sheets).
|
|
73
|
+
- **M3 Integration (if requested)**: Use M3 Card variants: Elevated, Filled, Outlined. Follow M3 Dialog guidelines for Modals.
|
|
74
|
+
- **Modals**: Use Radix UI Dialog. It handles focus trapping and scroll locking automatically.
|
|
75
|
+
- **Animation**: Animate in (`animate-in fade-in zoom-in-95`).
|
|
76
|
+
- **Cards**: Use subtle shadows + borders. Avoid heavy drop shadows in light mode.
|
|
77
|
+
- **Sheets**: Use bottom sheet for mobile secondary actions, side sheet for desktop.
|
|
78
|
+
|
|
79
|
+
### Micro-Interaction Checklist
|
|
80
|
+
- [ ] Implement `:focus-visible` ring (2px, brand color) on all interactives.
|
|
81
|
+
- [ ] **M3 State Layers**: If using M3, ensure interactive elements have distinct Hover, Focus, Pressed, and Dragged state layers.
|
|
82
|
+
- [ ] Add loading state (spinner + disabled) to submit buttons.
|
|
83
|
+
- [ ] Use **Framer Motion v12 spring physics** (`stiffness: 300, damping: 20`) for natural, snappy interactions. Avoid rigid linear transitions.
|
|
84
|
+
- [ ] Use `transition-all duration-200 ease-out` for simple hovers.
|
|
85
|
+
- [ ] Test dark mode for all states (especially error contrast).
|
|
86
|
+
|
|
87
|
+
### WCAG 2.2 Quick Reference
|
|
88
|
+
- **1.4.3**: Text contrast ≥4.5:1.
|
|
89
|
+
- **2.5.8**: Touch target ≥24×24px (min), 44×44px (target).
|
|
90
|
+
- **2.4.7**: Visible focus indicator.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
<a name="bahasa-indonesia"></a>
|
|
95
|
+
## Bahasa Indonesia
|
|
96
|
+
|
|
97
|
+
### Deskripsi
|
|
98
|
+
Evaluasi, audit, dan bangun komponen UI berkualitas produksi. Terapkan 4 pilar komponen UI dengan tooling modern: **shadcn/ui**, **Radix UI**, **Base UI**, **React 19**, **Tailwind v4**, **Material Design 3 (M3)**, **WCAG 2.2**, dan desain micro-interaction.
|
|
99
|
+
|
|
100
|
+
### Kondisi Pemicu
|
|
101
|
+
- Membangun atau me-review komponen UI (tombol, form, modal, navigasi).
|
|
102
|
+
- Implementasi komponen aksesibel (pola ARIA, navigasi keyboard).
|
|
103
|
+
- Audit komponen berdasarkan WCAG 2.2.
|
|
104
|
+
- Setup library komponen (shadcn/ui, Radix UI, Base UI).
|
|
105
|
+
- Menambahkan micro-interaction dan animasi.
|
|
106
|
+
|
|
107
|
+
## Integrasi Orkestrasi
|
|
108
|
+
Skill ini mengorkestrasi dan terhubung dengan:
|
|
109
|
+
- `senior-frontend`: Untuk arsitektur keseluruhan React 19 / Next.js 15.
|
|
110
|
+
- `tailwind-expert`: Untuk styling dan theming Tailwind v4.
|
|
111
|
+
- `design-system-architect`: Untuk design token dan primitif skala sistem.
|
|
112
|
+
- `hig`: Untuk panduan Human Interface (Hierarki, Harmoni, Konsistensi).
|
|
113
|
+
|
|
114
|
+
### QA Visual Mandatori
|
|
115
|
+
- Wajib gunakan `browser_subagent` dan `visual-qa-vision-agent` untuk validasi layout.
|
|
116
|
+
- Standar Pixel-Perfect: Jangan menebak ukuran. Ambil screenshot dan koreksi pergeseran tata letak.
|
|
117
|
+
|
|
118
|
+
### Stack Komponen (2026/2027)
|
|
119
|
+
- **Headless**: Radix UI / Base UI.
|
|
120
|
+
- **Library**: shadcn/ui.
|
|
121
|
+
- **Styling**: Tailwind CSS v4.
|
|
122
|
+
- **Animasi**: Motion / Framer Motion v12.
|
|
123
|
+
- **Form**: React Hook Form + Zod.
|
|
124
|
+
|
|
125
|
+
### 4 Pilar Komponen UI
|
|
126
|
+
|
|
127
|
+
#### 1: Kontrol Input
|
|
128
|
+
Tangkap data (Tombol, Form, Select).
|
|
129
|
+
- **Integrasi M3 (jika diminta)**: Gunakan varian tombol M3: Filled, Tonal, Elevated, Outlined, dan Text. Sertakan FABs (Floating Action Buttons).
|
|
130
|
+
- Definisikan state visual: `default`, `hover`, `active`, `focus`, `disabled`, `error`.
|
|
131
|
+
- Target sentuh minimal 44×44px (M3 merekomendasikan 48x48px).
|
|
132
|
+
- Tampilkan error saat blur dengan `aria-invalid` dan `aria-describedby`.
|
|
133
|
+
- Gunakan React Hook Form + Zod.
|
|
134
|
+
|
|
135
|
+
#### 2: Navigasi
|
|
136
|
+
Pergerakan pengguna (Navbar, Tab, Command Palette).
|
|
137
|
+
- **Integrasi M3 (jika diminta)**: Gunakan Navigation Bar M3 untuk mobile, Navigation Rail untuk tablet, dan Navigation Drawer untuk desktop.
|
|
138
|
+
- Gunakan indikator visual kontras tinggi untuk lokasi aktif.
|
|
139
|
+
- Wajib dukung navigasi keyboard (Arrow Keys, Escape).
|
|
140
|
+
- Responsive: Bottom navigation (<768px), sidebar desktop.
|
|
141
|
+
- Gunakan `cmdk` untuk Command Palette `⌘K`.
|
|
142
|
+
- Tandai navigasi aktif dengan `aria-current="page"`.
|
|
143
|
+
|
|
144
|
+
#### 3: Informasi & Feedback
|
|
145
|
+
Tampilkan status (Toast, Skeleton, Empty State).
|
|
146
|
+
- **Integrasi M3 (jika diminta)**: Gunakan Snackbar untuk pesan sementara. Gunakan Badges pada ikon navigasi.
|
|
147
|
+
- Gunakan warna semantik secara konsisten.
|
|
148
|
+
- Gunakan **Sonner** untuk toast (maks 3 sekaligus).
|
|
149
|
+
- Gunakan Skeleton persis sesuai layout (jangan gunakan spinner untuk layout) guna mencegah CLS.
|
|
150
|
+
- Sediakan ilustrasi dan CTA pada Empty State.
|
|
151
|
+
|
|
152
|
+
#### 4: Kontainer & Layout
|
|
153
|
+
Kelompokkan konten (Card, Modal, Sheet).
|
|
154
|
+
- **Integrasi M3 (jika diminta)**: Gunakan varian Card M3: Elevated, Filled, Outlined. Ikuti panduan Dialog M3 untuk modal.
|
|
155
|
+
- Gunakan Radix UI Dialog untuk modal (menangani focus trap dan scroll lock).
|
|
156
|
+
- Animasikan kemunculan modal (fade + scale).
|
|
157
|
+
- Gunakan shadow tipis untuk elevasi card di mode terang.
|
|
158
|
+
- Gunakan bottom sheet di mobile.
|
|
159
|
+
|
|
160
|
+
### Checklist Micro-Interaction
|
|
161
|
+
- [ ] Ring `:focus-visible` (2px) pada elemen interaktif.
|
|
162
|
+
- [ ] **State Layers M3**: Jika menggunakan M3, pastikan elemen interaktif memiliki lapisan status (Hover, Focus, Pressed, Dragged) yang berbeda.
|
|
163
|
+
- [ ] State loading pada tombol.
|
|
164
|
+
- [ ] Gunakan **Framer Motion v12 spring physics** (`stiffness: 300, damping: 20`) untuk interaksi alami.
|
|
165
|
+
- [ ] Transisi hover `transition-all duration-200 ease-out`.
|
|
166
|
+
- [ ] Uji kontras warna dark mode.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-pro-max
|
|
3
3
|
description: "Comprehensive design guide & BM25 search engine for web and mobile applications across 11 tech stacks / Panduan desain komprehensif & mesin pencari BM25 untuk aplikasi web dan mobile di 11 tech stack."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# UI/UX Pro Max - Design Intelligence System
|
|
@@ -13,8 +13,11 @@ author: "Roedy Rustam"
|
|
|
13
13
|
<a name="english"></a>
|
|
14
14
|
## English
|
|
15
15
|
|
|
16
|
+
### Orchestration & Integration
|
|
17
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
|
|
18
|
+
|
|
16
19
|
### Description
|
|
17
|
-
UI/UX Pro Max is a comprehensive design intelligence engine equipped with an offline BM25 search index covering color palettes, typography, responsive patterns, icon sets, chart recommendations, UX guidelines, and stack-specific best practices across **11 technology stacks**.
|
|
20
|
+
UI/UX Pro Max is a comprehensive design intelligence engine equipped with an offline BM25 search index covering color palettes, typography, responsive patterns, icon sets, chart recommendations, UX guidelines, **Material Design 3 (M3)**, and stack-specific best practices across **11 technology stacks**.
|
|
18
21
|
|
|
19
22
|
### Trigger Conditions
|
|
20
23
|
Reference these guidelines or run the CLI search engine when:
|
|
@@ -55,6 +58,7 @@ python scripts/search.py "<query>" --domain <domain> --max-results 3
|
|
|
55
58
|
- `icons`: Icon usage guidance, SVG libraries (Lucide, Heroicons), and code imports
|
|
56
59
|
- `react`: React & Next.js performance optimizations, re-render fixes & dynamic imports
|
|
57
60
|
- `web`: Web interface guidelines (ARIA, focus traps, virtual list, form inputs)
|
|
61
|
+
- `m3`: Material Design 3 specific design tokens, color roles, elevation, and component specs
|
|
58
62
|
|
|
59
63
|
*Example:* `python scripts/search.py "fintech dark theme" --domain color`
|
|
60
64
|
|
|
@@ -92,6 +96,7 @@ python scripts/search.py "<query>" --stack <stack> --max-results 3
|
|
|
92
96
|
- **Dark Mode**: High contrast foreground elements over dark slate/gray backgrounds; avoid pure black `#000000` text containers unless requested.
|
|
93
97
|
|
|
94
98
|
#### 5. Dashboard & Information Hierarchy
|
|
99
|
+
- **Material Design 3 (M3) Integration**: Follow M3 Layouts (compact, medium, expanded). Use M3 elevation for layering instead of heavy borders.
|
|
95
100
|
- **Layout Flow**: KPI summary cards top -> Trend charts middle -> Detailed data tables bottom.
|
|
96
101
|
- **Visual Grid**: Consistent gaps/padding (16px / 24px). Clean subtle borders instead of heavy black dividers.
|
|
97
102
|
- **Data Viz**: Maximum 3–5 coordinated colors in graphs. Responsive tooltips and legend alignment.
|
|
@@ -110,8 +115,11 @@ python scripts/search.py "<query>" --stack <stack> --max-results 3
|
|
|
110
115
|
<a name="bahasa-indonesia"></a>
|
|
111
116
|
## Bahasa Indonesia
|
|
112
117
|
|
|
118
|
+
### Integrasi Orkestrasi
|
|
119
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
120
|
+
|
|
113
121
|
### Deskripsi
|
|
114
|
-
UI/UX Pro Max adalah mesin kecerdasan desain komprehensif yang dilengkapi indeks pencarian BM25 offline. Mencakup palet warna, tipografi, pola tata letak responsif, rekomendasi ikon, grafik visualisasi data, pedoman UX, serta praktik terbaik untuk **11 tumpukan teknologi (technology stacks)**.
|
|
122
|
+
UI/UX Pro Max adalah mesin kecerdasan desain komprehensif yang dilengkapi indeks pencarian BM25 offline. Mencakup palet warna, tipografi, pola tata letak responsif, rekomendasi ikon, grafik visualisasi data, pedoman UX, **Material Design 3 (M3)**, serta praktik terbaik untuk **11 tumpukan teknologi (technology stacks)**.
|
|
115
123
|
|
|
116
124
|
### Kondisi Pemicu
|
|
117
125
|
Gunakan pedoman ini atau jalankan mesin pencari CLI ketika:
|
|
@@ -151,6 +159,7 @@ python scripts/search.py "<kueri>" --domain <domain> --max-results 3
|
|
|
151
159
|
- `icons`: Panduan penggunaan ikon, pustaka SVG (Lucide, Heroicons), & import kode
|
|
152
160
|
- `react`: Optimasi performa React & Next.js, perbaikan re-render & dynamic import
|
|
153
161
|
- `web`: Pedoman antarmuka web (ARIA, focus trap, virtual list, input form)
|
|
162
|
+
- `m3`: Token desain spesifik Material Design 3, peran warna, elevasi, dan spesifikasi komponen
|
|
154
163
|
|
|
155
164
|
*Contoh:* `python scripts/search.py "fintech dark theme" --domain color`
|
|
156
165
|
|
|
@@ -188,6 +197,7 @@ python scripts/search.py "<kueri>" --stack <stack> --max-results 3
|
|
|
188
197
|
- **Mode Gelap**: Kontras tinggi antara elemen latar depan dengan latar belakang gelap; hindari kontainer teks serba hitam pekat `#000000` kecuali diminta khusus.
|
|
189
198
|
|
|
190
199
|
#### 5. Dashboard & Hierarki Informasi
|
|
200
|
+
- **Integrasi Material Design 3 (M3)**: Ikuti tata letak M3 (compact, medium, expanded). Gunakan elevasi M3 untuk pelapisan alih-alih border tebal.
|
|
191
201
|
- **Alur Tata Letak**: Kartu ringkasan KPI di atas -> Grafik tren di tengah -> Tabel detail data di bawah.
|
|
192
202
|
- **Grid Visual**: Konsistensi gap/padding (16px / 24px). Gunakan border halus daripada pembatas tebal hitam.
|
|
193
203
|
- **Visualisasi Data**: Maksimal 3–5 warna terkoordinasi dalam grafik. Tooltip responsif & perataan legenda yang rapi.
|
|
@@ -200,3 +210,13 @@ python scripts/search.py "<kueri>" --stack <stack> --max-results 3
|
|
|
200
210
|
- [ ] **Kontras**: Rasio kontras teks minimal 4.5:1 pada mode terang. Border terlihat di kedua mode (terang & gelap).
|
|
201
211
|
- [ ] **Tata Letak & Responsif**: Diuji pada breakpoint 375px, 768px, 1024px, 1440px. Tidak ada scroll horizontal tak disengaja pada perangkat mobile.
|
|
202
212
|
- [ ] **Aksesibilitas**: Semua gambar memiliki `alt` text yang bermakna. Form input memiliki `<label>` terhubung atau `aria-label`.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
### 🎨 Automatic Visual Assets Generation Mandate (CRITICAL)
|
|
216
|
+
**MANDATORY**: Whenever you are building a new application, scaffolding a project, or finalizing the initial UI/UX, you MUST automatically use the `generate_image` tool to create a custom logo that perfectly matches the application's core concept and aesthetic.
|
|
217
|
+
This generated image MUST be explicitly used as:
|
|
218
|
+
1. The primary application logo (e.g., in the header/navbar).
|
|
219
|
+
2. The website favicon (`favicon.ico` or equivalent).
|
|
220
|
+
3. The Open Graph (OG) image for SEO metadata (`og:image`).
|
|
221
|
+
|
|
222
|
+
Do not use placeholders for these assets. Generate and integrate them automatically.
|