vibes-plug 1.0.0 → 2.5.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/.github/workflows/publish.yml +20 -0
- package/AGENTS.md +66 -0
- package/BLUEPRINT.md +152 -60
- package/CHANGELOG.md +50 -0
- package/README.md +346 -194
- package/package.json +25 -25
- package/plugin.json +1 -1
- package/skills/ai-cost-token-optimizer/SKILL.md +52 -0
- package/skills/ai-llm-integration-expert/SKILL.md +180 -162
- package/skills/api-design-expert/SKILL.md +314 -310
- package/skills/app-analyzer-optimizer/SKILL.md +193 -189
- package/skills/apple-ecosystem-expert/SKILL.md +142 -0
- package/skills/async-queue-temporal-expert/SKILL.md +54 -0
- package/skills/authentication-identity-expert/SKILL.md +251 -20
- package/skills/auto-doc-updater/SKILL.md +214 -204
- package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
- package/skills/autonomous-red-teamer/SKILL.md +59 -0
- package/skills/autonomous-swarm-director/SKILL.md +69 -0
- package/skills/autonomous-tdd-debugger/SKILL.md +65 -0
- package/skills/bootstrap-to-modern/SKILL.md +90 -86
- package/skills/brainstorming/SKILL.md +373 -353
- package/skills/browser-automation-expert/SKILL.md +46 -0
- package/skills/ci-cd-devops-architect/SKILL.md +72 -45
- package/skills/cloud-hosting-expert/SKILL.md +244 -244
- package/skills/coderabbit/SKILL.md +192 -192
- package/skills/cron-scheduler-expert/SKILL.md +298 -0
- package/skills/data-telemetry-expert/SKILL.md +213 -213
- package/skills/database-orm-expert/SKILL.md +294 -294
- package/skills/dependency-upgrade-migrator/SKILL.md +295 -0
- package/skills/design-system-architect/SKILL.md +27 -10
- package/skills/doku-mcp-server/SKILL.md +251 -0
- package/skills/doku-payment-gateway/SKILL.md +227 -0
- package/skills/e2e-testing-expert/SKILL.md +315 -315
- package/skills/edge-serverless-db-expert/SKILL.md +43 -0
- package/skills/email-notification-expert/SKILL.md +362 -0
- package/skills/error-resilience-expert/SKILL.md +480 -0
- package/skills/event-driven-architect/SKILL.md +81 -81
- package/skills/feature-flag-analytics-expert/SKILL.md +46 -0
- package/skills/file-upload-media-expert/SKILL.md +431 -0
- package/skills/form-validation-expert/SKILL.md +401 -0
- package/skills/fullstack-expert/SKILL.md +202 -202
- package/skills/fullstack-expert/references/api_design_guide.md +466 -466
- package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
- package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
- package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
- package/skills/gemini-agent-booster/SKILL.md +135 -135
- package/skills/global-a11y-i18n-expert/SKILL.md +81 -81
- package/skills/glsl-shader-expert/SKILL.md +101 -0
- package/skills/go-programming-expert/SKILL.md +295 -295
- package/skills/graphql-apollo-expert/SKILL.md +108 -0
- package/skills/hig/SKILL.md +188 -188
- package/skills/hyper-context-synthesizer/SKILL.md +55 -0
- package/skills/js-backend-expert/SKILL.md +34 -9
- package/skills/legacy-code-translator/SKILL.md +65 -0
- package/skills/llm-cost-arbitrage-router/SKILL.md +59 -0
- package/skills/logging-error-tracking-expert/SKILL.md +338 -0
- package/skills/mcp-client-orchestrator/SKILL.md +70 -0
- package/skills/mcp-server-architect/SKILL.md +194 -194
- package/skills/micro-frontend-architect/SKILL.md +106 -0
- package/skills/mobile-expo-expert/SKILL.md +186 -186
- package/skills/mobile-push-notification-expert/SKILL.md +51 -0
- package/skills/monday-design-aesthetic/SKILL.md +67 -67
- package/skills/monorepo-architect/SKILL.md +227 -227
- package/skills/mpa-orchestrator/SKILL.md +101 -101
- package/skills/multi-agent-orchestration/SKILL.md +234 -234
- package/skills/multiple-entry-points/SKILL.md +55 -55
- package/skills/mvc-expert/SKILL.md +231 -231
- package/skills/payment-gateway-expert/SKILL.md +45 -45
- package/skills/performance-web-vitals/SKILL.md +332 -332
- package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
- package/skills/prd-architect/SKILL.md +201 -191
- package/skills/proactive-background-watcher/SKILL.md +62 -0
- package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
- package/skills/production-ready-hardener/SKILL.md +173 -186
- package/skills/production-ready-hardener/references/production_checklist.md +161 -161
- package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
- package/skills/project-context-mapper/SKILL.md +79 -0
- package/skills/python-programming-expert/SKILL.md +263 -132
- package/skills/rate-limit-abuse-prevention/SKILL.md +371 -0
- package/skills/realtime-collaboration-expert/SKILL.md +45 -45
- package/skills/rust-programming-expert/SKILL.md +235 -235
- package/skills/saas-billing/SKILL.md +377 -377
- package/skills/saas-multi-tenant/SKILL.md +251 -237
- package/skills/saas-mvp-launcher/SKILL.md +10 -0
- package/skills/saas-transformer/SKILL.md +187 -144
- package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
- package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
- package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
- package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
- package/skills/scalability-clean-code/SKILL.md +229 -229
- package/skills/self-evolving-memory-graph/SKILL.md +75 -0
- package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
- package/skills/senior-frontend/SKILL.md +161 -161
- package/skills/senior-fullstack/SKILL.md +167 -167
- package/skills/seo/SKILL.md +235 -225
- package/skills/seo-geo/SKILL.md +188 -188
- package/skills/session-context-loader/SKILL.md +77 -0
- package/skills/session-handoff-resume/SKILL.md +158 -158
- package/skills/skill_baru/SKILL.md +172 -147
- package/skills/spa-orchestrator/SKILL.md +288 -288
- package/skills/state-management-expert/SKILL.md +272 -272
- package/skills/supabase-security-expert/SKILL.md +243 -243
- package/skills/tailwind-expert/SKILL.md +188 -188
- package/skills/tanstack-query-expert/SKILL.md +199 -199
- package/skills/token-saver/SKILL.md +119 -111
- package/skills/typescript-expert/SKILL.md +324 -279
- package/skills/ui-components-expert/SKILL.md +263 -46
- package/skills/ui-ux-pro-max/SKILL.md +202 -201
- package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
- package/skills/ui_ux_expert/SKILL.md +17 -6
- package/skills/vector-db-rag-expert/SKILL.md +52 -0
- package/skills/vibe-code-gardener/SKILL.md +181 -173
- package/skills/visual-qa-vision-agent/SKILL.md +65 -0
- package/skills/vue-frontend-expert/SKILL.md +126 -0
- package/skills/web-3d-graphics-expert/SKILL.md +131 -0
- package/skills/web-game-engine-expert/SKILL.md +96 -0
- package/skills/web-scraper/SKILL.md +207 -205
- package/skills/website-design-cloner/SKILL.md +174 -0
- package/skills/webxr-ar-vr-expert/SKILL.md +117 -0
- package/skills/zero-to-prod-orchestrator/SKILL.md +206 -180
- package/skills/zero-trust-secret-vault/SKILL.md +40 -0
- package/vibes-swarm-demo.gif +0 -0
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: gemini-agent-booster
|
|
3
|
-
description: "Master optimization protocol for Gemini Agent (Antigravity) to unlock native 1M+ long-context reasoning, multimodal vision UI audits, visual subagent feedback, and high-speed problem solving / Protokol optimasi utama untuk Gemini Agent (Antigravity) untuk mengaktifkan pemikiran long-context 1M+, audit UI visual multimodal, dan pemecahan masalah kecepatan tinggi."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Gemini Agent Booster (2026 Edition — Gemini 2.5 Pro/Flash)
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
Master optimization protocol for the Gemini Agent (Antigravity) to leverage native Gemini 2.5 Pro/Flash capabilities — including 1M+ token context window, multimodal vision analysis, deep research mode, thinking chains, and high-speed code generation.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
- Analyzing very large codebases, logs, or documents that require 1M+ token context.
|
|
21
|
-
- Performing multimodal UI audits (analyzing screenshots of running applications).
|
|
22
|
-
- Running deep research tasks requiring web search + reasoning synthesis.
|
|
23
|
-
- Generating large, complex code artifacts in a single pass.
|
|
24
|
-
- Delegating complex multi-step tasks to browser subagents.
|
|
25
|
-
|
|
26
|
-
### Gemini 2.5 Pro/Flash Capabilities (2026)
|
|
27
|
-
|
|
28
|
-
| Capability | Gemini 2.5 Pro | Gemini 2.5 Flash |
|
|
29
|
-
|---|---|---|
|
|
30
|
-
| Context Window | 1M tokens | 1M tokens |
|
|
31
|
-
| Thinking / Reasoning | ✅ Extended thinking | ✅ Flash thinking |
|
|
32
|
-
| Multimodal (Image/Video) | ✅ | ✅ |
|
|
33
|
-
| Code Generation | Best-in-class | Very fast |
|
|
34
|
-
| Web Search (Grounding) | ✅ | ✅ |
|
|
35
|
-
| Deep Research | ✅ (up to 30 min) | ✅ |
|
|
36
|
-
| Audio | ✅ | ✅ |
|
|
37
|
-
| Speed | Slower | 5-10x faster |
|
|
38
|
-
| Cost | Higher | Lower |
|
|
39
|
-
|
|
40
|
-
### 1M+ Token Long-Context Strategies
|
|
41
|
-
|
|
42
|
-
When working with very large inputs (codebases, documents, logs):
|
|
43
|
-
1. **Pass full file trees** — use `list_dir` to get the complete file tree, then pass relevant files to maximize context.
|
|
44
|
-
2. **Read whole files, not snippets** — with 1M context, read entire source files rather than grepping for fragments.
|
|
45
|
-
3. **Cross-file analysis** — trace data flows, imports, and interfaces across multiple files simultaneously.
|
|
46
|
-
4. **Log analysis** — pass entire server logs (up to hundreds of thousands of lines) for pattern detection.
|
|
47
|
-
5. **Codebase onboarding** — ingest an entire unfamiliar repo in one pass for deep architectural understanding.
|
|
48
|
-
|
|
49
|
-
### Multimodal Vision — UI Audit Protocol
|
|
50
|
-
Use the `browser_subagent` + `generate_image` tools for visual feedback:
|
|
51
|
-
1. **Screenshot the running app** via browser subagent.
|
|
52
|
-
2. **Analyze the screenshot** for layout issues, accessibility problems, design inconsistencies, Core Web Vitals opportunities.
|
|
53
|
-
3. **Generate a target design** using `generate_image` for visual comparison.
|
|
54
|
-
4. **Iterate code** based on visual delta between current and target design.
|
|
55
|
-
|
|
56
|
-
### Thinking Mode — Extended Reasoning
|
|
57
|
-
For complex
|
|
58
|
-
- Architecture decisions with multiple tradeoffs.
|
|
59
|
-
- Debugging hard-to-reproduce race conditions.
|
|
60
|
-
- Designing multi-step agentic workflows.
|
|
61
|
-
- Cryptographic or security-sensitive implementations.
|
|
62
|
-
- **Protocol**: State the problem clearly →
|
|
63
|
-
|
|
64
|
-
### Deep Research Mode
|
|
65
|
-
Gemini 2.5 Pro's deep research can spend up to 30 minutes actively searching, reading, and synthesizing from hundreds of sources. Use for:
|
|
66
|
-
- Market research before building a new feature.
|
|
67
|
-
- Security vulnerability research.
|
|
68
|
-
- Competitive analysis of existing tools.
|
|
69
|
-
- Collecting the latest API documentation for a framework.
|
|
70
|
-
|
|
71
|
-
### Speed Optimization — Flash for Iteration
|
|
72
|
-
Use **Gemini 2.5 Flash** for:
|
|
73
|
-
- Quick code generation, small file edits.
|
|
74
|
-
- Rapid back-and-forth iteration (linting, formatting, small bug fixes).
|
|
75
|
-
- High-volume batch processing.
|
|
76
|
-
|
|
77
|
-
Use **Gemini 2.5 Pro** for:
|
|
78
|
-
- Complex architecture decisions.
|
|
79
|
-
- Long-context full-codebase analysis.
|
|
80
|
-
- Security audits requiring deep reasoning.
|
|
81
|
-
- Generating comprehensive documentation.
|
|
82
|
-
|
|
83
|
-
### Agent Parallelism
|
|
84
|
-
Gemini Agent natively supports parallel tool calls — run independent operations simultaneously:
|
|
85
|
-
- Read multiple files at once.
|
|
86
|
-
- Run multiple searches in parallel.
|
|
87
|
-
- Spawn multiple browser subagents for concurrent tasks.
|
|
88
|
-
- Write multiple files simultaneously.
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
<a name="bahasa-indonesia"></a>
|
|
93
|
-
## Bahasa Indonesia
|
|
94
|
-
|
|
95
|
-
### Deskripsi
|
|
96
|
-
Protokol optimasi utama untuk Gemini Agent (Antigravity) memanfaatkan kemampuan native Gemini 2.5 Pro/Flash — termasuk context window 1M+ token, analisis visi multimodal, mode penelitian mendalam, rantai pemikiran, dan generasi kode berkecepatan tinggi.
|
|
97
|
-
|
|
98
|
-
### Kondisi Pemicu
|
|
99
|
-
- Menganalisis codebase, log, atau dokumen yang sangat besar yang memerlukan konteks 1M+ token.
|
|
100
|
-
- Melakukan audit UI multimodal (menganalisis screenshot aplikasi yang berjalan).
|
|
101
|
-
- Menjalankan tugas penelitian mendalam yang memerlukan pencarian web + sintesis penalaran.
|
|
102
|
-
- Menghasilkan artefak kode yang besar dan kompleks dalam satu lintasan.
|
|
103
|
-
- Mendelegasikan tugas multi-langkah kompleks ke browser subagent.
|
|
104
|
-
|
|
105
|
-
### Kemampuan Gemini 2.5 Pro/Flash (2026)
|
|
106
|
-
|
|
107
|
-
| Kemampuan | Gemini 2.5 Pro | Gemini 2.5 Flash |
|
|
108
|
-
|---|---|---|
|
|
109
|
-
| Context Window | 1M token | 1M token |
|
|
110
|
-
| Pemikiran / Penalaran | ✅ Extended thinking | ✅ Flash thinking |
|
|
111
|
-
| Multimodal (Gambar/Video) | ✅ | ✅ |
|
|
112
|
-
| Generasi Kode | Terbaik di kelasnya | Sangat cepat |
|
|
113
|
-
| Pencarian Web (Grounding) | ✅ | ✅ |
|
|
114
|
-
| Penelitian Mendalam | ✅ (hingga 30 mnt) | ✅ |
|
|
115
|
-
| Kecepatan | Lebih lambat | 5-10x lebih cepat |
|
|
116
|
-
| Biaya | Lebih tinggi | Lebih rendah |
|
|
117
|
-
|
|
118
|
-
### Strategi Long-Context 1M+ Token
|
|
119
|
-
Manfaatkan jendela konteks besar dengan membaca seluruh file (bukan hanya fragment), melewatkan seluruh pohon file proyek, menganalisis aliran data lintas file secara bersamaan, dan menganalisis log server lengkap untuk deteksi pola.
|
|
120
|
-
|
|
121
|
-
### Visi Multimodal — Protokol Audit UI
|
|
122
|
-
Gunakan `browser_subagent` untuk mengambil screenshot aplikasi yang berjalan, analisis secara visual untuk masalah tata letak atau aksesibilitas, buat desain target dengan `generate_image`, lalu iterasi kode berdasarkan delta visual.
|
|
123
|
-
|
|
124
|
-
### Mode Pemikiran —
|
|
125
|
-
Untuk masalah kompleks (keputusan arsitektur, debugging race condition, alur kerja agentik),
|
|
126
|
-
|
|
127
|
-
### Mode Penelitian Mendalam
|
|
128
|
-
Gemini 2.5 Pro dapat menghabiskan hingga 30 menit secara aktif mencari, membaca, dan mensintesis dari ratusan sumber. Ideal untuk riset pasar, kerentanan keamanan, analisis kompetitif, atau pengumpulan dokumentasi API terbaru.
|
|
129
|
-
|
|
130
|
-
### Flash untuk Iterasi, Pro untuk Kedalaman
|
|
131
|
-
- **Flash**: Edit cepat, iterasi bolak-balik, pemrosesan batch.
|
|
132
|
-
- **Pro**: Keputusan arsitektur, analisis codebase penuh, audit keamanan, dokumentasi komprehensif.
|
|
133
|
-
|
|
134
|
-
### Paralelisme Agen
|
|
135
|
-
Gemini Agent mendukung pemanggilan tool paralel secara native — jalankan operasi independen secara bersamaan untuk memaksimalkan throughput.
|
|
1
|
+
---
|
|
2
|
+
name: gemini-agent-booster
|
|
3
|
+
description: "Master optimization protocol for Gemini Agent (Antigravity) to unlock native 1M+ long-context reasoning, multimodal vision UI audits, visual subagent feedback, and high-speed problem solving / Protokol optimasi utama untuk Gemini Agent (Antigravity) untuk mengaktifkan pemikiran long-context 1M+, audit UI visual multimodal, dan pemecahan masalah kecepatan tinggi."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Gemini Agent Booster (2026 Edition — Gemini 2.5 Pro/Flash)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Master optimization protocol for the Gemini Agent (Antigravity) to leverage native Gemini 2.5 Pro/Flash capabilities — including 1M+ token context window, multimodal vision analysis, deep research mode, thinking chains, and high-speed code generation.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Analyzing very large codebases, logs, or documents that require 1M+ token context.
|
|
21
|
+
- Performing multimodal UI audits (analyzing screenshots of running applications).
|
|
22
|
+
- Running deep research tasks requiring web search + reasoning synthesis.
|
|
23
|
+
- Generating large, complex code artifacts in a single pass.
|
|
24
|
+
- Delegating complex multi-step tasks to browser subagents.
|
|
25
|
+
|
|
26
|
+
### Gemini 2.5 Pro/Flash Capabilities (2026)
|
|
27
|
+
|
|
28
|
+
| Capability | Gemini 2.5 Pro | Gemini 2.5 Flash |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Context Window | 1M tokens | 1M tokens |
|
|
31
|
+
| Thinking / Reasoning | ✅ Extended thinking | ✅ Flash thinking |
|
|
32
|
+
| Multimodal (Image/Video) | ✅ | ✅ |
|
|
33
|
+
| Code Generation | Best-in-class | Very fast |
|
|
34
|
+
| Web Search (Grounding) | ✅ | ✅ |
|
|
35
|
+
| Deep Research | ✅ (up to 30 min) | ✅ |
|
|
36
|
+
| Audio | ✅ | ✅ |
|
|
37
|
+
| Speed | Slower | 5-10x faster |
|
|
38
|
+
| Cost | Higher | Lower |
|
|
39
|
+
|
|
40
|
+
### 1M+ Token Long-Context Strategies
|
|
41
|
+
|
|
42
|
+
When working with very large inputs (codebases, documents, logs):
|
|
43
|
+
1. **Pass full file trees** — use `list_dir` to get the complete file tree, then pass relevant files to maximize context.
|
|
44
|
+
2. **Read whole files, not snippets** — with 1M context, read entire source files rather than grepping for fragments.
|
|
45
|
+
3. **Cross-file analysis** — trace data flows, imports, and interfaces across multiple files simultaneously.
|
|
46
|
+
4. **Log analysis** — pass entire server logs (up to hundreds of thousands of lines) for pattern detection.
|
|
47
|
+
5. **Codebase onboarding** — ingest an entire unfamiliar repo in one pass for deep architectural understanding.
|
|
48
|
+
|
|
49
|
+
### Multimodal Vision — UI Audit Protocol
|
|
50
|
+
Use the `browser_subagent` + `generate_image` tools for visual feedback:
|
|
51
|
+
1. **Screenshot the running app** via browser subagent.
|
|
52
|
+
2. **Analyze the screenshot** for layout issues, accessibility problems, design inconsistencies, Core Web Vitals opportunities.
|
|
53
|
+
3. **Generate a target design** using `generate_image` for visual comparison.
|
|
54
|
+
4. **Iterate code** based on visual delta between current and target design.
|
|
55
|
+
|
|
56
|
+
### Thinking Mode — Mandatory Extended Reasoning (o1-Style)
|
|
57
|
+
For any complex problem, architecture decision, or large refactor, you MUST engage Gemini's extended thinking or generate a mandatory explicit reasoning chain (`<thought>`) before generating code:
|
|
58
|
+
- Architecture decisions with multiple tradeoffs.
|
|
59
|
+
- Debugging hard-to-reproduce race conditions.
|
|
60
|
+
- Designing multi-step agentic workflows.
|
|
61
|
+
- Cryptographic or security-sensitive implementations.
|
|
62
|
+
- **Protocol**: State the problem clearly → engage deep reasoning chain → critique your own initial assumptions → validate the conclusion → execute tool calls.
|
|
63
|
+
|
|
64
|
+
### Deep Research Mode
|
|
65
|
+
Gemini 2.5 Pro's deep research can spend up to 30 minutes actively searching, reading, and synthesizing from hundreds of sources. Use for:
|
|
66
|
+
- Market research before building a new feature.
|
|
67
|
+
- Security vulnerability research.
|
|
68
|
+
- Competitive analysis of existing tools.
|
|
69
|
+
- Collecting the latest API documentation for a framework.
|
|
70
|
+
|
|
71
|
+
### Speed Optimization — Flash for Iteration
|
|
72
|
+
Use **Gemini 2.5 Flash** for:
|
|
73
|
+
- Quick code generation, small file edits.
|
|
74
|
+
- Rapid back-and-forth iteration (linting, formatting, small bug fixes).
|
|
75
|
+
- High-volume batch processing.
|
|
76
|
+
|
|
77
|
+
Use **Gemini 2.5 Pro** for:
|
|
78
|
+
- Complex architecture decisions.
|
|
79
|
+
- Long-context full-codebase analysis.
|
|
80
|
+
- Security audits requiring deep reasoning.
|
|
81
|
+
- Generating comprehensive documentation.
|
|
82
|
+
|
|
83
|
+
### Agent Parallelism
|
|
84
|
+
Gemini Agent natively supports parallel tool calls — run independent operations simultaneously:
|
|
85
|
+
- Read multiple files at once.
|
|
86
|
+
- Run multiple searches in parallel.
|
|
87
|
+
- Spawn multiple browser subagents for concurrent tasks.
|
|
88
|
+
- Write multiple files simultaneously.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
<a name="bahasa-indonesia"></a>
|
|
93
|
+
## Bahasa Indonesia
|
|
94
|
+
|
|
95
|
+
### Deskripsi
|
|
96
|
+
Protokol optimasi utama untuk Gemini Agent (Antigravity) memanfaatkan kemampuan native Gemini 2.5 Pro/Flash — termasuk context window 1M+ token, analisis visi multimodal, mode penelitian mendalam, rantai pemikiran, dan generasi kode berkecepatan tinggi.
|
|
97
|
+
|
|
98
|
+
### Kondisi Pemicu
|
|
99
|
+
- Menganalisis codebase, log, atau dokumen yang sangat besar yang memerlukan konteks 1M+ token.
|
|
100
|
+
- Melakukan audit UI multimodal (menganalisis screenshot aplikasi yang berjalan).
|
|
101
|
+
- Menjalankan tugas penelitian mendalam yang memerlukan pencarian web + sintesis penalaran.
|
|
102
|
+
- Menghasilkan artefak kode yang besar dan kompleks dalam satu lintasan.
|
|
103
|
+
- Mendelegasikan tugas multi-langkah kompleks ke browser subagent.
|
|
104
|
+
|
|
105
|
+
### Kemampuan Gemini 2.5 Pro/Flash (2026)
|
|
106
|
+
|
|
107
|
+
| Kemampuan | Gemini 2.5 Pro | Gemini 2.5 Flash |
|
|
108
|
+
|---|---|---|
|
|
109
|
+
| Context Window | 1M token | 1M token |
|
|
110
|
+
| Pemikiran / Penalaran | ✅ Extended thinking | ✅ Flash thinking |
|
|
111
|
+
| Multimodal (Gambar/Video) | ✅ | ✅ |
|
|
112
|
+
| Generasi Kode | Terbaik di kelasnya | Sangat cepat |
|
|
113
|
+
| Pencarian Web (Grounding) | ✅ | ✅ |
|
|
114
|
+
| Penelitian Mendalam | ✅ (hingga 30 mnt) | ✅ |
|
|
115
|
+
| Kecepatan | Lebih lambat | 5-10x lebih cepat |
|
|
116
|
+
| Biaya | Lebih tinggi | Lebih rendah |
|
|
117
|
+
|
|
118
|
+
### Strategi Long-Context 1M+ Token
|
|
119
|
+
Manfaatkan jendela konteks besar dengan membaca seluruh file (bukan hanya fragment), melewatkan seluruh pohon file proyek, menganalisis aliran data lintas file secara bersamaan, dan menganalisis log server lengkap untuk deteksi pola.
|
|
120
|
+
|
|
121
|
+
### Visi Multimodal — Protokol Audit UI
|
|
122
|
+
Gunakan `browser_subagent` untuk mengambil screenshot aplikasi yang berjalan, analisis secara visual untuk masalah tata letak atau aksesibilitas, buat desain target dengan `generate_image`, lalu iterasi kode berdasarkan delta visual.
|
|
123
|
+
|
|
124
|
+
### Mode Pemikiran — Penalaran Mendalam (Mandatori)
|
|
125
|
+
Untuk masalah kompleks (keputusan arsitektur, debugging race condition, alur kerja agentik), Anda **DIWAJIBKAN** untuk mengaktifkan mode pemikiran diperpanjang (*extended reasoning*) atau menuliskan rantai pemikiran (`<thought>`) secara eksplisit untuk mengevaluasi asumsi Anda sebelum menghasilkan kode solusi. Jangan bertindak impulsif.
|
|
126
|
+
|
|
127
|
+
### Mode Penelitian Mendalam
|
|
128
|
+
Gemini 2.5 Pro dapat menghabiskan hingga 30 menit secara aktif mencari, membaca, dan mensintesis dari ratusan sumber. Ideal untuk riset pasar, kerentanan keamanan, analisis kompetitif, atau pengumpulan dokumentasi API terbaru.
|
|
129
|
+
|
|
130
|
+
### Flash untuk Iterasi, Pro untuk Kedalaman
|
|
131
|
+
- **Flash**: Edit cepat, iterasi bolak-balik, pemrosesan batch.
|
|
132
|
+
- **Pro**: Keputusan arsitektur, analisis codebase penuh, audit keamanan, dokumentasi komprehensif.
|
|
133
|
+
|
|
134
|
+
### Paralelisme Agen
|
|
135
|
+
Gemini Agent mendukung pemanggilan tool paralel secara native — jalankan operasi independen secara bersamaan untuk memaksimalkan throughput.
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: global-a11y-i18n-expert
|
|
3
|
-
description: "Expert guide for Web Accessibility (WCAG a11y) and Internationalization (i18n) / Panduan ahli untuk Aksesibilitas Web dan Internasionalisasi."
|
|
4
|
-
author: "Roedy Rustam"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Global Accessibility (a11y) & i18n Expert
|
|
8
|
-
|
|
9
|
-
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<a name="english"></a>
|
|
14
|
-
## English
|
|
15
|
-
|
|
16
|
-
### Description
|
|
17
|
-
This skill focuses on making enterprise web applications universally accessible and globally adaptable. It covers Web Content Accessibility Guidelines (WCAG) compliance and Internationalization (i18n) patterns for multi-language, multi-timezone software.
|
|
18
|
-
|
|
19
|
-
### Trigger Conditions
|
|
20
|
-
- Selling software to government, education, or large enterprise sectors (where WCAG AA compliance is legally required).
|
|
21
|
-
- Implementing multi-language support (i18n).
|
|
22
|
-
- Designing UIs that must support RTL (Right-to-Left) languages like Arabic or Hebrew.
|
|
23
|
-
- Fixing "tab trap" or screen reader issues.
|
|
24
|
-
- Handling complex timezone/date calculations across global users.
|
|
25
|
-
|
|
26
|
-
### Core Architecture Guidelines
|
|
27
|
-
|
|
28
|
-
#### 1. Web Accessibility (a11y)
|
|
29
|
-
Do not treat accessibility as an afterthought. It is a core engineering requirement.
|
|
30
|
-
- **Semantic HTML**: Always prefer native HTML elements (`<button>`, `<nav>`, `<dialog>`) over building custom ones with `<div>`. Native elements come with free accessibility baked in by the browser.
|
|
31
|
-
- **ARIA Attributes**: If you must build custom UI, use WAI-ARIA roles (`role="tablist"`, `aria-expanded="true"`) to tell screen readers what the component is doing.
|
|
32
|
-
- **Keyboard Navigation**: The entire app MUST be usable without a mouse. Ensure interactive elements are focusable (`tabindex="0"`) and visual focus outlines are distinct (do not use `outline: none` without providing an alternative styling).
|
|
33
|
-
- **Color Contrast**: Ensure text has a minimum contrast ratio of 4.5:1 against its background (WCAG AA standard).
|
|
34
|
-
|
|
35
|
-
#### 2. Internationalization (i18n)
|
|
36
|
-
Handling multiple languages requires structural foresight.
|
|
37
|
-
- **Locale Routing**: Use URL structures like `/en/pricing` or `/id/pricing`.
|
|
38
|
-
- **String Externalization**: Never hardcode UI text. Use translation files (`en.json`, `id.json`) and a library like `next-intl` or `react-i18next`.
|
|
39
|
-
- **RTL Support**: Use CSS logical properties (e.g., `margin-inline-start` instead of `margin-left`) so your UI automatically flips when rendering RTL languages.
|
|
40
|
-
|
|
41
|
-
#### 3. Timezones and Dates
|
|
42
|
-
Time is incredibly difficult to manage globally.
|
|
43
|
-
- **Storage**: ALWAYS store dates in the database as UTC (`TIMESTAMPTZ` in PostgreSQL). Never store local time.
|
|
44
|
-
- **Transport**: Send dates across APIs in ISO 8601 format (e.g., `2024-03-15T12:00:00Z`).
|
|
45
|
-
- **Display**: Convert UTC to the user's local timezone only at the UI layer just before rendering (using native `Intl.DateTimeFormat` or libraries like `date-fns-tz`).
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
<a name="bahasa-indonesia"></a>
|
|
50
|
-
## Bahasa Indonesia
|
|
51
|
-
|
|
52
|
-
### Deskripsi
|
|
53
|
-
Skill ini berfokus pada pembuatan aplikasi web skala *enterprise* yang dapat diakses secara universal dan diadaptasi secara global. Panduan ini mencakup kepatuhan pedoman Aksesibilitas Web (WCAG) serta pola Internasionalisasi (i18n) untuk perangkat lunak multi-bahasa dan multi-zona-waktu.
|
|
54
|
-
|
|
55
|
-
### Kondisi Pemicu
|
|
56
|
-
- Menjual perangkat lunak ke sektor pemerintah, pendidikan, atau perusahaan besar (di mana kepatuhan WCAG AA diwajibkan secara hukum).
|
|
57
|
-
- Menerapkan dukungan multi-bahasa (i18n).
|
|
58
|
-
- Merancang UI yang harus mendukung bahasa yang dibaca dari Kanan ke Kiri (RTL) seperti Arab atau Ibrani.
|
|
59
|
-
- Memperbaiki masalah navigasi *keyboard* (*tab trap*) atau dukungan *screen reader* (pembaca layar).
|
|
60
|
-
- Menangani kalkulasi tanggal dan zona waktu yang kompleks untuk pengguna global.
|
|
61
|
-
|
|
62
|
-
### Panduan Arsitektur Inti
|
|
63
|
-
|
|
64
|
-
#### 1. Aksesibilitas Web (a11y)
|
|
65
|
-
Jangan anggap aksesibilitas sebagai fitur tambahan. Ini adalah syarat mutlak *engineering*.
|
|
66
|
-
- **HTML Semantik**: Selalu utamakan elemen HTML bawaan (`<button>`, `<nav>`, `<dialog>`) daripada membuat elemen kustom menggunakan `<div>`. Elemen bawaan sudah memiliki fitur aksesibilitas yang ditangani langsung oleh browser.
|
|
67
|
-
- **Atribut ARIA**: Jika Anda terpaksa membuat komponen UI kustom, gunakan peran WAI-ARIA (`role="tablist"`, `aria-expanded="true"`) untuk memberi tahu *screen reader* apa fungsi komponen tersebut.
|
|
68
|
-
- **Navigasi Keyboard**: Seluruh aplikasi HARUS bisa digunakan tanpa *mouse*. Pastikan elemen interaktif bisa difokuskan (`tabindex="0"`) dan garis tepi fokus (*focus ring*) terlihat jelas (jangan gunakan `outline: none` tanpa memberikan gaya alternatif).
|
|
69
|
-
- **Kontras Warna**: Pastikan teks memiliki rasio kontras minimal 4.5:1 terhadap warna latar belakangnya (standar WCAG AA).
|
|
70
|
-
|
|
71
|
-
#### 2. Internasionalisasi (i18n)
|
|
72
|
-
Menangani berbagai bahasa memerlukan perencanaan struktural.
|
|
73
|
-
- **Routing Lokal (Locale Routing)**: Gunakan struktur URL seperti `/en/pricing` atau `/id/pricing`.
|
|
74
|
-
- **Eksternalisasi Teks**: Jangan pernah menulis teks UI langsung (*hardcode*) di dalam kode. Gunakan berkas terjemahan (`en.json`, `id.json`) dan pustaka seperti `next-intl` atau `react-i18next`.
|
|
75
|
-
- **Dukungan RTL**: Gunakan properti logika CSS (*CSS logical properties*, mis. `margin-inline-start` alih-alih `margin-left`) agar tata letak UI Anda secara otomatis berbalik saat merender bahasa RTL.
|
|
76
|
-
|
|
77
|
-
#### 3. Zona Waktu dan Tanggal
|
|
78
|
-
Mengelola waktu secara global sangatlah rumit.
|
|
79
|
-
- **Penyimpanan**: SELALU simpan tanggal di dalam database dalam format UTC (`TIMESTAMPTZ` pada PostgreSQL). Jangan pernah menyimpan waktu lokal komputer.
|
|
80
|
-
- **Transportasi**: Kirimkan tanggal melalui API dalam format ISO 8601 (mis., `2024-03-15T12:00:00Z`).
|
|
81
|
-
- **Tampilan UI**: Konversikan waktu UTC ke zona waktu lokal pengguna *hanya di lapisan UI* sesaat sebelum dirender (menggunakan `Intl.DateTimeFormat` bawaan browser atau pustaka seperti `date-fns-tz`).
|
|
1
|
+
---
|
|
2
|
+
name: global-a11y-i18n-expert
|
|
3
|
+
description: "Expert guide for Web Accessibility (WCAG a11y) and Internationalization (i18n) / Panduan ahli untuk Aksesibilitas Web dan Internasionalisasi."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Global Accessibility (a11y) & i18n Expert
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
This skill focuses on making enterprise web applications universally accessible and globally adaptable. It covers Web Content Accessibility Guidelines (WCAG) compliance and Internationalization (i18n) patterns for multi-language, multi-timezone software.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
- Selling software to government, education, or large enterprise sectors (where WCAG AA compliance is legally required).
|
|
21
|
+
- Implementing multi-language support (i18n).
|
|
22
|
+
- Designing UIs that must support RTL (Right-to-Left) languages like Arabic or Hebrew.
|
|
23
|
+
- Fixing "tab trap" or screen reader issues.
|
|
24
|
+
- Handling complex timezone/date calculations across global users.
|
|
25
|
+
|
|
26
|
+
### Core Architecture Guidelines
|
|
27
|
+
|
|
28
|
+
#### 1. Web Accessibility (a11y)
|
|
29
|
+
Do not treat accessibility as an afterthought. It is a core engineering requirement.
|
|
30
|
+
- **Semantic HTML**: Always prefer native HTML elements (`<button>`, `<nav>`, `<dialog>`) over building custom ones with `<div>`. Native elements come with free accessibility baked in by the browser.
|
|
31
|
+
- **ARIA Attributes**: If you must build custom UI, use WAI-ARIA roles (`role="tablist"`, `aria-expanded="true"`) to tell screen readers what the component is doing.
|
|
32
|
+
- **Keyboard Navigation**: The entire app MUST be usable without a mouse. Ensure interactive elements are focusable (`tabindex="0"`) and visual focus outlines are distinct (do not use `outline: none` without providing an alternative styling).
|
|
33
|
+
- **Color Contrast**: Ensure text has a minimum contrast ratio of 4.5:1 against its background (WCAG AA standard).
|
|
34
|
+
|
|
35
|
+
#### 2. Internationalization (i18n)
|
|
36
|
+
Handling multiple languages requires structural foresight.
|
|
37
|
+
- **Locale Routing**: Use URL structures like `/en/pricing` or `/id/pricing`.
|
|
38
|
+
- **String Externalization**: Never hardcode UI text. Use translation files (`en.json`, `id.json`) and a library like `next-intl` or `react-i18next`.
|
|
39
|
+
- **RTL Support**: Use CSS logical properties (e.g., `margin-inline-start` instead of `margin-left`) so your UI automatically flips when rendering RTL languages.
|
|
40
|
+
|
|
41
|
+
#### 3. Timezones and Dates
|
|
42
|
+
Time is incredibly difficult to manage globally.
|
|
43
|
+
- **Storage**: ALWAYS store dates in the database as UTC (`TIMESTAMPTZ` in PostgreSQL). Never store local time.
|
|
44
|
+
- **Transport**: Send dates across APIs in ISO 8601 format (e.g., `2024-03-15T12:00:00Z`).
|
|
45
|
+
- **Display**: Convert UTC to the user's local timezone only at the UI layer just before rendering (using native `Intl.DateTimeFormat` or libraries like `date-fns-tz`).
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
<a name="bahasa-indonesia"></a>
|
|
50
|
+
## Bahasa Indonesia
|
|
51
|
+
|
|
52
|
+
### Deskripsi
|
|
53
|
+
Skill ini berfokus pada pembuatan aplikasi web skala *enterprise* yang dapat diakses secara universal dan diadaptasi secara global. Panduan ini mencakup kepatuhan pedoman Aksesibilitas Web (WCAG) serta pola Internasionalisasi (i18n) untuk perangkat lunak multi-bahasa dan multi-zona-waktu.
|
|
54
|
+
|
|
55
|
+
### Kondisi Pemicu
|
|
56
|
+
- Menjual perangkat lunak ke sektor pemerintah, pendidikan, atau perusahaan besar (di mana kepatuhan WCAG AA diwajibkan secara hukum).
|
|
57
|
+
- Menerapkan dukungan multi-bahasa (i18n).
|
|
58
|
+
- Merancang UI yang harus mendukung bahasa yang dibaca dari Kanan ke Kiri (RTL) seperti Arab atau Ibrani.
|
|
59
|
+
- Memperbaiki masalah navigasi *keyboard* (*tab trap*) atau dukungan *screen reader* (pembaca layar).
|
|
60
|
+
- Menangani kalkulasi tanggal dan zona waktu yang kompleks untuk pengguna global.
|
|
61
|
+
|
|
62
|
+
### Panduan Arsitektur Inti
|
|
63
|
+
|
|
64
|
+
#### 1. Aksesibilitas Web (a11y)
|
|
65
|
+
Jangan anggap aksesibilitas sebagai fitur tambahan. Ini adalah syarat mutlak *engineering*.
|
|
66
|
+
- **HTML Semantik**: Selalu utamakan elemen HTML bawaan (`<button>`, `<nav>`, `<dialog>`) daripada membuat elemen kustom menggunakan `<div>`. Elemen bawaan sudah memiliki fitur aksesibilitas yang ditangani langsung oleh browser.
|
|
67
|
+
- **Atribut ARIA**: Jika Anda terpaksa membuat komponen UI kustom, gunakan peran WAI-ARIA (`role="tablist"`, `aria-expanded="true"`) untuk memberi tahu *screen reader* apa fungsi komponen tersebut.
|
|
68
|
+
- **Navigasi Keyboard**: Seluruh aplikasi HARUS bisa digunakan tanpa *mouse*. Pastikan elemen interaktif bisa difokuskan (`tabindex="0"`) dan garis tepi fokus (*focus ring*) terlihat jelas (jangan gunakan `outline: none` tanpa memberikan gaya alternatif).
|
|
69
|
+
- **Kontras Warna**: Pastikan teks memiliki rasio kontras minimal 4.5:1 terhadap warna latar belakangnya (standar WCAG AA).
|
|
70
|
+
|
|
71
|
+
#### 2. Internasionalisasi (i18n)
|
|
72
|
+
Menangani berbagai bahasa memerlukan perencanaan struktural.
|
|
73
|
+
- **Routing Lokal (Locale Routing)**: Gunakan struktur URL seperti `/en/pricing` atau `/id/pricing`.
|
|
74
|
+
- **Eksternalisasi Teks**: Jangan pernah menulis teks UI langsung (*hardcode*) di dalam kode. Gunakan berkas terjemahan (`en.json`, `id.json`) dan pustaka seperti `next-intl` atau `react-i18next`.
|
|
75
|
+
- **Dukungan RTL**: Gunakan properti logika CSS (*CSS logical properties*, mis. `margin-inline-start` alih-alih `margin-left`) agar tata letak UI Anda secara otomatis berbalik saat merender bahasa RTL.
|
|
76
|
+
|
|
77
|
+
#### 3. Zona Waktu dan Tanggal
|
|
78
|
+
Mengelola waktu secara global sangatlah rumit.
|
|
79
|
+
- **Penyimpanan**: SELALU simpan tanggal di dalam database dalam format UTC (`TIMESTAMPTZ` pada PostgreSQL). Jangan pernah menyimpan waktu lokal komputer.
|
|
80
|
+
- **Transportasi**: Kirimkan tanggal melalui API dalam format ISO 8601 (mis., `2024-03-15T12:00:00Z`).
|
|
81
|
+
- **Tampilan UI**: Konversikan waktu UTC ke zona waktu lokal pengguna *hanya di lapisan UI* sesaat sebelum dirender (menggunakan `Intl.DateTimeFormat` bawaan browser atau pustaka seperti `date-fns-tz`).
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: glsl-shader-expert
|
|
3
|
+
description: "Expert guide for writing custom GLSL shaders (Vertex/Fragment) for WebGL using Three.js and Babylon.js. Covers shader materials, post-processing, noise, and performance optimization."
|
|
4
|
+
author: "Roedy Rustam"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# GLSL Shader Expert (WebGL 3D Graphics)
|
|
8
|
+
|
|
9
|
+
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<a name="english"></a>
|
|
14
|
+
## English
|
|
15
|
+
|
|
16
|
+
### Description
|
|
17
|
+
Production-grade guidance for writing and integrating custom GLSL (OpenGL Shading Language) shaders into web applications using **Three.js** (`ShaderMaterial` / `RawShaderMaterial`) or **Babylon.js** (`ShaderMaterial`). Focuses on creating advanced visual effects, custom lighting models, procedural textures (noise), and post-processing passes.
|
|
18
|
+
|
|
19
|
+
### Trigger Conditions
|
|
20
|
+
Activate this skill when the user is:
|
|
21
|
+
- Asking to create custom materials that standard PBR materials cannot achieve.
|
|
22
|
+
- Writing Vertex or Fragment shaders in GLSL.
|
|
23
|
+
- Implementing procedural generation (e.g., Perlin noise, Simplex noise) on the GPU.
|
|
24
|
+
- Creating post-processing effects or screen-space shaders.
|
|
25
|
+
- Optimizing GPU performance by moving CPU calculations to vertex shaders.
|
|
26
|
+
|
|
27
|
+
### Core Concepts
|
|
28
|
+
|
|
29
|
+
#### 1. The Graphics Pipeline
|
|
30
|
+
Understand the flow:
|
|
31
|
+
1. **Vertex Shader:** Runs for every vertex. Used to manipulate geometry (position) and pass data (varyings) to the fragment shader. Must set `gl_Position`.
|
|
32
|
+
2. **Fragment Shader:** Runs for every pixel (fragment). Used to determine color. Must set `gl_FragColor`.
|
|
33
|
+
|
|
34
|
+
#### 2. Three.js `ShaderMaterial` Example
|
|
35
|
+
```javascript
|
|
36
|
+
import * as THREE from 'three';
|
|
37
|
+
|
|
38
|
+
const vertexShader = `
|
|
39
|
+
varying vec2 vUv;
|
|
40
|
+
void main() {
|
|
41
|
+
vUv = uv;
|
|
42
|
+
// Standard projection
|
|
43
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
|
|
47
|
+
const fragmentShader = `
|
|
48
|
+
uniform float uTime;
|
|
49
|
+
varying vec2 vUv;
|
|
50
|
+
void main() {
|
|
51
|
+
// Simple animated color based on UV coordinates and time
|
|
52
|
+
vec3 color = vec3(vUv.x, vUv.y, sin(uTime) * 0.5 + 0.5);
|
|
53
|
+
gl_FragColor = vec4(color, 1.0);
|
|
54
|
+
}
|
|
55
|
+
`;
|
|
56
|
+
|
|
57
|
+
const material = new THREE.ShaderMaterial({
|
|
58
|
+
vertexShader,
|
|
59
|
+
fragmentShader,
|
|
60
|
+
uniforms: {
|
|
61
|
+
uTime: { value: 0 }
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
*Note: In the render loop, you must update `material.uniforms.uTime.value += delta;`*
|
|
66
|
+
|
|
67
|
+
#### 3. Best Practices for Shaders
|
|
68
|
+
- **Avoid Branching:** GPU threads run in lockstep (warps/wavefronts). `if/else` statements can cause significant performance drops. Prefer mathematical functions like `step()`, `smoothstep()`, `mix()`, and `clamp()`.
|
|
69
|
+
- **Precision:** Explicitly declare float precision (`precision mediump float;` or `highp` if necessary). Use `mediump` for colors/UVs to save performance, particularly on mobile.
|
|
70
|
+
- **Use Uniforms Wisely:** Only pass data that changes per frame or per object as uniforms.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### Integration with Other Skills (MANDATORY)
|
|
75
|
+
This skill works best when combined with:
|
|
76
|
+
- `web-3d-graphics-expert` — For setting up the core WebGL scene in Three.js/Babylon.js.
|
|
77
|
+
- `web-game-engine-expert` — For linking shader uniforms with physics data (e.g., impact ripples).
|
|
78
|
+
- `ui-ux-pro-max` — For ensuring shader visual effects match the modern Web design tokens.
|
|
79
|
+
|
|
80
|
+
### Referenced By Orchestrators (MANDATORY)
|
|
81
|
+
- `brainstorming` — Add to "3D & Graphics" or "UI/UX & Design Systems".
|
|
82
|
+
- `zero-to-prod-orchestrator` — Phase 5 (Frontend / WebGL Implementation).
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
<a name="bahasa-indonesia"></a>
|
|
87
|
+
## Bahasa Indonesia
|
|
88
|
+
|
|
89
|
+
### Deskripsi
|
|
90
|
+
Panduan ahli untuk menulis dan mengintegrasikan shader GLSL khusus ke dalam aplikasi web menggunakan **Three.js** atau **Babylon.js**. Mencakup pembuatan *Vertex Shader*, *Fragment Shader*, efek visual prosedural, dan optimasi GPU.
|
|
91
|
+
|
|
92
|
+
### Kondisi Pemicu
|
|
93
|
+
- Saat pengguna ingin membuat efek visual kustom (seperti air, hologram, distorsi) yang tidak bisa dilakukan oleh material standar.
|
|
94
|
+
- Menulis kode GLSL untuk *ShaderMaterial*.
|
|
95
|
+
- Mengoptimalkan performa grafis dengan memindahkan komputasi CPU ke GPU.
|
|
96
|
+
|
|
97
|
+
### Panduan Singkat
|
|
98
|
+
- **Vertex vs Fragment:** *Vertex shader* mengatur posisi dan memanipulasi geometri (`gl_Position`), sedangkan *Fragment shader* mengatur pewarnaan setiap pixel (`gl_FragColor`).
|
|
99
|
+
- **Hindari If/Else:** CPU sangat cepat dalam percabangan (`if/else`), tetapi GPU sangat lambat. Gunakan fungsi interpolasi matematika bawaan GLSL seperti `step()`, `smoothstep()`, dan `mix()`.
|
|
100
|
+
- **Gunakan Uniforms:** Gunakan `uniforms` untuk mengirim data dari JavaScript (seperti waktu, posisi mouse, atau tekstur) ke dalam shader. Update nilai uniform ini di dalam *render loop*.
|
|
101
|
+
- **Presisi (Precision):** Gunakan `precision mediump float;` secara default untuk menyeimbangkan performa dan kualitas visual, terutama untuk optimalisasi *mobile*.
|