vibes-plug 2.14.1 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.claude/rules/vibes-plug-core.md +5 -0
  2. package/.cursor/rules/vibes-plug-core.mdc +7 -2
  3. package/.cursorrules +8 -2
  4. package/AGENTS.md +23 -2
  5. package/CHANGELOG.md +114 -0
  6. package/CLAUDE.md +10 -3
  7. package/README.md +216 -611
  8. package/bin/vibes.mjs +1104 -0
  9. package/package.json +11 -3
  10. package/plugin.json +4 -3
  11. package/scripts/check-anti-slop.mjs +53 -0
  12. package/scripts/install.js +3 -1
  13. package/scripts/update_skills.js +1 -1
  14. package/scripts/update_skills.mjs +86 -0
  15. package/scripts/validate-skills.mjs +111 -0
  16. package/skills/accessibility-testing-expert/SKILL.md +117 -116
  17. package/skills/affective-computing-emotion-ai/SKILL.md +83 -0
  18. package/skills/agentic-coding-workflow-expert/SKILL.md +297 -0
  19. package/skills/agentic-memory-architect/SKILL.md +52 -0
  20. package/skills/agentic-micro-economy-architect/SKILL.md +92 -0
  21. package/skills/ai-llm-integration-expert/SKILL.md +330 -194
  22. package/skills/ai-media-generation-expert/SKILL.md +173 -172
  23. package/skills/ai-prompt-engineering-expert/SKILL.md +204 -134
  24. package/skills/ai-safety-governance-expert/SKILL.md +223 -0
  25. package/skills/angular-expert/SKILL.md +149 -148
  26. package/skills/anti-slop/SKILL.md +134 -133
  27. package/skills/api-design-expert/SKILL.md +4 -3
  28. package/skills/api-gateway-proxy-expert/SKILL.md +3 -2
  29. package/skills/app-analyzer-optimizer/SKILL.md +4 -3
  30. package/skills/apple-ecosystem-expert/SKILL.md +6 -5
  31. package/skills/astro-framework-expert/SKILL.md +201 -200
  32. package/skills/async-queue-temporal-expert/SKILL.md +218 -217
  33. package/skills/authentication-identity-expert/SKILL.md +174 -173
  34. package/skills/autonomous-red-teamer/SKILL.md +338 -203
  35. package/skills/autonomous-tdd-debugger/SKILL.md +6 -5
  36. package/skills/biome-linter-formatter-expert/SKILL.md +90 -89
  37. package/skills/blockchain-web3-expert/SKILL.md +116 -115
  38. package/skills/brainstorming/SKILL.md +392 -377
  39. package/skills/browser-automation-expert/SKILL.md +260 -222
  40. package/skills/bun-runtime-expert/SKILL.md +5 -4
  41. package/skills/chatbot-messaging-expert/SKILL.md +115 -114
  42. package/skills/ci-cd-devops-architect/SKILL.md +3 -2
  43. package/skills/cloud-hosting-expert/SKILL.md +5 -4
  44. package/skills/coderabbit/SKILL.md +5 -4
  45. package/skills/compliance-gdpr-privacy-expert/SKILL.md +3 -2
  46. package/skills/composable-mach-architect/SKILL.md +338 -0
  47. package/skills/cron-scheduler-expert/SKILL.md +5 -4
  48. package/skills/data-pipeline-etl-expert/SKILL.md +3 -2
  49. package/skills/data-telemetry-expert/SKILL.md +5 -4
  50. package/skills/data-visualization-expert/SKILL.md +155 -154
  51. package/skills/database-orm-expert/SKILL.md +166 -165
  52. package/skills/deep-research-analyst/SKILL.md +182 -136
  53. package/skills/dependency-upgrade-migrator/SKILL.md +11 -10
  54. package/skills/design-system-architect/SKILL.md +4 -3
  55. package/skills/desktop-electron-expert/SKILL.md +129 -128
  56. package/skills/documentation-site-expert/SKILL.md +60 -59
  57. package/skills/doku-mcp-server/SKILL.md +5 -4
  58. package/skills/doku-payment-gateway/SKILL.md +250 -232
  59. package/skills/domain-driven-design-expert/SKILL.md +3 -2
  60. package/skills/e2e-testing-expert/SKILL.md +5 -4
  61. package/skills/ecommerce-expert/SKILL.md +88 -87
  62. package/skills/email-notification-expert/SKILL.md +5 -4
  63. package/skills/ephemeral-generative-ui-architect/SKILL.md +88 -0
  64. package/skills/error-resilience-expert/SKILL.md +14 -13
  65. package/skills/event-driven-architect/SKILL.md +5 -4
  66. package/skills/feature-flag-analytics-expert/SKILL.md +3 -2
  67. package/skills/file-upload-media-expert/SKILL.md +5 -4
  68. package/skills/firebase-security-expert/SKILL.md +5 -4
  69. package/skills/form-validation-expert/SKILL.md +7 -6
  70. package/skills/frontier-ai-models-expert/SKILL.md +116 -0
  71. package/skills/fullstack-expert/SKILL.md +185 -184
  72. package/skills/gemini-agent-booster/SKILL.md +248 -172
  73. package/skills/geospatial-maps-expert/SKILL.md +81 -80
  74. package/skills/global-a11y-i18n-expert/SKILL.md +5 -4
  75. package/skills/glsl-shader-expert/SKILL.md +191 -190
  76. package/skills/go-programming-expert/SKILL.md +5 -4
  77. package/skills/graph-rag-knowledge-expert/SKILL.md +201 -200
  78. package/skills/graphql-apollo-expert/SKILL.md +5 -4
  79. package/skills/headless-cms-expert/SKILL.md +182 -181
  80. package/skills/hig/SKILL.md +5 -4
  81. package/skills/js-backend-expert/SKILL.md +219 -218
  82. package/skills/legacy-code-translator/SKILL.md +6 -5
  83. package/skills/llm-finops-router/SKILL.md +52 -0
  84. package/skills/local-slm-edge-ai-expert/SKILL.md +168 -167
  85. package/skills/logging-error-tracking-expert/SKILL.md +5 -4
  86. package/skills/mcp-server-architect/SKILL.md +315 -307
  87. package/skills/micro-frontend-architect/SKILL.md +5 -4
  88. package/skills/mobile-expo-expert/SKILL.md +5 -4
  89. package/skills/modern-css-native-expert/SKILL.md +190 -189
  90. package/skills/monorepo-architect/SKILL.md +5 -4
  91. package/skills/mpa-orchestrator/SKILL.md +41 -4
  92. package/skills/multi-agent-orchestration/SKILL.md +388 -254
  93. package/skills/mvc-expert/SKILL.md +5 -4
  94. package/skills/n8n-automation-expert/SKILL.md +90 -89
  95. package/skills/nextjs-app-router-expert/SKILL.md +3 -2
  96. package/skills/openapi-swagger-codegen-expert/SKILL.md +4 -3
  97. package/skills/payment-gateway-expert/SKILL.md +131 -128
  98. package/skills/pdf-document-generation-expert/SKILL.md +92 -91
  99. package/skills/performance-web-vitals/SKILL.md +5 -4
  100. package/skills/post-quantum-crypto-migrator/SKILL.md +3 -2
  101. package/skills/prd-architect/SKILL.md +183 -182
  102. package/skills/proactive-background-watcher/SKILL.md +5 -4
  103. package/skills/production-ready-hardener/SKILL.md +10 -9
  104. package/skills/pwa-offline-first-expert/SKILL.md +227 -226
  105. package/skills/pydantic-ai-expert/SKILL.md +162 -161
  106. package/skills/python-programming-expert/SKILL.md +5 -4
  107. package/skills/rate-limit-abuse-prevention/SKILL.md +5 -4
  108. package/skills/realtime-collaboration-expert/SKILL.md +3 -2
  109. package/skills/rich-text-editor-expert/SKILL.md +178 -177
  110. package/skills/rust-programming-expert/SKILL.md +5 -4
  111. package/skills/saas-architect/SKILL.md +155 -154
  112. package/skills/saas-billing/SKILL.md +394 -382
  113. package/skills/saas-multi-tenant/SKILL.md +7 -6
  114. package/skills/scalability-clean-code/SKILL.md +5 -4
  115. package/skills/search-engine-expert/SKILL.md +90 -89
  116. package/skills/self-healing-cloud-orchestrator/SKILL.md +3 -2
  117. package/skills/senior-frontend/SKILL.md +14 -9
  118. package/skills/seo/SKILL.md +4 -4
  119. package/skills/session-memory-manager/SKILL.md +129 -128
  120. package/skills/solidjs-expert/SKILL.md +81 -80
  121. package/skills/spa-orchestrator/SKILL.md +5 -4
  122. package/skills/sse-websocket-streaming-expert/SKILL.md +3 -2
  123. package/skills/state-management-expert/SKILL.md +5 -4
  124. package/skills/supabase-security-expert/SKILL.md +5 -4
  125. package/skills/svelte-sveltekit-expert/SKILL.md +92 -91
  126. package/skills/svg-animation-motion-expert/SKILL.md +3 -2
  127. package/skills/synthetic-data-finetuning-expert/SKILL.md +156 -155
  128. package/skills/tailwind-expert/SKILL.md +62 -5
  129. package/skills/tanstack-query-expert/SKILL.md +5 -4
  130. package/skills/tauri-expert/SKILL.md +5 -4
  131. package/skills/typescript-expert/SKILL.md +5 -4
  132. package/skills/ui-ux-pro-max/SKILL.md +7 -6
  133. package/skills/vector-db-rag-expert/SKILL.md +209 -208
  134. package/skills/vercel-ai-sdk-expert/SKILL.md +226 -181
  135. package/skills/voice-ai-realtime-agent/SKILL.md +243 -242
  136. package/skills/vue-frontend-expert/SKILL.md +5 -4
  137. package/skills/wasm-edge-computing-expert/SKILL.md +3 -2
  138. package/skills/web-3d-graphics-expert/SKILL.md +314 -313
  139. package/skills/web-game-engine-expert/SKILL.md +330 -329
  140. package/skills/web-scraper/SKILL.md +158 -157
  141. package/skills/website-design-cloner/SKILL.md +5 -4
  142. package/skills/webxr-ar-vr-expert/SKILL.md +163 -162
  143. package/skills/wordpress-headless-expert/SKILL.md +145 -144
  144. package/skills/zero-tech-debt-auditor/SKILL.md +115 -0
  145. package/skills/zero-to-prod-orchestrator/SKILL.md +281 -229
  146. package/skills/zero-trust-secret-vault/SKILL.md +3 -2
  147. package/BLUEPRINT.md +0 -319
  148. package/skills/bootstrap-to-modern/SKILL.md +0 -94
  149. package/skills/multiple-entry-points/SKILL.md +0 -91
  150. package/skills/secure-fuzz-testing/SKILL.md +0 -207
  151. package/skills/visual-qa-vision-agent/SKILL.md +0 -71
@@ -1,91 +1,92 @@
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.
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
+ version: "3.0.0"
6
+ ---
7
+
8
+ # Svelte & SvelteKit Expert (2026 Edition)
9
+
10
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
11
+
12
+ ---
13
+
14
+ <a name="english"></a>
15
+ ## English
16
+
17
+ ### Orchestration & Integration
18
+ - **`tailwind-expert`**: Tailwind CSS v4 integration with SvelteKit.
19
+ - **`performance-web-vitals`**: Svelte's compile-time optimizations and zero-overhead reactivity.
20
+ - **`e2e-testing-expert`**: Playwright testing for SvelteKit applications.
21
+ - **`typescript-expert`**: TypeScript integration with Svelte 5 Runes.
22
+
23
+ ### Description
24
+ 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.
25
+
26
+ ### Trigger Conditions
27
+ - Building applications with Svelte or SvelteKit.
28
+ - Migrating from Svelte 4 to Svelte 5 Runes.
29
+ - Choosing between Svelte and React/Vue for a new project.
30
+ - Implementing server-side rendering with SvelteKit.
31
+
32
+ ---
33
+
34
+ ### Svelte 5 Runes
35
+
36
+ ```svelte
37
+ <script lang="ts">
38
+ // Svelte 5 Runes — fine-grained reactivity
39
+ let count = $state(0);
40
+ let doubled = $derived(count * 2);
41
+
42
+ $effect(() => {
43
+ console.log(`Count changed to ${count}`);
44
+ });
45
+
46
+ // Props with Runes
47
+ let { title, onSubmit }: { title: string; onSubmit: (v: number) => void } = $props();
48
+ </script>
49
+
50
+ <h1>{title}</h1>
51
+ <button onclick={() => count++}>Count: {count} (doubled: {doubled})</button>
52
+ <button onclick={() => onSubmit(count)}>Submit</button>
53
+ ```
54
+
55
+ ### SvelteKit Server Patterns
56
+
57
+ ```typescript
58
+ // src/routes/posts/+page.server.ts
59
+ import type { PageServerLoad, Actions } from './$types';
60
+ import { fail } from '@sveltejs/kit';
61
+
62
+ export const load: PageServerLoad = async ({ fetch }) => {
63
+ const posts = await fetch('/api/posts').then((r) => r.json());
64
+ return { posts };
65
+ };
66
+
67
+ export const actions: Actions = {
68
+ create: async ({ request }) => {
69
+ const data = await request.formData();
70
+ const title = data.get('title');
71
+ if (!title) return fail(400, { error: 'Title required' });
72
+ // Create post...
73
+ return { success: true };
74
+ },
75
+ };
76
+ ```
77
+
78
+ ## Orchestration & Integration
79
+ - `tailwind-expert`, `performance-web-vitals`, `e2e-testing-expert`, `typescript-expert`
80
+
81
+ ---
82
+
83
+ <a name="bahasa-indonesia"></a>
84
+ ## Bahasa Indonesia
85
+
86
+ ### Deskripsi
87
+ 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.
88
+
89
+ ### Kondisi Pemicu
90
+ - Membangun aplikasi dengan Svelte atau SvelteKit.
91
+ - Migrasi dari Svelte 4 ke Svelte 5 Runes.
92
+ - Memilih antara Svelte dan React/Vue untuk proyek baru.
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: svg-animation-motion-expert
3
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"
4
+ author: "Roedy Rustam"
5
+ version: "3.0.0"
5
6
  ---
6
7
 
7
8
  # SVG & Web Animation Motion Expert
@@ -112,4 +113,4 @@ Manfaatkan CSS modern (`animation-timeline: view()`) untuk mengikat animasi ke p
112
113
  ## Integrasi Orkestrasi
113
114
  - Bekerja sama dengan `ui-ux-pro-max` dan `monday-design-aesthetic` untuk menghidupkan desain statis.
114
115
  - 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.
116
+ - Terintegrasi dengan `seo-aeo-landing-page-writer` untuk merancang landing page yang memukau secara visual.
@@ -1,155 +1,156 @@
1
- ---
2
- name: synthetic-data-finetuning-expert
3
- description: "Expert guide for synthetic dataset generation, LLM-as-a-judge filtering, QLoRA fine-tuning (Unsloth), DPO alignment, and GGUF/Ollama export for local SLMs / Panduan ahli generasi data sintetis, fine-tuning QLoRA, DPO, dan ekspor GGUF/Ollama."
4
- author: vibes-plug-swarm
5
- ---
6
-
7
- # Synthetic Data & Fine-Tuning Expert (Custom Domain SLMs)
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 domain skills like `local-slm-edge-ai-expert`, `ai-prompt-engineering-expert`, `ai-evals-benchmark-expert`, `python-programming-expert`, and `ai-cost-token-optimizer` to build high-performance, cost-effective domain models.
18
-
19
- ### Description
20
- Production-grade guide for generating synthetic training datasets, curating high-signal instruction pairs, executing Parameter-Efficient Fine-Tuning (QLoRA / LoRA) with **Unsloth** and Hugging Face TRL, performing Direct Preference Optimization (DPO), and quantizing custom Small Language Models (SLMs) to GGUF for edge or on-premise execution.
21
-
22
- **Swarm Synergy:** Within the **AI Engineering Swarm**, this skill serves as the Model Specialization Lead. When frontier API costs or latency become prohibitive, it trains, aligns, and deploys hyper-efficient domain SLMs (1B–8B parameters) in Phase 4.
23
-
24
- ### Trigger Conditions
25
- - Generating domain-specific synthetic training data from seed documents, codebases, or APIs.
26
- - Filtering low-quality or hallucinated synthetic data using LLM-as-a-judge curation pipelines.
27
- - Fine-tuning open-weights models (Llama 3.3, Qwen 2.5, Mistral) on custom tasks using 4-bit QLoRA.
28
- - Aligning model outputs using Direct Preference Optimization (DPO) to enforce specific response styles.
29
- - Quantizing fine-tuned models to GGUF (q4_k_m, q8_0) for zero-latency local inference with Ollama or llama.cpp.
30
-
31
- ### Synthetic Data & Fine-Tuning Lifecycle
32
-
33
- ```
34
- 1. SEED EXTRACTION & SYNTHESIS
35
- [Raw Docs / Codebase] ──► [Frontier LLM / Distilabel] ──► Raw Instruction Pairs (10k+)
36
-
37
- 2. QUALITY FILTERING (LLM-AS-A-JUDGE)
38
- Raw Instruction Pairs ──► [Rubric Scorer / De-duplication] ──► Curated Gold Dataset (2k-5k)
39
-
40
- 3. 4-BIT QLORA FINE-TUNING (UNSLOTH)
41
- Base Model (e.g. Qwen 2.5-Coder) + LoRA Adapters ──► SFT / DPO Training Loop
42
-
43
- 4. QUANTIZATION & LOCAL DEPLOYMENT
44
- Merged 16-bit Weights ──► [llama.cpp GGUF Export] ──► Local Ollama Service (<50ms latency)
45
- ```
46
-
47
- ### Core Implementation Guidelines
48
-
49
- #### 1. Synthetic Instruction Generation & Rejection Sampling
50
- Use frontier models to generate input-output pairs with strict rejection criteria:
51
- ```python
52
- from pydantic import BaseModel, Field
53
- from openai import OpenAI
54
- import json
55
-
56
- client = OpenAI()
57
-
58
- class SyntheticInstructionPair(BaseModel):
59
- user_instruction: str = Field(description="Realistic developer query")
60
- input_context: str = Field(description="Code snippet or API contract")
61
- ground_truth_response: str = Field(description="Flawless, production-grade output")
62
- quality_score: int = Field(ge=1, le=5, description="Self-evaluated quality score")
63
-
64
- def generate_synthetic_samples(seed_text: str) -> list[SyntheticInstructionPair]:
65
- response = client.beta.chat.completions.parse(
66
- model="gpt-4o-mini",
67
- messages=[
68
- {"role": "system", "content": "Generate 5 diverse, hard edge-case instruction pairs based on the seed code."},
69
- {"role": "user", "content": seed_text}
70
- ],
71
- response_format=SyntheticInstructionPair,
72
- )
73
- # Filter out anything below score 4 (Rejection Sampling)
74
- return [sample for sample in [response.choices[0].message.parsed] if sample.quality_score >= 4]
75
- ```
76
-
77
- #### 2. High-Speed 4-Bit QLoRA with Unsloth
78
- Fine-tune on consumer GPUs (e.g., RTX 3090/4090 or single A10G) with 5x faster throughput:
79
- ```python
80
- from unsloth import FastLanguageModel
81
- import torch
82
- from trl import SFTTrainer
83
- from transformers import TrainingArguments
84
-
85
- # 1. Load Model & Tokenizer in 4-bit
86
- max_seq_length = 2048
87
- model, tokenizer = FastLanguageModel.from_pretrained(
88
- model_name="unsloth/Qwen2.5-Coder-7B-Instruct-bnb-4bit",
89
- max_seq_length=max_seq_length,
90
- load_in_4bit=True,
91
- )
92
-
93
- # 2. Add LoRA Adapters
94
- model = FastLanguageModel.get_peft_model(
95
- model,
96
- r=16,
97
- target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],
98
- lora_alpha=16,
99
- lora_dropout=0, # Optimized 0 dropout for Unsloth
100
- bias="none",
101
- )
102
-
103
- # 3. Supervised Fine-Tuning (SFT)
104
- trainer = SFTTrainer(
105
- model=model,
106
- tokenizer=tokenizer,
107
- train_dataset=dataset,
108
- dataset_text_field="text",
109
- max_seq_length=max_seq_length,
110
- args=TrainingArguments(
111
- per_device_train_batch_size=2,
112
- gradient_accumulation_steps=4,
113
- warmup_steps=10,
114
- max_steps=100,
115
- learning_rate=2e-4,
116
- fp16=not torch.cuda.is_bf16_supported(),
117
- bf16=torch.cuda.is_bf16_supported(),
118
- logging_steps=1,
119
- output_dir="outputs",
120
- ),
121
- )
122
- trainer.train()
123
- ```
124
-
125
- #### 3. GGUF Export for Local Ollama Deployment
126
- Export merged model to 4-bit or 8-bit quantized GGUF format:
127
- ```python
128
- # Save to 16bit or GGUF directly
129
- model.save_pretrained_gguf("custom-domain-coder", tokenizer, quantization_method="q4_k_m")
130
-
131
- # Generate Modelfile for Ollama:
132
- # FROM ./custom-domain-coder-q4_k_m.gguf
133
- # PARAMETER temperature 0.2
134
- # SYSTEM You are an expert domain coder.
135
- ```
136
-
137
- ---
138
-
139
- <a name="bahasa-indonesia"></a>
140
- ## Bahasa Indonesia
141
-
142
- ### Integrasi Orkestrasi
143
- Terhubung dan mengorkestrasi skill domain yang relevan seperti `local-slm-edge-ai-expert`, `ai-prompt-engineering-expert`, `ai-evals-benchmark-expert`, `python-programming-expert`, dan `ai-cost-token-optimizer` untuk membangun model spesialis domain dengan performa tinggi dan biaya hemat.
144
-
145
- ### Deskripsi
146
- Panduan produksi untuk menghasilkan dataset pelatihan sintetis, mengurasi pasangan instruksi bernilai tinggi, mengeksekusi Parameter-Efficient Fine-Tuning (QLoRA / LoRA) dengan **Unsloth** dan Hugging Face TRL, menerapkan Direct Preference Optimization (DPO), dan mengkuantisasi Small Language Models (SLM) kustom ke format GGUF untuk inferensi lokal atau on-premise berlatensi ultra-rendah.
147
-
148
- **Sinergi Swarm:** Di dalam **AI Engineering Swarm**, skill ini memegang peranan sebagai Pemimpin Spesialisasi Model. Ketika biaya API atau latensi model cloud frontier terlalu tinggi, skill ini melatih, menyelaraskan (*align*), dan men-deploy SLM domain yang sangat efisien (1B–8B parameter) pada Fase 4.
149
-
150
- ### Kondisi Pemicu
151
- - Menghasilkan data pelatihan sintetis spesifik domain dari dokumen panduan, codebase, atau skema API.
152
- - Menyaring data sintetis berkualitas rendah menggunakan pipeline penilaian otomatis *LLM-as-a-judge*.
153
- - Melakukan fine-tuning model berbobot terbuka (Llama 3.3, Qwen 2.5, Mistral) dengan QLoRA 4-bit secara hemat memori VRAM.
154
- - Menyelaraskan respon model dengan Direct Preference Optimization (DPO) agar mematuhi aturan format dan gaya tertentu.
155
- - Mengkuantisasi model hasil fine-tuning ke format GGUF (q4_k_m, q8_0) untuk inferensi lokal instan di Ollama atau llama.cpp.
1
+ ---
2
+ name: synthetic-data-finetuning-expert
3
+ description: "Expert guide for synthetic dataset generation, LLM-as-a-judge filtering, QLoRA fine-tuning (Unsloth), DPO alignment, and GGUF/Ollama export for local SLMs / Panduan ahli generasi data sintetis, fine-tuning QLoRA, DPO, dan ekspor GGUF/Ollama."
4
+ author: vibes-plug-swarm
5
+ version: "3.0.0"
6
+ ---
7
+
8
+ # Synthetic Data & Fine-Tuning Expert (Custom Domain SLMs)
9
+
10
+ [English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
11
+
12
+ ---
13
+
14
+ <a name="english"></a>
15
+ ## English
16
+
17
+ ### Orchestration & Integration
18
+ Connects and orchestrates with domain skills like `local-slm-edge-ai-expert`, `ai-prompt-engineering-expert`, `ai-evals-benchmark-expert`, `python-programming-expert`, and `ai-cost-token-optimizer` to build high-performance, cost-effective domain models.
19
+
20
+ ### Description
21
+ Production-grade guide for generating synthetic training datasets, curating high-signal instruction pairs, executing Parameter-Efficient Fine-Tuning (QLoRA / LoRA) with **Unsloth** and Hugging Face TRL, performing Direct Preference Optimization (DPO), and quantizing custom Small Language Models (SLMs) to GGUF for edge or on-premise execution.
22
+
23
+ **Swarm Synergy:** Within the **AI Engineering Swarm**, this skill serves as the Model Specialization Lead. When frontier API costs or latency become prohibitive, it trains, aligns, and deploys hyper-efficient domain SLMs (1B–8B parameters) in Phase 4.
24
+
25
+ ### Trigger Conditions
26
+ - Generating domain-specific synthetic training data from seed documents, codebases, or APIs.
27
+ - Filtering low-quality or hallucinated synthetic data using LLM-as-a-judge curation pipelines.
28
+ - Fine-tuning open-weights models (Llama 3.3, Qwen 2.5, Mistral) on custom tasks using 4-bit QLoRA.
29
+ - Aligning model outputs using Direct Preference Optimization (DPO) to enforce specific response styles.
30
+ - Quantizing fine-tuned models to GGUF (q4_k_m, q8_0) for zero-latency local inference with Ollama or llama.cpp.
31
+
32
+ ### Synthetic Data & Fine-Tuning Lifecycle
33
+
34
+ ```
35
+ 1. SEED EXTRACTION & SYNTHESIS
36
+ [Raw Docs / Codebase] ──► [Frontier LLM / Distilabel] ──► Raw Instruction Pairs (10k+)
37
+
38
+ 2. QUALITY FILTERING (LLM-AS-A-JUDGE)
39
+ Raw Instruction Pairs ──► [Rubric Scorer / De-duplication] ──► Curated Gold Dataset (2k-5k)
40
+
41
+ 3. 4-BIT QLORA FINE-TUNING (UNSLOTH)
42
+ Base Model (e.g. Qwen 2.5-Coder) + LoRA Adapters ──► SFT / DPO Training Loop
43
+
44
+ 4. QUANTIZATION & LOCAL DEPLOYMENT
45
+ Merged 16-bit Weights ──► [llama.cpp GGUF Export] ──► Local Ollama Service (<50ms latency)
46
+ ```
47
+
48
+ ### Core Implementation Guidelines
49
+
50
+ #### 1. Synthetic Instruction Generation & Rejection Sampling
51
+ Use frontier models to generate input-output pairs with strict rejection criteria:
52
+ ```python
53
+ from pydantic import BaseModel, Field
54
+ from openai import OpenAI
55
+ import json
56
+
57
+ client = OpenAI()
58
+
59
+ class SyntheticInstructionPair(BaseModel):
60
+ user_instruction: str = Field(description="Realistic developer query")
61
+ input_context: str = Field(description="Code snippet or API contract")
62
+ ground_truth_response: str = Field(description="Flawless, production-grade output")
63
+ quality_score: int = Field(ge=1, le=5, description="Self-evaluated quality score")
64
+
65
+ def generate_synthetic_samples(seed_text: str) -> list[SyntheticInstructionPair]:
66
+ response = client.beta.chat.completions.parse(
67
+ model="gpt-4o-mini",
68
+ messages=[
69
+ {"role": "system", "content": "Generate 5 diverse, hard edge-case instruction pairs based on the seed code."},
70
+ {"role": "user", "content": seed_text}
71
+ ],
72
+ response_format=SyntheticInstructionPair,
73
+ )
74
+ # Filter out anything below score 4 (Rejection Sampling)
75
+ return [sample for sample in [response.choices[0].message.parsed] if sample.quality_score >= 4]
76
+ ```
77
+
78
+ #### 2. High-Speed 4-Bit QLoRA with Unsloth
79
+ Fine-tune on consumer GPUs (e.g., RTX 3090/4090 or single A10G) with 5x faster throughput:
80
+ ```python
81
+ from unsloth import FastLanguageModel
82
+ import torch
83
+ from trl import SFTTrainer
84
+ from transformers import TrainingArguments
85
+
86
+ # 1. Load Model & Tokenizer in 4-bit
87
+ max_seq_length = 2048
88
+ model, tokenizer = FastLanguageModel.from_pretrained(
89
+ model_name="unsloth/Qwen2.5-Coder-7B-Instruct-bnb-4bit",
90
+ max_seq_length=max_seq_length,
91
+ load_in_4bit=True,
92
+ )
93
+
94
+ # 2. Add LoRA Adapters
95
+ model = FastLanguageModel.get_peft_model(
96
+ model,
97
+ r=16,
98
+ target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],
99
+ lora_alpha=16,
100
+ lora_dropout=0, # Optimized 0 dropout for Unsloth
101
+ bias="none",
102
+ )
103
+
104
+ # 3. Supervised Fine-Tuning (SFT)
105
+ trainer = SFTTrainer(
106
+ model=model,
107
+ tokenizer=tokenizer,
108
+ train_dataset=dataset,
109
+ dataset_text_field="text",
110
+ max_seq_length=max_seq_length,
111
+ args=TrainingArguments(
112
+ per_device_train_batch_size=2,
113
+ gradient_accumulation_steps=4,
114
+ warmup_steps=10,
115
+ max_steps=100,
116
+ learning_rate=2e-4,
117
+ fp16=not torch.cuda.is_bf16_supported(),
118
+ bf16=torch.cuda.is_bf16_supported(),
119
+ logging_steps=1,
120
+ output_dir="outputs",
121
+ ),
122
+ )
123
+ trainer.train()
124
+ ```
125
+
126
+ #### 3. GGUF Export for Local Ollama Deployment
127
+ Export merged model to 4-bit or 8-bit quantized GGUF format:
128
+ ```python
129
+ # Save to 16bit or GGUF directly
130
+ model.save_pretrained_gguf("custom-domain-coder", tokenizer, quantization_method="q4_k_m")
131
+
132
+ # Generate Modelfile for Ollama:
133
+ # FROM ./custom-domain-coder-q4_k_m.gguf
134
+ # PARAMETER temperature 0.2
135
+ # SYSTEM You are an expert domain coder.
136
+ ```
137
+
138
+ ---
139
+
140
+ <a name="bahasa-indonesia"></a>
141
+ ## Bahasa Indonesia
142
+
143
+ ### Integrasi Orkestrasi
144
+ Terhubung dan mengorkestrasi skill domain yang relevan seperti `local-slm-edge-ai-expert`, `ai-prompt-engineering-expert`, `ai-evals-benchmark-expert`, `python-programming-expert`, dan `ai-cost-token-optimizer` untuk membangun model spesialis domain dengan performa tinggi dan biaya hemat.
145
+
146
+ ### Deskripsi
147
+ Panduan produksi untuk menghasilkan dataset pelatihan sintetis, mengurasi pasangan instruksi bernilai tinggi, mengeksekusi Parameter-Efficient Fine-Tuning (QLoRA / LoRA) dengan **Unsloth** dan Hugging Face TRL, menerapkan Direct Preference Optimization (DPO), dan mengkuantisasi Small Language Models (SLM) kustom ke format GGUF untuk inferensi lokal atau on-premise berlatensi ultra-rendah.
148
+
149
+ **Sinergi Swarm:** Di dalam **AI Engineering Swarm**, skill ini memegang peranan sebagai Pemimpin Spesialisasi Model. Ketika biaya API atau latensi model cloud frontier terlalu tinggi, skill ini melatih, menyelaraskan (*align*), dan men-deploy SLM domain yang sangat efisien (1B–8B parameter) pada Fase 4.
150
+
151
+ ### Kondisi Pemicu
152
+ - Menghasilkan data pelatihan sintetis spesifik domain dari dokumen panduan, codebase, atau skema API.
153
+ - Menyaring data sintetis berkualitas rendah menggunakan pipeline penilaian otomatis *LLM-as-a-judge*.
154
+ - Melakukan fine-tuning model berbobot terbuka (Llama 3.3, Qwen 2.5, Mistral) dengan QLoRA 4-bit secara hemat memori VRAM.
155
+ - Menyelaraskan respon model dengan Direct Preference Optimization (DPO) agar mematuhi aturan format dan gaya tertentu.
156
+ - Mengkuantisasi model hasil fine-tuning ke format GGUF (q4_k_m, q8_0) untuk inferensi lokal instan di Ollama atau llama.cpp.
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: tailwind-expert
3
3
  description: "Expert guide for Tailwind CSS v4, CSS-first configuration, @theme customization, and modern responsive design / Panduan ahli untuk Tailwind CSS v4, konfigurasi CSS-first, kustomisasi @theme, dan desain responsif modern."
4
- author: "Roedy Rustam"
4
+ author: "Roedy Rustam"
5
+ version: "3.0.0"
5
6
  ---
6
7
 
7
8
  # Tailwind CSS Expert (v4 Edition)
@@ -18,14 +19,14 @@ Strict guidelines and best practices for Tailwind CSS v4. Enforces the CSS-first
18
19
 
19
20
  ### Trigger Conditions
20
21
  - Scaffold or configure a Tailwind CSS v4 project.
21
- - Migrate a codebase from Tailwind CSS v3 to v4.
22
+ - Migrate a codebase from Tailwind CSS v4 to v4.
22
23
  - Implement design tokens via `@theme`.
23
24
  - Apply 3D transforms, CSS container queries, or `field-sizing`.
24
25
 
25
26
  ## Orchestration & Integration
26
27
  Integrates tightly with the following skills:
27
28
  - **`senior-frontend`**: Feeds modern CSS capabilities into Next.js/React component architecture.
28
- - **`ui-components-expert`**: Provides the styling primitives for Radix/shadcn-style components.
29
+ - **`design-system-architect, senior-frontend`**: Provides the styling primitives for Radix/shadcn-style components.
29
30
  - **`design-system-architect`**: Establishes the core tokens mapped inside `@theme`.
30
31
 
31
32
  ### Execution Standards
@@ -75,6 +76,34 @@ When upgrading older codebases:
75
76
  - **Specificity**: Use `@layer utilities` strictly when custom CSS requires Tailwind's specificity tier.
76
77
  - **No `@apply` Abuse**: Avoid `@apply` in loops or highly repeated components; use HTML utility classes to leverage Lightning CSS tree-shaking.
77
78
 
79
+ #### 5. Bootstrap to Tailwind Migration Guide
80
+ 1. **Analyze the Legacy Structure**:
81
+ - Identify the version of Bootstrap being used.
82
+ - Locate custom CSS files that override Bootstrap defaults.
83
+ - Identify interactive components (modals, dropdowns, tooltips, tabs, carousels) that rely on Bootstrap's JavaScript or jQuery.
84
+ 2. **Setup Modern Tools**:
85
+ - Ensure **Tailwind CSS v4** is properly set up in the project (e.g., via CDN for simple projects, or PostCSS/Vite for build steps).
86
+ - Inject **Alpine.js** via CDN or module bundler to handle interactivity.
87
+ 3. **Migration Strategy**:
88
+ - **Grid & Layout**: Convert Bootstrap grids (`container`, `row`, `col-*`) to Tailwind flexbox (`flex`, `flex-col`, `gap-*`) or CSS Grid (`grid`, `grid-cols-*`).
89
+ - **Spacing & Typography**: Map Bootstrap spacing (`m-3`, `p-4`) to Tailwind spacing (`m-4`, `p-6`—noting scale differences). Map typography utilities (`text-center`, `font-weight-bold`) to Tailwind equivalents (`text-center`, `font-bold`).
90
+ - **Colors**: Update Bootstrap semantic colors (`primary`, `success`, `danger`) to Tailwind color palettes (e.g., `blue-600`, `green-500`, `red-500`) or define custom themes in CSS variables for Tailwind v4.
91
+ - **Components**: Rebuild Bootstrap components (cards, buttons, alerts, navbars) using Tailwind utility classes to match or improve the original design.
92
+ 4. **Interactivity with Alpine.js**:
93
+ - Remove jQuery and Bootstrap JS dependencies.
94
+ - Replace interactive Bootstrap components with Alpine.js data and directives.
95
+ - **Dropdowns**: Use `x-data="{ open: false }"` and `@click="open = !open"`.
96
+ - **Modals**: Use Alpine.js to manage the open state and handle background overlays and click-away events (`@click.outside`).
97
+ - **Tabs**: Manage active tab state with `x-data="{ tab: 'home' }"`.
98
+ 5. **UI/UX Modernization & Skill Integration**:
99
+ - Do NOT just do a 1:1 translation of Bootstrap classes. The goal is to elevate the design.
100
+ - You MUST orchestrate and apply guidelines from other UI/UX skills (`ui-ux-expert`, `ui-ux-pro-max`, and `hig`).
101
+ - Implement Human Interface Guidelines (HIG) principles: Hierarchy, Harmony, and Consistency.
102
+ - Use vibrant colors, smooth micro-animations, glassmorphism (if appropriate), and modern typography to "WOW" the user.
103
+ 6. **Quality Assurance**:
104
+ - Verify that responsive design behaves correctly across breakpoints (`sm:`, `md:`, `lg:`).
105
+ - Ensure interactive components (modals, dropdowns) feel premium with Alpine.js transitions (`x-transition`).
106
+
78
107
  ---
79
108
 
80
109
  <a name="bahasa-indonesia"></a>
@@ -85,14 +114,14 @@ Panduan ketat dan praktik terbaik untuk Tailwind CSS v4. Memaksa penggunaan mode
85
114
 
86
115
  ### Kondisi Pemicu
87
116
  - Menyiapkan atau mengonfigurasi proyek Tailwind CSS v4.
88
- - Migrasi codebase dari Tailwind CSS v3 ke v4.
117
+ - Migrasi codebase dari Tailwind CSS v4 ke v4.
89
118
  - Implementasi design token via `@theme`.
90
119
  - Menggunakan 3D transform, container query, atau `field-sizing`.
91
120
 
92
121
  ## Integrasi Orkestrasi
93
122
  Terintegrasi erat dengan skill berikut:
94
123
  - **`senior-frontend`**: Menyuplai kapabilitas CSS modern ke dalam arsitektur komponen Next.js/React.
95
- - **`ui-components-expert`**: Menyediakan primitif styling untuk komponen gaya Radix/shadcn.
124
+ - **`design-system-architect, senior-frontend`**: Menyediakan primitif styling untuk komponen gaya Radix/shadcn.
96
125
  - **`design-system-architect`**: Membangun token utama yang dipetakan di dalam `@theme`.
97
126
 
98
127
  ### Standar Eksekusi
@@ -138,3 +167,31 @@ Saat memperbarui codebase lama:
138
167
  - **Konfigurasi Nol**: Andalkan deteksi konten otomatis v4. Jangan tentukan path konten secara manual.
139
168
  - **Spesifisitas**: Gunakan `@layer utilities` secara ketat hanya jika CSS kustom memerlukan tingkat spesifisitas Tailwind.
140
169
  - **Dilarang Menyalahgunakan `@apply`**: Hindari `@apply` pada loop atau komponen berulang; gunakan kelas utilitas di HTML untuk memaksimalkan tree-shaking Lightning CSS.
170
+
171
+ #### 5. Panduan Migrasi Bootstrap ke Tailwind
172
+ 1. **Analisis Struktur Lama**:
173
+ - Identifikasi versi Bootstrap yang digunakan.
174
+ - Temukan file CSS kustom yang menimpa (override) default Bootstrap.
175
+ - Identifikasi komponen interaktif (modal, dropdown, tooltip, tab, carousel) yang mengandalkan JavaScript Bootstrap atau jQuery.
176
+ 2. **Setup Tools Modern**:
177
+ - Pastikan **Tailwind CSS v4** disiapkan dengan benar di proyek (misalnya, melalui CDN untuk proyek sederhana, atau PostCSS/Vite jika ada build step).
178
+ - Masukkan **Alpine.js** melalui CDN atau module bundler untuk menangani interaktivitas.
179
+ 3. **Strategi Migrasi**:
180
+ - **Grid & Layout**: Ubah grid Bootstrap (`container`, `row`, `col-*`) menjadi flexbox Tailwind (`flex`, `flex-col`, `gap-*`) atau CSS Grid (`grid`, `grid-cols-*`).
181
+ - **Spacing & Tipografi**: Petakan spasi Bootstrap (`m-3`, `p-4`) ke Tailwind (`m-4`, `p-6`—perhatikan perbedaan skala). Petakan utilitas teks (`text-center`, `font-weight-bold`) ke padanan Tailwind (`text-center`, `font-bold`).
182
+ - **Warna**: Perbarui warna semantik Bootstrap (`primary`, `success`, `danger`) ke palet warna Tailwind (misal: `blue-600`, `green-500`, `red-500`) atau definisikan tema kustom di variabel CSS untuk Tailwind v4.
183
+ - **Komponen**: Bangun ulang komponen Bootstrap (card, button, alert, navbar) menggunakan kelas utilitas Tailwind untuk mencocokkan atau memperbaiki desain aslinya.
184
+ 4. **Interaktivitas dengan Alpine.js**:
185
+ - Hapus dependensi jQuery dan Bootstrap JS.
186
+ - Ganti komponen interaktif Bootstrap dengan data dan direktif Alpine.js.
187
+ - **Dropdown**: Gunakan `x-data="{ open: false }"` dan `@click="open = !open"`.
188
+ - **Modal**: Gunakan Alpine.js untuk mengelola state terbuka, overlay latar belakang, dan event klik di luar (`@click.outside`).
189
+ - **Tab**: Kelola state tab aktif dengan `x-data="{ tab: 'home' }"`.
190
+ 5. **Modernisasi UI/UX & Integrasi Skill**:
191
+ - JANGAN hanya menerjemahkan kelas Bootstrap 1:1. Tujuannya adalah meningkatkan kualitas desain.
192
+ - Anda WAJIB mengorkestrasi dan menerapkan pedoman dari skill UI/UX lainnya (`ui-ux-expert`, `ui-ux-pro-max`, dan `hig`).
193
+ - Terapkan prinsip Human Interface Guidelines (HIG): Hierarchy, Harmony, dan Consistency.
194
+ - Gunakan warna cerah, mikro-animasi halus, glassmorphism (jika sesuai), dan tipografi modern untuk memberikan kesan "WOW" pada pengguna.
195
+ 6. **Quality Assurance**:
196
+ - Verifikasi bahwa desain responsif berfungsi dengan benar di semua breakpoint (`sm:`, `md:`, `lg:`).
197
+ - Pastikan komponen interaktif (modal, dropdown) terasa premium dengan transisi Alpine.js (`x-transition`).