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.
- 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 +319 -217
- package/CHANGELOG.md +170 -1
- package/CLAUDE.md +70 -0
- package/LICENSE +1 -1
- package/README.md +611 -415
- package/index.js +19 -0
- package/package.json +44 -8
- package/plugin.json +24 -7
- package/scripts/check-anti-slop.js +53 -0
- 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-llm-integration-expert/SKILL.md +192 -178
- package/skills/ai-media-generation-expert/SKILL.md +172 -0
- package/skills/ai-prompt-engineering-expert/SKILL.md +134 -0
- package/skills/angular-expert/SKILL.md +148 -0
- package/skills/anti-slop/SKILL.md +133 -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/astro-framework-expert/SKILL.md +200 -0
- package/skills/async-queue-temporal-expert/SKILL.md +189 -26
- package/skills/authentication-identity-expert/SKILL.md +78 -181
- package/skills/autonomous-red-teamer/SKILL.md +172 -28
- package/skills/autonomous-tdd-debugger/SKILL.md +70 -64
- 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 +60 -52
- 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-orm-expert/SKILL.md +165 -294
- package/skills/deep-research-analyst/SKILL.md +136 -0
- package/skills/dependency-upgrade-migrator/SKILL.md +300 -294
- package/skills/design-system-architect/SKILL.md +309 -260
- 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/email-notification-expert/SKILL.md +393 -360
- package/skills/error-resilience-expert/SKILL.md +506 -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 +184 -202
- 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 +158 -69
- package/skills/go-programming-expert/SKILL.md +21 -15
- package/skills/graph-rag-knowledge-expert/SKILL.md +200 -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-server-architect/SKILL.md +308 -194
- package/skills/micro-frontend-architect/SKILL.md +111 -105
- package/skills/mobile-expo-expert/SKILL.md +8 -2
- package/skills/modern-css-native-expert/SKILL.md +189 -0
- 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 +182 -201
- package/skills/proactive-background-watcher/SKILL.md +67 -61
- package/skills/production-ready-hardener/SKILL.md +459 -456
- package/skills/pwa-offline-first-expert/SKILL.md +226 -0
- package/skills/pydantic-ai-expert/SKILL.md +161 -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-architect/SKILL.md +154 -0
- package/skills/saas-billing/SKILL.md +7 -1
- package/skills/saas-multi-tenant/SKILL.md +7 -1
- 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-healing-cloud-orchestrator/SKILL.md +57 -57
- package/skills/senior-frontend/SKILL.md +139 -161
- package/skills/senior-frontend/scripts/frontend_scaffolder.py +1 -1
- package/skills/seo/SKILL.md +41 -17
- package/skills/session-memory-manager/SKILL.md +128 -0
- 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-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/synthetic-data-finetuning-expert/SKILL.md +155 -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/typescript-expert/SKILL.md +12 -6
- package/skills/ui-ux-pro-max/SKILL.md +25 -3
- package/skills/vector-db-rag-expert/SKILL.md +175 -19
- package/skills/vercel-ai-sdk-expert/SKILL.md +181 -0
- package/skills/visual-qa-vision-agent/SKILL.md +70 -64
- package/skills/voice-ai-realtime-agent/SKILL.md +242 -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 +262 -80
- package/skills/web-game-engine-expert/SKILL.md +281 -48
- 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 +108 -63
- package/skills/wordpress-headless-expert/SKILL.md +144 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +65 -38
- 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/ai-cost-token-optimizer/SKILL.md +0 -52
- package/skills/asisten_ramah/SKILL.md +0 -41
- package/skills/auto-doc-updater/SKILL.md +0 -214
- package/skills/autonomous-chaos-monkey/SKILL.md +0 -63
- package/skills/autonomous-swarm-director/SKILL.md +0 -69
- package/skills/edge-serverless-db-expert/SKILL.md +0 -43
- package/skills/hyper-context-synthesizer/SKILL.md +0 -55
- package/skills/llm-cost-arbitrage-router/SKILL.md +0 -59
- package/skills/mcp-client-orchestrator/SKILL.md +0 -70
- package/skills/mobile-push-notification-expert/SKILL.md +0 -51
- package/skills/monday-design-aesthetic/SKILL.md +0 -67
- package/skills/project-context-mapper/SKILL.md +0 -79
- package/skills/saas-mvp-launcher/SKILL.md +0 -241
- package/skills/saas-transformer/SKILL.md +0 -489
- package/skills/saas-transformer/references/billing_integration_guide.md +0 -401
- package/skills/self-evolving-memory-graph/SKILL.md +0 -75
- 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/session-context-loader/SKILL.md +0 -77
- package/skills/session-handoff-resume/SKILL.md +0 -158
- package/skills/skill_baru/SKILL.md +0 -172
- package/skills/supabase-migration/SKILL.md +0 -45
- package/skills/token-saver/SKILL.md +0 -119
- package/skills/ui-components-expert/SKILL.md +0 -280
- 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/skills/vibe-code-gardener/SKILL.md +0 -181
- package/vibes-swarm-demo.gif +0 -0
- /package/skills/{saas-transformer → saas-architect}/references/feature_gating_patterns.md +0 -0
- /package/skills/{saas-transformer → saas-architect}/references/saas_transformation_checklist.md +0 -0
- /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
|
-
###
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
###
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
--color-
|
|
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
|
-
<button className="rounded-card
|
|
115
|
-
|
|
116
|
-
</button>
|
|
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
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
|
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
|
|
4
|
-
author: "
|
|
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
|
|
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
|
|
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
|
-
-
|
|
22
|
-
- Setting up
|
|
23
|
-
- Implementing
|
|
24
|
-
-
|
|
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
|
-
###
|
|
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,
|
|
53
|
+
import { Scene, WebXRExperienceHelper, WebXRFeatureName } from '@babylonjs/core';
|
|
32
54
|
|
|
33
|
-
async function
|
|
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-
|
|
58
|
+
sessionMode: 'immersive-ar', // Fallback to 'immersive-vr' if AR is unsupported
|
|
59
|
+
referenceSpaceType: 'local-floor'
|
|
39
60
|
},
|
|
40
|
-
optionalFeatures:
|
|
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
|
-
|
|
53
|
-
|
|
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
|
|
95
|
+
export function SpatialApp() {
|
|
61
96
|
return (
|
|
62
97
|
<>
|
|
63
|
-
<button onClick={() => store.
|
|
98
|
+
<button className="xr-btn" onClick={() => store.enterAR()}>
|
|
99
|
+
Enter Mixed Reality
|
|
100
|
+
</button>
|
|
64
101
|
<Canvas>
|
|
65
102
|
<XR store={store}>
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
###
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
|
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
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
|
|
117
|
-
|
|
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.
|