vibes-plug 1.0.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.
Files changed (183) 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 +96 -0
  5. package/BLUEPRINT.md +309 -125
  6. package/CHANGELOG.md +183 -1
  7. package/CLAUDE.md +70 -0
  8. package/LICENSE +1 -1
  9. package/README.md +641 -263
  10. package/index.js +19 -0
  11. package/package.json +61 -25
  12. package/plugin.json +24 -7
  13. package/scripts/generate_swarm_gif.py +295 -0
  14. package/scripts/install.js +201 -0
  15. package/skills/accessibility-testing-expert/SKILL.md +116 -0
  16. package/skills/ai-cost-token-optimizer/SKILL.md +82 -0
  17. package/skills/ai-evals-benchmark-expert/SKILL.md +188 -0
  18. package/skills/ai-llm-integration-expert/SKILL.md +147 -122
  19. package/skills/ai-media-generation-expert/SKILL.md +172 -0
  20. package/skills/ai-prompt-engineering-expert/SKILL.md +84 -0
  21. package/skills/angular-expert/SKILL.md +148 -0
  22. package/skills/api-design-expert/SKILL.md +316 -309
  23. package/skills/api-gateway-proxy-expert/SKILL.md +81 -0
  24. package/skills/app-analyzer-optimizer/SKILL.md +195 -188
  25. package/skills/apple-ecosystem-expert/SKILL.md +145 -0
  26. package/skills/{asisten_ramah → asisten-ramah}/SKILL.md +7 -1
  27. package/skills/astro-framework-expert/SKILL.md +200 -0
  28. package/skills/async-queue-temporal-expert/SKILL.md +240 -0
  29. package/skills/authentication-identity-expert/SKILL.md +279 -45
  30. package/skills/auto-doc-updater/SKILL.md +219 -203
  31. package/skills/autonomous-chaos-monkey/SKILL.md +63 -0
  32. package/skills/autonomous-red-teamer/SKILL.md +203 -0
  33. package/skills/autonomous-tdd-debugger/SKILL.md +71 -0
  34. package/skills/background-jobs-queue-expert/SKILL.md +235 -0
  35. package/skills/biome-linter-formatter-expert/SKILL.md +89 -0
  36. package/skills/blockchain-web3-expert/SKILL.md +115 -0
  37. package/skills/bootstrap-to-modern/SKILL.md +93 -86
  38. package/skills/brainstorming/SKILL.md +381 -353
  39. package/skills/browser-automation-expert/SKILL.md +222 -0
  40. package/skills/bun-runtime-expert/SKILL.md +7 -1
  41. package/skills/chatbot-messaging-expert/SKILL.md +114 -0
  42. package/skills/ci-cd-devops-architect/SKILL.md +81 -45
  43. package/skills/cloud-hosting-expert/SKILL.md +249 -243
  44. package/skills/coderabbit/SKILL.md +197 -191
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +85 -0
  46. package/skills/cron-scheduler-expert/SKILL.md +304 -0
  47. package/skills/data-pipeline-etl-expert/SKILL.md +84 -0
  48. package/skills/data-telemetry-expert/SKILL.md +218 -212
  49. package/skills/data-visualization-expert/SKILL.md +154 -0
  50. package/skills/database-migration-versioning-expert/SKILL.md +90 -0
  51. package/skills/database-orm-expert/SKILL.md +303 -293
  52. package/skills/dependency-upgrade-migrator/SKILL.md +301 -0
  53. package/skills/design-system-architect/SKILL.md +278 -242
  54. package/skills/desktop-electron-expert/SKILL.md +128 -0
  55. package/skills/documentation-site-expert/SKILL.md +59 -0
  56. package/skills/doku-mcp-server/SKILL.md +257 -0
  57. package/skills/doku-payment-gateway/SKILL.md +233 -0
  58. package/skills/domain-driven-design-expert/SKILL.md +82 -0
  59. package/skills/e2e-testing-expert/SKILL.md +320 -314
  60. package/skills/ecommerce-expert/SKILL.md +87 -0
  61. package/skills/edge-serverless-db-expert/SKILL.md +99 -0
  62. package/skills/email-notification-expert/SKILL.md +368 -0
  63. package/skills/error-resilience-expert/SKILL.md +486 -0
  64. package/skills/event-driven-architect/SKILL.md +86 -80
  65. package/skills/feature-flag-analytics-expert/SKILL.md +66 -0
  66. package/skills/file-upload-media-expert/SKILL.md +437 -0
  67. package/skills/firebase-security-expert/SKILL.md +7 -1
  68. package/skills/form-validation-expert/SKILL.md +407 -0
  69. package/skills/fullstack-expert/SKILL.md +260 -201
  70. package/skills/fullstack-expert/references/api_design_guide.md +466 -466
  71. package/skills/fullstack-expert/references/multi_language_backend.md +528 -528
  72. package/skills/fullstack-expert/scripts/api_contract_validator.py +253 -253
  73. package/skills/fullstack-expert/scripts/architecture_analyzer.py +326 -326
  74. package/skills/gemini-agent-booster/SKILL.md +142 -104
  75. package/skills/geospatial-maps-expert/SKILL.md +80 -0
  76. package/skills/global-a11y-i18n-expert/SKILL.md +86 -80
  77. package/skills/glsl-shader-expert/SKILL.md +107 -0
  78. package/skills/go-programming-expert/SKILL.md +300 -294
  79. package/skills/graph-rag-knowledge-expert/SKILL.md +159 -0
  80. package/skills/graphql-apollo-expert/SKILL.md +114 -0
  81. package/skills/headless-cms-expert/SKILL.md +181 -0
  82. package/skills/hig/SKILL.md +193 -187
  83. package/skills/js-backend-expert/SKILL.md +218 -191
  84. package/skills/legacy-code-translator/SKILL.md +71 -0
  85. package/skills/local-slm-edge-ai-expert/SKILL.md +167 -0
  86. package/skills/logging-error-tracking-expert/SKILL.md +344 -0
  87. package/skills/mcp-client-orchestrator/SKILL.md +76 -0
  88. package/skills/mcp-server-architect/SKILL.md +226 -126
  89. package/skills/micro-frontend-architect/SKILL.md +112 -0
  90. package/skills/mobile-expo-expert/SKILL.md +191 -185
  91. package/skills/mobile-push-notification-expert/SKILL.md +71 -0
  92. package/skills/modern-css-native-expert/SKILL.md +189 -0
  93. package/skills/monday-design-aesthetic/SKILL.md +72 -66
  94. package/skills/monorepo-architect/SKILL.md +232 -226
  95. package/skills/mpa-orchestrator/SKILL.md +120 -101
  96. package/skills/multi-agent-orchestration/SKILL.md +173 -153
  97. package/skills/multiple-entry-points/SKILL.md +91 -55
  98. package/skills/mvc-expert/SKILL.md +237 -231
  99. package/skills/n8n-automation-expert/SKILL.md +89 -0
  100. package/skills/nextjs-app-router-expert/SKILL.md +148 -0
  101. package/skills/openapi-swagger-codegen-expert/SKILL.md +67 -0
  102. package/skills/payment-gateway-expert/SKILL.md +129 -45
  103. package/skills/pdf-document-generation-expert/SKILL.md +91 -0
  104. package/skills/performance-web-vitals/SKILL.md +337 -331
  105. package/skills/post-quantum-crypto-migrator/SKILL.md +57 -0
  106. package/skills/prd-architect/SKILL.md +206 -190
  107. package/skills/proactive-background-watcher/SKILL.md +68 -0
  108. package/skills/production-ready-hardener/PRODUCTION_READINESS_REPORT.md +67 -0
  109. package/skills/production-ready-hardener/SKILL.md +461 -468
  110. package/skills/production-ready-hardener/references/production_checklist.md +161 -161
  111. package/skills/production-ready-hardener/scripts/production_readiness_scanner.py +881 -875
  112. package/skills/project-context-mapper/SKILL.md +85 -0
  113. package/skills/pwa-offline-first-expert/SKILL.md +185 -0
  114. package/skills/python-programming-expert/SKILL.md +407 -270
  115. package/skills/rate-limit-abuse-prevention/SKILL.md +377 -0
  116. package/skills/realtime-collaboration-expert/SKILL.md +99 -45
  117. package/skills/rich-text-editor-expert/SKILL.md +177 -0
  118. package/skills/rust-programming-expert/SKILL.md +240 -234
  119. package/skills/saas-billing/SKILL.md +382 -376
  120. package/skills/saas-multi-tenant/SKILL.md +256 -236
  121. package/skills/saas-mvp-launcher/SKILL.md +30 -1
  122. package/skills/saas-transformer/SKILL.md +499 -445
  123. package/skills/saas-transformer/references/billing_integration_guide.md +401 -401
  124. package/skills/saas-transformer/references/feature_gating_patterns.md +137 -137
  125. package/skills/saas-transformer/references/saas_transformation_checklist.md +121 -121
  126. package/skills/saas-transformer/scripts/saas_transformation_scanner.py +39 -29
  127. package/skills/scalability-clean-code/SKILL.md +234 -228
  128. package/skills/search-engine-expert/SKILL.md +89 -0
  129. package/skills/secure-fuzz-testing/SKILL.md +7 -1
  130. package/skills/self-evolving-memory-graph/SKILL.md +91 -0
  131. package/skills/self-healing-cloud-orchestrator/SKILL.md +57 -0
  132. package/skills/senior-frontend/SKILL.md +85 -105
  133. package/skills/seo/SKILL.md +258 -224
  134. package/skills/session-context-loader/SKILL.md +83 -0
  135. package/skills/session-handoff-resume/SKILL.md +163 -157
  136. package/skills/{skill_baru → skill-baru}/SKILL.md +177 -146
  137. package/skills/solidjs-expert/SKILL.md +80 -0
  138. package/skills/spa-orchestrator/SKILL.md +306 -287
  139. package/skills/sse-websocket-streaming-expert/SKILL.md +93 -0
  140. package/skills/state-management-expert/SKILL.md +277 -271
  141. package/skills/supabase-migration/SKILL.md +47 -1
  142. package/skills/supabase-security-expert/SKILL.md +248 -242
  143. package/skills/svelte-sveltekit-expert/SKILL.md +91 -0
  144. package/skills/svg-animation-motion-expert/SKILL.md +115 -0
  145. package/skills/tailwind-expert/SKILL.md +139 -187
  146. package/skills/tanstack-query-expert/SKILL.md +204 -198
  147. package/skills/tauri-expert/SKILL.md +7 -1
  148. package/skills/token-saver/SKILL.md +118 -110
  149. package/skills/typescript-expert/SKILL.md +329 -278
  150. package/skills/ui-components-expert/SKILL.md +166 -63
  151. package/skills/ui-ux-pro-max/SKILL.md +221 -200
  152. package/skills/vector-db-rag-expert/SKILL.md +208 -0
  153. package/skills/vibe-code-gardener/SKILL.md +180 -172
  154. package/skills/visual-qa-vision-agent/SKILL.md +71 -0
  155. package/skills/voice-ai-realtime-agent/SKILL.md +202 -0
  156. package/skills/vue-frontend-expert/SKILL.md +132 -0
  157. package/skills/wasm-edge-computing-expert/SKILL.md +97 -0
  158. package/skills/web-3d-graphics-expert/SKILL.md +137 -0
  159. package/skills/web-game-engine-expert/SKILL.md +102 -0
  160. package/skills/web-scraper/SKILL.md +98 -146
  161. package/skills/website-design-cloner/SKILL.md +180 -0
  162. package/skills/webxr-ar-vr-expert/SKILL.md +123 -0
  163. package/skills/wordpress-headless-expert/SKILL.md +144 -0
  164. package/skills/zero-to-prod-orchestrator/SKILL.md +231 -180
  165. package/skills/zero-trust-secret-vault/SKILL.md +88 -0
  166. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  167. package/CONTRIBUTING.md +0 -199
  168. package/SECURITY.md +0 -21
  169. package/banner.png +0 -0
  170. package/skills/senior-fullstack/SKILL.md +0 -167
  171. package/skills/senior-fullstack/references/architecture_patterns.md +0 -160
  172. package/skills/senior-fullstack/references/development_workflows.md +0 -222
  173. package/skills/senior-fullstack/references/tech_stack_guide.md +0 -190
  174. package/skills/senior-fullstack/scripts/code_quality_analyzer.py +0 -114
  175. package/skills/senior-fullstack/scripts/fullstack_scaffolder.py +0 -114
  176. package/skills/senior-fullstack/scripts/project_scaffolder.py +0 -114
  177. package/skills/seo-aeo-landing-page-writer/SKILL.md +0 -97
  178. package/skills/seo-geo/SKILL.md +0 -188
  179. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  180. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  181. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-310.pyc +0 -0
  182. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  183. package/skills/ui_ux_expert/SKILL.md +0 -114
@@ -0,0 +1,208 @@
1
+ ---
2
+ name: vector-db-rag-expert
3
+ description: "Expert guide for high-performance Vector Databases, Deep RAG architectures, pgvector 0.8+ HNSW, Reciprocal Rank Fusion (RRF), Cross-Encoder Re-ranking, and Late Chunking / Panduan ahli Vector DB, arsitektur Deep RAG, pgvector HNSW, RRF, dan Re-ranking."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Vector DB & Deep RAG Expert (2026 Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Purpose & Overview
17
+ Production-grade architectural guide for Vector Databases (PostgreSQL `pgvector 0.8+`, Qdrant, LanceDB, Pinecone), Deep RAG indexing strategies, HNSW iterative search, **Reciprocal Rank Fusion (RRF)** hybrid retrieval, **Cross-Encoder Re-ranking** (Cohere Rerank v3, FlashRank, BGE-Reranker-v2), and **Late Chunking** to eliminate context fragmentation.
18
+
19
+ ### Key Capabilities
20
+ 1. **pgvector 0.8+ & HNSW Indexing**: High-dimensional vector storage, cosine/inner-product/L2 distance metric tuning, and iterative HNSW index scans with metadata filtering.
21
+ 2. **Reciprocal Rank Fusion (RRF)**: Combining sparse keyword BM25 ranks with dense semantic vector ranks using $RRF(d) = \sum \frac{1}{k + rank(d)}$, far outperforming naive linear score weighting.
22
+ 3. **Cross-Encoder Re-ranking**: Two-stage retrieval pipeline: retrieve Top-50 candidates via fast hybrid search, then re-rank down to Top-5 using a cross-encoder model to maximize NDCG@10.
23
+ 4. **Late Chunking & Contextual Retrieval**: Embed long-context documents in full before pooling token embeddings into individual chunks, preserving document-level semantics across boundaries.
24
+ 5. **RAG Evaluation**: Continuous retrieval precision and hallucination scoring using automated eval harnesses (Ragas, TruLens, DeepEval).
25
+
26
+ ---
27
+
28
+ ### Production Implementation Recipes
29
+
30
+ #### Recipe 1: Reciprocal Rank Fusion (RRF) Hybrid Search with Drizzle ORM
31
+ ```typescript
32
+ import { sql } from 'drizzle-orm';
33
+ import { db } from '@/lib/db';
34
+
35
+ export interface SearchResult {
36
+ id: string;
37
+ content: string;
38
+ score: number;
39
+ }
40
+
41
+ /**
42
+ * Executes Reciprocal Rank Fusion (RRF) combining BM25 keyword search and pgvector HNSW
43
+ * k = 60 is the industry standard constant
44
+ */
45
+ export async function reciprocalRankFusionSearch(
46
+ queryVector: number[],
47
+ queryText: string,
48
+ limit = 10,
49
+ k = 60
50
+ ): Promise<SearchResult[]> {
51
+ const formattedVector = JSON.stringify(queryVector);
52
+
53
+ const results = await db.execute(sql`
54
+ WITH vector_matches AS (
55
+ SELECT id, ROW_NUMBER() OVER (ORDER BY embedding <=> ${formattedVector}::vector) AS rank
56
+ FROM documents
57
+ WHERE status = 'published'
58
+ ORDER BY embedding <=> ${formattedVector}::vector
59
+ LIMIT 50
60
+ ),
61
+ text_matches AS (
62
+ SELECT id, ROW_NUMBER() OVER (ORDER BY ts_rank_cd(fts, websearch_to_tsquery('english', ${queryText})) DESC) AS rank
63
+ FROM documents
64
+ WHERE fts @@ websearch_to_tsquery('english', ${queryText})
65
+ LIMIT 50
66
+ )
67
+ SELECT
68
+ d.id,
69
+ d.content,
70
+ COALESCE(1.0 / (${k} + v.rank), 0.0) +
71
+ COALESCE(1.0 / (${k} + t.rank), 0.0) AS rrf_score
72
+ FROM documents d
73
+ LEFT JOIN vector_matches v ON d.id = v.id
74
+ LEFT JOIN text_matches t ON d.id = t.id
75
+ WHERE v.id IS NOT NULL OR t.id IS NOT NULL
76
+ ORDER BY rrf_score DESC
77
+ LIMIT ${limit};
78
+ `);
79
+
80
+ return results.rows as unknown as SearchResult[];
81
+ }
82
+ ```
83
+
84
+ #### Recipe 2: Two-Stage Re-Ranking Pipeline with FlashRank (Node.js / TypeScript)
85
+ ```typescript
86
+ import { FlashRankRegistry } from 'flashrank';
87
+
88
+ const ranker = new FlashRankRegistry();
89
+
90
+ export async function rerankCandidates(query: string, candidates: { id: string; text: string }[], topN = 5) {
91
+ const passages = candidates.map(c => ({ id: c.id, text: c.text }));
92
+
93
+ // Ultra-fast client/server cross-encoder re-ranking
94
+ const reranked = await ranker.rerank({
95
+ query,
96
+ passages,
97
+ model: 'ms-marco-TinyBERT-L-2-v2', // Lightweight, 2ms latency
98
+ });
99
+
100
+ return reranked.slice(0, topN);
101
+ }
102
+ ```
103
+
104
+ ---
105
+
106
+ ### Implementation Checklist
107
+ - [ ] Create `HNSW` index in PostgreSQL: `CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops) WITH (m = 16, ef_construction = 64);`
108
+ - [ ] Configure `hnsw.ef_search = 100` for high-recall queries during production traffic.
109
+ - [ ] Implement Reciprocal Rank Fusion (RRF) with constant `k = 60` instead of arbitrary linear weighting.
110
+ - [ ] Add a Cross-Encoder Re-ranker step before injecting retrieved chunks into the LLM system prompt.
111
+ - [ ] Apply Late Chunking or Contextual Chunking to retain parent document continuity.
112
+
113
+ ## Orchestration & Integration
114
+ - Integrates with: `ai-llm-integration-expert`, `database-orm-expert`, `ai-cost-token-optimizer`, `app-analyzer-optimizer`.
115
+
116
+ ---
117
+
118
+ <a name="bahasa-indonesia"></a>
119
+ ## Bahasa Indonesia
120
+
121
+ ### Deskripsi
122
+ Panduan arsitektur tingkat produksi untuk Vector Database (PostgreSQL `pgvector 0.8+`, Qdrant, LanceDB, Pinecone), arsitektur Deep RAG modern, pencarian HNSW iteratif, **Reciprocal Rank Fusion (RRF)** hybrid retrieval, **Cross-Encoder Re-ranking** (Cohere Rerank v3, FlashRank, BGE-Reranker-v2), dan **Late Chunking** untuk mencegah fragmentasi konteks.
123
+
124
+ ### Fitur Utama
125
+ 1. **pgvector 0.8+ & Indeks HNSW**: Penyimpanan vektor dimensi tinggi, tuning metrik jarak (cosine/inner-product/L2), dan pemindaian HNSW iteratif dengan filter metadata.
126
+ 2. **Reciprocal Rank Fusion (RRF)**: Menggabungkan peringkat kata kunci BM25 dengan peringkat semantik vektor menggunakan rumus $RRF(d) = \sum \frac{1}{k + rank(d)}$, jauh lebih akurat daripada pembobotan linear biasa.
127
+ 3. **Cross-Encoder Re-ranking**: Pipeline retrieval 2 tahap: ambil 50 kandidat teratas melalui pencarian hybrid, lalu urutkan ulang menjadi 5 dokumen paling relevan menggunakan model cross-encoder.
128
+ 4. **Late Chunking**: Melakukan embedding dokumen secara utuh dalam transformer sebelum memecahnya menjadi chunk-chunk terpisah, mempertahankan makna global dokumen.
129
+ 5. **Evaluasi RAG**: Pengukuran presisi retrieval dan deteksi halusinasi secara otomatis (Ragas, TruLens, DeepEval).
130
+
131
+ ---
132
+
133
+ ### Resep Implementasi Produksi
134
+
135
+ #### Resep 1: Pencarian Hybrid RRF dengan Drizzle ORM
136
+ ```typescript
137
+ import { sql } from 'drizzle-orm';
138
+ import { db } from '@/lib/db';
139
+
140
+ export async function cariDokumenRRF(
141
+ queryVector: number[],
142
+ queryText: string,
143
+ limit = 10,
144
+ k = 60
145
+ ) {
146
+ const vectorStr = JSON.stringify(queryVector);
147
+
148
+ const hasil = await db.execute(sql`
149
+ WITH vector_matches AS (
150
+ SELECT id, ROW_NUMBER() OVER (ORDER BY embedding <=> ${vectorStr}::vector) AS rank
151
+ FROM documents
152
+ WHERE status = 'published'
153
+ ORDER BY embedding <=> ${vectorStr}::vector
154
+ LIMIT 50
155
+ ),
156
+ text_matches AS (
157
+ SELECT id, ROW_NUMBER() OVER (ORDER BY ts_rank_cd(fts, websearch_to_tsquery('english', ${queryText})) DESC) AS rank
158
+ FROM documents
159
+ WHERE fts @@ websearch_to_tsquery('english', ${queryText})
160
+ LIMIT 50
161
+ )
162
+ SELECT
163
+ d.id,
164
+ d.content,
165
+ COALESCE(1.0 / (${k} + v.rank), 0.0) +
166
+ COALESCE(1.0 / (${k} + t.rank), 0.0) AS skor_rrf
167
+ FROM documents d
168
+ LEFT JOIN vector_matches v ON d.id = v.id
169
+ LEFT JOIN text_matches t ON d.id = t.id
170
+ WHERE v.id IS NOT NULL OR t.id IS NOT NULL
171
+ ORDER BY skor_rrf DESC
172
+ LIMIT ${limit};
173
+ `);
174
+
175
+ return hasil.rows;
176
+ }
177
+ ```
178
+
179
+ #### Resep 2: Pipeline Re-Ranking dengan FlashRank (Node.js / TypeScript)
180
+ ```typescript
181
+ import { FlashRankRegistry } from 'flashrank';
182
+
183
+ const ranker = new FlashRankRegistry();
184
+
185
+ export async function susunUlangKandidat(kueri: string, kandidat: { id: string; text: string }[], topN = 5) {
186
+ const passages = kandidat.map(c => ({ id: c.id, text: c.text }));
187
+
188
+ const hasilRerank = await ranker.rerank({
189
+ query: kueri,
190
+ passages,
191
+ model: 'ms-marco-TinyBERT-L-2-v2',
192
+ });
193
+
194
+ return hasilRerank.slice(0, topN);
195
+ }
196
+ ```
197
+
198
+ ---
199
+
200
+ ### Checklist Implementasi
201
+ - [ ] Buat indeks `HNSW` di PostgreSQL: `CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops) WITH (m = 16, ef_construction = 64);`
202
+ - [ ] Konfigurasikan `hnsw.ef_search = 100` untuk kueri dengan recall tinggi di lingkungan produksi.
203
+ - [ ] Terapkan Reciprocal Rank Fusion (RRF) dengan konstanta `k = 60` alih-alih pembobotan linear manual.
204
+ - [ ] Tambahkan langkah Cross-Encoder Re-ranker sebelum menyuntikkan konteks ke prompt LLM.
205
+ - [ ] Terapkan Late Chunking agar konteks dokumen utuh tidak hilang saat dipotong.
206
+
207
+ ## Integrasi Orkestrasi
208
+ - Terintegrasi dengan: `ai-llm-integration-expert`, `database-orm-expert`, `ai-cost-token-optimizer`, `app-analyzer-optimizer`.
@@ -1,173 +1,181 @@
1
- ---
2
- name: vibe-code-gardener
3
- description: "Purger of AI slop, code bloat, context drift, and architectural decay in vibe-coded projects / Pembersih AI slop, kode membengkak, konteks drift, dan pembusukan arsitektur pada proyek vibe coding."
1
+ ---
2
+ name: vibe-code-gardener
3
+ description: "Purger of AI slop, code bloat, context drift, and architectural decay in vibe-coded projects / Pembersih AI slop, kode membengkak, konteks drift, dan pembusukan arsitektur pada proyek vibe coding."
4
4
  author: "Roedy Rustam"
5
- ---
6
-
7
- # Vibe Code Gardener (2026 Edition)
8
-
9
- [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
-
11
- ---
12
-
13
- <a name="english"></a>
14
- ## English
15
-
16
- ### Description
17
- Detects and purges AI-generated code quality issues — AI slop, code bloat, context drift, duplicated logic, dead code, misaligned patterns, and architectural decay in projects that have been heavily vibe-coded.
18
-
19
- ### Trigger Conditions
20
- - Codebase has grown out of control after many AI-assisted coding sessions.
21
- - Duplication, inconsistent patterns, or unexplained abstractions detected.
22
- - Features are getting harder to add or understand.
23
- - Tests are brittle or missing entirely.
24
- - The codebase has "AI smell" — overly verbose comments, unnecessary defensive code, duplicate utilities.
25
-
26
- ### AI Slop Detection Heuristics (2026)
27
-
28
- These are the most common AI-generated code quality issues to look for:
29
-
30
- #### 1. The "Just In Case" Over-Engineering
31
- AI models often add features or abstractions "for extensibility" that are never needed:
32
- ```typescript
33
- // 🔴 AI SLOP: Factory pattern for something that will never change
34
- const createUserRepository = (type: 'postgres' | 'mysql' | 'sqlite') => {
35
- if (type === 'postgres') return new PostgresUserRepo();
36
- // ...never switches in practice
37
- };
38
-
39
- // ✅ CLEAN: Just use the implementation
40
- const userRepo = new PostgresUserRepo();
41
- ```
42
-
43
- #### 2. The "Belt and Suspenders" Duplicate Guards
44
- AI adds null checks and validations at every layer unnecessarily:
45
- ```typescript
46
- // 🔴 AI SLOP: Triple-validated (already validated by Zod + DB schema + here)
47
- if (!user || !user.id || user.id === undefined || user.id === null || typeof user.id !== 'string') { ... }
48
-
49
- // ✅ CLEAN: Trust your types
50
- if (!user.id) { ... }
51
- ```
52
-
53
- #### 3. The "Graveyard of Dead Utilities"
54
- AI-generated helper files with functions that are defined but never used:
55
- - Search for exported functions with 0 usages: `grep -r "export function" --include="*.ts" | while read...`
56
- - Remove entire files of dead utilities.
57
-
58
- #### 4. Context Drift — Style Inconsistency
59
- Different sessions produce different coding styles in the same codebase:
60
- - Some files use `async/await`, others use `.then()` chains.
61
- - Some use `const` arrow functions, others use `function` declarations.
62
- - Mixed naming: `userId`, `user_id`, `UserID` in the same project.
63
- - **Fix**: Run a style unification pass with Prettier + ESLint rules.
64
-
65
- #### 5. Comment Pollution
66
- AI loves to narrate obvious code:
67
- ```typescript
68
- // 🔴 AI SLOP: Stating the obvious
69
- // Get the user from the database
70
- const user = await db.user.findUnique({ where: { id } });
71
- // Return the user
72
- return user;
73
-
74
- // ✅ CLEAN: No comment needed — code is self-explanatory
75
- const user = await db.user.findUnique({ where: { id } });
76
- return user;
77
- ```
78
-
79
- #### 6. The Bloated Component
80
- AI tends to put too much in one component across sessions:
81
- - Component renders conditionally across 5+ different states.
82
- - Component has 10+ props.
83
- - Component imports from 20+ different modules.
84
- - **Fix**: Apply Single Responsibility — split into sub-components.
85
-
86
- #### 7. Dependency Creep
87
- Each AI session may install new packages for tasks already solvable with existing deps:
88
- ```bash
89
- # Audit dependencies — find packages doing the same thing
90
- npx depcheck # Unused dependencies
91
- npx bundle-phobia-cli # Bundle size of each dep
92
- ```
93
-
94
- ### Gardening Protocol
95
-
96
- #### Phase 1: Discovery (Read Only)
97
- 1. Map the full file tree.
98
- 2. Identify largest files (likely bloated).
99
- 3. Find duplicated logic with semantic search.
100
- 4. Find unused exports and dead code.
101
- 5. Identify inconsistent patterns across files.
102
-
103
- #### Phase 2: Triage
104
- Categorize issues:
105
- - **Critical**: Bugs, security holes, data loss risks.
106
- - **High**: Duplicate business logic that will diverge.
107
- - **Medium**: Code smells that slow development.
108
- - **Low**: Style inconsistencies, over-verbose comments.
109
-
110
- #### Phase 3: Systematic Refactoring
111
- Work file by file, smallest changes first:
112
- 1. Remove dead code and unused imports.
113
- 2. Extract duplicated logic into shared utilities.
114
- 3. Simplify over-engineered abstractions.
115
- 4. Standardize naming conventions.
116
- 5. Add missing tests for business-critical paths.
117
-
118
- #### Phase 4: Prevention
119
- - Add ESLint rules to catch common AI slop patterns.
120
- - Add `depcheck` to CI to catch unused dependencies.
121
- - Add architecture tests (e.g., `arch-unit`) to enforce layer boundaries.
122
-
123
- ---
124
-
125
- <a name="bahasa-indonesia"></a>
126
- ## Bahasa Indonesia
127
-
128
- ### Deskripsi
129
- Mendeteksi dan membersihkan masalah kualitas kode yang dihasilkan AI — AI slop, kode yang membengkak, context drift, logika yang terduplikasi, kode mati, pola yang tidak konsisten, dan pembusukan arsitektur pada proyek yang banyak menggunakan vibe coding.
130
-
131
- ### Kondisi Pemicu
132
- - Codebase telah tumbuh tidak terkendali setelah banyak sesi coding berbantuan AI.
133
- - Duplikasi, pola tidak konsisten, atau abstraksi yang tidak dapat dijelaskan terdeteksi.
134
- - Fitur semakin sulit ditambahkan atau dipahami.
135
- - Test rapuh atau tidak ada sama sekali.
136
- - Codebase memiliki "AI smell" — komentar yang terlalu verbose, kode defensif yang tidak perlu, utilitas yang diduplikasi.
137
-
138
- ### Heuristik Deteksi AI Slop (2026)
139
-
140
- #### 1. Over-Engineering "Untuk Jaga-Jaga"
141
- Model AI sering menambahkan fitur atau abstraksi "untuk ekstensibilitas" yang tidak pernah dibutuhkan. Hapus factory pattern, strategy pattern, atau abstraksi lain yang tidak memiliki lebih dari satu implementasi.
142
-
143
- #### 2. "Belt and Suspenders" — Validasi Ganda Berlebihan
144
- AI menambahkan null check dan validasi di setiap layer yang sebenarnya sudah divalidasi oleh Zod, TypeScript, atau skema DB. Percayai tipe Anda.
145
-
146
- #### 3. "Kuburan Utilitas Mati"
147
- File helper yang dihasilkan AI dengan fungsi yang tidak pernah digunakan. Cari dan hapus ekspor dengan 0 penggunaan.
148
-
149
- #### 4. Context Drift — Inkonsistensi Gaya
150
- Sesi yang berbeda menghasilkan gaya koding yang berbeda: sebagian menggunakan `async/await`, yang lain menggunakan `.then()`; penamaan campuran `userId`, `user_id`, `UserID`. Perbaiki dengan satu pass Prettier + aturan ESLint.
151
-
152
- #### 5. Polusi Komentar
153
- AI suka mengomentari kode yang sudah jelas sendiri. Hapus komentar yang hanya mengulang apa yang sudah tertulis dalam kode.
154
-
155
- #### 6. Komponen yang Membengkak
156
- Komponen dengan terlalu banyak kondisi rendering, prop, atau impor. Terapkan Single Responsibility — pecah menjadi sub-komponen.
157
-
158
- #### 7. Creep Dependensi
159
- Setiap sesi AI mungkin menginstal paket baru untuk tugas yang sudah bisa diselesaikan dengan dependensi yang ada. Audit dengan `depcheck` dan `bundle-phobia-cli`.
160
-
161
- ### Protokol Berkebun
162
-
163
- #### Fase 1: Penemuan (Hanya Baca)
164
- Peta pohon file lengkap, identifikasi file terbesar, temukan logika yang terduplikasi, temukan ekspor yang tidak digunakan.
165
-
166
- #### Fase 2: Triase
167
- Kategorikan masalah: Kritis, Tinggi, Sedang, Rendah.
168
-
169
- #### Fase 3: Refactoring Sistematis
170
- Kerja file per file, perubahan terkecil dulu: hapus kode mati, ekstrak logika duplikat, sederhanakan abstraksi berlebih, standarisasi penamaan, tambahkan test yang hilang.
171
-
172
- #### Fase 4: Pencegahan
173
- Tambahkan aturan ESLint, `depcheck` di CI, dan architecture test untuk menjaga codebase tetap bersih.
5
+ ---
6
+
7
+ # Vibe Code Gardener (2026 Edition)
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Description
17
+ Detects and purges AI-generated code quality issues — AI slop, code bloat, context drift, duplicated logic, dead code, misaligned patterns, and architectural decay in projects that have been heavily vibe-coded.
18
+
19
+ ### Trigger Conditions
20
+ - Codebase has grown out of control after many AI-assisted coding sessions.
21
+ - Duplication, inconsistent patterns, or unexplained abstractions detected.
22
+ - Features are getting harder to add or understand.
23
+ - Tests are brittle or missing entirely.
24
+ - The codebase has "AI smell" — overly verbose comments, unnecessary defensive code, duplicate utilities.
25
+
26
+ ### AI Slop Detection Heuristics (2026)
27
+
28
+ These are the most common AI-generated code quality issues to look for:
29
+
30
+ #### 1. The "Just In Case" Over-Engineering
31
+ AI models often add features or abstractions "for extensibility" that are never needed:
32
+ ```typescript
33
+ // 🔴 AI SLOP: Factory pattern for something that will never change
34
+ const createUserRepository = (type: 'postgres' | 'mysql' | 'sqlite') => {
35
+ if (type === 'postgres') return new PostgresUserRepo();
36
+ // ...never switches in practice
37
+ };
38
+
39
+ // ✅ CLEAN: Just use the implementation
40
+ const userRepo = new PostgresUserRepo();
41
+ ```
42
+
43
+ #### 2. The "Belt and Suspenders" Duplicate Guards
44
+ AI adds null checks and validations at every layer unnecessarily:
45
+ ```typescript
46
+ // 🔴 AI SLOP: Triple-validated (already validated by Zod + DB schema + here)
47
+ if (!user || !user.id || user.id === undefined || user.id === null || typeof user.id !== 'string') { ... }
48
+
49
+ // ✅ CLEAN: Trust your types
50
+ if (!user.id) { ... }
51
+ ```
52
+
53
+ #### 3. The "Graveyard of Dead Utilities"
54
+ AI-generated helper files with functions that are defined but never used:
55
+ - Search for exported functions with 0 usages: `grep -r "export function" --include="*.ts" | while read...`
56
+ - Remove entire files of dead utilities.
57
+
58
+ #### 4. Context Drift — Style Inconsistency
59
+ Different sessions produce different coding styles in the same codebase:
60
+ - Some files use `async/await`, others use `.then()` chains.
61
+ - Some use `const` arrow functions, others use `function` declarations.
62
+ - Mixed naming: `userId`, `user_id`, `UserID` in the same project.
63
+ - **Fix**: Run a style unification pass with Prettier + ESLint rules.
64
+
65
+ #### 5. Comment Pollution
66
+ AI loves to narrate obvious code:
67
+ ```typescript
68
+ // 🔴 AI SLOP: Stating the obvious
69
+ // Get the user from the database
70
+ const user = await db.user.findUnique({ where: { id } });
71
+ // Return the user
72
+ return user;
73
+
74
+ // ✅ CLEAN: No comment needed — code is self-explanatory
75
+ const user = await db.user.findUnique({ where: { id } });
76
+ return user;
77
+ ```
78
+
79
+ #### 6. The Bloated Component
80
+ AI tends to put too much in one component across sessions:
81
+ - Component renders conditionally across 5+ different states.
82
+ - Component has 10+ props.
83
+ - Component imports from 20+ different modules.
84
+ - **Fix**: Apply Single Responsibility — split into sub-components.
85
+
86
+ #### 7. Dependency Creep
87
+ Each AI session may install new packages for tasks already solvable with existing deps:
88
+ ```bash
89
+ # Audit dependencies — find packages doing the same thing
90
+ npx depcheck # Unused dependencies
91
+ npx bundle-phobia-cli # Bundle size of each dep
92
+ ```
93
+
94
+ ### Gardening Protocol
95
+
96
+ #### Phase 1: Discovery (Read Only)
97
+ 1. Map the full file tree.
98
+ 2. Identify largest files (likely bloated).
99
+ 3. Find duplicated logic with semantic search.
100
+ 4. Find unused exports and dead code.
101
+ 5. Identify inconsistent patterns across files.
102
+
103
+ #### Phase 2: Triage
104
+ Categorize issues:
105
+ - **Critical**: Bugs, security holes, data loss risks.
106
+ - **High**: Duplicate business logic that will diverge.
107
+ - **Medium**: Code smells that slow development.
108
+ - **Low**: Style inconsistencies, over-verbose comments.
109
+
110
+ #### Phase 3: Systematic Refactoring
111
+ Work file by file, smallest changes first:
112
+ 1. Remove dead code and unused imports.
113
+ 2. Extract duplicated logic into shared utilities.
114
+ 3. Simplify over-engineered abstractions.
115
+ 4. Standardize naming conventions.
116
+ 5. Add missing tests for business-critical paths.
117
+
118
+ #### Phase 4: Prevention
119
+ - Add ESLint rules to catch common AI slop patterns.
120
+ - Add `depcheck` to CI to catch unused dependencies.
121
+ - Add architecture tests (e.g., `arch-unit`) to enforce layer boundaries.
122
+
123
+ ---
124
+
125
+ <a name="bahasa-indonesia"></a>
126
+ ## Bahasa Indonesia
127
+
128
+ ### Deskripsi
129
+ Mendeteksi dan membersihkan masalah kualitas kode yang dihasilkan AI — AI slop, kode yang membengkak, context drift, logika yang terduplikasi, kode mati, pola yang tidak konsisten, dan pembusukan arsitektur pada proyek yang banyak menggunakan vibe coding.
130
+
131
+ ### Kondisi Pemicu
132
+ - Codebase telah tumbuh tidak terkendali setelah banyak sesi coding berbantuan AI.
133
+ - Duplikasi, pola tidak konsisten, atau abstraksi yang tidak dapat dijelaskan terdeteksi.
134
+ - Fitur semakin sulit ditambahkan atau dipahami.
135
+ - Test rapuh atau tidak ada sama sekali.
136
+ - Codebase memiliki "AI smell" — komentar yang terlalu verbose, kode defensif yang tidak perlu, utilitas yang diduplikasi.
137
+
138
+ ### Heuristik Deteksi AI Slop (2026)
139
+
140
+ #### 1. Over-Engineering "Untuk Jaga-Jaga"
141
+ Model AI sering menambahkan fitur atau abstraksi "untuk ekstensibilitas" yang tidak pernah dibutuhkan. Hapus factory pattern, strategy pattern, atau abstraksi lain yang tidak memiliki lebih dari satu implementasi.
142
+
143
+ #### 2. "Belt and Suspenders" — Validasi Ganda Berlebihan
144
+ AI menambahkan null check dan validasi di setiap layer yang sebenarnya sudah divalidasi oleh Zod, TypeScript, atau skema DB. Percayai tipe Anda.
145
+
146
+ #### 3. "Kuburan Utilitas Mati"
147
+ File helper yang dihasilkan AI dengan fungsi yang tidak pernah digunakan. Cari dan hapus ekspor dengan 0 penggunaan.
148
+
149
+ #### 4. Context Drift — Inkonsistensi Gaya
150
+ Sesi yang berbeda menghasilkan gaya koding yang berbeda: sebagian menggunakan `async/await`, yang lain menggunakan `.then()`; penamaan campuran `userId`, `user_id`, `UserID`. Perbaiki dengan satu pass Prettier + aturan ESLint.
151
+
152
+ #### 5. Polusi Komentar
153
+ AI suka mengomentari kode yang sudah jelas sendiri. Hapus komentar yang hanya mengulang apa yang sudah tertulis dalam kode.
154
+
155
+ #### 6. Komponen yang Membengkak
156
+ Komponen dengan terlalu banyak kondisi rendering, prop, atau impor. Terapkan Single Responsibility — pecah menjadi sub-komponen.
157
+
158
+ #### 7. Creep Dependensi
159
+ Setiap sesi AI mungkin menginstal paket baru untuk tugas yang sudah bisa diselesaikan dengan dependensi yang ada. Audit dengan `depcheck` dan `bundle-phobia-cli`.
160
+
161
+ ### Protokol Berkebun
162
+
163
+ #### Fase 1: Penemuan (Hanya Baca)
164
+ Peta pohon file lengkap, identifikasi file terbesar, temukan logika yang terduplikasi, temukan ekspor yang tidak digunakan.
165
+
166
+ #### Fase 2: Triase
167
+ Kategorikan masalah: Kritis, Tinggi, Sedang, Rendah.
168
+
169
+ #### Fase 3: Refactoring Sistematis
170
+ Kerja file per file, perubahan terkecil dulu: hapus kode mati, ekstrak logika duplikat, sederhanakan abstraksi berlebih, standarisasi penamaan, tambahkan test yang hilang.
171
+
172
+ #### Fase 4: Pencegahan
173
+ Tambahkan aturan ESLint, `depcheck` di CI, dan architecture test untuk menjaga codebase tetap bersih.
174
+
175
+ ---
176
+
177
+ ## Orchestration & Integration
178
+ - Integrates with `zero-to-prod-orchestrator`, `brainstorming`, `coderabbit`, and `dependency-upgrade-migrator`.
179
+
180
+ ## Integrasi Orkestrasi
181
+ - Terintegrasi dengan `zero-to-prod-orchestrator`, `brainstorming`, `coderabbit`, dan `dependency-upgrade-migrator`.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: visual-qa-vision-agent
3
+ description: "Equips the AI agent with visual QA capabilities using Playwright/Puppeteer and the agent's innate Vision capabilities to self-correct UI layout, CSS alignment, and visual regressions."
4
+ author: "Roedy Rustam"
5
+ ---
6
+
7
+ # Visual QA & Vision Agent
8
+
9
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
10
+
11
+ ---
12
+
13
+ <a name="english"></a>
14
+ ## English
15
+
16
+ ### Orchestration & Integration
17
+ Connects and orchestrates with relevant domain skills like `brainstorming`, `zero-to-prod-orchestrator`, and `project-context-mapper` to ensure cohesive execution.
18
+
19
+ ### Description
20
+ This skill transforms the agent from a blind code generator into a visual designer. Instead of hoping the CSS looks correct, the agent is instructed to write a script that takes a screenshot of the newly created component, analyzes the screenshot using its own Vision AI capabilities, and iteratively tweaks the CSS until it matches the design intent perfectly.
21
+
22
+ ### Trigger Conditions
23
+ Activate this skill when the user says:
24
+ - "Fix the CSS, the button is misaligned."
25
+ - "Make it look exactly like this mockup."
26
+ - "Ensure the UI is responsive on mobile screens."
27
+
28
+ ### Core Concepts
29
+
30
+ #### 1. The Visual QA Loop
31
+ 1. **Code:** The agent writes the HTML/CSS/React component.
32
+ 2. **Serve:** The agent starts a local dev server in the background.
33
+ 3. **Capture:** The agent runs a quick Playwright/Puppeteer script to take screenshots at various viewports (Mobile, Tablet, Desktop).
34
+ 4. **Analyze:** The agent receives the screenshot (via the `view_file` tool on the image) and analyzes the visual hierarchy, contrast, and alignment.
35
+ 5. **Correct:** The agent fixes margin, padding, or flexbox issues based on what it *saw*, not just what the code says.
36
+
37
+ #### 2. Agent Constraints (Mandatory Visual Verification)
38
+ - **NO BLIND CSS GUESSING**: You are strictly prohibited from finalizing a frontend component without verifying it visually first. You MUST use a `browser_subagent` to capture a screenshot of your work.
39
+ - **Pixel-Perfect Validation**: Compare the screenshot against the initial design spec or generic UI/UX best practices. Iterate on the CSS until the visual output is flawless.
40
+ - Always check contrast ratios visually if design tokens are overridden.
41
+
42
+ ---
43
+
44
+ ### Integration with Other Skills (MANDATORY)
45
+ - `browser-automation-expert` — Provides the Playwright code needed to capture the screenshots.
46
+ - `tailwind-expert` — Provides the CSS utility classes used to fix the alignment issues discovered by Vision.
47
+ - `ui-components-expert` — Defines the correct visual standards (spacing, sizing) the agent should look for.
48
+
49
+ ### Referenced By Orchestrators (MANDATORY)
50
+ - `brainstorming` — Add to "UI/UX & Design Systems".
51
+ - `zero-to-prod-orchestrator` — Phase 5 (Frontend / UI Validation).
52
+
53
+ ---
54
+
55
+ <a name="bahasa-indonesia"></a>
56
+ ## Bahasa Indonesia
57
+
58
+ ### Integrasi Orkestrasi
59
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `brainstorming`, `zero-to-prod-orchestrator`, dan `project-context-mapper` untuk memastikan eksekusi yang kohesif.
60
+
61
+ ### Deskripsi
62
+ Skill ini memanfaatkan kemampuan *Vision* (penglihatan) bawaan AI untuk melakukan *Quality Assurance* (QA) visual. Agen tidak lagi sekadar menebak CSS secara buta, melainkan mengambil *screenshot* dari halaman yang dibuatnya, melihat hasilnya, dan mengkoreksi *margin/padding* secara mandiri.
63
+
64
+ ### Kondisi Pemicu
65
+ - Saat pengguna meminta untuk merapikan UI yang berantakan.
66
+ - Saat melakukan *cloning* desain dari gambar *mockup*.
67
+
68
+ ### Panduan Singkat
69
+ - **Gunakan Mata Anda (Wajib Verifikasi Visual):** Anda dilarang keras memfinalisasi atau menyelesaikan tugas frontend tanpa melihat hasilnya terlebih dahulu. Anda WAJIB mengambil *screenshot*, melihatnya menggunakan tool `view_file`, dan memverifikasi layout secara visual (*pixel-perfect*).
70
+ - **Siklus Visual:** Tulis Kode ➔ Ambil Screenshot ➔ Analisis dengan *Vision* ➔ Perbaiki Tailwind/CSS ➔ Selesai.
71
+ - **Jangan Menebak:** Terkadang `justify-center` tidak berfungsi karena ada pembungkus (*wrapper*) absolut. Jangan menebak-nebak di dalam kode; lihat hasil akhirnya secara visual!