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
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: api-gateway-proxy-expert
3
+ description: "Expert guide for API Gateways, Reverse Proxies, and Service Mesh. Covers Kong, Traefik, NGINX, Cloudflare Gateway, and load balancing / Panduan ahli untuk API Gateway, Reverse Proxy, dan Service Mesh."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # API Gateway & Reverse Proxy Expert
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ A comprehensive guide for routing, load balancing, and managing traffic at the perimeter of your microservices architecture. Covers configuring API Gateways (Kong, Tyk), modern reverse proxies (Traefik, Caddy, NGINX), and understanding Service Mesh patterns.
18
+
19
+ ### Trigger Conditions
20
+ - When architecting a microservices backend that needs a unified entry point (BFF - Backend for Frontend).
21
+ - When configuring SSL/TLS termination, rate limiting, or IP allowlisting at the infrastructure level.
22
+ - When the user asks about "Traefik", "NGINX config", "Kong", or "API routing".
23
+ - When implementing blue-green deployments or canary releases via traffic splitting.
24
+
25
+ ### Core Architectural Guidelines
26
+
27
+ #### 1. API Gateway Pattern
28
+ Instead of client applications calling individual microservices, route all traffic through an API Gateway.
29
+ - **Cross-Cutting Concerns**: Offload authentication (JWT verification), rate limiting, and CORS handling to the Gateway.
30
+ - **Routing**: Use path-based routing (e.g., `/api/users` -> Users Service, `/api/billing` -> Billing Service).
31
+
32
+ #### 2. Tool Selection
33
+ - **Traefik**: Best for Docker/Kubernetes environments due to its auto-discovery capabilities via labels/annotations.
34
+ - **Caddy**: Best for simplicity and automatic HTTPS (Let's Encrypt provisioning).
35
+ - **Kong API Gateway**: Best for enterprise environments requiring extensive plugins (OIDC, rate limiting, analytics).
36
+ - **Cloudflare (Edge)**: Use Cloudflare rules for edge-level caching, WAF, and DDoS protection before traffic even reaches your origin proxy.
37
+
38
+ #### 3. Configuration Best Practices
39
+ - **Timeouts**: Always configure strict proxy read/write timeouts to prevent stalled connections from exhausting worker pools.
40
+ - **Health Checks**: Configure active health checks so the proxy can automatically remove failing backend instances from the load balancer pool.
41
+ - **X-Forwarded Headers**: Ensure your proxy correctly sets `X-Forwarded-For` and `X-Forwarded-Proto` so backend services know the client's real IP and protocol.
42
+
43
+ ## Orchestration & Integration
44
+ - Sits in front of `js-backend-expert`, `go-programming-expert`, and `rust-programming-expert` services.
45
+ - Offloads work from `rate-limit-abuse-prevention` by handling rate limits at the L7 proxy layer.
46
+ - Complements `ci-cd-devops-architect` when configuring Docker Compose or Kubernetes Ingress.
47
+
48
+ ---
49
+
50
+ <a name="bahasa-indonesia"></a>
51
+ ## Bahasa Indonesia
52
+
53
+ ### Deskripsi
54
+ Panduan komprehensif untuk routing, load balancing, dan manajemen trafik di lapisan terluar (perimeter) arsitektur microservices. Mencakup konfigurasi API Gateway (Kong), reverse proxy modern (Traefik, Caddy, NGINX), dan Service Mesh.
55
+
56
+ ### Kondisi Pemicu
57
+ - Saat merancang backend microservices yang membutuhkan satu pintu masuk terpadu (BFF).
58
+ - Saat mengonfigurasi terminasi SSL/TLS, rate limiting, atau IP allowlisting di tingkat infrastruktur.
59
+ - Saat menerapkan rilis canary atau blue-green deployment melalui pembagian trafik (traffic splitting).
60
+
61
+ ### Panduan Arsitektur Inti
62
+
63
+ #### 1. Pola API Gateway
64
+ Jangan biarkan klien (frontend/mobile) memanggil microservices secara langsung.
65
+ - Gunakan Gateway untuk menangani masalah lintas-layanan (cross-cutting) seperti verifikasi JWT, CORS, dan rate limiting.
66
+ - Gunakan routing berbasis *path* (jalur).
67
+
68
+ #### 2. Pemilihan Tool
69
+ - **Traefik**: Pilihan terbaik untuk lingkungan Docker/Kubernetes karena penemuan layanan otomatis (auto-discovery) melalui label.
70
+ - **Caddy**: Pilihan terbaik untuk kemudahan setup dan HTTPS otomatis (Let's Encrypt).
71
+ - **Kong**: Standar industri untuk kebutuhan Enterprise dengan sistem plugin yang kuat.
72
+ - **Cloudflare**: Lini pertahanan pertama untuk WAF dan perlindungan DDoS di sisi Edge.
73
+
74
+ #### 3. Praktik Terbaik Konfigurasi
75
+ - **Timeouts**: Selalu tetapkan batas waktu (timeout) koneksi proxy untuk mencegah server kehabisan resource karena koneksi yang menggantung.
76
+ - **Health Checks**: Aktifkan health check agar proxy tidak mengirimkan request ke service yang sedang mati.
77
+ - **Header X-Forwarded**: Pastikan proxy menyertakan header `X-Forwarded-For` agar backend mengetahui IP asli klien.
78
+
79
+ ## Integrasi Orkestrasi
80
+ - Berada di depan service yang dibangun dengan `js-backend-expert`, `go-programming-expert`, atau `rust-programming-expert`.
81
+ - Bekerja sama dengan `ci-cd-devops-architect` untuk konfigurasi Ingress Kubernetes atau Docker Compose.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: app-analyzer-optimizer
3
3
  description: "Deeply analyzes application architecture and structure to perform audit, bottleneck detection, and code/performance optimization / Mempelajari arsitektur dan struktur aplikasi secara mendalam untuk melakukan audit, deteksi bottleneck, serta optimasi performa dan kode."
4
- author: vibes-plug-swarm
4
+ author: "Roedy Rustam"
5
5
  ---
6
6
 
7
7
  # App Analyzer & Optimizer (2026 Edition)
@@ -146,6 +146,9 @@ go tool pprof -http=:8080 profile.out
146
146
  <a name="bahasa-indonesia"></a>
147
147
  ## Bahasa Indonesia
148
148
 
149
+ ### Integrasi Orkestrasi
150
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
151
+
149
152
  ### Deskripsi
150
153
  Skill analisis dan optimasi aplikasi mendalam. Melakukan audit arsitektur, deteksi bottleneck, analisis bundle, profiling query database, dan code review berbantuan AI di aplikasi Next.js, React, Node.js, Go, Python, dan Rust.
151
154
 
@@ -188,6 +191,6 @@ Gunakan CodeRabbit untuk review PR otomatis, Sourcegraph Cody untuk pencarian se
188
191
  | Tanpa caching | Data yang sama diambil berulang kali | Redis, React Query staleTime, HTTP cache |
189
192
  | Bundle membengkak | Payload JS besar | Tree-shaking, code splitting, lazy imports |
190
193
 
191
-
192
- ## Orchestration & Integration
194
+
195
+ ## Orchestration & Integration
193
196
  - Integrates with performance-web-vitals and production-ready-hardener.
@@ -1,142 +1,145 @@
1
- ---
2
- name: apple-ecosystem-expert
3
- description: "Expert guide for Apple Ecosystem development. Covers iOS support, Safari WebKit compatibility, PWAs (Progressive Web Apps) for iOS, and Human Interface Guidelines (HIG) for web and native apps / Panduan ahli pengembangan ekosistem Apple (iOS & Web)."
4
- author: vibes-plug-swarm
5
- ---
6
-
7
- # Apple Ecosystem Expert — vibes-plug Skill
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- Expert guide for Apple Ecosystem development. Covers Safari WebKit compatibility, Progressive Web Apps (PWAs) tailored for iOS, touch interactions, `manifest.json` configurations, and applying Human Interface Guidelines (HIG) principles to web and iOS applications.
18
-
19
- ### Trigger Conditions
20
- Activate this skill when the user is:
21
- - Asking for Safari browser compatibility or fixing WebKit bugs.
22
- - Developing PWAs or web apps targeting iOS/iPadOS devices.
23
- - Asking about `apple-touch-icon`, `apple-mobile-web-app-capable`, or related meta tags.
24
- - Building UI elements that need to look and feel native on Apple devices.
25
-
26
- ---
27
-
28
- ### Core Concepts
29
-
30
- #### 1. iOS PWA & Meta Tags
31
- To ensure a web application looks and acts like a native app on iOS when added to the home screen, include these specific meta tags and configurations:
32
-
33
- ```html
34
- <!-- iOS Safari PWA Meta Tags -->
35
- <meta name="apple-mobile-web-app-capable" content="yes" />
36
- <meta name="apple-mobile-web-app-status-bar-style" content="default" />
37
- <meta name="apple-mobile-web-app-title" content="App Title" />
38
- <link rel="apple-touch-icon" href="/icon-192x192.png" />
39
- <!-- Support for splash screens requires specific sizes, consider using PWA asset generators -->
40
- ```
41
-
42
- #### 2. Safari WebKit CSS Quirks
43
- Safari (WebKit) has distinct behavior for viewport sizing and scrolling.
44
-
45
- | CSS Feature | WebKit Problem | Solution / Workaround |
46
- |---|---|---|
47
- | `100vh` | Ignores the bottom navigation bar on mobile Safari, causing overflow. | Use `100dvh` (Dynamic Viewport Height) or safe area insets. |
48
- | Over-scrolling | "Rubber-banding" effect reveals background on scroll limits. | `overscroll-behavior: none;` on `body`. |
49
- | Safe Area | Notches and Dynamic Islands block content. | Use `env(safe-area-inset-bottom)`, `env(safe-area-inset-top)`. |
50
-
51
- ```css
52
- /* Example: Handling safe area and dynamic viewport height */
53
- .container {
54
- height: 100dvh;
55
- padding-top: env(safe-area-inset-top);
56
- padding-bottom: env(safe-area-inset-bottom);
57
- padding-left: env(safe-area-inset-left);
58
- padding-right: env(safe-area-inset-right);
59
- }
60
- ```
61
-
62
- #### 3. Touch and Interactions
63
- To achieve native feel on iOS, touch interactions must be smooth. Use CSS properties like `-webkit-tap-highlight-color: transparent;` to remove the default grey tap highlight.
64
-
65
- ---
66
-
67
- ### Best Practices
68
-
69
- 1. **Always use Dynamic Viewports (`dvh`, `svh`, `lvh`):** Standard `vh` in mobile Safari causes layout shifts or hidden content due to the dynamic browser UI.
70
- 2. **Handle Safe Areas:** Utilize CSS `env()` variables to avoid content overlapping with the iOS notch or home indicator.
71
- 3. **Optimized Touch Targets:** Apple HIG dictates a minimum touch target size of 44x44 pt. Ensure buttons are easily clickable.
72
- 4. **PWA Icons and Manifest:** iOS does not fully respect standard `manifest.json` icons; you must provide `<link rel="apple-touch-icon">` explicitly.
73
-
74
- ---
75
-
76
- ### Common Pitfalls to Avoid
77
-
78
- | Anti-Pattern | Problem | Correct Approach |
79
- |---|---|---|
80
- | Using `100vh` for full screen apps | Bottom content gets hidden under Safari's tab bar. | Use `100dvh`. |
81
- | Ignoring `-webkit-appearance` | Buttons/inputs look like default iOS forms instead of custom UI. | Set `-webkit-appearance: none;` on form elements. |
82
- | Relying only on `manifest.json` for PWA icons | iOS won't use them for the "Add to Home Screen" icon. | Include `<link rel="apple-touch-icon" href="...">`. |
83
-
84
- ---
85
-
86
- ### Integration with Other Skills (MANDATORY)
87
-
88
- This skill works best when combined with:
89
- - `hig` — For detailed implementation of Apple Human Interface Guidelines styling.
90
- - `mobile-expo-expert` — When building React Native/Expo apps for iOS.
91
- - `tailwind-expert` — To apply CSS adjustments like `dvh` and safe-areas using Tailwind utility classes.
92
- - `ui-components-expert` — To ensure UI components are sized correctly for iOS touch targets (44x44).
93
-
94
- ### Referenced By Orchestrators (MANDATORY)
95
-
96
- This skill should be referenced by the following orchestrators:
97
- - `brainstorming` — Add to the "Mobile & Web Ecosystems" row in the Skill Integration & Orchestration Matrix
98
- - `zero-to-prod-orchestrator` — Add to Phase 4 (Frontend Implementation) & Phase 8 (Production Audit)
99
- - `production-ready-hardener` — Add to Phase 2 (PWA & Compatibility Audit)
100
-
101
- ---
102
-
103
- <a name="bahasa-indonesia"></a>
104
- ## Bahasa Indonesia
105
-
106
- ### Deskripsi
107
- Panduan ahli untuk pengembangan ekosistem Apple. Mencakup kompatibilitas Safari WebKit, Progressive Web Apps (PWA) khusus iOS, interaksi sentuhan, konfigurasi `manifest.json`, dan penerapan prinsip Human Interface Guidelines (HIG) untuk web dan aplikasi iOS.
108
-
109
- ### Kondisi Pemicu
110
- Aktifkan skill ini ketika pengguna sedang:
111
- - Menanyakan kompatibilitas browser Safari atau memperbaiki bug WebKit.
112
- - Mengembangkan PWA atau aplikasi web yang menargetkan perangkat iOS/iPadOS.
113
- - Menanyakan tentang `apple-touch-icon`, meta tag PWA iOS, atau safe area.
114
- - Membangun elemen UI agar terlihat dan terasa *native* di ekosistem Apple.
115
-
116
- ### Panduan Singkat
117
-
118
- Panduan praktis untuk dukungan Ekosistem Apple (iOS & Web):
119
-
120
- - **[Gunakan `100dvh`]:** Jangan pernah gunakan `100vh` di web app iOS, gunakan `100dvh` (Dynamic Viewport Height) agar tidak tertutup navigation bar Safari.
121
- - **[Meta Tag PWA Khusus]:** Wajib menggunakan `<link rel="apple-touch-icon">` dan `<meta name="apple-mobile-web-app-capable" content="yes">` agar PWA berjalan optimal saat ditambahkan ke Home Screen.
122
- - **[Safe Area]:** Terapkan padding `env(safe-area-inset-top)` dsb, untuk menghindari notch (poni) dan Dynamic Island iPhone.
123
- - **[Touch Targets HIG]:** Area sentuh minimum untuk elemen interaktif di iOS adalah 44x44 points.
124
-
125
- ### Integrasi dengan Skill Lain (WAJIB)
126
-
127
- Skill ini bekerja paling baik dikombinasikan dengan:
128
- - `hig` — Untuk menerapkan struktur dan prinsip desain dari Human Interface Guidelines Apple.
129
- - `mobile-expo-expert` — Jika menggunakan React Native untuk aplikasi iOS.
130
- - `tailwind-expert` — Mengatur penyesuaian WebKit seperti `dvh` dan safe-areas dengan utility class.
131
-
132
- ### Direferensikan oleh Orchestrator (WAJIB)
133
-
134
- Skill ini harus direferensikan oleh orchestrator berikut:
135
- - `brainstorming` — Bagian Mobile & Web Ecosystems.
136
- - `zero-to-prod-orchestrator` — Fase 4 dan 8 (Kesiapan Produksi).
137
- - `production-ready-hardener` — Fase 2 (Audit Kompatibilitas Lintas Browser & PWA).
138
-
139
-
140
- ## Orchestration & Integration
141
- - Integrates with: `hig`, `mobile-expo-expert`, `tailwind-expert`, `ui-components-expert`.
1
+ ---
2
+ name: apple-ecosystem-expert
3
+ description: "Expert guide for Apple Ecosystem development. Covers iOS support, Safari WebKit compatibility, PWAs (Progressive Web Apps) for iOS, and Human Interface Guidelines (HIG) for web and native apps / Panduan ahli pengembangan ekosistem Apple (iOS & Web)."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Apple Ecosystem Expert — vibes-plug Skill
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Expert guide for Apple Ecosystem development. Covers Safari WebKit compatibility, Progressive Web Apps (PWAs) tailored for iOS, touch interactions, `manifest.json` configurations, and applying Human Interface Guidelines (HIG) principles to web and iOS applications.
18
+
19
+ ### Trigger Conditions
20
+ Activate this skill when the user is:
21
+ - Asking for Safari browser compatibility or fixing WebKit bugs.
22
+ - Developing PWAs or web apps targeting iOS/iPadOS devices.
23
+ - Asking about `apple-touch-icon`, `apple-mobile-web-app-capable`, or related meta tags.
24
+ - Building UI elements that need to look and feel native on Apple devices.
25
+
26
+ ---
27
+
28
+ ### Core Concepts
29
+
30
+ #### 1. iOS PWA & Meta Tags
31
+ To ensure a web application looks and acts like a native app on iOS when added to the home screen, include these specific meta tags and configurations:
32
+
33
+ ```html
34
+ <!-- iOS Safari PWA Meta Tags -->
35
+ <meta name="apple-mobile-web-app-capable" content="yes" />
36
+ <meta name="apple-mobile-web-app-status-bar-style" content="default" />
37
+ <meta name="apple-mobile-web-app-title" content="App Title" />
38
+ <link rel="apple-touch-icon" href="/icon-192x192.png" />
39
+ <!-- Support for splash screens requires specific sizes, consider using PWA asset generators -->
40
+ ```
41
+
42
+ #### 2. Safari WebKit CSS Quirks
43
+ Safari (WebKit) has distinct behavior for viewport sizing and scrolling.
44
+
45
+ | CSS Feature | WebKit Problem | Solution / Workaround |
46
+ |---|---|---|
47
+ | `100vh` | Ignores the bottom navigation bar on mobile Safari, causing overflow. | Use `100dvh` (Dynamic Viewport Height) or safe area insets. |
48
+ | Over-scrolling | "Rubber-banding" effect reveals background on scroll limits. | `overscroll-behavior: none;` on `body`. |
49
+ | Safe Area | Notches and Dynamic Islands block content. | Use `env(safe-area-inset-bottom)`, `env(safe-area-inset-top)`. |
50
+
51
+ ```css
52
+ /* Example: Handling safe area and dynamic viewport height */
53
+ .container {
54
+ height: 100dvh;
55
+ padding-top: env(safe-area-inset-top);
56
+ padding-bottom: env(safe-area-inset-bottom);
57
+ padding-left: env(safe-area-inset-left);
58
+ padding-right: env(safe-area-inset-right);
59
+ }
60
+ ```
61
+
62
+ #### 3. Touch and Interactions
63
+ To achieve native feel on iOS, touch interactions must be smooth. Use CSS properties like `-webkit-tap-highlight-color: transparent;` to remove the default grey tap highlight.
64
+
65
+ ---
66
+
67
+ ### Best Practices
68
+
69
+ 1. **Always use Dynamic Viewports (`dvh`, `svh`, `lvh`):** Standard `vh` in mobile Safari causes layout shifts or hidden content due to the dynamic browser UI.
70
+ 2. **Handle Safe Areas:** Utilize CSS `env()` variables to avoid content overlapping with the iOS notch or home indicator.
71
+ 3. **Optimized Touch Targets:** Apple HIG dictates a minimum touch target size of 44x44 pt. Ensure buttons are easily clickable.
72
+ 4. **PWA Icons and Manifest:** iOS does not fully respect standard `manifest.json` icons; you must provide `<link rel="apple-touch-icon">` explicitly.
73
+
74
+ ---
75
+
76
+ ### Common Pitfalls to Avoid
77
+
78
+ | Anti-Pattern | Problem | Correct Approach |
79
+ |---|---|---|
80
+ | Using `100vh` for full screen apps | Bottom content gets hidden under Safari's tab bar. | Use `100dvh`. |
81
+ | Ignoring `-webkit-appearance` | Buttons/inputs look like default iOS forms instead of custom UI. | Set `-webkit-appearance: none;` on form elements. |
82
+ | Relying only on `manifest.json` for PWA icons | iOS won't use them for the "Add to Home Screen" icon. | Include `<link rel="apple-touch-icon" href="...">`. |
83
+
84
+ ---
85
+
86
+ ### Integration with Other Skills (MANDATORY)
87
+
88
+ This skill works best when combined with:
89
+ - `hig` — For detailed implementation of Apple Human Interface Guidelines styling.
90
+ - `mobile-expo-expert` — When building React Native/Expo apps for iOS.
91
+ - `tailwind-expert` — To apply CSS adjustments like `dvh` and safe-areas using Tailwind utility classes.
92
+ - `ui-components-expert` — To ensure UI components are sized correctly for iOS touch targets (44x44).
93
+
94
+ ### Referenced By Orchestrators (MANDATORY)
95
+
96
+ This skill should be referenced by the following orchestrators:
97
+ - `brainstorming` — Add to the "Mobile & Web Ecosystems" row in the Skill Integration & Orchestration Matrix
98
+ - `zero-to-prod-orchestrator` — Add to Phase 4 (Frontend Implementation) & Phase 8 (Production Audit)
99
+ - `production-ready-hardener` — Add to Phase 2 (PWA & Compatibility Audit)
100
+
101
+ ---
102
+
103
+ <a name="bahasa-indonesia"></a>
104
+ ## Bahasa Indonesia
105
+
106
+ ### Integrasi Orkestrasi
107
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
108
+
109
+ ### Deskripsi
110
+ Panduan ahli untuk pengembangan ekosistem Apple. Mencakup kompatibilitas Safari WebKit, Progressive Web Apps (PWA) khusus iOS, interaksi sentuhan, konfigurasi `manifest.json`, dan penerapan prinsip Human Interface Guidelines (HIG) untuk web dan aplikasi iOS.
111
+
112
+ ### Kondisi Pemicu
113
+ Aktifkan skill ini ketika pengguna sedang:
114
+ - Menanyakan kompatibilitas browser Safari atau memperbaiki bug WebKit.
115
+ - Mengembangkan PWA atau aplikasi web yang menargetkan perangkat iOS/iPadOS.
116
+ - Menanyakan tentang `apple-touch-icon`, meta tag PWA iOS, atau safe area.
117
+ - Membangun elemen UI agar terlihat dan terasa *native* di ekosistem Apple.
118
+
119
+ ### Panduan Singkat
120
+
121
+ Panduan praktis untuk dukungan Ekosistem Apple (iOS & Web):
122
+
123
+ - **[Gunakan `100dvh`]:** Jangan pernah gunakan `100vh` di web app iOS, gunakan `100dvh` (Dynamic Viewport Height) agar tidak tertutup navigation bar Safari.
124
+ - **[Meta Tag PWA Khusus]:** Wajib menggunakan `<link rel="apple-touch-icon">` dan `<meta name="apple-mobile-web-app-capable" content="yes">` agar PWA berjalan optimal saat ditambahkan ke Home Screen.
125
+ - **[Safe Area]:** Terapkan padding `env(safe-area-inset-top)` dsb, untuk menghindari notch (poni) dan Dynamic Island iPhone.
126
+ - **[Touch Targets HIG]:** Area sentuh minimum untuk elemen interaktif di iOS adalah 44x44 points.
127
+
128
+ ### Integrasi dengan Skill Lain (WAJIB)
129
+
130
+ Skill ini bekerja paling baik dikombinasikan dengan:
131
+ - `hig` — Untuk menerapkan struktur dan prinsip desain dari Human Interface Guidelines Apple.
132
+ - `mobile-expo-expert` — Jika menggunakan React Native untuk aplikasi iOS.
133
+ - `tailwind-expert` — Mengatur penyesuaian WebKit seperti `dvh` dan safe-areas dengan utility class.
134
+
135
+ ### Direferensikan oleh Orchestrator (WAJIB)
136
+
137
+ Skill ini harus direferensikan oleh orchestrator berikut:
138
+ - `brainstorming` — Bagian Mobile & Web Ecosystems.
139
+ - `zero-to-prod-orchestrator` — Fase 4 dan 8 (Kesiapan Produksi).
140
+ - `production-ready-hardener` — Fase 2 (Audit Kompatibilitas Lintas Browser & PWA).
141
+
142
+
143
+ ## Orchestration & Integration
144
+ - Integrates with: `hig`, `mobile-expo-expert`, `tailwind-expert`, `ui-components-expert`.
142
145
  - Orchestrated by: `brainstorming`, `zero-to-prod-orchestrator`, `production-ready-hardener`.
@@ -0,0 +1,200 @@
1
+ ---
2
+ name: astro-framework-expert
3
+ description: "Expert guide for Astro 5+ framework — Content Collections, Islands Architecture, View Transitions, partial hydration, and MDX integration / Panduan ahli framework Astro 5+ — Content Collections, Islands Architecture, View Transitions, partial hydration, dan integrasi MDX."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Astro Framework 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
+ - **`seo`**: Astro's built-in SEO capabilities, sitemaps, and structured data.
18
+ - **`performance-web-vitals`**: Astro's zero-JS-by-default performance optimization.
19
+ - **`tailwind-expert`**: Tailwind CSS v4 integration with Astro.
20
+ - **`headless-cms-expert`**: Content fetching from Sanity/Payload/Strapi in Astro.
21
+ - **`ci-cd-devops-architect`**: Deploying Astro to Vercel, Cloudflare Pages, or Netlify.
22
+
23
+ ### Description
24
+ Expert guide for building high-performance, content-first websites with Astro 5+. Covers Content Collections (type-safe content), Islands Architecture (partial hydration), View Transitions, server-side rendering, hybrid rendering, MDX integration, Astro DB, and multi-framework component support (React, Vue, Svelte in one project).
25
+
26
+ ### Trigger Conditions
27
+ - Building content-heavy websites (blogs, docs, marketing pages, portfolios).
28
+ - Choosing between Astro and Next.js for a content-first project.
29
+ - Implementing partial hydration or Islands Architecture.
30
+ - Creating documentation sites or landing pages optimized for performance.
31
+ - Using multiple UI frameworks (React + Vue + Svelte) in one project.
32
+
33
+ ---
34
+
35
+ ### Core Concepts
36
+
37
+ #### Astro vs Next.js Decision Guide
38
+
39
+ | Criteria | Astro 5 | Next.js 15 |
40
+ |----------|---------|------------|
41
+ | Primary Focus | Content sites | Full-stack apps |
42
+ | Default JS Shipped | 0 KB | React runtime |
43
+ | Rendering | Static-first, opt-in SSR | SSR-first, opt-in static |
44
+ | Multi-framework | ✅ React, Vue, Svelte, Solid | React only |
45
+ | Content Collections | ✅ Built-in, type-safe | Manual with MDX |
46
+ | Server Islands | ✅ Deferred rendering | PPR (similar) |
47
+ | **Choose When** | Content, SEO, speed critical | Complex interactivity |
48
+
49
+ **Recommendation:** Choose **Astro** for content-driven sites where performance and SEO are top priorities. Choose **Next.js** for interactive web applications with complex state.
50
+
51
+ #### 1. Project Setup
52
+
53
+ ```bash
54
+ # Create new Astro project
55
+ npm create astro@latest ./my-site -- --template blog --typescript strict
56
+
57
+ # Add integrations
58
+ npx astro add tailwind react mdx sitemap
59
+ ```
60
+
61
+ #### 2. Content Collections (Type-Safe Content)
62
+
63
+ ```typescript
64
+ // src/content/config.ts
65
+ import { defineCollection, z } from 'astro:content';
66
+
67
+ const blog = defineCollection({
68
+ type: 'content', // Markdown/MDX files
69
+ schema: z.object({
70
+ title: z.string(),
71
+ description: z.string(),
72
+ pubDate: z.coerce.date(),
73
+ heroImage: z.string().optional(),
74
+ tags: z.array(z.string()).default([]),
75
+ draft: z.boolean().default(false),
76
+ }),
77
+ });
78
+
79
+ const authors = defineCollection({
80
+ type: 'data', // JSON/YAML files
81
+ schema: z.object({
82
+ name: z.string(),
83
+ avatar: z.string(),
84
+ bio: z.string(),
85
+ }),
86
+ });
87
+
88
+ export const collections = { blog, authors };
89
+ ```
90
+
91
+ ```astro
92
+ ---
93
+ // src/pages/blog/[...slug].astro
94
+ import { getCollection } from 'astro:content';
95
+
96
+ export async function getStaticPaths() {
97
+ const posts = await getCollection('blog', ({ data }) => !data.draft);
98
+ return posts.map((post) => ({
99
+ params: { slug: post.slug },
100
+ props: { post },
101
+ }));
102
+ }
103
+
104
+ const { post } = Astro.props;
105
+ const { Content } = await post.render();
106
+ ---
107
+
108
+ <article>
109
+ <h1>{post.data.title}</h1>
110
+ <time>{post.data.pubDate.toLocaleDateString()}</time>
111
+ <Content />
112
+ </article>
113
+ ```
114
+
115
+ #### 3. Islands Architecture (Partial Hydration)
116
+
117
+ ```astro
118
+ ---
119
+ // Only hydrate interactive components — rest ships as 0 JS
120
+ import Newsletter from '../components/Newsletter.tsx';
121
+ import Counter from '../components/Counter.vue';
122
+ import Chart from '../components/Chart.svelte';
123
+ ---
124
+
125
+ <!-- Static by default — no JS shipped -->
126
+ <h1>My Blog Post</h1>
127
+ <p>This is static HTML with zero JavaScript.</p>
128
+
129
+ <!-- Hydrate only when visible (lazy loading) -->
130
+ <Newsletter client:visible />
131
+
132
+ <!-- Hydrate on page load -->
133
+ <Counter client:load />
134
+
135
+ <!-- Hydrate only on interaction (click, hover) -->
136
+ <Chart client:idle />
137
+
138
+ <!-- Hydrate only on specific media query -->
139
+ <MobileMenu client:media="(max-width: 768px)" />
140
+ ```
141
+
142
+ #### 4. View Transitions
143
+
144
+ ```astro
145
+ ---
146
+ // src/layouts/BaseLayout.astro
147
+ import { ViewTransitions } from 'astro:transitions';
148
+ ---
149
+ <html>
150
+ <head>
151
+ <ViewTransitions />
152
+ </head>
153
+ <body>
154
+ <nav transition:persist><!-- Persists across pages --></nav>
155
+ <main transition:animate="slide">
156
+ <slot />
157
+ </main>
158
+ </body>
159
+ </html>
160
+ ```
161
+
162
+ #### 5. Server Islands (Deferred Rendering)
163
+
164
+ ```astro
165
+ ---
166
+ // Renders on the server, deferred from the initial page load
167
+ // Great for personalized content in otherwise static pages
168
+ ---
169
+ <UserGreeting server:defer>
170
+ <p slot="fallback">Loading...</p>
171
+ </UserGreeting>
172
+ ```
173
+
174
+ ### Production Checklist
175
+ - [ ] Content Collections with strict Zod schemas.
176
+ - [ ] Sitemap integration enabled (`@astrojs/sitemap`).
177
+ - [ ] Image optimization with `astro:assets`.
178
+ - [ ] View Transitions for smooth page navigation.
179
+ - [ ] Hybrid rendering (static + SSR where needed).
180
+ - [ ] Deploy adapter configured (Vercel, Cloudflare, Node).
181
+
182
+ ---
183
+
184
+ <a name="bahasa-indonesia"></a>
185
+ ## Bahasa Indonesia
186
+
187
+ ### Integrasi Orkestrasi
188
+ - **`seo`**: Kemampuan SEO bawaan Astro, sitemap, dan data terstruktur.
189
+ - **`performance-web-vitals`**: Optimasi performa zero-JS-by-default Astro.
190
+ - **`tailwind-expert`**: Integrasi Tailwind CSS v4 dengan Astro.
191
+ - **`headless-cms-expert`**: Pengambilan konten dari Sanity/Payload/Strapi di Astro.
192
+
193
+ ### Deskripsi
194
+ Panduan ahli untuk membangun website berperforma tinggi dan berfokus konten dengan Astro 5+. Mencakup Content Collections, Islands Architecture (partial hydration), View Transitions, rendering hybrid, integrasi MDX, Astro DB, dan dukungan multi-framework (React, Vue, Svelte dalam satu proyek).
195
+
196
+ ### Kondisi Pemicu
197
+ - Membangun website berat konten (blog, docs, halaman marketing, portfolio).
198
+ - Memilih antara Astro dan Next.js untuk proyek konten.
199
+ - Mengimplementasikan partial hydration atau Islands Architecture.
200
+ - Membuat situs dokumentasi atau landing page yang dioptimalkan untuk performa.