vibes-plug 2.11.0 → 3.9.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 +5 -0
- package/.cursor/rules/vibes-plug-core.mdc +8 -3
- package/.cursorrules +9 -3
- package/AGENTS.md +25 -4
- package/CHANGELOG.md +151 -0
- package/CLAUDE.md +15 -8
- package/README.md +216 -641
- package/bin/vibes.mjs +1104 -0
- package/index.js +1 -1
- package/package.json +11 -3
- package/plugin.json +4 -3
- package/scripts/check-anti-slop.js +53 -0
- package/scripts/check-anti-slop.mjs +53 -0
- package/scripts/generate_swarm_gif.py +2 -2
- package/scripts/install.js +3 -1
- package/scripts/update_skills.js +1 -1
- package/scripts/update_skills.mjs +86 -0
- package/scripts/validate-skills.mjs +111 -0
- package/skills/accessibility-testing-expert/SKILL.md +117 -116
- package/skills/affective-computing-emotion-ai/SKILL.md +83 -0
- package/skills/agentic-coding-workflow-expert/SKILL.md +297 -0
- package/skills/agentic-memory-architect/SKILL.md +52 -0
- package/skills/agentic-micro-economy-architect/SKILL.md +92 -0
- package/skills/ai-llm-integration-expert/SKILL.md +330 -187
- package/skills/ai-media-generation-expert/SKILL.md +173 -172
- package/skills/ai-prompt-engineering-expert/SKILL.md +170 -50
- package/skills/ai-safety-governance-expert/SKILL.md +223 -0
- package/skills/angular-expert/SKILL.md +149 -148
- package/skills/anti-slop/SKILL.md +134 -0
- package/skills/api-design-expert/SKILL.md +4 -3
- package/skills/api-gateway-proxy-expert/SKILL.md +3 -2
- package/skills/app-analyzer-optimizer/SKILL.md +4 -3
- package/skills/apple-ecosystem-expert/SKILL.md +6 -5
- package/skills/astro-framework-expert/SKILL.md +201 -200
- package/skills/async-queue-temporal-expert/SKILL.md +218 -240
- package/skills/authentication-identity-expert/SKILL.md +79 -184
- package/skills/autonomous-red-teamer/SKILL.md +338 -203
- package/skills/autonomous-tdd-debugger/SKILL.md +6 -5
- package/skills/biome-linter-formatter-expert/SKILL.md +90 -89
- package/skills/blockchain-web3-expert/SKILL.md +116 -115
- package/skills/brainstorming/SKILL.md +392 -377
- package/skills/browser-automation-expert/SKILL.md +260 -222
- package/skills/bun-runtime-expert/SKILL.md +5 -4
- package/skills/chatbot-messaging-expert/SKILL.md +115 -114
- package/skills/ci-cd-devops-architect/SKILL.md +3 -2
- package/skills/cloud-hosting-expert/SKILL.md +5 -4
- package/skills/coderabbit/SKILL.md +5 -4
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +3 -2
- package/skills/composable-mach-architect/SKILL.md +338 -0
- package/skills/cron-scheduler-expert/SKILL.md +5 -4
- package/skills/data-pipeline-etl-expert/SKILL.md +3 -2
- package/skills/data-telemetry-expert/SKILL.md +5 -4
- package/skills/data-visualization-expert/SKILL.md +155 -154
- package/skills/database-orm-expert/SKILL.md +102 -240
- package/skills/deep-research-analyst/SKILL.md +182 -0
- package/skills/dependency-upgrade-migrator/SKILL.md +11 -10
- package/skills/design-system-architect/SKILL.md +34 -3
- package/skills/desktop-electron-expert/SKILL.md +129 -128
- package/skills/documentation-site-expert/SKILL.md +60 -59
- package/skills/doku-mcp-server/SKILL.md +5 -4
- package/skills/doku-payment-gateway/SKILL.md +250 -232
- package/skills/domain-driven-design-expert/SKILL.md +3 -2
- package/skills/e2e-testing-expert/SKILL.md +5 -4
- package/skills/ecommerce-expert/SKILL.md +88 -87
- package/skills/email-notification-expert/SKILL.md +35 -7
- package/skills/ephemeral-generative-ui-architect/SKILL.md +88 -0
- package/skills/error-resilience-expert/SKILL.md +26 -4
- package/skills/event-driven-architect/SKILL.md +5 -4
- package/skills/feature-flag-analytics-expert/SKILL.md +3 -2
- package/skills/file-upload-media-expert/SKILL.md +5 -4
- package/skills/firebase-security-expert/SKILL.md +5 -4
- package/skills/form-validation-expert/SKILL.md +7 -6
- package/skills/frontier-ai-models-expert/SKILL.md +116 -0
- package/skills/fullstack-expert/SKILL.md +68 -144
- package/skills/gemini-agent-booster/SKILL.md +248 -172
- package/skills/geospatial-maps-expert/SKILL.md +81 -80
- package/skills/global-a11y-i18n-expert/SKILL.md +5 -4
- package/skills/glsl-shader-expert/SKILL.md +155 -71
- package/skills/go-programming-expert/SKILL.md +5 -4
- package/skills/graph-rag-knowledge-expert/SKILL.md +201 -159
- package/skills/graphql-apollo-expert/SKILL.md +5 -4
- package/skills/headless-cms-expert/SKILL.md +182 -181
- package/skills/hig/SKILL.md +5 -4
- package/skills/js-backend-expert/SKILL.md +219 -218
- package/skills/legacy-code-translator/SKILL.md +6 -5
- package/skills/llm-finops-router/SKILL.md +52 -0
- package/skills/local-slm-edge-ai-expert/SKILL.md +168 -167
- package/skills/logging-error-tracking-expert/SKILL.md +5 -4
- package/skills/mcp-server-architect/SKILL.md +316 -294
- package/skills/micro-frontend-architect/SKILL.md +5 -4
- package/skills/mobile-expo-expert/SKILL.md +5 -4
- package/skills/modern-css-native-expert/SKILL.md +190 -189
- package/skills/monorepo-architect/SKILL.md +5 -4
- package/skills/mpa-orchestrator/SKILL.md +41 -4
- package/skills/multi-agent-orchestration/SKILL.md +388 -254
- package/skills/mvc-expert/SKILL.md +5 -4
- package/skills/n8n-automation-expert/SKILL.md +90 -89
- package/skills/nextjs-app-router-expert/SKILL.md +3 -2
- package/skills/openapi-swagger-codegen-expert/SKILL.md +4 -3
- package/skills/payment-gateway-expert/SKILL.md +131 -128
- package/skills/pdf-document-generation-expert/SKILL.md +92 -91
- package/skills/performance-web-vitals/SKILL.md +5 -4
- package/skills/post-quantum-crypto-migrator/SKILL.md +3 -2
- package/skills/prd-architect/SKILL.md +85 -109
- package/skills/proactive-background-watcher/SKILL.md +5 -4
- package/skills/production-ready-hardener/SKILL.md +25 -27
- package/skills/pwa-offline-first-expert/SKILL.md +227 -185
- package/skills/pydantic-ai-expert/SKILL.md +162 -0
- package/skills/python-programming-expert/SKILL.md +5 -4
- package/skills/rate-limit-abuse-prevention/SKILL.md +5 -4
- package/skills/realtime-collaboration-expert/SKILL.md +3 -2
- package/skills/rich-text-editor-expert/SKILL.md +178 -177
- package/skills/rust-programming-expert/SKILL.md +5 -4
- package/skills/saas-architect/SKILL.md +155 -0
- package/skills/saas-billing/SKILL.md +394 -382
- package/skills/saas-multi-tenant/SKILL.md +7 -6
- package/skills/scalability-clean-code/SKILL.md +5 -4
- package/skills/search-engine-expert/SKILL.md +90 -89
- package/skills/self-healing-cloud-orchestrator/SKILL.md +3 -2
- package/skills/senior-frontend/SKILL.md +21 -18
- package/skills/senior-frontend/scripts/frontend_scaffolder.py +1 -1
- package/skills/seo/SKILL.md +4 -4
- package/skills/session-memory-manager/SKILL.md +129 -0
- package/skills/solidjs-expert/SKILL.md +81 -80
- package/skills/spa-orchestrator/SKILL.md +5 -4
- package/skills/sse-websocket-streaming-expert/SKILL.md +3 -2
- package/skills/state-management-expert/SKILL.md +5 -4
- package/skills/supabase-security-expert/SKILL.md +5 -4
- package/skills/svelte-sveltekit-expert/SKILL.md +92 -91
- package/skills/svg-animation-motion-expert/SKILL.md +3 -2
- package/skills/synthetic-data-finetuning-expert/SKILL.md +156 -0
- package/skills/tailwind-expert/SKILL.md +62 -5
- package/skills/tanstack-query-expert/SKILL.md +5 -4
- package/skills/tauri-expert/SKILL.md +5 -4
- package/skills/typescript-expert/SKILL.md +5 -4
- package/skills/ui-ux-pro-max/SKILL.md +7 -4
- package/skills/vector-db-rag-expert/SKILL.md +209 -208
- package/skills/vercel-ai-sdk-expert/SKILL.md +226 -0
- package/skills/voice-ai-realtime-agent/SKILL.md +243 -202
- package/skills/vue-frontend-expert/SKILL.md +5 -4
- package/skills/wasm-edge-computing-expert/SKILL.md +3 -2
- package/skills/web-3d-graphics-expert/SKILL.md +259 -82
- package/skills/web-game-engine-expert/SKILL.md +278 -50
- package/skills/web-scraper/SKILL.md +158 -157
- package/skills/website-design-cloner/SKILL.md +5 -4
- package/skills/webxr-ar-vr-expert/SKILL.md +105 -65
- package/skills/wordpress-headless-expert/SKILL.md +145 -144
- package/skills/zero-tech-debt-auditor/SKILL.md +115 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +281 -227
- package/skills/zero-trust-secret-vault/SKILL.md +3 -2
- package/BLUEPRINT.md +0 -309
- package/skills/ai-cost-token-optimizer/SKILL.md +0 -82
- package/skills/ai-evals-benchmark-expert/SKILL.md +0 -188
- package/skills/asisten-ramah/SKILL.md +0 -47
- package/skills/auto-doc-updater/SKILL.md +0 -220
- package/skills/autonomous-chaos-monkey/SKILL.md +0 -63
- package/skills/background-jobs-queue-expert/SKILL.md +0 -235
- package/skills/bootstrap-to-modern/SKILL.md +0 -94
- package/skills/database-migration-versioning-expert/SKILL.md +0 -90
- package/skills/edge-serverless-db-expert/SKILL.md +0 -99
- package/skills/mcp-client-orchestrator/SKILL.md +0 -76
- package/skills/mobile-push-notification-expert/SKILL.md +0 -71
- package/skills/monday-design-aesthetic/SKILL.md +0 -73
- package/skills/multiple-entry-points/SKILL.md +0 -91
- package/skills/project-context-mapper/SKILL.md +0 -85
- package/skills/saas-mvp-launcher/SKILL.md +0 -260
- package/skills/saas-transformer/SKILL.md +0 -500
- package/skills/saas-transformer/references/billing_integration_guide.md +0 -401
- package/skills/secure-fuzz-testing/SKILL.md +0 -207
- package/skills/self-evolving-memory-graph/SKILL.md +0 -91
- package/skills/session-context-loader/SKILL.md +0 -83
- package/skills/session-handoff-resume/SKILL.md +0 -164
- package/skills/skill-baru/SKILL.md +0 -178
- package/skills/supabase-migration/SKILL.md +0 -91
- package/skills/token-saver/SKILL.md +0 -119
- package/skills/ui-components-expert/SKILL.md +0 -166
- package/skills/vibe-code-gardener/SKILL.md +0 -181
- package/skills/visual-qa-vision-agent/SKILL.md +0 -71
- /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,157 +1,158 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: web-scraper
|
|
3
|
-
description: "Smart agentic web data extraction with multi-strategy scraping (Crawl4AI v4, Firecrawl), LLM extraction loops, anti-bot bypass, and structured export / Ekstraksi data web cerdas dan agentic dengan scraping multi-strategi (Crawl4AI v4, Firecrawl), ekstraksi LLM, bypass anti-bot, dan ekspor terstruktur."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
from
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
print(result.
|
|
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
|
-
- [ ]
|
|
1
|
+
---
|
|
2
|
+
name: web-scraper
|
|
3
|
+
description: "Smart agentic web data extraction with multi-strategy scraping (Crawl4AI v4, Firecrawl), LLM extraction loops, anti-bot bypass, and structured export / Ekstraksi data web cerdas dan agentic dengan scraping multi-strategi (Crawl4AI v4, Firecrawl), ekstraksi LLM, bypass anti-bot, dan ekspor terstruktur."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Agentic Web Scraper Expert (2026 Edition)
|
|
9
|
+
|
|
10
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<a name="english"></a>
|
|
15
|
+
## English
|
|
16
|
+
|
|
17
|
+
### Orchestration & Integration
|
|
18
|
+
Connects and orchestrates with relevant domain skills like `browser-automation-expert`, `ai-llm-integration-expert`, `brainstorming`, and `zero-to-prod-orchestrator` to ensure cohesive agentic execution.
|
|
19
|
+
|
|
20
|
+
### Description
|
|
21
|
+
Advanced Agentic Web Scraping utilizing modern multi-strategy data extraction. Leverages **Crawl4AI v4** and **Firecrawl** to convert raw DOMs into LLM-friendly Markdown. Implements Agentic Extraction loops where the LLM guides the scraper dynamically based on page state. Incorporates strategies for bypassing anti-bot measures (Cloudflare Turnstile, Datadome) and navigating dynamic Shadow DOMs.
|
|
22
|
+
|
|
23
|
+
### Trigger Conditions
|
|
24
|
+
- Extracting structured data from websites for analysis, training data, or content pipelines.
|
|
25
|
+
- Scraping dynamic JavaScript-rendered pages and complex SPAs.
|
|
26
|
+
- Converting web pages to clean Markdown for LLM context or RAG pipelines.
|
|
27
|
+
- Dealing with anti-bot protections or complex Shadow DOM architectures during scraping.
|
|
28
|
+
- Implementing an automated agentic data extraction loop.
|
|
29
|
+
|
|
30
|
+
### Extracting DOM into LLM-Friendly Markdown
|
|
31
|
+
Use **Crawl4AI v4** for high-performance async extraction and **Firecrawl** for seamless LLM-ready conversion.
|
|
32
|
+
|
|
33
|
+
**Crawl4AI v4 (Async Python):**
|
|
34
|
+
```python
|
|
35
|
+
import asyncio
|
|
36
|
+
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode
|
|
37
|
+
|
|
38
|
+
async def extract_markdown(url: str):
|
|
39
|
+
config = BrowserConfig(headless=True, bypass_csp=True)
|
|
40
|
+
run_config = CrawlerRunConfig(
|
|
41
|
+
cache_mode=CacheMode.ENABLED,
|
|
42
|
+
remove_overlay_elements=True,
|
|
43
|
+
word_count_threshold=50
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
async with AsyncWebCrawler(config=config) as crawler:
|
|
47
|
+
result = await crawler.arun(url=url, config=run_config)
|
|
48
|
+
# Returns clean, AI-optimized markdown ready for LLM consumption
|
|
49
|
+
return result.markdown.fit_markdown
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Firecrawl (Managed API):**
|
|
53
|
+
```python
|
|
54
|
+
from firecrawl import FirecrawlApp
|
|
55
|
+
from pydantic import BaseModel
|
|
56
|
+
|
|
57
|
+
app = FirecrawlApp(api_key="fc-xxxx")
|
|
58
|
+
|
|
59
|
+
class ExtractionSchema(BaseModel):
|
|
60
|
+
title: str
|
|
61
|
+
content: str
|
|
62
|
+
key_metrics: list[str]
|
|
63
|
+
|
|
64
|
+
# Single API call to extract structured data based on JSON schema
|
|
65
|
+
result = app.scrape_url(
|
|
66
|
+
"https://example.com/data",
|
|
67
|
+
formats=["extract", "markdown"],
|
|
68
|
+
extract={"schema": ExtractionSchema.model_json_schema()}
|
|
69
|
+
)
|
|
70
|
+
print(result.markdown) # Clean markdown
|
|
71
|
+
print(result.extract) # Structured JSON
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Anti-Bot Bypass & Shadow DOMs
|
|
75
|
+
Scraping modern web apps requires bypassing anti-bot measures like Cloudflare Turnstile and Datadome, as well as accessing deeply nested elements.
|
|
76
|
+
|
|
77
|
+
1. **Anti-Bot Bypass (Cloudflare Turnstile, Datadome):**
|
|
78
|
+
- **Residential Proxies:** Rotate high-quality residential IPs to avoid datacenter IP bans.
|
|
79
|
+
- **Browser Fingerprinting:** Use tools like `playwright-stealth` or specialized stealth browsers (e.g., Undetected ChromeDriver, Curl-Impersonate) to mask automated fingerprints (WebGL, Canvas, User-Agent).
|
|
80
|
+
- **Human-like Interaction:** Introduce random delays, simulate realistic mouse movements, and handle CAPTCHAs via third-party solving services only when necessary.
|
|
81
|
+
2. **Dynamic Shadow DOMs:**
|
|
82
|
+
- Use CSS piercing selectors or JavaScript execution to penetrate the Shadow Root.
|
|
83
|
+
- Example (Playwright): `await page.locator('my-web-component >> css=.internal-element').text_content()`
|
|
84
|
+
- Recursively traverse the DOM tree injecting scripts to extract content from encapsulated components.
|
|
85
|
+
|
|
86
|
+
### Agentic Extraction Loops
|
|
87
|
+
Implement an autonomous loop where an LLM guides the scraper based on the current page state, rather than relying on brittle CSS selectors.
|
|
88
|
+
|
|
89
|
+
1. **Observe:** The scraper extracts the current DOM into clean Markdown.
|
|
90
|
+
2. **Analyze:** The LLM analyzes the Markdown to identify necessary data or the next interaction step (e.g., "Click the 'Load More' button").
|
|
91
|
+
3. **Act:** The LLM issues a command (extract data, navigate, click, fill form).
|
|
92
|
+
4. **Loop:** Repeat until the extraction goal is met.
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
async def agentic_scrape_loop(url: str, goal: str):
|
|
96
|
+
current_url = url
|
|
97
|
+
while True:
|
|
98
|
+
markdown_content = await extract_markdown(current_url)
|
|
99
|
+
# LLM analyzes state and decides next action
|
|
100
|
+
action = await llm_decide_action(markdown_content, goal)
|
|
101
|
+
|
|
102
|
+
if action.type == "COMPLETE":
|
|
103
|
+
return action.extracted_data
|
|
104
|
+
elif action.type == "CLICK":
|
|
105
|
+
await click_element(action.target_selector)
|
|
106
|
+
elif action.type == "NAVIGATE":
|
|
107
|
+
current_url = action.new_url
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Ethical Scraping Checklist
|
|
111
|
+
- [ ] Check `robots.txt` and respect `Disallow` rules.
|
|
112
|
+
- [ ] Implement rate limiting.
|
|
113
|
+
- [ ] Use descriptive `User-Agent` headers.
|
|
114
|
+
- [ ] Do not scrape personal/private data without consent.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
<a name="bahasa-indonesia"></a>
|
|
119
|
+
## Bahasa Indonesia
|
|
120
|
+
|
|
121
|
+
### Integrasi Orkestrasi
|
|
122
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `browser-automation-expert`, `ai-llm-integration-expert`, `brainstorming`, dan `zero-to-prod-orchestrator` untuk memastikan eksekusi agentic yang kohesif.
|
|
123
|
+
|
|
124
|
+
### Deskripsi
|
|
125
|
+
Scraping Web Agentic tingkat lanjut menggunakan ekstraksi data multi-strategi modern. Memanfaatkan **Crawl4AI v4** dan **Firecrawl** untuk mengubah DOM mentah menjadi Markdown yang ramah LLM. Mengimplementasikan loop Ekstraksi Agentic di mana LLM memandu scraper secara dinamis berdasarkan status halaman. Menggabungkan strategi untuk melewati tindakan anti-bot (Cloudflare Turnstile, Datadome) dan menavigasi Shadow DOM yang dinamis.
|
|
126
|
+
|
|
127
|
+
### Kondisi Pemicu
|
|
128
|
+
- Mengekstrak data terstruktur dari situs web untuk analisis, data pelatihan, atau pipeline konten.
|
|
129
|
+
- Scraping halaman yang dirender JavaScript secara dinamis dan SPA kompleks.
|
|
130
|
+
- Mengonversi halaman web menjadi Markdown bersih untuk konteks LLM atau pipeline RAG.
|
|
131
|
+
- Menghadapi perlindungan anti-bot atau arsitektur Shadow DOM yang kompleks saat scraping.
|
|
132
|
+
- Mengimplementasikan loop ekstraksi data agentic otomatis.
|
|
133
|
+
|
|
134
|
+
### Mengekstrak DOM menjadi Markdown Ramah LLM
|
|
135
|
+
Gunakan **Crawl4AI v4** untuk ekstraksi async berperforma tinggi dan **Firecrawl** untuk konversi siap LLM yang mulus. (Lihat contoh kode di bagian bahasa Inggris).
|
|
136
|
+
|
|
137
|
+
### Bypass Anti-Bot & Shadow DOM
|
|
138
|
+
1. **Bypass Anti-Bot (Cloudflare Turnstile, Datadome):**
|
|
139
|
+
- **Proxy Residensial:** Rotasi IP residensial berkualitas tinggi untuk menghindari pemblokiran IP datacenter.
|
|
140
|
+
- **Browser Fingerprinting:** Gunakan alat seperti `playwright-stealth` atau browser stealth khusus untuk menyembunyikan sidik jari otomatis.
|
|
141
|
+
- **Interaksi Mirip Manusia:** Tambahkan penundaan acak, simulasikan gerakan mouse yang realistis.
|
|
142
|
+
2. **Shadow DOM Dinamis:**
|
|
143
|
+
- Gunakan selektor penembus CSS atau eksekusi JavaScript untuk menembus Shadow Root.
|
|
144
|
+
- Telusuri pohon DOM secara rekursif dengan menyuntikkan skrip untuk mengekstrak konten.
|
|
145
|
+
|
|
146
|
+
### Loop Ekstraksi Agentic
|
|
147
|
+
Implementasikan loop otonom di mana LLM memandu scraper berdasarkan status halaman saat ini, bukan bergantung pada selektor CSS yang rentan rusak.
|
|
148
|
+
|
|
149
|
+
1. **Observasi:** Scraper mengekstrak DOM saat ini menjadi Markdown yang bersih.
|
|
150
|
+
2. **Analisis:** LLM menganalisis Markdown untuk mengidentifikasi data yang diperlukan atau langkah interaksi selanjutnya (misal: "Klik tombol 'Muat Lebih Banyak'").
|
|
151
|
+
3. **Aksi:** LLM mengeluarkan perintah (ekstrak data, navigasi, klik, isi form).
|
|
152
|
+
4. **Loop:** Ulangi hingga tujuan ekstraksi tercapai.
|
|
153
|
+
|
|
154
|
+
### Checklist Scraping Etis
|
|
155
|
+
- [ ] Periksa `robots.txt` dan hormati aturan `Disallow`.
|
|
156
|
+
- [ ] Implementasikan rate limiting.
|
|
157
|
+
- [ ] Gunakan header `User-Agent` yang deskriptif.
|
|
158
|
+
- [ ] Jangan scraping data pribadi/privat tanpa izin.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: website-design-cloner
|
|
3
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
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
version: "3.0.0"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
8
|
# Website Design Cloner & Reverse Engineering Expert (2026 Edition)
|
|
@@ -14,7 +15,7 @@ author: "Roedy Rustam"
|
|
|
14
15
|
## English
|
|
15
16
|
|
|
16
17
|
### Orchestration & Integration
|
|
17
|
-
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `
|
|
18
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `session-memory-manager` to ensure cohesive execution.
|
|
18
19
|
|
|
19
20
|
### Description
|
|
20
21
|
`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.
|
|
@@ -135,7 +136,7 @@ export function HeroSection() {
|
|
|
135
136
|
## Bahasa Indonesia
|
|
136
137
|
|
|
137
138
|
### Integrasi Orkestrasi
|
|
138
|
-
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `
|
|
139
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `session-memory-manager` untuk memastikan eksekusi yang kohesif.
|
|
139
140
|
|
|
140
141
|
### Deskripsi
|
|
141
142
|
`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.
|
|
@@ -177,4 +178,4 @@ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`,
|
|
|
177
178
|
| `design-system-architect` | Menyusun token visual hasil ekstraksi ke dalam design system enterprise berbasis OKLCH & Radix/Base UI. |
|
|
178
179
|
| `ui-ux-pro-max` | Memberikan acuan BM25 visual style, pasangan font Google Fonts, dan checklist aksesibilitas WCAG 2.2. |
|
|
179
180
|
| `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. |
|
|
181
|
+
| `tailwind-expert` | Mengatur konfigurasi Tailwind CSS v4 `@theme` dan utilitas responsif. |
|
|
@@ -1,10 +1,11 @@
|
|
|
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
|
+
version: "3.0.0"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
# WebXR
|
|
8
|
+
# WebXR Spatial Computing Expert (VR, AR & MR)
|
|
8
9
|
|
|
9
10
|
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
11
|
|
|
@@ -14,61 +15,100 @@ author: "Roedy Rustam"
|
|
|
14
15
|
## English
|
|
15
16
|
|
|
16
17
|
### Orchestration & Integration
|
|
17
|
-
Connects and orchestrates with relevant domain skills
|
|
18
|
+
Connects and orchestrates with relevant domain skills:
|
|
19
|
+
- `web-3d-graphics-expert` — WebGPU/WebGL 3D scene rendering, lighting, and model optimization.
|
|
20
|
+
- `web-game-engine-expert` — Spatial physics, grabbing interactions, and fixed-timestep motion.
|
|
21
|
+
- `apple-ecosystem-expert` — Apple Vision Pro visionOS Safari WebXR features and spatial guidelines.
|
|
22
|
+
- `glsl-shader-expert` — Passthrough blending and spatial holographic shaders.
|
|
23
|
+
- `performance-web-vitals` — Maintaining rock-solid 72/90/120 FPS to prevent simulator sickness.
|
|
18
24
|
|
|
19
25
|
### Description
|
|
20
|
-
Production-grade guidance for
|
|
26
|
+
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`.
|
|
21
27
|
|
|
22
28
|
### Trigger Conditions
|
|
23
29
|
Activate this skill when the user is:
|
|
24
|
-
-
|
|
25
|
-
- Setting up
|
|
26
|
-
- Implementing
|
|
27
|
-
-
|
|
30
|
+
- Developing spatial computing web applications or immersive web experiences.
|
|
31
|
+
- Setting up WebXR sessions (`immersive-vr`, `immersive-ar`).
|
|
32
|
+
- Implementing Hand Tracking (joint poses, pinch gestures) or spatial controller interactions.
|
|
33
|
+
- Adding Mixed Reality passthrough or depth sensing.
|
|
34
|
+
- Implementing AR Hit-Testing to snap 3D models onto real-world planes (floors, walls, tabletops).
|
|
35
|
+
- Optimizing XR framerates (fixed foveated rendering) to eliminate motion sickness.
|
|
28
36
|
|
|
29
|
-
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### Key Capabilities & Headset Targets (2026)
|
|
40
|
+
|
|
41
|
+
| Target Platform | Session Mode | Key Features |
|
|
42
|
+
| :--- | :--- | :--- |
|
|
43
|
+
| **Meta Quest 3 / 3S** | `immersive-vr`, `immersive-ar` | Full-color stereo passthrough, high-precision hand tracking, fixed foveation levels 0-3. |
|
|
44
|
+
| **Apple Vision Pro (visionOS)** | `immersive-vr`, `immersive-ar` | Eye-gaze + pinch interaction, 90/120Hz display refresh, strict privacy hand tracking. |
|
|
45
|
+
| **Mobile AR (Android / iOS WebKit)** | `immersive-ar` | Surface hit-testing, ambient light estimation, instant plane detection. |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### 1. Babylon.js WebXR Setup (Gold Standard)
|
|
50
|
+
|
|
51
|
+
Babylon.js provides the most comprehensive out-of-the-box WebXR implementation with integrated teleportation, controller profiles, and physics:
|
|
30
52
|
|
|
31
|
-
#### 1. Babylon.js WebXR Setup
|
|
32
|
-
Babylon.js provides the most robust default WebXR experience.
|
|
33
53
|
```typescript
|
|
34
|
-
import { Scene,
|
|
54
|
+
import { Scene, WebXRExperienceHelper, WebXRFeatureName } from '@babylonjs/core';
|
|
35
55
|
|
|
36
|
-
async function
|
|
37
|
-
// Initialize default WebXR experience
|
|
38
|
-
// This automatically adds the "Enter VR/AR" button, teleportation, and controller models
|
|
56
|
+
export async function initBabylonXR(scene: Scene) {
|
|
39
57
|
const xr = await scene.createDefaultXRExperienceAsync({
|
|
40
58
|
uiOptions: {
|
|
41
|
-
sessionMode: 'immersive-
|
|
59
|
+
sessionMode: 'immersive-ar', // Fallback to 'immersive-vr' if AR is unsupported
|
|
60
|
+
referenceSpaceType: 'local-floor'
|
|
42
61
|
},
|
|
43
|
-
optionalFeatures:
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// Example: Listen for controller input
|
|
47
|
-
xr.input.onControllerAddedObservable.add((controller) => {
|
|
48
|
-
controller.onMotionControllerInitObservable.add((motionController) => {
|
|
49
|
-
// Handle button presses
|
|
50
|
-
});
|
|
62
|
+
optionalFeatures: ['hit-test', 'hand-tracking', 'anchors', 'plane-detection']
|
|
51
63
|
});
|
|
64
|
+
|
|
65
|
+
// Enable Fixed Foveated Rendering to reclaim 20-30% GPU performance on Quest
|
|
66
|
+
const foveation = xr.baseExperience.featuresManager.enableFeature(
|
|
67
|
+
WebXRFeatureName.FOVEATION,
|
|
68
|
+
'latest',
|
|
69
|
+
{ foveationLevel: 2 }
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
// Listen for Hand Tracking
|
|
73
|
+
const handTracking = xr.baseExperience.featuresManager.enableFeature(
|
|
74
|
+
WebXRFeatureName.HAND_TRACKING,
|
|
75
|
+
'latest',
|
|
76
|
+
{ xrInput: xr.input }
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
return xr;
|
|
52
80
|
}
|
|
53
81
|
```
|
|
54
82
|
|
|
55
|
-
|
|
56
|
-
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### 2. React Three Fiber Setup (`@react-three/xr`)
|
|
86
|
+
|
|
57
87
|
```tsx
|
|
58
88
|
import { Canvas } from '@react-three/fiber';
|
|
59
|
-
import { XR, createXRStore } from '@react-three/xr';
|
|
89
|
+
import { XR, createXRStore, Hands, Controllers } from '@react-three/xr';
|
|
60
90
|
|
|
61
|
-
const store = createXRStore(
|
|
91
|
+
const store = createXRStore({
|
|
92
|
+
foveation: 1,
|
|
93
|
+
handTracking: true
|
|
94
|
+
});
|
|
62
95
|
|
|
63
|
-
export
|
|
96
|
+
export function SpatialApp() {
|
|
64
97
|
return (
|
|
65
98
|
<>
|
|
66
|
-
<button onClick={() => store.
|
|
99
|
+
<button className="xr-btn" onClick={() => store.enterAR()}>
|
|
100
|
+
Enter Mixed Reality
|
|
101
|
+
</button>
|
|
67
102
|
<Canvas>
|
|
68
103
|
<XR store={store}>
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
-
|
|
104
|
+
<ambientLight intensity={0.8} />
|
|
105
|
+
<directionalLight position={[5, 10, 5]} />
|
|
106
|
+
<Controllers />
|
|
107
|
+
<Hands />
|
|
108
|
+
{/* Spatial 3D Objects */}
|
|
109
|
+
<mesh position={[0, 1.2, -1]}>
|
|
110
|
+
<boxGeometry args={[0.3, 0.3, 0.3]} />
|
|
111
|
+
<meshStandardMaterial color="royalblue" />
|
|
72
112
|
</mesh>
|
|
73
113
|
</XR>
|
|
74
114
|
</Canvas>
|
|
@@ -77,28 +117,12 @@ export default function App() {
|
|
|
77
117
|
}
|
|
78
118
|
```
|
|
79
119
|
|
|
80
|
-
#### 3. AR Hit-Testing
|
|
81
|
-
In AR mode, "Hit-Testing" allows you to detect real-world surfaces.
|
|
82
|
-
- Ensure `immersive-ar` is used.
|
|
83
|
-
- Request the `hit-test` feature when initializing the session.
|
|
84
|
-
- Use the hit-test results (a matrix/position) to place a reticle or object.
|
|
85
|
-
|
|
86
|
-
### Best Practices
|
|
87
|
-
- **Performance is Critical:** VR requires a consistent 72 to 90 FPS (or 120 FPS on Apple Vision Pro). Dropped frames cause motion sickness.
|
|
88
|
-
- **Polycount:** Keep polygon counts and draw calls low.
|
|
89
|
-
- **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).
|
|
90
|
-
|
|
91
120
|
---
|
|
92
121
|
|
|
93
|
-
###
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- `web-game-engine-expert` — For adding physics to VR interactions (e.g., throwing objects).
|
|
98
|
-
|
|
99
|
-
### Referenced By Orchestrators (MANDATORY)
|
|
100
|
-
- `brainstorming` — Add to "3D & Graphics" or "Spatial Computing".
|
|
101
|
-
- `zero-to-prod-orchestrator` — Phase 5 (Frontend / XR Implementation).
|
|
122
|
+
### Best Practices for Spatial Performance
|
|
123
|
+
1. **Rock-Solid Framerates:** VR requires stable 72, 90, or 120 FPS. Any frame drop causes instant vestibular nausea.
|
|
124
|
+
2. **Fixed Foveated Rendering (FFR):** Reduces fragment shader resolution in the user's peripheral vision, freeing substantial GPU overhead.
|
|
125
|
+
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.
|
|
102
126
|
|
|
103
127
|
---
|
|
104
128
|
|
|
@@ -106,18 +130,34 @@ This skill works best when combined with:
|
|
|
106
130
|
## Bahasa Indonesia
|
|
107
131
|
|
|
108
132
|
### Integrasi Orkestrasi
|
|
109
|
-
Terhubung dan mengorkestrasi skill domain yang relevan
|
|
133
|
+
Terhubung dan mengorkestrasi skill domain yang relevan:
|
|
134
|
+
- `web-3d-graphics-expert` — Rendering scene 3D WebGPU/WebGL, pencahayaan, dan optimasi model.
|
|
135
|
+
- `web-game-engine-expert` — Fisika spasial, interaksi menggenggam objek, dan pergerakan fixed-timestep.
|
|
136
|
+
- `apple-ecosystem-expert` — Fitur WebXR Safari di Apple Vision Pro visionOS dan pedoman spasial.
|
|
137
|
+
- `glsl-shader-expert` — Shader hologram dan blending passthrough AR.
|
|
138
|
+
- `performance-web-vitals` — Menjaga kestabilan 72/90/120 FPS demi mencegah *motion sickness*.
|
|
110
139
|
|
|
111
140
|
### Deskripsi
|
|
112
|
-
Panduan
|
|
141
|
+
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.
|
|
113
142
|
|
|
114
143
|
### Kondisi Pemicu
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
|
|
144
|
+
Aktifkan skill ini ketika pengguna:
|
|
145
|
+
- Mengembangkan aplikasi web *Spatial Computing* (VR/AR/MR).
|
|
146
|
+
- Menginisialisasi sesi WebXR (`immersive-vr`, `immersive-ar`).
|
|
147
|
+
- Mengimplementasikan *Hand Tracking* (pelacakan sendi tangan, gerakan cubit/pinch) atau kontroler spasial.
|
|
148
|
+
- Mengaktifkan *Passthrough* warna Mixed Reality.
|
|
149
|
+
- Menggunakan AR *Hit-Testing* untuk menempatkan objek 3D di lantai atau meja fisik.
|
|
150
|
+
- Mengoptimalkan performa VR dengan *Fixed Foveated Rendering* (FFR).
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### Panduan Inti Pengembangan Spasial
|
|
155
|
+
|
|
156
|
+
1. **Stabilitas Frame Rate Mutlak**:
|
|
157
|
+
- Targetkan 72–90 FPS tanpa toleransi *stutter*. Pada kacamata VR, keterlambatan frame (*latency hitch*) langsung memicu rasa mual (*motion sickness*).
|
|
158
|
+
2. **Fixed Foveated Rendering (FFR)**:
|
|
159
|
+
- Aktifkan fitur foveation pada Meta Quest untuk menurunkan resolusi tepi lensa (periferi mata), menghemat 20-30% daya GPU.
|
|
160
|
+
3. **Antarmuka 3D Spasial (Bukan HTML DOM)**:
|
|
161
|
+
- Elemen HTML standar tidak dapat ditampilkan di dalam sesi imersif. Buat UI berupa panel 3D melayang (*world-space meshes*).
|
|
162
|
+
4. **Hit-Testing untuk AR**:
|
|
163
|
+
- Manfaatkan *Hit-Test API* bawaan WebXR untuk mendeteksi bidang nyata permukaan meja atau lantai secara instan sebelum meletakkan objek 3D.
|