vibes-plug 2.5.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/vibes-plug-core.md +32 -0
- package/.cursor/rules/vibes-plug-core.mdc +51 -0
- package/.cursorrules +42 -0
- package/AGENTS.md +37 -7
- package/BLUEPRINT.md +309 -217
- package/CHANGELOG.md +133 -1
- package/CLAUDE.md +70 -0
- package/LICENSE +1 -1
- package/README.md +641 -415
- package/index.js +19 -0
- package/package.json +44 -8
- package/plugin.json +24 -7
- package/scripts/generate_swarm_gif.py +295 -0
- package/scripts/install.js +201 -0
- package/skills/accessibility-testing-expert/SKILL.md +116 -0
- package/skills/ai-cost-token-optimizer/SKILL.md +82 -52
- package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
- package/skills/ai-llm-integration-expert/SKILL.md +185 -178
- package/skills/ai-media-generation-expert/SKILL.md +172 -0
- package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
- package/skills/angular-expert/SKILL.md +148 -0
- package/skills/api-design-expert/SKILL.md +6 -3
- package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
- package/skills/app-analyzer-optimizer/SKILL.md +6 -3
- package/skills/apple-ecosystem-expert/SKILL.md +144 -141
- package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
- package/skills/astro-framework-expert/SKILL.md +200 -0
- package/skills/async-queue-temporal-expert/SKILL.md +210 -24
- package/skills/authentication-identity-expert/SKILL.md +278 -275
- package/skills/auto-doc-updater/SKILL.md +7 -1
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -63
- package/skills/autonomous-red-teamer/SKILL.md +172 -28
- package/skills/autonomous-tdd-debugger/SKILL.md +70 -64
- package/skills/background-jobs-queue-expert/SKILL.md +235 -0
- package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
- package/skills/blockchain-web3-expert/SKILL.md +115 -0
- package/skills/bootstrap-to-modern/SKILL.md +9 -6
- package/skills/brainstorming/SKILL.md +58 -50
- package/skills/browser-automation-expert/SKILL.md +197 -21
- package/skills/bun-runtime-expert/SKILL.md +7 -1
- package/skills/chatbot-messaging-expert/SKILL.md +114 -0
- package/skills/ci-cd-devops-architect/SKILL.md +45 -36
- package/skills/cloud-hosting-expert/SKILL.md +7 -1
- package/skills/coderabbit/SKILL.md +7 -1
- package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
- package/skills/cron-scheduler-expert/SKILL.md +303 -297
- package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
- package/skills/data-telemetry-expert/SKILL.md +7 -1
- package/skills/data-visualization-expert/SKILL.md +154 -0
- package/skills/database-migration-versioning-expert/SKILL.md +90 -0
- package/skills/database-orm-expert/SKILL.md +13 -3
- package/skills/dependency-upgrade-migrator/SKILL.md +300 -294
- package/skills/design-system-architect/SKILL.md +278 -259
- package/skills/desktop-electron-expert/SKILL.md +128 -0
- package/skills/documentation-site-expert/SKILL.md +59 -0
- package/skills/doku-mcp-server/SKILL.md +7 -1
- package/skills/doku-payment-gateway/SKILL.md +7 -1
- package/skills/domain-driven-design-expert/SKILL.md +82 -0
- package/skills/e2e-testing-expert/SKILL.md +7 -1
- package/skills/ecommerce-expert/SKILL.md +87 -0
- package/skills/edge-serverless-db-expert/SKILL.md +98 -42
- package/skills/email-notification-expert/SKILL.md +367 -361
- package/skills/error-resilience-expert/SKILL.md +485 -479
- package/skills/event-driven-architect/SKILL.md +7 -1
- package/skills/feature-flag-analytics-expert/SKILL.md +65 -45
- package/skills/file-upload-media-expert/SKILL.md +436 -430
- package/skills/firebase-security-expert/SKILL.md +7 -1
- package/skills/form-validation-expert/SKILL.md +406 -400
- package/skills/fullstack-expert/SKILL.md +60 -1
- package/skills/gemini-agent-booster/SKILL.md +173 -135
- package/skills/geospatial-maps-expert/SKILL.md +80 -0
- package/skills/global-a11y-i18n-expert/SKILL.md +7 -1
- package/skills/glsl-shader-expert/SKILL.md +106 -100
- package/skills/go-programming-expert/SKILL.md +21 -15
- package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
- package/skills/graphql-apollo-expert/SKILL.md +113 -107
- package/skills/headless-cms-expert/SKILL.md +181 -0
- package/skills/hig/SKILL.md +7 -1
- package/skills/js-backend-expert/SKILL.md +218 -216
- package/skills/legacy-code-translator/SKILL.md +70 -64
- package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
- package/skills/logging-error-tracking-expert/SKILL.md +343 -337
- package/skills/mcp-client-orchestrator/SKILL.md +75 -69
- package/skills/mcp-server-architect/SKILL.md +294 -194
- package/skills/micro-frontend-architect/SKILL.md +111 -105
- package/skills/mobile-expo-expert/SKILL.md +8 -2
- package/skills/mobile-push-notification-expert/SKILL.md +70 -50
- package/skills/modern-css-native-expert/SKILL.md +189 -0
- package/skills/monday-design-aesthetic/SKILL.md +7 -1
- package/skills/monorepo-architect/SKILL.md +7 -1
- package/skills/mpa-orchestrator/SKILL.md +20 -1
- package/skills/multi-agent-orchestration/SKILL.md +254 -234
- package/skills/multiple-entry-points/SKILL.md +37 -1
- package/skills/mvc-expert/SKILL.md +7 -1
- package/skills/n8n-automation-expert/SKILL.md +89 -0
- package/skills/nextjs-app-router-expert/SKILL.md +148 -0
- package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
- package/skills/payment-gateway-expert/SKILL.md +85 -1
- package/skills/pdf-document-generation-expert/SKILL.md +91 -0
- package/skills/performance-web-vitals/SKILL.md +7 -1
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -57
- package/skills/prd-architect/SKILL.md +7 -1
- package/skills/proactive-background-watcher/SKILL.md +67 -61
- package/skills/production-ready-hardener/SKILL.md +461 -455
- package/skills/project-context-mapper/SKILL.md +84 -78
- package/skills/pwa-offline-first-expert/SKILL.md +185 -0
- package/skills/python-programming-expert/SKILL.md +407 -401
- package/skills/rate-limit-abuse-prevention/SKILL.md +376 -370
- package/skills/realtime-collaboration-expert/SKILL.md +55 -1
- package/skills/rich-text-editor-expert/SKILL.md +177 -0
- package/skills/rust-programming-expert/SKILL.md +7 -1
- package/skills/saas-billing/SKILL.md +7 -1
- package/skills/saas-multi-tenant/SKILL.md +7 -1
- package/skills/saas-mvp-launcher/SKILL.md +20 -1
- package/skills/saas-transformer/SKILL.md +499 -488
- package/skills/scalability-clean-code/SKILL.md +7 -1
- package/skills/search-engine-expert/SKILL.md +89 -0
- package/skills/secure-fuzz-testing/SKILL.md +7 -1
- package/skills/self-evolving-memory-graph/SKILL.md +90 -74
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -57
- package/skills/senior-frontend/SKILL.md +141 -161
- package/skills/seo/SKILL.md +41 -17
- package/skills/session-context-loader/SKILL.md +82 -76
- package/skills/session-handoff-resume/SKILL.md +7 -1
- package/skills/{skill_baru → skill-baru}/SKILL.md +8 -2
- package/skills/solidjs-expert/SKILL.md +80 -0
- package/skills/spa-orchestrator/SKILL.md +20 -1
- package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
- package/skills/state-management-expert/SKILL.md +7 -1
- package/skills/supabase-migration/SKILL.md +47 -1
- package/skills/supabase-security-expert/SKILL.md +7 -1
- package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
- package/skills/svg-animation-motion-expert/SKILL.md +115 -0
- package/skills/tailwind-expert/SKILL.md +88 -136
- package/skills/tanstack-query-expert/SKILL.md +7 -1
- package/skills/tauri-expert/SKILL.md +7 -1
- package/skills/token-saver/SKILL.md +1 -1
- package/skills/typescript-expert/SKILL.md +12 -6
- package/skills/ui-components-expert/SKILL.md +165 -279
- package/skills/ui-ux-pro-max/SKILL.md +23 -3
- package/skills/vector-db-rag-expert/SKILL.md +175 -19
- package/skills/vibe-code-gardener/SKILL.md +1 -1
- package/skills/visual-qa-vision-agent/SKILL.md +70 -64
- package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
- package/skills/vue-frontend-expert/SKILL.md +131 -125
- package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
- package/skills/web-3d-graphics-expert/SKILL.md +136 -130
- package/skills/web-game-engine-expert/SKILL.md +101 -95
- package/skills/web-scraper/SKILL.md +157 -207
- package/skills/website-design-cloner/SKILL.md +179 -173
- package/skills/webxr-ar-vr-expert/SKILL.md +122 -116
- package/skills/wordpress-headless-expert/SKILL.md +144 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +52 -27
- package/skills/zero-trust-secret-vault/SKILL.md +87 -39
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/publish.yml +0 -20
- package/CONTRIBUTING.md +0 -199
- package/SECURITY.md +0 -21
- package/banner.png +0 -0
- package/skills/autonomous-swarm-director/SKILL.md +0 -69
- package/skills/hyper-context-synthesizer/SKILL.md +0 -55
- package/skills/llm-cost-arbitrage-router/SKILL.md +0 -59
- package/skills/senior-fullstack/SKILL.md +0 -167
- package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
- package/skills/senior-fullstack/references/development_workflows.md +0 -222
- package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
- package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
- package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
- package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
- package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
- package/skills/seo-geo/SKILL.md +0 -188
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +0 -125
- package/vibes-swarm-demo.gif +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: skill-baru
|
|
3
3
|
description: "Comprehensive template for creating new vibes-plug skills with proper structure, trigger conditions, and bilingual support / Template komprehensif untuk membuat skill vibes-plug baru dengan struktur yang tepat, kondisi pemicu, dan dukungan bilingual."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# [Skill Name] — vibes-plug Skill Template
|
|
@@ -11,7 +11,7 @@ author: "Roedy Rustam"
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
> **HOW TO USE THIS TEMPLATE**
|
|
14
|
-
> 1. Copy this entire folder (`
|
|
14
|
+
> 1. Copy this entire folder (`skill-baru/`) and rename it using kebab-case (e.g., `my-new-skill/`).
|
|
15
15
|
> 2. Replace all placeholder text marked with `[...]` brackets.
|
|
16
16
|
> 3. Update the frontmatter `name` and `description` fields above.
|
|
17
17
|
> 4. Delete this instruction block before publishing.
|
|
@@ -22,6 +22,9 @@ author: "Roedy Rustam"
|
|
|
22
22
|
<a name="english"></a>
|
|
23
23
|
## English
|
|
24
24
|
|
|
25
|
+
### Orchestration & Integration
|
|
26
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
|
|
27
|
+
|
|
25
28
|
### Description
|
|
26
29
|
[One paragraph describing the purpose and scope of this skill. Be specific about what problems it solves and what technology versions it targets.]
|
|
27
30
|
|
|
@@ -117,6 +120,9 @@ This skill should be referenced by the following orchestrators:
|
|
|
117
120
|
<a name="bahasa-indonesia"></a>
|
|
118
121
|
## Bahasa Indonesia
|
|
119
122
|
|
|
123
|
+
### Integrasi Orkestrasi
|
|
124
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
125
|
+
|
|
120
126
|
### Deskripsi
|
|
121
127
|
[Satu paragraf menjelaskan tujuan dan ruang lingkup skill ini. Spesifik tentang masalah apa yang dipecahkan dan versi teknologi apa yang ditargetkan.]
|
|
122
128
|
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solidjs-expert
|
|
3
|
+
description: "Expert guide for SolidJS 2 and SolidStart — fine-grained reactivity, signals, createResource, and server-first rendering / Panduan ahli SolidJS 2 dan SolidStart — reaktivitas fine-grained, signals, createResource, dan rendering server-first."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SolidJS 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
|
+
- **`performance-web-vitals`**: SolidJS's top-tier runtime performance.
|
|
18
|
+
- **`tailwind-expert`**: Tailwind CSS integration with SolidJS.
|
|
19
|
+
- **`state-management-expert`**: Solid signals vs other state management patterns.
|
|
20
|
+
- **`typescript-expert`**: Type-safe SolidJS components.
|
|
21
|
+
|
|
22
|
+
### Description
|
|
23
|
+
Expert guide for SolidJS 2 and SolidStart, the fine-grained reactive framework with near-zero overhead. Covers signals (`createSignal`), derived state (`createMemo`), effects (`createEffect`), resources (`createResource`), stores, context, SolidStart routing, server functions, and migration patterns from React.
|
|
24
|
+
|
|
25
|
+
### Trigger Conditions
|
|
26
|
+
- Building applications with SolidJS or SolidStart.
|
|
27
|
+
- Choosing SolidJS for performance-critical interactive UIs.
|
|
28
|
+
- Comparing SolidJS vs React for a new project.
|
|
29
|
+
- Understanding fine-grained reactivity patterns.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### SolidJS Core
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { createSignal, createMemo, createEffect, createResource, For, Show } from 'solid-js';
|
|
37
|
+
|
|
38
|
+
function TodoApp() {
|
|
39
|
+
const [todos, setTodos] = createSignal<{ id: number; text: string; done: boolean }[]>([]);
|
|
40
|
+
const [filter, setFilter] = createSignal<'all' | 'active' | 'done'>('all');
|
|
41
|
+
|
|
42
|
+
const filtered = createMemo(() => {
|
|
43
|
+
const f = filter();
|
|
44
|
+
return f === 'all' ? todos() : todos().filter((t) => (f === 'done' ? t.done : !t.done));
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
const remaining = createMemo(() => todos().filter((t) => !t.done).length);
|
|
48
|
+
|
|
49
|
+
createEffect(() => {
|
|
50
|
+
document.title = `${remaining()} todos remaining`;
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<div>
|
|
55
|
+
<h1>Todos ({remaining()} remaining)</h1>
|
|
56
|
+
<For each={filtered()}>
|
|
57
|
+
{(todo) => <div classList={{ done: todo.done }}>{todo.text}</div>}
|
|
58
|
+
</For>
|
|
59
|
+
<Show when={todos().length > 0} fallback={<p>No todos yet!</p>}>
|
|
60
|
+
<button onClick={() => setTodos([])}>Clear All</button>
|
|
61
|
+
</Show>
|
|
62
|
+
</div>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Orchestration & Integration
|
|
68
|
+
- `performance-web-vitals`, `tailwind-expert`, `typescript-expert`
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
<a name="bahasa-indonesia"></a>
|
|
73
|
+
## Bahasa Indonesia
|
|
74
|
+
|
|
75
|
+
### Deskripsi
|
|
76
|
+
Panduan ahli SolidJS 2 dan SolidStart, framework reaktif fine-grained dengan overhead hampir nol. Mencakup signals, derived state, effects, resources, stores, dan routing SolidStart.
|
|
77
|
+
|
|
78
|
+
### Kondisi Pemicu
|
|
79
|
+
- Membangun aplikasi dengan SolidJS atau SolidStart.
|
|
80
|
+
- Memilih SolidJS untuk UI interaktif yang kritis performa.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spa-orchestrator
|
|
3
3
|
description: "Orchestrates Single-Page Application (SPA) architecture, integrating frontend state management with API-driven backends / Mengorkestrasi arsitektur Single-Page Application (SPA), mengintegrasikan state management frontend dengan backend berbasis API."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Single-Page Application (SPA) Orchestrator (2026 Edition)
|
|
@@ -13,6 +13,10 @@ author: "Roedy Rustam"
|
|
|
13
13
|
<a name="english"></a>
|
|
14
14
|
## English
|
|
15
15
|
|
|
16
|
+
### Orchestration & Integration
|
|
17
|
+
Connects and orchestrates with relevant domain skills like `modern-web-guidance`, `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
|
|
18
|
+
- **MANDATORY**: Execute `modern-web-guidance` FIRST for all HTML/CSS and client-side JS tasks to ensure modern web standards.
|
|
19
|
+
|
|
16
20
|
### Description
|
|
17
21
|
Structured orchestration guide for building modern Single-Page Applications (SPAs). Coordinates frontend architecture (TanStack Router, React 19, TanStack Query v5) with decoupled API backends (Hono RPC, tRPC). Covers state management strategy, routing patterns, API layer design, build tooling (Vite + TanStack Start), and deployment strategies.
|
|
18
22
|
|
|
@@ -253,6 +257,10 @@ export default defineConfig({
|
|
|
253
257
|
<a name="bahasa-indonesia"></a>
|
|
254
258
|
## Bahasa Indonesia
|
|
255
259
|
|
|
260
|
+
### Integrasi Orkestrasi
|
|
261
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `modern-web-guidance`, `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
262
|
+
- **MANDATORY**: Eksekusi `modern-web-guidance` PERTAMA KALI untuk semua tugas HTML/CSS dan JS sisi klien guna memastikan standar web modern.
|
|
263
|
+
|
|
256
264
|
### Deskripsi
|
|
257
265
|
Panduan orkestrasi terstruktur untuk membangun Single-Page Application (SPA) modern. Mengkoordinasikan arsitektur frontend (TanStack Router, React 19, TanStack Query v5) dengan backend API terpisah (Hono RPC, tRPC). Mencakup strategi state management, pola routing, desain API layer, build tooling (Vite + TanStack Start), dan strategi deployment.
|
|
258
266
|
|
|
@@ -286,3 +294,14 @@ Ekspor `AppType` dari backend Hono dan gunakan `hc<AppType>()` di frontend untuk
|
|
|
286
294
|
|
|
287
295
|
### Build & Deployment
|
|
288
296
|
Gunakan plugin `TanStackRouterVite` untuk auto-generate route tree. Konfigurasi `manualChunks` untuk code splitting yang optimal. Deploy SPA ke Cloudflare Pages atau Vercel; backend API ke Railway/Fly.io secara terpisah.
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
### 📄 Standard Pages Mandate (CRITICAL)
|
|
300
|
+
**MANDATORY**: Whenever you are building a new application, landing page, or website, you MUST automatically create the following standard pages:
|
|
301
|
+
1. **About Page** (`/about`)
|
|
302
|
+
2. **Profile Page** (`/profile`)
|
|
303
|
+
3. **Contact Page** (`/contact`)
|
|
304
|
+
4. **Terms of Reference / Terms of Service** (`/terms`)
|
|
305
|
+
5. **Privacy Policy** (`/privacy-policy`)
|
|
306
|
+
|
|
307
|
+
These pages must be generated with standard boilerplate content that can later be customized to fit the specific application. Do not wait for the user to ask for them; they are a strict requirement for all web projects. / **WAJIB**: Otomatis buatkan halaman standar (About, Profile, Contact, Terms, Privacy Policy) pada setiap pembuatan aplikasi/website baru dengan konten boilerplate yang bisa disesuaikan nanti.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sse-websocket-streaming-expert
|
|
3
|
+
description: "Expert guide for Server-Sent Events (SSE), WebSockets, and Streaming Architectures. Covers real-time data push, Socket.IO, Hono WebSocket, and AI response streaming / Panduan ahli streaming real-time."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SSE, WebSocket & Streaming Expert
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
A focused guide for building real-time data push architectures. While `realtime-collaboration-expert` focuses on CRDTs (Yjs) for multi-player editing, this skill focuses on the transport layer: when to use Server-Sent Events (SSE) vs WebSockets vs HTTP Streaming, scaling pub/sub architectures, and streaming AI responses.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- When building live notification systems, live sports scores, or stock tickers.
|
|
21
|
+
- When streaming LLM text generation responses chunk-by-chunk to the UI.
|
|
22
|
+
- When the user asks about "WebSockets", "Socket.IO", or "SSE".
|
|
23
|
+
- When implementing a chat application.
|
|
24
|
+
|
|
25
|
+
### Core Architectural Guidelines
|
|
26
|
+
|
|
27
|
+
#### 1. SSE vs WebSockets
|
|
28
|
+
Choose the right transport mechanism to save server resources.
|
|
29
|
+
- **Server-Sent Events (SSE)**: Unidirectional (Server to Client). Uses standard HTTP. Best for live feeds, AI streaming, notifications. Handles reconnections automatically.
|
|
30
|
+
- **WebSockets**: Bidirectional. Best for chat apps, multiplayer games. Requires a persistent TCP connection and custom ping/pong keepalives.
|
|
31
|
+
|
|
32
|
+
#### 2. Streaming AI Responses (HTTP Streaming)
|
|
33
|
+
For LLMs, use standard HTTP Streaming (often via the `ai` SDK in React/Next.js) instead of complex WebSockets.
|
|
34
|
+
```typescript
|
|
35
|
+
// Next.js Route Handler Example
|
|
36
|
+
export async function POST(req: Request) {
|
|
37
|
+
const { prompt } = await req.json();
|
|
38
|
+
const stream = await myLLM.stream(prompt);
|
|
39
|
+
|
|
40
|
+
return new Response(stream, {
|
|
41
|
+
headers: { 'Content-Type': 'text/event-stream' },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
#### 3. Scaling WebSockets (Pub/Sub)
|
|
47
|
+
A single Node.js process can handle thousands of WebSockets, but when you scale horizontally (multiple servers), clients on Server A cannot see messages from Server B.
|
|
48
|
+
- **Redis Adapter**: Use a Pub/Sub mechanism (like Redis) so when a message is published, all server instances broadcast it to their respective connected clients.
|
|
49
|
+
- **Serverless WebSockets**: In serverless environments (AWS API Gateway, Cloudflare Durable Objects), you do not hold the connection in your code. The infrastructure holds it, and calls your webhook when messages arrive.
|
|
50
|
+
|
|
51
|
+
#### 4. Reconnection & Idempotency
|
|
52
|
+
- Always assume connections will drop.
|
|
53
|
+
- Clients must maintain a `lastEventId` or cursor. Upon reconnection, the client sends this cursor so the server can push any missed messages, preventing data loss.
|
|
54
|
+
|
|
55
|
+
## Orchestration & Integration
|
|
56
|
+
- Supplements `js-backend-expert` or `go-programming-expert` with real-time push capabilities.
|
|
57
|
+
- Essential for `gemini-agent-booster` when building AI streaming chat interfaces.
|
|
58
|
+
- Integrates with `api-gateway-proxy-expert` to ensure proxies do not buffer streaming responses.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
<a name="bahasa-indonesia"></a>
|
|
63
|
+
## Bahasa Indonesia
|
|
64
|
+
|
|
65
|
+
### Deskripsi
|
|
66
|
+
Panduan terfokus untuk membangun arsitektur push data real-time. Skill ini berfokus pada lapisan transport: kapan harus menggunakan Server-Sent Events (SSE) vs WebSockets vs HTTP Streaming, penskalaan arsitektur pub/sub (Redis), dan streaming respons AI.
|
|
67
|
+
|
|
68
|
+
### Kondisi Pemicu
|
|
69
|
+
- Saat membangun sistem notifikasi live, pembaruan skor, atau ticker saham.
|
|
70
|
+
- Saat melakukan streaming teks hasil generasi LLM bagian-demi-bagian (chunk-by-chunk) ke UI.
|
|
71
|
+
- Saat mengimplementasikan aplikasi obrolan (chat).
|
|
72
|
+
|
|
73
|
+
### Panduan Arsitektur Inti
|
|
74
|
+
|
|
75
|
+
#### 1. SSE vs WebSockets
|
|
76
|
+
Pilih mekanisme transport yang tepat:
|
|
77
|
+
- **Server-Sent Events (SSE)**: Satu arah (Server ke Klien). Berjalan di atas HTTP biasa. Sangat ideal untuk feed berita, notifikasi, dan streaming AI. Mendukung rekoneksi otomatis secara native.
|
|
78
|
+
- **WebSockets**: Dua arah. Ideal untuk aplikasi chat dan game. Membutuhkan penanganan koneksi persisten dan mekanisme ping/pong manual.
|
|
79
|
+
|
|
80
|
+
#### 2. Streaming Respons AI
|
|
81
|
+
Gunakan HTTP Streaming biasa (biasanya menggunakan `text/event-stream`) untuk merender kata demi kata dari AI tanpa perlu memelihara koneksi WebSocket yang kompleks.
|
|
82
|
+
|
|
83
|
+
#### 3. Penskalaan (Scaling) WebSockets
|
|
84
|
+
Saat aplikasi diskalakan ke beberapa server (horizontal scaling), pengguna yang terhubung ke Server A tidak akan menerima pesan dari pengguna di Server B. Anda WAJIB menggunakan Redis Pub/Sub (atau mekanisme message broker serupa) sebagai *backplane* agar semua server saling berkomunikasi.
|
|
85
|
+
|
|
86
|
+
#### 4. Rekoneksi & Penanganan Kehilangan Data
|
|
87
|
+
- Klien harus selalu mengirimkan kursor (misal: ID pesan terakhir yang diterima) saat melakukan rekoneksi.
|
|
88
|
+
- Server menggunakan kursor tersebut untuk memutar ulang (replay) pesan yang terlewat selama klien terputus.
|
|
89
|
+
|
|
90
|
+
## Integrasi Orkestrasi
|
|
91
|
+
- Melengkapi `js-backend-expert` atau `go-programming-expert` dengan kemampuan push real-time.
|
|
92
|
+
- Sangat penting bagi `gemini-agent-booster` saat membangun antarmuka chat AI.
|
|
93
|
+
- Terintegrasi dengan `api-gateway-proxy-expert` (pastikan NGINX/proxy tidak melakukan *buffering* pada koneksi streaming).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: state-management-expert
|
|
3
3
|
description: "Expert guide for modern client-side state management: Zustand, Jotai, Valtio, TanStack Store, Redux Toolkit, and server state patterns with TanStack Query / Panduan ahli untuk manajemen state client-side modern: Zustand, Jotai, Valtio, TanStack Store, Redux Toolkit, dan pola server state dengan TanStack Query."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# State Management Expert (Modern React Edition)
|
|
@@ -13,6 +13,9 @@ author: "Roedy Rustam"
|
|
|
13
13
|
<a name="english"></a>
|
|
14
14
|
## English
|
|
15
15
|
|
|
16
|
+
### Orchestration & Integration
|
|
17
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
|
|
18
|
+
|
|
16
19
|
### Description
|
|
17
20
|
Expert guide for selecting and implementing the right state management solution for React and Next.js applications. Covers **Zustand 5**, **Jotai 2**, **Valtio**, **TanStack Store**, and **Redux Toolkit 2**, with clear guidance on when to use each, proper separation of server state (TanStack Query) from client state, and advanced patterns like slices, persistence, and devtools integration.
|
|
18
21
|
|
|
@@ -251,6 +254,9 @@ export function StoreProvider({ children, initialUser }: Props) {
|
|
|
251
254
|
<a name="bahasa-indonesia"></a>
|
|
252
255
|
## Bahasa Indonesia
|
|
253
256
|
|
|
257
|
+
### Integrasi Orkestrasi
|
|
258
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
259
|
+
|
|
254
260
|
### Deskripsi
|
|
255
261
|
Panduan ahli untuk memilih dan mengimplementasikan solusi manajemen state yang tepat untuk aplikasi React dan Next.js. Mencakup **Zustand 5**, **Jotai 2**, **Valtio**, dan **Redux Toolkit 2**, dengan panduan pemilihan yang jelas, pemisahan server state (TanStack Query) dari client state, dan pola lanjutan seperti slices, persistensi, dan integrasi devtools.
|
|
256
262
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: supabase-migration
|
|
3
3
|
description: "A skill to create or apply a Supabase database migration / Kemampuan untuk membuat atau menerapkan migrasi database Supabase."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Supabase Migration Skill
|
|
@@ -26,6 +26,29 @@ When the user asks to create or apply a database migration for Supabase, follow
|
|
|
26
26
|
- Run `npx supabase migration up` to test locally or use the remote MCP `apply_migration` if the user wants it applied remotely.
|
|
27
27
|
4. **Final Step**: Confirm with the user that the migration successfully completed.
|
|
28
28
|
|
|
29
|
+
### Implementation Checklist
|
|
30
|
+
- [ ] Generate a new migration file: `npx supabase migration new [name]`
|
|
31
|
+
- [ ] Write raw SQL in the generated migration file (DDL and DML).
|
|
32
|
+
- [ ] Test the migration locally: `npx supabase db reset` or `npx supabase migration up`.
|
|
33
|
+
- [ ] If using RLS, explicitly add policies to the new tables.
|
|
34
|
+
- [ ] Commit the migration file to version control.
|
|
35
|
+
|
|
36
|
+
### Example: Supabase Migration Command Flow
|
|
37
|
+
```bash
|
|
38
|
+
# 1. Create a new migration file
|
|
39
|
+
npx supabase migration new create_users_table
|
|
40
|
+
|
|
41
|
+
# 2. Write SQL to supabase/migrations/<timestamp>_create_users_table.sql
|
|
42
|
+
# 3. Apply to local database
|
|
43
|
+
npx supabase migration up
|
|
44
|
+
|
|
45
|
+
# 4. Apply to remote production database
|
|
46
|
+
npx supabase db push
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Orchestration & Integration
|
|
50
|
+
- Integrates with: `supabase-security-expert`, `database-orm-expert`, `ci-cd-devops-architect`.
|
|
51
|
+
|
|
29
52
|
---
|
|
30
53
|
|
|
31
54
|
<a name="bahasa-indonesia"></a>
|
|
@@ -43,3 +66,26 @@ Ketika pengguna meminta untuk membuat atau menerapkan migrasi database untuk Sup
|
|
|
43
66
|
- Tulis skrip SQL ke file migrasi lokal yang terletak di `supabase/migrations/` menggunakan `write_to_file`. Gunakan timestamp standar atau perintah `supabase migration new` untuk mendapatkan nama file.
|
|
44
67
|
- Jalankan `npx supabase migration up` untuk menguji secara lokal atau gunakan MCP remote `apply_migration` jika pengguna ingin menerapkannya secara remote.
|
|
45
68
|
4. **Langkah Terakhir**: Konfirmasikan dengan pengguna bahwa migrasi telah berhasil diselesaikan.
|
|
69
|
+
|
|
70
|
+
### Checklist Implementasi
|
|
71
|
+
- [ ] Buat file migrasi baru: `npx supabase migration new [nama]`
|
|
72
|
+
- [ ] Tulis SQL mentah di file migrasi yang dihasilkan (DDL dan DML).
|
|
73
|
+
- [ ] Uji migrasi secara lokal: `npx supabase db reset` atau `npx supabase migration up`.
|
|
74
|
+
- [ ] Jika menggunakan RLS, tambahkan kebijakan secara eksplisit ke tabel baru.
|
|
75
|
+
- [ ] Commit file migrasi ke sistem kontrol versi.
|
|
76
|
+
|
|
77
|
+
### Contoh: Alur Perintah Migrasi Supabase
|
|
78
|
+
```bash
|
|
79
|
+
# 1. Buat file migrasi baru
|
|
80
|
+
npx supabase migration new create_users_table
|
|
81
|
+
|
|
82
|
+
# 2. Tulis SQL ke supabase/migrations/<timestamp>_create_users_table.sql
|
|
83
|
+
# 3. Terapkan ke database lokal
|
|
84
|
+
npx supabase migration up
|
|
85
|
+
|
|
86
|
+
# 4. Terapkan ke database remote produksi
|
|
87
|
+
npx supabase db push
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Integrasi Orkestrasi
|
|
91
|
+
- Terintegrasi dengan: `supabase-security-expert`, `database-orm-expert`, `ci-cd-devops-architect`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: supabase-security-expert
|
|
3
3
|
description: "Supabase security expert to audit RLS (Row Level Security), RBAC, relational databases, prevent data leakage, and utilize Supabase Linter / Ahli keamanan Supabase untuk audit RLS (Row Level Security), RBAC, database relasional, pencegahan kebocoran data, dan pemanfaatan Supabase Linter."
|
|
4
|
-
author: "Roedy Rustam"
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Supabase Security Expert (2026 Edition — Auth v3 / PKCE)
|
|
@@ -13,6 +13,9 @@ author: "Roedy Rustam"
|
|
|
13
13
|
<a name="english"></a>
|
|
14
14
|
## English
|
|
15
15
|
|
|
16
|
+
### Orchestration & Integration
|
|
17
|
+
Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
|
|
18
|
+
|
|
16
19
|
### Description
|
|
17
20
|
Expert guide for auditing and hardening Supabase applications. Covers Row Level Security (RLS), Supabase Auth v3 (PKCE flow), API key hygiene, data leakage prevention, Supabase Linter, and production security checklists.
|
|
18
21
|
|
|
@@ -199,6 +202,9 @@ USING (bucket_id = 'user-uploads' AND auth.uid()::text = (storage.foldername(nam
|
|
|
199
202
|
<a name="bahasa-indonesia"></a>
|
|
200
203
|
## Bahasa Indonesia
|
|
201
204
|
|
|
205
|
+
### Integrasi Orkestrasi
|
|
206
|
+
Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
|
|
207
|
+
|
|
202
208
|
### Deskripsi
|
|
203
209
|
Panduan ahli untuk mengaudit dan mengeraskan aplikasi Supabase. Mencakup Row Level Security (RLS), Supabase Auth v3 (PKCE flow), kebersihan API key, pencegahan kebocoran data, Supabase Linter, dan checklist keamanan produksi.
|
|
204
210
|
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: svelte-sveltekit-expert
|
|
3
|
+
description: "Expert guide for Svelte 5 (Runes) and SvelteKit 2+ — fine-grained reactivity, server-first architecture, form actions, and SSR/SSG / Panduan ahli Svelte 5 (Runes) dan SvelteKit 2+ — reaktivitas fine-grained, arsitektur server-first, form actions, dan SSR/SSG."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Svelte & SvelteKit 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
|
+
- **`tailwind-expert`**: Tailwind CSS v4 integration with SvelteKit.
|
|
18
|
+
- **`performance-web-vitals`**: Svelte's compile-time optimizations and zero-overhead reactivity.
|
|
19
|
+
- **`e2e-testing-expert`**: Playwright testing for SvelteKit applications.
|
|
20
|
+
- **`typescript-expert`**: TypeScript integration with Svelte 5 Runes.
|
|
21
|
+
|
|
22
|
+
### Description
|
|
23
|
+
Expert guide for building high-performance applications with Svelte 5 and SvelteKit 2+. Covers Runes (`$state`, `$derived`, `$effect`, `$props`), server-first architecture, form actions, load functions, streaming, SSR/SSG/ISR rendering modes, and migration from Svelte 4.
|
|
24
|
+
|
|
25
|
+
### Trigger Conditions
|
|
26
|
+
- Building applications with Svelte or SvelteKit.
|
|
27
|
+
- Migrating from Svelte 4 to Svelte 5 Runes.
|
|
28
|
+
- Choosing between Svelte and React/Vue for a new project.
|
|
29
|
+
- Implementing server-side rendering with SvelteKit.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### Svelte 5 Runes
|
|
34
|
+
|
|
35
|
+
```svelte
|
|
36
|
+
<script lang="ts">
|
|
37
|
+
// Svelte 5 Runes — fine-grained reactivity
|
|
38
|
+
let count = $state(0);
|
|
39
|
+
let doubled = $derived(count * 2);
|
|
40
|
+
|
|
41
|
+
$effect(() => {
|
|
42
|
+
console.log(`Count changed to ${count}`);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// Props with Runes
|
|
46
|
+
let { title, onSubmit }: { title: string; onSubmit: (v: number) => void } = $props();
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<h1>{title}</h1>
|
|
50
|
+
<button onclick={() => count++}>Count: {count} (doubled: {doubled})</button>
|
|
51
|
+
<button onclick={() => onSubmit(count)}>Submit</button>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### SvelteKit Server Patterns
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
// src/routes/posts/+page.server.ts
|
|
58
|
+
import type { PageServerLoad, Actions } from './$types';
|
|
59
|
+
import { fail } from '@sveltejs/kit';
|
|
60
|
+
|
|
61
|
+
export const load: PageServerLoad = async ({ fetch }) => {
|
|
62
|
+
const posts = await fetch('/api/posts').then((r) => r.json());
|
|
63
|
+
return { posts };
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const actions: Actions = {
|
|
67
|
+
create: async ({ request }) => {
|
|
68
|
+
const data = await request.formData();
|
|
69
|
+
const title = data.get('title');
|
|
70
|
+
if (!title) return fail(400, { error: 'Title required' });
|
|
71
|
+
// Create post...
|
|
72
|
+
return { success: true };
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Orchestration & Integration
|
|
78
|
+
- `tailwind-expert`, `performance-web-vitals`, `e2e-testing-expert`, `typescript-expert`
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
<a name="bahasa-indonesia"></a>
|
|
83
|
+
## Bahasa Indonesia
|
|
84
|
+
|
|
85
|
+
### Deskripsi
|
|
86
|
+
Panduan ahli untuk membangun aplikasi berperforma tinggi dengan Svelte 5 dan SvelteKit 2+. Mencakup Runes, arsitektur server-first, form actions, load functions, streaming, dan mode rendering SSR/SSG/ISR.
|
|
87
|
+
|
|
88
|
+
### Kondisi Pemicu
|
|
89
|
+
- Membangun aplikasi dengan Svelte atau SvelteKit.
|
|
90
|
+
- Migrasi dari Svelte 4 ke Svelte 5 Runes.
|
|
91
|
+
- Memilih antara Svelte dan React/Vue untuk proyek baru.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: svg-animation-motion-expert
|
|
3
|
+
description: "Expert guide for web animations: SVG manipulation, Framer Motion 12+, GSAP 3, CSS Scroll-Driven Animations, and View Transitions API / Panduan ahli animasi web."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SVG & Web Animation Motion Expert
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
A dedicated skill for crafting fluid, high-performance web animations and micro-interactions. Covers direct SVG manipulation (paths, masks, clip-paths), React-based animations using Framer Motion 12+, advanced timeline choreography with GSAP 3, native CSS Scroll-Driven Animations, and the View Transitions API for seamless page navigations.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- When building complex landing page animations or scroll reveals.
|
|
21
|
+
- When creating interactive SVG graphics, charts, or diagrams.
|
|
22
|
+
- When the user asks for "buttery smooth", "apple-like", or "dynamic" interactions.
|
|
23
|
+
- When implementing page transitions using the native View Transitions API.
|
|
24
|
+
|
|
25
|
+
### Core Architecture & Guidelines
|
|
26
|
+
|
|
27
|
+
#### 1. Framer Motion 12+ (React/Next.js)
|
|
28
|
+
Use Framer Motion for declarative component animations, layout animations, and gesture-driven interactions.
|
|
29
|
+
- **Layout Animations**: Use the `layout` prop to automatically animate between flexbox/grid state changes.
|
|
30
|
+
- **Performance**: Use `style={{ x, y }}` with `useTransform` and `useScroll` instead of triggering React state updates on every frame.
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
'use client'
|
|
34
|
+
|
|
35
|
+
import { motion, useScroll, useTransform } from 'framer-motion'
|
|
36
|
+
import { useRef } from 'react'
|
|
37
|
+
|
|
38
|
+
export function ScrollReveal({ children }: { children: React.ReactNode }) {
|
|
39
|
+
const ref = useRef(null)
|
|
40
|
+
const { scrollYProgress } = useScroll({ target: ref, offset: ['0 1', '1 1'] })
|
|
41
|
+
const y = useTransform(scrollYProgress, [0, 1], [100, 0])
|
|
42
|
+
const opacity = useTransform(scrollYProgress, [0, 1], [0, 1])
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<motion.div ref={ref} style={{ y, opacity }}>
|
|
46
|
+
{children}
|
|
47
|
+
</motion.div>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
#### 2. GSAP 3 (Complex Choreography)
|
|
53
|
+
Use GSAP when you need highly coordinated timeline sequences, path tracing, or when working outside of React (Vanilla JS).
|
|
54
|
+
- **ScrollTrigger**: The industry standard for complex scroll-based animations.
|
|
55
|
+
- **DrawSVG / MorphSVG**: Use for advanced SVG path drawing and morphing (requires Club GreenSock, use open-source alternatives if unavailable).
|
|
56
|
+
|
|
57
|
+
#### 3. Native CSS Scroll-Driven Animations
|
|
58
|
+
Where possible, leverage modern native CSS to tie animations to scroll position on the compositor thread for zero-JS performance.
|
|
59
|
+
```css
|
|
60
|
+
@keyframes slide-in {
|
|
61
|
+
from { opacity: 0; transform: translateY(100px); }
|
|
62
|
+
to { opacity: 1; transform: translateY(0); }
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.reveal-on-scroll {
|
|
66
|
+
animation: slide-in linear both;
|
|
67
|
+
animation-timeline: view();
|
|
68
|
+
animation-range: entry 25% cover 50%;
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 4. SVG Optimization & Manipulation
|
|
73
|
+
- Always run SVGs through SVGO to strip bloat before animating.
|
|
74
|
+
- Keep `viewBox` responsive.
|
|
75
|
+
- Target `<path>`, `<circle>`, and `<mask/>` elements via CSS vars or inline Framer Motion logic.
|
|
76
|
+
|
|
77
|
+
## Orchestration & Integration
|
|
78
|
+
- Works hand-in-hand with `ui-ux-pro-max` and `monday-design-aesthetic` to bring designs to life.
|
|
79
|
+
- Complements `senior-frontend` by handling the motion layer of the UI.
|
|
80
|
+
- Integrates with `seo-aeo-landing-page-writer` to build visually stunning landing pages.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
<a name="bahasa-indonesia"></a>
|
|
85
|
+
## Bahasa Indonesia
|
|
86
|
+
|
|
87
|
+
### Deskripsi
|
|
88
|
+
Skill khusus untuk membuat animasi web dan interaksi mikro yang lancar dan berkinerja tinggi. Mencakup manipulasi SVG langsung, animasi berbasis React menggunakan Framer Motion 12+, koreografi timeline lanjutan dengan GSAP 3, CSS Scroll-Driven Animations native, dan View Transitions API.
|
|
89
|
+
|
|
90
|
+
### Kondisi Pemicu
|
|
91
|
+
- Saat membangun animasi landing page yang kompleks.
|
|
92
|
+
- Saat membuat grafik, chart, atau diagram SVG interaktif.
|
|
93
|
+
- Saat pengguna meminta interaksi yang "sangat mulus", "mirip Apple", atau "dinamis".
|
|
94
|
+
- Saat mengimplementasikan transisi halaman menggunakan View Transitions API native.
|
|
95
|
+
|
|
96
|
+
### Panduan Arsitektur Inti
|
|
97
|
+
|
|
98
|
+
#### 1. Framer Motion 12+ (React/Next.js)
|
|
99
|
+
Gunakan Framer Motion untuk animasi komponen deklaratif, animasi layout, dan interaksi gestur.
|
|
100
|
+
- Hindari memicu pembaruan state React pada setiap frame animasi. Gunakan `useTransform` dan `useScroll` yang beroperasi di luar siklus render React untuk performa 60fps.
|
|
101
|
+
|
|
102
|
+
#### 2. GSAP 3
|
|
103
|
+
Gunakan GSAP untuk urutan timeline yang sangat terkoordinasi atau saat bekerja di luar ekosistem React. Plugin `ScrollTrigger` sangat berguna untuk merangkai aksi kompleks berdasarkan posisi scroll.
|
|
104
|
+
|
|
105
|
+
#### 3. CSS Scroll-Driven Animations Native
|
|
106
|
+
Manfaatkan CSS modern (`animation-timeline: view()`) untuk mengikat animasi ke posisi scroll langsung di compositor thread tanpa JavaScript sama sekali. Ini memberikan performa terbaik untuk efek paralaks dan reveal.
|
|
107
|
+
|
|
108
|
+
#### 4. Manipulasi SVG
|
|
109
|
+
- Selalu optimasi SVG (buang tag tidak perlu) sebelum dianimasikan.
|
|
110
|
+
- Gunakan `<clipPath>` dan `<mask>` untuk transisi transisi pengungkapan gambar yang dramatis.
|
|
111
|
+
|
|
112
|
+
## Integrasi Orkestrasi
|
|
113
|
+
- Bekerja sama dengan `ui-ux-pro-max` dan `monday-design-aesthetic` untuk menghidupkan desain statis.
|
|
114
|
+
- Melengkapi `senior-frontend` dengan menangani lapisan pergerakan (motion layer) UI.
|
|
115
|
+
- Terintegrasi dengan `seo-aeo-landing-page-writer` untuk merancang landing page yang memukau secara visual.
|