vibes-plug 2.5.0 → 2.14.1

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.
Files changed (187) hide show
  1. package/.claude/rules/vibes-plug-core.md +32 -0
  2. package/.cursor/rules/vibes-plug-core.mdc +51 -0
  3. package/.cursorrules +42 -0
  4. package/AGENTS.md +37 -7
  5. package/BLUEPRINT.md +319 -217
  6. package/CHANGELOG.md +170 -1
  7. package/CLAUDE.md +70 -0
  8. package/LICENSE +1 -1
  9. package/README.md +611 -415
  10. package/index.js +19 -0
  11. package/package.json +44 -8
  12. package/plugin.json +24 -7
  13. package/scripts/check-anti-slop.js +53 -0
  14. package/scripts/generate_swarm_gif.py +295 -0
  15. package/scripts/install.js +201 -0
  16. package/skills/accessibility-testing-expert/SKILL.md +116 -0
  17. package/skills/ai-llm-integration-expert/SKILL.md +192 -178
  18. package/skills/ai-media-generation-expert/SKILL.md +172 -0
  19. package/skills/ai-prompt-engineering-expert/SKILL.md +134 -0
  20. package/skills/angular-expert/SKILL.md +148 -0
  21. package/skills/anti-slop/SKILL.md +133 -0
  22. package/skills/api-design-expert/SKILL.md +6 -3
  23. package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
  24. package/skills/app-analyzer-optimizer/SKILL.md +6 -3
  25. package/skills/apple-ecosystem-expert/SKILL.md +144 -141
  26. package/skills/astro-framework-expert/SKILL.md +200 -0
  27. package/skills/async-queue-temporal-expert/SKILL.md +189 -26
  28. package/skills/authentication-identity-expert/SKILL.md +78 -181
  29. package/skills/autonomous-red-teamer/SKILL.md +172 -28
  30. package/skills/autonomous-tdd-debugger/SKILL.md +70 -64
  31. package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
  32. package/skills/blockchain-web3-expert/SKILL.md +115 -0
  33. package/skills/bootstrap-to-modern/SKILL.md +9 -6
  34. package/skills/brainstorming/SKILL.md +60 -52
  35. package/skills/browser-automation-expert/SKILL.md +197 -21
  36. package/skills/bun-runtime-expert/SKILL.md +7 -1
  37. package/skills/chatbot-messaging-expert/SKILL.md +114 -0
  38. package/skills/ci-cd-devops-architect/SKILL.md +45 -36
  39. package/skills/cloud-hosting-expert/SKILL.md +7 -1
  40. package/skills/coderabbit/SKILL.md +7 -1
  41. package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
  42. package/skills/cron-scheduler-expert/SKILL.md +303 -297
  43. package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
  44. package/skills/data-telemetry-expert/SKILL.md +7 -1
  45. package/skills/data-visualization-expert/SKILL.md +154 -0
  46. package/skills/database-orm-expert/SKILL.md +165 -294
  47. package/skills/deep-research-analyst/SKILL.md +136 -0
  48. package/skills/dependency-upgrade-migrator/SKILL.md +300 -294
  49. package/skills/design-system-architect/SKILL.md +309 -260
  50. package/skills/desktop-electron-expert/SKILL.md +128 -0
  51. package/skills/documentation-site-expert/SKILL.md +59 -0
  52. package/skills/doku-mcp-server/SKILL.md +7 -1
  53. package/skills/doku-payment-gateway/SKILL.md +7 -1
  54. package/skills/domain-driven-design-expert/SKILL.md +82 -0
  55. package/skills/e2e-testing-expert/SKILL.md +7 -1
  56. package/skills/ecommerce-expert/SKILL.md +87 -0
  57. package/skills/email-notification-expert/SKILL.md +393 -360
  58. package/skills/error-resilience-expert/SKILL.md +506 -479
  59. package/skills/event-driven-architect/SKILL.md +7 -1
  60. package/skills/feature-flag-analytics-expert/SKILL.md +65 -45
  61. package/skills/file-upload-media-expert/SKILL.md +436 -430
  62. package/skills/firebase-security-expert/SKILL.md +7 -1
  63. package/skills/form-validation-expert/SKILL.md +406 -400
  64. package/skills/fullstack-expert/SKILL.md +184 -202
  65. package/skills/gemini-agent-booster/SKILL.md +173 -135
  66. package/skills/geospatial-maps-expert/SKILL.md +80 -0
  67. package/skills/global-a11y-i18n-expert/SKILL.md +7 -1
  68. package/skills/glsl-shader-expert/SKILL.md +158 -69
  69. package/skills/go-programming-expert/SKILL.md +21 -15
  70. package/skills/graph-rag-knowledge-expert/SKILL.md +200 -0
  71. package/skills/graphql-apollo-expert/SKILL.md +113 -107
  72. package/skills/headless-cms-expert/SKILL.md +181 -0
  73. package/skills/hig/SKILL.md +7 -1
  74. package/skills/js-backend-expert/SKILL.md +218 -216
  75. package/skills/legacy-code-translator/SKILL.md +70 -64
  76. package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
  77. package/skills/logging-error-tracking-expert/SKILL.md +343 -337
  78. package/skills/mcp-server-architect/SKILL.md +308 -194
  79. package/skills/micro-frontend-architect/SKILL.md +111 -105
  80. package/skills/mobile-expo-expert/SKILL.md +8 -2
  81. package/skills/modern-css-native-expert/SKILL.md +189 -0
  82. package/skills/monorepo-architect/SKILL.md +7 -1
  83. package/skills/mpa-orchestrator/SKILL.md +20 -1
  84. package/skills/multi-agent-orchestration/SKILL.md +254 -234
  85. package/skills/multiple-entry-points/SKILL.md +37 -1
  86. package/skills/mvc-expert/SKILL.md +7 -1
  87. package/skills/n8n-automation-expert/SKILL.md +89 -0
  88. package/skills/nextjs-app-router-expert/SKILL.md +148 -0
  89. package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
  90. package/skills/payment-gateway-expert/SKILL.md +85 -1
  91. package/skills/pdf-document-generation-expert/SKILL.md +91 -0
  92. package/skills/performance-web-vitals/SKILL.md +7 -1
  93. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -57
  94. package/skills/prd-architect/SKILL.md +182 -201
  95. package/skills/proactive-background-watcher/SKILL.md +67 -61
  96. package/skills/production-ready-hardener/SKILL.md +459 -456
  97. package/skills/pwa-offline-first-expert/SKILL.md +226 -0
  98. package/skills/pydantic-ai-expert/SKILL.md +161 -0
  99. package/skills/python-programming-expert/SKILL.md +407 -401
  100. package/skills/rate-limit-abuse-prevention/SKILL.md +376 -370
  101. package/skills/realtime-collaboration-expert/SKILL.md +55 -1
  102. package/skills/rich-text-editor-expert/SKILL.md +177 -0
  103. package/skills/rust-programming-expert/SKILL.md +7 -1
  104. package/skills/saas-architect/SKILL.md +154 -0
  105. package/skills/saas-billing/SKILL.md +7 -1
  106. package/skills/saas-multi-tenant/SKILL.md +7 -1
  107. package/skills/scalability-clean-code/SKILL.md +7 -1
  108. package/skills/search-engine-expert/SKILL.md +89 -0
  109. package/skills/secure-fuzz-testing/SKILL.md +7 -1
  110. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -57
  111. package/skills/senior-frontend/SKILL.md +139 -161
  112. package/skills/senior-frontend/scripts/frontend_scaffolder.py +1 -1
  113. package/skills/seo/SKILL.md +41 -17
  114. package/skills/session-memory-manager/SKILL.md +128 -0
  115. package/skills/solidjs-expert/SKILL.md +80 -0
  116. package/skills/spa-orchestrator/SKILL.md +20 -1
  117. package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
  118. package/skills/state-management-expert/SKILL.md +7 -1
  119. package/skills/supabase-security-expert/SKILL.md +7 -1
  120. package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
  121. package/skills/svg-animation-motion-expert/SKILL.md +115 -0
  122. package/skills/synthetic-data-finetuning-expert/SKILL.md +155 -0
  123. package/skills/tailwind-expert/SKILL.md +88 -136
  124. package/skills/tanstack-query-expert/SKILL.md +7 -1
  125. package/skills/tauri-expert/SKILL.md +7 -1
  126. package/skills/typescript-expert/SKILL.md +12 -6
  127. package/skills/ui-ux-pro-max/SKILL.md +25 -3
  128. package/skills/vector-db-rag-expert/SKILL.md +175 -19
  129. package/skills/vercel-ai-sdk-expert/SKILL.md +181 -0
  130. package/skills/visual-qa-vision-agent/SKILL.md +70 -64
  131. package/skills/voice-ai-realtime-agent/SKILL.md +242 -0
  132. package/skills/vue-frontend-expert/SKILL.md +131 -125
  133. package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
  134. package/skills/web-3d-graphics-expert/SKILL.md +262 -80
  135. package/skills/web-game-engine-expert/SKILL.md +281 -48
  136. package/skills/web-scraper/SKILL.md +157 -207
  137. package/skills/website-design-cloner/SKILL.md +179 -173
  138. package/skills/webxr-ar-vr-expert/SKILL.md +108 -63
  139. package/skills/wordpress-headless-expert/SKILL.md +144 -0
  140. package/skills/zero-to-prod-orchestrator/SKILL.md +65 -38
  141. package/skills/zero-trust-secret-vault/SKILL.md +87 -39
  142. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  143. package/.github/workflows/publish.yml +0 -20
  144. package/CONTRIBUTING.md +0 -199
  145. package/SECURITY.md +0 -21
  146. package/banner.png +0 -0
  147. package/skills/ai-cost-token-optimizer/SKILL.md +0 -52
  148. package/skills/asisten_ramah/SKILL.md +0 -41
  149. package/skills/auto-doc-updater/SKILL.md +0 -214
  150. package/skills/autonomous-chaos-monkey/SKILL.md +0 -63
  151. package/skills/autonomous-swarm-director/SKILL.md +0 -69
  152. package/skills/edge-serverless-db-expert/SKILL.md +0 -43
  153. package/skills/hyper-context-synthesizer/SKILL.md +0 -55
  154. package/skills/llm-cost-arbitrage-router/SKILL.md +0 -59
  155. package/skills/mcp-client-orchestrator/SKILL.md +0 -70
  156. package/skills/mobile-push-notification-expert/SKILL.md +0 -51
  157. package/skills/monday-design-aesthetic/SKILL.md +0 -67
  158. package/skills/project-context-mapper/SKILL.md +0 -79
  159. package/skills/saas-mvp-launcher/SKILL.md +0 -241
  160. package/skills/saas-transformer/SKILL.md +0 -489
  161. package/skills/saas-transformer/references/billing_integration_guide.md +0 -401
  162. package/skills/self-evolving-memory-graph/SKILL.md +0 -75
  163. package/skills/senior-fullstack/SKILL.md +0 -167
  164. package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
  165. package/skills/senior-fullstack/references/development_workflows.md +0 -222
  166. package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
  167. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  168. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  169. package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
  170. package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
  171. package/skills/seo-geo/SKILL.md +0 -188
  172. package/skills/session-context-loader/SKILL.md +0 -77
  173. package/skills/session-handoff-resume/SKILL.md +0 -158
  174. package/skills/skill_baru/SKILL.md +0 -172
  175. package/skills/supabase-migration/SKILL.md +0 -45
  176. package/skills/token-saver/SKILL.md +0 -119
  177. package/skills/ui-components-expert/SKILL.md +0 -280
  178. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  179. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  180. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  181. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  182. package/skills/ui_ux_expert/SKILL.md +0 -125
  183. package/skills/vibe-code-gardener/SKILL.md +0 -181
  184. package/vibes-swarm-demo.gif +0 -0
  185. /package/skills/{saas-transformer → saas-architect}/references/feature_gating_patterns.md +0 -0
  186. /package/skills/{saas-transformer → saas-architect}/references/saas_transformation_checklist.md +0 -0
  187. /package/skills/{saas-transformer → saas-architect}/scripts/saas_transformation_scanner.py +0 -0
@@ -1,174 +1,180 @@
1
- ---
2
- name: website-design-cloner
3
- description: "Analyzes and reverse-engineers website designs directly from a target URL, extracting layout structures, design tokens (colors, typography, spacing), component hierarchies, visual assets, and responsive behaviors to enable full 1:1 duplication into modern code (Tailwind CSS v4, React/Next.js, HTML/CSS). / Mempelajari dan merekayasa balik desain situs web langsung dari URL target, mengekstrak struktur layout, design token (warna, tipografi, spacing), hierarki komponen, aset visual, dan perilaku responsif untuk duplikasi 1:1 penuh ke kode modern."
1
+ ---
2
+ name: website-design-cloner
3
+ description: "Analyzes and reverse-engineers website designs directly from a target URL, extracting layout structures, design tokens (colors, typography, spacing), component hierarchies, visual assets, and responsive behaviors to enable full 1:1 duplication into modern code (Tailwind CSS v4, React/Next.js, HTML/CSS). / Mempelajari dan merekayasa balik desain situs web langsung dari URL target, mengekstrak struktur layout, design token (warna, tipografi, spacing), hierarki komponen, aset visual, dan perilaku responsif untuk duplikasi 1:1 penuh ke kode modern."
4
4
  author: "Roedy Rustam"
5
- ---
6
-
7
- # Website Design Cloner & Reverse Engineering 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
- `website-design-cloner` is an advanced URL-to-Code visual reverse engineering skill. It enables AI agents to inspect any target website URL, analyze its visual aesthetic, layout grid, CSS design tokens (OKLCH/HEX colors, typography system, container bounds, shadow tiers, border-radii), DOM structure, and interactive components, and synthesize production-ready code (Tailwind CSS v4, React 19, Next.js 15, HTML5/Vanilla CSS) to achieve a full 1:1 duplication.
18
-
19
- ### Trigger Conditions
20
- - Replicating or cloning a website layout, landing page, or web application directly from a target URL.
21
- - Extracting design systems (color palettes, typography scales, container grids, component patterns) from a reference link.
22
- - Re-creating complex UI components (Hero banners, Bento grids, navbar drawers, pricing tables, footers) based on live URLs.
23
- - Auditing and reverse-engineering third-party website layouts for component scaffolding.
24
-
25
- ---
26
-
27
- ### 5-Step URL-to-Code Reverse Engineering Methodology
28
-
29
- ```mermaid
30
- graph TD
31
- A["Target URL"] --> B["Phase 1: URL Inspection & DOM Scraping"]
32
- B --> C["Phase 2: Design Tokens & CSS Extraction"]
33
- C --> D["Phase 3: Component Hierarchy Breakdown"]
34
- D --> E["Phase 4: 1:1 Code Synthesis (Tailwind v4 + React 19)"]
35
- E --> F["Phase 5: Visual Verification & Polish"]
36
- ```
37
-
38
- #### Phase 1: URL Inspection & Asset Discovery
39
- 1. **Content Fetching**: Retrieve raw DOM, inline CSS, stylesheet links (`<link rel="stylesheet">`), and font imports using `read_url_content`, Firecrawl, Jina Reader API (`https://r.jina.ai/<URL>`), or Playwright browser automation.
40
- 2. **Visual Viewport Inspection**: Capture layout snapshots across break-points:
41
- - Mobile (`375px`)
42
- - Tablet (`768px`)
43
- - Desktop (`1440px+`)
44
- 3. **Asset Mining**: Extract SVG icons (Lucide/Heroicons equivalents), image asset URLs, logo vectors, and background gradients.
45
-
46
- #### Phase 2: Design Tokens & CSS Harvester
47
- Harvest computed styles and synthesize them into Tailwind CSS v4 `@theme` tokens:
48
-
49
- | Token Category | Extracted Properties | Tailwind CSS v4 Mapping |
50
- |---|---|---|
51
- | **Color System** | Primary, Secondary, Background, Neutral slate, Surface, Borders | `--color-primary`, `--color-background`, `--color-surface` |
52
- | **Typography** | Font Family (Google Fonts link), Headings (`h1`-`h6`), Body, Font Weights | `--font-sans`, `--font-mono`, `--text-4xl`, `--font-bold` |
53
- | **Spacing Scale** | Section Padding (`py-16`/`py-24`), Container Max-Width (`1280px`), Gap scale | `--spacing-16`, `--max-width-7xl`, `gap-6` |
54
- | **Borders & Radii** | Card Border Radius (`16px`), Pill Radius (`9999px`), Border Colors | `--radius-xl`, `--color-border` |
55
- | **Effects** | Backdrop Blur (`backdrop-blur-md`), Glassmorphism, Drop Shadows | `shadow-xl shadow-brand/10`, `backdrop-blur-lg` |
56
-
57
- #### Phase 3: Component Hierarchy Breakdown
58
- Deconstruct the target web page into modular, reusable UI components:
59
- - **`HeaderNav`**: Brand logo, navigation menu links, dynamic CTA button, mobile drawer toggle.
60
- - **`HeroSection`**: Eye-catching headline, subheading, action buttons, hero image/video/mockup.
61
- - **`FeatureBento`**: Bento grid containers, icon badges, feature titles, micro-copy.
62
- - **`TestimonialGrid`**: Avatar image, quote text, author metadata, star ratings.
63
- - **`PricingSection`**: Tier cards, billing toggle (Monthly/Annual), highlighted popular badge, feature checklists.
64
- - **`FooterNav`**: Category columns, newsletter subscription form, copyright & social icons.
65
-
66
- #### Phase 4: 1:1 Code Synthesis (Tailwind v4 + React 19)
67
- Synthesize clean, accessible, modern code matching the extracted structure.
68
-
69
- ##### Example: Extracted Tailwind CSS v4 Theme (`tokens.css`)
70
- ```css
71
- @import "tailwindcss";
72
-
73
- @theme {
74
- --font-sans: "Outfit", "Inter", system-ui, sans-serif;
75
- --font-mono: "Fira Code", monospace;
76
-
77
- /* Extracted OKLCH Palette */
78
- --color-brand-primary: oklch(58% 0.23 255);
79
- --color-brand-accent: oklch(68% 0.19 160);
80
- --color-surface-dark: oklch(14% 0.02 255);
81
- --color-surface-card: oklch(18% 0.03 255 / 80%);
82
-
83
- --radius-card: 1.25rem;
84
- }
85
- ```
86
-
87
- ##### Example: Recreated Hero Component (`HeroSection.tsx`)
88
- ```tsx
89
- import React from 'react';
90
-
91
- export function HeroSection() {
92
- return (
93
- <section className="relative overflow-hidden bg-surface-dark py-24 text-white">
94
- {/* Background Glow */}
95
- <div className="absolute top-1/4 left-1/2 -z-10 h-96 w-96 -translate-x-1/2 rounded-full bg-brand-primary/20 blur-3xl" />
96
-
97
- <div className="mx-auto max-w-7xl px-6 text-center">
98
- <span className="inline-block rounded-full bg-brand-primary/10 px-4 py-1.5 text-xs font-semibold text-brand-accent backdrop-blur-md">
99
- ✨ Replicated Design Template
100
- </span>
101
-
102
- <h1 className="mt-6 font-sans text-5xl font-extrabold tracking-tight sm:text-6xl">
103
- Duplicated Full-Fidelity <span className="bg-gradient-to-r from-brand-primary to-brand-accent bg-clip-text text-transparent">Website Layout</span>
104
- </h1>
105
-
106
- <p className="mx-auto mt-6 max-w-2xl text-lg text-slate-300">
107
- Extracted directly from URL using website-design-cloner. Includes precise typography, exact color tokens, and responsive component structure.
108
- </p>
109
-
110
- <div className="mt-8 flex justify-center gap-4">
111
- <button className="rounded-card bg-brand-primary px-6 py-3.5 font-medium text-white shadow-lg shadow-brand-primary/25 transition-all hover:scale-105">
112
- Get Started
113
- </button>
114
- <button className="rounded-card border border-slate-700 bg-slate-800/50 px-6 py-3.5 font-medium text-slate-200 backdrop-blur-md hover:bg-slate-800">
115
- View Live Demo
116
- </button>
117
- </div>
118
- </div>
119
- </section>
120
- );
121
- }
122
- ```
123
-
124
- #### Phase 5: Visual Verification & Polish
125
- - Ensure color contrast passes WCAG 2.2 AAA standard (4.5:1 ratio).
126
- - Validate full responsiveness on mobile viewports.
127
- - Replace broken image assets with synthesized visual placeholders using `generate_image`.
128
-
129
- ---
130
-
131
- <a name="bahasa-indonesia"></a>
132
- ## Bahasa Indonesia
133
-
134
- ### Deskripsi
135
- `website-design-cloner` adalah skill rekayasa balik (*reverse engineering*) visual dari URL ke kode. Skill ini memungkinkan agen AI mempelajari situs web target dari URL, mengaudit estetika visual, grid layout, design token CSS (warna OKLCH/HEX, sistem tipografi, batas kontainer, bayangan, radius border), struktur DOM, dan komponen interaktif, lalu merekonstruksi kode siap produksi (Tailwind CSS v4, React 19, Next.js 15, HTML5/CSS3) untuk mencapai duplikasi 1:1 penuh.
136
-
137
- ### Kondisi Pemicu
138
- - Merekapitulasi atau menduplikasi tata letak situs web, landing page, atau aplikasi web dari URL target.
139
- - Mengekstrak design system (skema warna, skala tipografi, grid kontainer, pola komponen) dari tautan referensi.
140
- - Membangun kembali komponen UI kompleks (banner Hero, Bento grid, drawer navigasi, tabel harga, footer) berdasarkan URL langsung.
141
- - Mempelajari struktur visual dan rekayasa balik situs web pihak ketiga untuk template baru.
142
-
143
- ---
144
-
145
- ### Metodologi 5-Langkah Duplikasi URL-ke-Kode
146
-
147
- 1. **Tahap 1: Inspeksi URL & Penemuan Aset**:
148
- - Mengambil HTML mentah, inline CSS, tautan stylesheet, dan font melalui `read_url_content`, Firecrawl, Jina Reader API (`https://r.jina.ai/<URL>`), atau otomatisasi browser Playwright.
149
- - Mengambil snapshot tampilan visual pada breakpoint Mobile (`375px`), Tablet (`768px`), dan Desktop (`1440px`).
150
- - Ekstraksi ikon SVG, URL gambar, logo, dan gradien latar belakang.
151
-
152
- 2. **Tahap 2: Ekstraksi Design Token & CSS**:
153
- - Mengekstrak properti CSS computed dan menyintesisnya ke dalam token `@theme` Tailwind CSS v4 (sistem warna OKLCH/HEX, tipografi Google Fonts, skala spacing, border radius, dan efek shadow/glassmorphism).
154
-
155
- 3. **Tahap 3: Pembongkaran Hierarki Komponen**:
156
- - Membagi halaman web target menjadi komponen modular: `HeaderNav`, `HeroSection`, `FeatureBento`, `TestimonialGrid`, `PricingSection`, dan `FooterNav`.
157
-
158
- 4. **Tahap 4: Sintesis Kode Presisi 1:1**:
159
- - Menyusun kode bersih dan modular dalam React 19 / Next.js 15 / HTML+CSS modern yang menggunakan token `@theme` Tailwind CSS v4.
160
-
161
- 5. **Tahap 5: Verifikasi Visual & Polishing**:
162
- - Memastikan rasio kontras WCAG 2.2, tes responsivitas mobile, dan membuat aset gambar pengganti presisi dengan tool `generate_image`.
163
-
164
- ---
165
-
166
- ### Matriks Orkestrasi & Handoff Skill
167
-
168
- | Skill Terkait | Peran & Integrasi Handoff |
169
- |---|---|
170
- | `web-scraper` | Mengambil HTML mentah, CSS, dan Markdown dari URL via Jina Reader / Firecrawl API. |
171
- | `design-system-architect` | Menyusun token visual hasil ekstraksi ke dalam design system enterprise berbasis OKLCH & Radix/Base UI. |
172
- | `ui-ux-pro-max` | Memberikan acuan BM25 visual style, pasangan font Google Fonts, dan checklist aksesibilitas WCAG 2.2. |
173
- | `senior-frontend` | Mengimplementasikan kode komponen React 19 / Next.js 15 App Router siap produksi. |
174
- | `tailwind-expert` | Mengatur konfigurasi Tailwind CSS v4 `@theme` dan utilitas responsif. |
5
+ ---
6
+
7
+ # Website Design Cloner & Reverse Engineering Expert (2026 Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
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
+
19
+ ### Description
20
+ `website-design-cloner` is an advanced URL-to-Code visual reverse engineering skill. It enables AI agents to inspect any target website URL, analyze its visual aesthetic, layout grid, CSS design tokens (OKLCH/HEX colors, typography system, container bounds, shadow tiers, border-radii), DOM structure, and interactive components, and synthesize production-ready code (Tailwind CSS v4, React 19, Next.js 15, HTML5/Vanilla CSS) to achieve a full 1:1 duplication.
21
+
22
+ ### Trigger Conditions
23
+ - Replicating or cloning a website layout, landing page, or web application directly from a target URL.
24
+ - Extracting design systems (color palettes, typography scales, container grids, component patterns) from a reference link.
25
+ - Re-creating complex UI components (Hero banners, Bento grids, navbar drawers, pricing tables, footers) based on live URLs.
26
+ - Auditing and reverse-engineering third-party website layouts for component scaffolding.
27
+
28
+ ---
29
+
30
+ ### 5-Step URL-to-Code Reverse Engineering Methodology
31
+
32
+ ```mermaid
33
+ graph TD
34
+ A["Target URL"] --> B["Phase 1: URL Inspection & DOM Scraping"]
35
+ B --> C["Phase 2: Design Tokens & CSS Extraction"]
36
+ C --> D["Phase 3: Component Hierarchy Breakdown"]
37
+ D --> E["Phase 4: 1:1 Code Synthesis (Tailwind v4 + React 19)"]
38
+ E --> F["Phase 5: Visual Verification & Polish"]
39
+ ```
40
+
41
+ #### Phase 1: URL Inspection & Asset Discovery
42
+ 1. **Content Fetching**: Retrieve raw DOM, inline CSS, stylesheet links (`<link rel="stylesheet">`), and font imports using `read_url_content`, Firecrawl, Jina Reader API (`https://r.jina.ai/<URL>`), or Playwright browser automation.
43
+ 2. **Visual Viewport Inspection**: Capture layout snapshots across break-points:
44
+ - Mobile (`375px`)
45
+ - Tablet (`768px`)
46
+ - Desktop (`1440px+`)
47
+ 3. **Asset Mining**: Extract SVG icons (Lucide/Heroicons equivalents), image asset URLs, logo vectors, and background gradients.
48
+
49
+ #### Phase 2: Design Tokens & CSS Harvester
50
+ Harvest computed styles and synthesize them into Tailwind CSS v4 `@theme` tokens:
51
+
52
+ | Token Category | Extracted Properties | Tailwind CSS v4 Mapping |
53
+ |---|---|---|
54
+ | **Color System** | Primary, Secondary, Background, Neutral slate, Surface, Borders | `--color-primary`, `--color-background`, `--color-surface` |
55
+ | **Typography** | Font Family (Google Fonts link), Headings (`h1`-`h6`), Body, Font Weights | `--font-sans`, `--font-mono`, `--text-4xl`, `--font-bold` |
56
+ | **Spacing Scale** | Section Padding (`py-16`/`py-24`), Container Max-Width (`1280px`), Gap scale | `--spacing-16`, `--max-width-7xl`, `gap-6` |
57
+ | **Borders & Radii** | Card Border Radius (`16px`), Pill Radius (`9999px`), Border Colors | `--radius-xl`, `--color-border` |
58
+ | **Effects** | Backdrop Blur (`backdrop-blur-md`), Glassmorphism, Drop Shadows | `shadow-xl shadow-brand/10`, `backdrop-blur-lg` |
59
+
60
+ #### Phase 3: Component Hierarchy Breakdown
61
+ Deconstruct the target web page into modular, reusable UI components:
62
+ - **`HeaderNav`**: Brand logo, navigation menu links, dynamic CTA button, mobile drawer toggle.
63
+ - **`HeroSection`**: Eye-catching headline, subheading, action buttons, hero image/video/mockup.
64
+ - **`FeatureBento`**: Bento grid containers, icon badges, feature titles, micro-copy.
65
+ - **`TestimonialGrid`**: Avatar image, quote text, author metadata, star ratings.
66
+ - **`PricingSection`**: Tier cards, billing toggle (Monthly/Annual), highlighted popular badge, feature checklists.
67
+ - **`FooterNav`**: Category columns, newsletter subscription form, copyright & social icons.
68
+
69
+ #### Phase 4: 1:1 Code Synthesis (Tailwind v4 + React 19)
70
+ Synthesize clean, accessible, modern code matching the extracted structure.
71
+
72
+ ##### Example: Extracted Tailwind CSS v4 Theme (`tokens.css`)
73
+ ```css
74
+ @import "tailwindcss";
75
+
76
+ @theme {
77
+ --font-sans: "Outfit", "Inter", system-ui, sans-serif;
78
+ --font-mono: "Fira Code", monospace;
79
+
80
+ /* Extracted OKLCH Palette */
81
+ --color-brand-primary: oklch(58% 0.23 255);
82
+ --color-brand-accent: oklch(68% 0.19 160);
83
+ --color-surface-dark: oklch(14% 0.02 255);
84
+ --color-surface-card: oklch(18% 0.03 255 / 80%);
85
+
86
+ --radius-card: 1.25rem;
87
+ }
88
+ ```
89
+
90
+ ##### Example: Recreated Hero Component (`HeroSection.tsx`)
91
+ ```tsx
92
+ import React from 'react';
93
+
94
+ export function HeroSection() {
95
+ return (
96
+ <section className="relative overflow-hidden bg-surface-dark py-24 text-white">
97
+ {/* Background Glow */}
98
+ <div className="absolute top-1/4 left-1/2 -z-10 h-96 w-96 -translate-x-1/2 rounded-full bg-brand-primary/20 blur-3xl" />
99
+
100
+ <div className="mx-auto max-w-7xl px-6 text-center">
101
+ <span className="inline-block rounded-full bg-brand-primary/10 px-4 py-1.5 text-xs font-semibold text-brand-accent backdrop-blur-md">
102
+ ✨ Replicated Design Template
103
+ </span>
104
+
105
+ <h1 className="mt-6 font-sans text-5xl font-extrabold tracking-tight sm:text-6xl">
106
+ Duplicated Full-Fidelity <span className="bg-gradient-to-r from-brand-primary to-brand-accent bg-clip-text text-transparent">Website Layout</span>
107
+ </h1>
108
+
109
+ <p className="mx-auto mt-6 max-w-2xl text-lg text-slate-300">
110
+ Extracted directly from URL using website-design-cloner. Includes precise typography, exact color tokens, and responsive component structure.
111
+ </p>
112
+
113
+ <div className="mt-8 flex justify-center gap-4">
114
+ <button className="rounded-card bg-brand-primary px-6 py-3.5 font-medium text-white shadow-lg shadow-brand-primary/25 transition-all hover:scale-105">
115
+ Get Started
116
+ </button>
117
+ <button className="rounded-card border border-slate-700 bg-slate-800/50 px-6 py-3.5 font-medium text-slate-200 backdrop-blur-md hover:bg-slate-800">
118
+ View Live Demo
119
+ </button>
120
+ </div>
121
+ </div>
122
+ </section>
123
+ );
124
+ }
125
+ ```
126
+
127
+ #### Phase 5: Visual Verification & Polish
128
+ - Ensure color contrast passes WCAG 2.2 AAA standard (4.5:1 ratio).
129
+ - Validate full responsiveness on mobile viewports.
130
+ - Replace broken image assets with synthesized visual placeholders using `generate_image`.
131
+
132
+ ---
133
+
134
+ <a name="bahasa-indonesia"></a>
135
+ ## Bahasa Indonesia
136
+
137
+ ### Integrasi Orkestrasi
138
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
139
+
140
+ ### Deskripsi
141
+ `website-design-cloner` adalah skill rekayasa balik (*reverse engineering*) visual dari URL ke kode. Skill ini memungkinkan agen AI mempelajari situs web target dari URL, mengaudit estetika visual, grid layout, design token CSS (warna OKLCH/HEX, sistem tipografi, batas kontainer, bayangan, radius border), struktur DOM, dan komponen interaktif, lalu merekonstruksi kode siap produksi (Tailwind CSS v4, React 19, Next.js 15, HTML5/CSS3) untuk mencapai duplikasi 1:1 penuh.
142
+
143
+ ### Kondisi Pemicu
144
+ - Merekapitulasi atau menduplikasi tata letak situs web, landing page, atau aplikasi web dari URL target.
145
+ - Mengekstrak design system (skema warna, skala tipografi, grid kontainer, pola komponen) dari tautan referensi.
146
+ - Membangun kembali komponen UI kompleks (banner Hero, Bento grid, drawer navigasi, tabel harga, footer) berdasarkan URL langsung.
147
+ - Mempelajari struktur visual dan rekayasa balik situs web pihak ketiga untuk template baru.
148
+
149
+ ---
150
+
151
+ ### Metodologi 5-Langkah Duplikasi URL-ke-Kode
152
+
153
+ 1. **Tahap 1: Inspeksi URL & Penemuan Aset**:
154
+ - Mengambil HTML mentah, inline CSS, tautan stylesheet, dan font melalui `read_url_content`, Firecrawl, Jina Reader API (`https://r.jina.ai/<URL>`), atau otomatisasi browser Playwright.
155
+ - Mengambil snapshot tampilan visual pada breakpoint Mobile (`375px`), Tablet (`768px`), dan Desktop (`1440px`).
156
+ - Ekstraksi ikon SVG, URL gambar, logo, dan gradien latar belakang.
157
+
158
+ 2. **Tahap 2: Ekstraksi Design Token & CSS**:
159
+ - Mengekstrak properti CSS computed dan menyintesisnya ke dalam token `@theme` Tailwind CSS v4 (sistem warna OKLCH/HEX, tipografi Google Fonts, skala spacing, border radius, dan efek shadow/glassmorphism).
160
+
161
+ 3. **Tahap 3: Pembongkaran Hierarki Komponen**:
162
+ - Membagi halaman web target menjadi komponen modular: `HeaderNav`, `HeroSection`, `FeatureBento`, `TestimonialGrid`, `PricingSection`, dan `FooterNav`.
163
+
164
+ 4. **Tahap 4: Sintesis Kode Presisi 1:1**:
165
+ - Menyusun kode bersih dan modular dalam React 19 / Next.js 15 / HTML+CSS modern yang menggunakan token `@theme` Tailwind CSS v4.
166
+
167
+ 5. **Tahap 5: Verifikasi Visual & Polishing**:
168
+ - Memastikan rasio kontras WCAG 2.2, tes responsivitas mobile, dan membuat aset gambar pengganti presisi dengan tool `generate_image`.
169
+
170
+ ---
171
+
172
+ ### Matriks Orkestrasi & Handoff Skill
173
+
174
+ | Skill Terkait | Peran & Integrasi Handoff |
175
+ |---|---|
176
+ | `web-scraper` | Mengambil HTML mentah, CSS, dan Markdown dari URL via Jina Reader / Firecrawl API. |
177
+ | `design-system-architect` | Menyusun token visual hasil ekstraksi ke dalam design system enterprise berbasis OKLCH & Radix/Base UI. |
178
+ | `ui-ux-pro-max` | Memberikan acuan BM25 visual style, pasangan font Google Fonts, dan checklist aksesibilitas WCAG 2.2. |
179
+ | `senior-frontend` | Mengimplementasikan kode komponen React 19 / Next.js 15 App Router siap produksi. |
180
+ | `tailwind-expert` | Mengatur konfigurasi Tailwind CSS v4 `@theme` dan utilitas responsif. |
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: webxr-ar-vr-expert
3
- description: "Expert guide for WebXR (Web-based Virtual and Augmented Reality) development using Babylon.js and Three.js. Covers device compatibility, immersive sessions, controllers, and hit-testing."
4
- author: "Roedy Rustam"
3
+ description: "Expert guide for WebXR spatial computing, Web-based Virtual Reality (VR), Mixed Reality (MR), and Augmented Reality (AR) using Babylon.js and Three.js. Covers Apple Vision Pro, Meta Quest 3, hand tracking, and hit-testing / Panduan ahli WebXR spatial computing (VR/AR/MR)."
4
+ author: "vibes-plug-swarm"
5
5
  ---
6
6
 
7
- # WebXR AR/VR Expert
7
+ # WebXR Spatial Computing Expert (VR, AR & MR)
8
8
 
9
9
  [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
10
 
@@ -13,59 +13,101 @@ 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:
18
+ - `web-3d-graphics-expert` — WebGPU/WebGL 3D scene rendering, lighting, and model optimization.
19
+ - `web-game-engine-expert` — Spatial physics, grabbing interactions, and fixed-timestep motion.
20
+ - `apple-ecosystem-expert` — Apple Vision Pro visionOS Safari WebXR features and spatial guidelines.
21
+ - `glsl-shader-expert` — Passthrough blending and spatial holographic shaders.
22
+ - `performance-web-vitals` — Maintaining rock-solid 72/90/120 FPS to prevent simulator sickness.
23
+
16
24
  ### Description
17
- Production-grade guidance for building immersive **Augmented Reality (AR)** and **Virtual Reality (VR)** experiences in the browser using the **WebXR Device API**. Focuses on implementation via **Babylon.js** (which has industry-leading WebXR support) and **Three.js** / React Three Fiber.
25
+ Production-grade guidance for architecting immersive **Virtual Reality (VR)**, **Mixed Reality (MR)**, and **Augmented Reality (AR)** in the browser via the **WebXR Device API**. Covers modern head-mounted displays (**Meta Quest 3/3S**, **Apple Vision Pro**) and mobile AR, focusing on Babylon.js and Three.js with `@react-three/xr`.
18
26
 
19
27
  ### Trigger Conditions
20
28
  Activate this skill when the user is:
21
- - Building AR/VR experiences for Oculus/Meta Quest, Apple Vision Pro, or mobile AR devices.
22
- - Setting up an `immersive-vr` or `immersive-ar` WebXR session.
23
- - Implementing controller tracking, hand tracking, or teleportation in 3D space.
24
- - Using AR Hit-Testing to place digital objects on physical surfaces (floors/tables).
29
+ - Developing spatial computing web applications or immersive web experiences.
30
+ - Setting up WebXR sessions (`immersive-vr`, `immersive-ar`).
31
+ - Implementing Hand Tracking (joint poses, pinch gestures) or spatial controller interactions.
32
+ - Adding Mixed Reality passthrough or depth sensing.
33
+ - Implementing AR Hit-Testing to snap 3D models onto real-world planes (floors, walls, tabletops).
34
+ - Optimizing XR framerates (fixed foveated rendering) to eliminate motion sickness.
35
+
36
+ ---
37
+
38
+ ### Key Capabilities & Headset Targets (2026)
39
+
40
+ | Target Platform | Session Mode | Key Features |
41
+ | :--- | :--- | :--- |
42
+ | **Meta Quest 3 / 3S** | `immersive-vr`, `immersive-ar` | Full-color stereo passthrough, high-precision hand tracking, fixed foveation levels 0-3. |
43
+ | **Apple Vision Pro (visionOS)** | `immersive-vr`, `immersive-ar` | Eye-gaze + pinch interaction, 90/120Hz display refresh, strict privacy hand tracking. |
44
+ | **Mobile AR (Android / iOS WebKit)** | `immersive-ar` | Surface hit-testing, ambient light estimation, instant plane detection. |
45
+
46
+ ---
25
47
 
26
- ### Core Concepts
48
+ ### 1. Babylon.js WebXR Setup (Gold Standard)
49
+
50
+ Babylon.js provides the most comprehensive out-of-the-box WebXR implementation with integrated teleportation, controller profiles, and physics:
27
51
 
28
- #### 1. Babylon.js WebXR Setup
29
- Babylon.js provides the most robust default WebXR experience.
30
52
  ```typescript
31
- import { Scene, FreeCamera, Vector3, Engine } from '@babylonjs/core';
53
+ import { Scene, WebXRExperienceHelper, WebXRFeatureName } from '@babylonjs/core';
32
54
 
33
- async function setupXR(scene: Scene) {
34
- // Initialize default WebXR experience
35
- // This automatically adds the "Enter VR/AR" button, teleportation, and controller models
55
+ export async function initBabylonXR(scene: Scene) {
36
56
  const xr = await scene.createDefaultXRExperienceAsync({
37
57
  uiOptions: {
38
- sessionMode: 'immersive-vr', // or 'immersive-ar'
58
+ sessionMode: 'immersive-ar', // Fallback to 'immersive-vr' if AR is unsupported
59
+ referenceSpaceType: 'local-floor'
39
60
  },
40
- optionalFeatures: true
41
- });
42
-
43
- // Example: Listen for controller input
44
- xr.input.onControllerAddedObservable.add((controller) => {
45
- controller.onMotionControllerInitObservable.add((motionController) => {
46
- // Handle button presses
47
- });
61
+ optionalFeatures: ['hit-test', 'hand-tracking', 'anchors', 'plane-detection']
48
62
  });
63
+
64
+ // Enable Fixed Foveated Rendering to reclaim 20-30% GPU performance on Quest
65
+ const foveation = xr.baseExperience.featuresManager.enableFeature(
66
+ WebXRFeatureName.FOVEATION,
67
+ 'latest',
68
+ { foveationLevel: 2 }
69
+ );
70
+
71
+ // Listen for Hand Tracking
72
+ const handTracking = xr.baseExperience.featuresManager.enableFeature(
73
+ WebXRFeatureName.HAND_TRACKING,
74
+ 'latest',
75
+ { xrInput: xr.input }
76
+ );
77
+
78
+ return xr;
49
79
  }
50
80
  ```
51
81
 
52
- #### 2. Three.js / React Three Fiber Setup
53
- In R3F, use `@react-three/xr`.
82
+ ---
83
+
84
+ ### 2. React Three Fiber Setup (`@react-three/xr`)
85
+
54
86
  ```tsx
55
87
  import { Canvas } from '@react-three/fiber';
56
- import { XR, createXRStore } from '@react-three/xr';
88
+ import { XR, createXRStore, Hands, Controllers } from '@react-three/xr';
57
89
 
58
- const store = createXRStore();
90
+ const store = createXRStore({
91
+ foveation: 1,
92
+ handTracking: true
93
+ });
59
94
 
60
- export default function App() {
95
+ export function SpatialApp() {
61
96
  return (
62
97
  <>
63
- <button onClick={() => store.enterVR()}>Enter VR</button>
98
+ <button className="xr-btn" onClick={() => store.enterAR()}>
99
+ Enter Mixed Reality
100
+ </button>
64
101
  <Canvas>
65
102
  <XR store={store}>
66
- <mesh>
67
- <boxGeometry />
68
- <meshBasicMaterial color="red" />
103
+ <ambientLight intensity={0.8} />
104
+ <directionalLight position={[5, 10, 5]} />
105
+ <Controllers />
106
+ <Hands />
107
+ {/* Spatial 3D Objects */}
108
+ <mesh position={[0, 1.2, -1]}>
109
+ <boxGeometry args={[0.3, 0.3, 0.3]} />
110
+ <meshStandardMaterial color="royalblue" />
69
111
  </mesh>
70
112
  </XR>
71
113
  </Canvas>
@@ -74,44 +116,47 @@ export default function App() {
74
116
  }
75
117
  ```
76
118
 
77
- #### 3. AR Hit-Testing
78
- In AR mode, "Hit-Testing" allows you to detect real-world surfaces.
79
- - Ensure `immersive-ar` is used.
80
- - Request the `hit-test` feature when initializing the session.
81
- - Use the hit-test results (a matrix/position) to place a reticle or object.
82
-
83
- ### Best Practices
84
- - **Performance is Critical:** VR requires a consistent 72 to 90 FPS (or 120 FPS on Apple Vision Pro). Dropped frames cause motion sickness.
85
- - **Polycount:** Keep polygon counts and draw calls low.
86
- - **UI in XR:** Standard HTML UI will not work in immersive mode. You must use 3D UI (e.g., Babylon's GUI 3D system or Three.js spatial HTML layers if supported).
87
-
88
119
  ---
89
120
 
90
- ### Integration with Other Skills (MANDATORY)
91
- This skill works best when combined with:
92
- - `web-3d-graphics-expert` — For building the 3D scene that XR will visualize.
93
- - `apple-ecosystem-expert` — For optimizing WebXR compatibility with iOS (Safari) and visionOS.
94
- - `web-game-engine-expert` — For adding physics to VR interactions (e.g., throwing objects).
95
-
96
- ### Referenced By Orchestrators (MANDATORY)
97
- - `brainstorming` — Add to "3D & Graphics" or "Spatial Computing".
98
- - `zero-to-prod-orchestrator` — Phase 5 (Frontend / XR Implementation).
121
+ ### Best Practices for Spatial Performance
122
+ 1. **Rock-Solid Framerates:** VR requires stable 72, 90, or 120 FPS. Any frame drop causes instant vestibular nausea.
123
+ 2. **Fixed Foveated Rendering (FFR):** Reduces fragment shader resolution in the user's peripheral vision, freeing substantial GPU overhead.
124
+ 3. **No 2D DOM Overlays in VR:** Standard HTML elements cannot render inside an immersive session. Render spatial 3D UI panels using world-space 3D meshes or canvas textures.
99
125
 
100
126
  ---
101
127
 
102
128
  <a name="bahasa-indonesia"></a>
103
129
  ## Bahasa Indonesia
104
130
 
131
+ ### Integrasi Orkestrasi
132
+ Terhubung dan mengorkestrasi skill domain yang relevan:
133
+ - `web-3d-graphics-expert` — Rendering scene 3D WebGPU/WebGL, pencahayaan, dan optimasi model.
134
+ - `web-game-engine-expert` — Fisika spasial, interaksi menggenggam objek, dan pergerakan fixed-timestep.
135
+ - `apple-ecosystem-expert` — Fitur WebXR Safari di Apple Vision Pro visionOS dan pedoman spasial.
136
+ - `glsl-shader-expert` — Shader hologram dan blending passthrough AR.
137
+ - `performance-web-vitals` — Menjaga kestabilan 72/90/120 FPS demi mencegah *motion sickness*.
138
+
105
139
  ### Deskripsi
106
- Panduan ahli untuk pengembangan *Virtual Reality* (VR) dan *Augmented Reality* (AR) di web menggunakan **WebXR API**. Difokuskan pada implementasi menggunakan **Babylon.js** dan **Three.js** untuk ekosistem *Spatial Computing*.
140
+ Panduan produksi untuk membangun aplikasi spasial imersif **Virtual Reality (VR)**, **Mixed Reality (MR)**, dan **Augmented Reality (AR)** di browser melalui **WebXR Device API**. Mencakup headset modern (**Meta Quest 3/3S**, **Apple Vision Pro**) serta perangkat mobile AR.
107
141
 
108
142
  ### Kondisi Pemicu
109
- - Mengembangkan aplikasi VR/AR untuk Meta Quest, Apple Vision Pro, atau Mobile AR.
110
- - Mengimplementasikan pelacakan pengontrol (controller), pelacakan tangan (hand tracking), atau teleportasi.
111
- - Menggunakan AR Hit-Testing untuk meletakkan objek 3D di permukaan dunia nyata.
112
-
113
- ### Panduan Singkat
114
- - **Performa Mutlak:** Jaga FPS tetap stabil di angka 72-90 FPS. *Frame drop* pada VR menyebabkan rasa mual (motion sickness) pada pengguna. Batasi jumlah poligon dan *draw calls*.
115
- - **Babylon.js sebagai Prioritas:** Untuk proyek XR berskala besar, prioritaskan Babylon.js karena dukungan bawaannya untuk interaksi VR, fisika, dan UI 3D jauh lebih matang dibanding library lain.
116
- - **UI Spasial:** Ingat bahwa elemen HTML biasa tidak muncul di dalam sesi `immersive-vr` atau `immersive-ar`. Anda harus membuat UI berupa objek 3D (seperti panel yang melayang di udara).
117
- - **Hit-Testing:** Untuk AR, gunakan fitur *Hit-Test* yang disediakan WebXR API untuk mengenali lantai atau meja sebagai tempat menaruh objek.
143
+ Aktifkan skill ini ketika pengguna:
144
+ - Mengembangkan aplikasi web *Spatial Computing* (VR/AR/MR).
145
+ - Menginisialisasi sesi WebXR (`immersive-vr`, `immersive-ar`).
146
+ - Mengimplementasikan *Hand Tracking* (pelacakan sendi tangan, gerakan cubit/pinch) atau kontroler spasial.
147
+ - Mengaktifkan *Passthrough* warna Mixed Reality.
148
+ - Menggunakan AR *Hit-Testing* untuk menempatkan objek 3D di lantai atau meja fisik.
149
+ - Mengoptimalkan performa VR dengan *Fixed Foveated Rendering* (FFR).
150
+
151
+ ---
152
+
153
+ ### Panduan Inti Pengembangan Spasial
154
+
155
+ 1. **Stabilitas Frame Rate Mutlak**:
156
+ - Targetkan 72–90 FPS tanpa toleransi *stutter*. Pada kacamata VR, keterlambatan frame (*latency hitch*) langsung memicu rasa mual (*motion sickness*).
157
+ 2. **Fixed Foveated Rendering (FFR)**:
158
+ - Aktifkan fitur foveation pada Meta Quest untuk menurunkan resolusi tepi lensa (periferi mata), menghemat 20-30% daya GPU.
159
+ 3. **Antarmuka 3D Spasial (Bukan HTML DOM)**:
160
+ - Elemen HTML standar tidak dapat ditampilkan di dalam sesi imersif. Buat UI berupa panel 3D melayang (*world-space meshes*).
161
+ 4. **Hit-Testing untuk AR**:
162
+ - Manfaatkan *Hit-Test API* bawaan WebXR untuk mendeteksi bidang nyata permukaan meja atau lantai secara instan sebelum meletakkan objek 3D.