@mrtrinhvn/ag-kit 1.0.6 → 1.0.8
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/.agent/agents/backend-specialist.md +2 -2
- package/.agent/agents/frontend-specialist.md +37 -74
- package/.agent/agents/quant-architect.md +31 -0
- package/.agent/rules/GEMINI.md +8 -1
- package/.agent/skills/app-builder/SKILL.md +1 -1
- package/.agent/skills/app-builder/scaffolding.md +3 -3
- package/.agent/skills/app-builder/tech-stack.md +3 -4
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +39 -79
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +53 -75
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +56 -119
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +61 -94
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +56 -82
- package/.agent/skills/brainstorming/SKILL.md +13 -8
- package/.agent/skills/business-ops/SKILL.md +26 -0
- package/.agent/skills/clean-code/SKILL.md +4 -3
- package/.agent/skills/cli-generator/SKILL.md +48 -0
- package/.agent/skills/data-science/SKILL.md +28 -0
- package/.agent/skills/doc.md +36 -36
- package/.agent/skills/frontend-design/SKILL.md +0 -34
- package/.agent/skills/frontend-design/ux-psychology.md +10 -585
- package/.agent/skills/knowledge-management/SKILL.md +66 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +2 -14
- package/.agent/skills/llm-routing-quirks/SKILL.md +41 -0
- package/.agent/skills/memory-architecture/SKILL.md +107 -0
- package/.agent/skills/mini-antigravity-injection/SKILL.md +59 -0
- package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +1 -40
- package/.agent/skills/nextjs-react-expert/SKILL.md +21 -47
- package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +1 -1
- package/.agent/skills/plan-writing/SKILL.md +32 -31
- package/.agent/skills/product-management/SKILL.md +30 -0
- package/.agent/skills/systematic-debugging/SKILL.md +11 -0
- package/.agent/skills/tdd-workflow/SKILL.md +6 -7
- package/.agent/workflows/orchestrate.md +6 -6
- package/package.json +1 -1
- package/template/.agent/skills/llm-routing-quirks/SKILL.md +41 -0
- package/template/.agent/skills/mini-antigravity-injection/SKILL.md +59 -0
|
@@ -100,10 +100,21 @@ grep -r "errorPattern" --include="*.ts"
|
|
|
100
100
|
pm2 logs app-name --err --lines 100
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
## 🛡️ Tool Use Guardian (Execution Protection)
|
|
104
|
+
|
|
105
|
+
When executing long chains of tool calls (especially when searching, indexing, or scraping), you MUST act as a Guardian of the execution:
|
|
106
|
+
1. **Pre-Call Validation:** Validate file paths and parameters before executing. Don't guess or hallucinate paths.
|
|
107
|
+
2. **Failure Recovery:** If a tool fails (Timeout, Rate Limit, Truncated JSON), **DO NOT panic and restart from scratch**.
|
|
108
|
+
- *Truncated:* Use `view_file` with line ranges to fetch the rest.
|
|
109
|
+
- *Timeout:* Simplify the bash command or narrow the `grep_search` scope.
|
|
110
|
+
- *Error-as-200:* Always check tool output for disguised `{"error": ...}` messages before assuming success.
|
|
111
|
+
3. **Checkpoints:** Maintain logical mental checkpoints. If Step 5 of a 10-step process fails, resume exactly at Step 5.
|
|
112
|
+
|
|
103
113
|
## Anti-Patterns
|
|
104
114
|
|
|
105
115
|
❌ **Random changes** - "Maybe if I change this..."
|
|
106
116
|
❌ **Ignoring evidence** - "That can't be the cause"
|
|
117
|
+
❌ **Assuming Data/API is dead** - Concluding an API endpoint is removed or data is unavailable just because a simple test failed (e.g., testing outside of service hours or without proper auth). ALWAYS check official documentation or sample SDK code before declaring an API dead.
|
|
107
118
|
❌ **Assuming** - "It must be X" without proof
|
|
108
119
|
❌ **Not reproducing first** - Fixing blindly
|
|
109
120
|
❌ **Stopping at symptoms** - Not finding root cause
|
|
@@ -134,15 +134,14 @@ Every test follows:
|
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
137
|
-
## 10.
|
|
137
|
+
## 10. Cognitive Roleplay TDD
|
|
138
138
|
|
|
139
|
-
###
|
|
139
|
+
### Solo-Agent Pattern
|
|
140
140
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
| Agent C | Optimize (REFACTOR) |
|
|
141
|
+
As a solo agent, you must explicitly shift cognitive contexts:
|
|
142
|
+
1. **Tester Persona**: Write failing tests (RED)
|
|
143
|
+
2. **Coder Persona**: Implement minimal code to pass (GREEN)
|
|
144
|
+
3. **Architect Persona**: Critically review and optimize (REFACTOR)
|
|
146
145
|
|
|
147
146
|
---
|
|
148
147
|
|
|
@@ -63,11 +63,11 @@ $ARGUMENTS
|
|
|
63
63
|
```
|
|
64
64
|
After PLAN.md is complete, ASK:
|
|
65
65
|
|
|
66
|
-
"✅ Plan
|
|
66
|
+
"✅ Plan oluşturuldu: docs/PLAN.md
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
- Y:
|
|
70
|
-
- N:
|
|
68
|
+
Onaylıyor musunuz? (Y/N)
|
|
69
|
+
- Y: Implementation başlatılır
|
|
70
|
+
- N: Planı düzeltirim"
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
> 🔴 **DO NOT proceed to Phase 2 without explicit user approval!**
|
|
@@ -160,8 +160,8 @@ When invoking ANY subagent, you MUST include:
|
|
|
160
160
|
Use the project-planner agent to create PLAN.md:
|
|
161
161
|
|
|
162
162
|
**CONTEXT:**
|
|
163
|
-
- User Request: "
|
|
164
|
-
- Decisions: Tech=Vue 3, Layout=Grid
|
|
163
|
+
- User Request: "Öğrenciler için sosyal platform, mock data ile"
|
|
164
|
+
- Decisions: Tech=Vue 3, Layout=Grid Widget, Auth=Mock, Design=Genç Dinamik
|
|
165
165
|
- Previous Work: Orchestrator asked 6 questions, user chose all options
|
|
166
166
|
- Current Plan: playful-roaming-dream.md exists in workspace with initial structure
|
|
167
167
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Kinh nghiệm xương máu khi định tuyến LLM: 9Router (Gemini) vs Ollama (Bartowski/Reasoning)"
|
|
3
|
+
skills: ["clean-code"]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# LLM Routing Quirks (Kinh Nghiệm Phẫu Thuật Não LLM)
|
|
7
|
+
|
|
8
|
+
Tài liệu này lưu trữ những **chú ý sinh tử (quirks)** khi gọi các model LLM khác nhau trong kiến trúc Antigravity Orchestrator. Nó được đúc kết từ quá trình cày cuốc miệt mài vá lỗi của Quản Đốc AI và Sếp.
|
|
9
|
+
|
|
10
|
+
Nếu bạn đang viết Agent hoặc Script gọi LLM, **BẮT BUỘC ĐỌC** để tránh hệ thống bị đơ, văng lỗi JSON hoặc model bị "ngu" đi.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. 9Router & Gemini (Cloud Models - API tương thích OpenAI)
|
|
15
|
+
|
|
16
|
+
**Mô hình áp dụng:** `ag/gemini-3-flash`, `ag/gemini-pro-1.5`, v.v.
|
|
17
|
+
|
|
18
|
+
### Các Quy tắc Vàng:
|
|
19
|
+
1. **JSON Format:** ĐƯỢC PHÉP (và nên) sử dụng `response_format: { type: 'json_object' }` để ép model trả về cục JSON chuẩn chỉ. Gemini xử lý JSON format tự nhiên rất tốt.
|
|
20
|
+
2. **Stream Override (Lỗi SSE):** Mặc dù truyền `stream: false`, 9Router đôi khi BỊ LỖI và vẫn trả về luồng Server-Sent Events (SSE) (các dòng `data: {...}\n\ndata: [DONE]`).
|
|
21
|
+
👉 **Cách Fix:** Code call API (`axios.post`) phải luôn chuẩn bị sẵn tinh thần parse cả 2 trường hợp: JSON Object bình thường VÀ Chuỗi SSE gộp lại. (Xem hàm `OrchestratorBrain.callAI`).
|
|
22
|
+
3. **Timeout Threshold:** Bắt buộc đặt `timeout` cao (ví dụ: `120000ms` - 2 phút). Đừng set quá thấp (30s), vì proxy API Cloud thường xuyên bị trễ nhịp do routing.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. Ollama & Bartowski (Local Reasoning Models - Chạy Offline)
|
|
27
|
+
|
|
28
|
+
**Mô hình áp dụng:** `hf.co/bartowski/nvidia_Orchestrator-8B-GGUF:Q4_K_M`, `DeepSeek-R1`, các model có thẻ `<think>`.
|
|
29
|
+
|
|
30
|
+
### Các Quy tắc Vàng (SINH TỬ):
|
|
31
|
+
1. **🔥 TUYỆT ĐỐI KHÔNG DÙNG TÍNH NĂNG ÉP JSON:** KHÔNG BAO GIỜ truyền `format: "json"` vào request của Ollama đối với các Reasoning Models!
|
|
32
|
+
- **Vì sao?** Các reasoning models cần viết tư duy vào thẻ `<think>...</think>` trước khi ra kết quả. Việc ép JSON sẽ làm hệ thống của Ollama cắt gọt thẻ suy nghĩ của nó, khiến model bị "ngăn não", sinh ra ảo giác (hallucination), trả về rác (token rác) hoặc phá hỏng format JSON cuối cùng.
|
|
33
|
+
2. **Xử lý Thẻ `<think>` Thủ Công:** Khi model trả về chuỗi text, ta phải chủ động dùng Regex để bóc mảng `<think>...</think>` ra rồi mới quăng phần còn lại vào `JSON.parse()`.
|
|
34
|
+
- Code mài giũa: `str.replace(/<think>[\s\S]*?<\/think>/g, '').trim()`
|
|
35
|
+
3. **Mở Hộp Sọ (Context Window - `num_ctx`):** Mặc định Ollama cấp `num_ctx` rất bé (2048 token) để tiết kiệm VRAM. Với các Task Orchestration quăng cả lịch sử chat và code, **BẮT BUỘC** phải truyền `"options": { "num_ctx": 4096 }` (hoặc 8192) vào `axios.post`. Nếu không, Ollama sẽ ngắt đuôi JSON làm sập hệ thống.
|
|
36
|
+
4. **Tên Model Mặc Định:** Chú ý khi tải model HuggingFace từ Ollama (ví dụ `ollama run hf.co/bartowski/...`), Ollama sẽ giữ NGHIÊM NGẶT toàn bộ đường dẫn làm `ID Model`. Luôn truyền full tên vào trường `model` (ví dụ `model: "hf.co/bartowski/nvidia_Orchestrator-8B-GGUF:Q4_K_M"`).
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 3. Khuyến nghị Tự Chữa Lành (Mini-Antigravity Check)
|
|
41
|
+
Bất cứ khi nào gọi API nội bộ (để tự sửa mã) và nhận cảnh báo `SKIP Lỗi LLM` (tức 9Router bị câm), hệ thống không được gọi lại chính thằng sụp mạng, mà phải rẽ nhánh BẮN THẲNG LỆNH GỌI OLLAMA LOCALLY (tắt bypass Router) để bảo tồn mạng sống.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mini-antigravity-injection
|
|
3
|
+
description: Kiến trúc Cấy Lõi Tự Đẩy & Tiến Hoá (Self-Healing & Autonomous Code Mutation) cho Dự Án. Hướng dẫn Agent cách xây dựng bộ máy Tự Code, Tự Fix Lỗi và Tự Hot-Reload định chuẩn TDD.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# KỸ NĂNG: CẤY TIỂU-ANTIGRAVITY (Self-Healing Core Injection)
|
|
7
|
+
|
|
8
|
+
Khi User yêu cầu "Cấy Tiểu-Antigravity" vào một chức năng hay dự án mới, User đang ám chỉ việc xây dựng một hệ thống **Tiến hoá Mã nguồn Tự trị**. Bạn phải tuân thủ nghiêm ngặt 3 Phần dưới đây để tiến hành xây dựng.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## PHẦN A: THIẾT LẬP HẠ TẦNG & QUYỀN TRUY CẬP (Prerequisites)
|
|
13
|
+
Để Lõi Bác Sĩ (Doctor Persona) có trí tuệ mổ xẻ code, Hệ thống bắt buộc phải có tài nguyên LLM. Trước khi viết code, bạn phải kiểm tra và hướng dẫn User cài đặt hoặc cấu hình các thông số sau:
|
|
14
|
+
|
|
15
|
+
### 1. Trí Tuệ Trung Tâm: Cổng 9Router (Gemini Pro)
|
|
16
|
+
- **Chuẩn bị:** Yêu cầu hệ thống phải đang chạy cổng `9router` (Mặc định).
|
|
17
|
+
- **Token:** User cần cài đặt `9router` (nếu chưa có), đăng nhập các tài khoản Antigravity / Google Hub để `9router` cấp phát Token hợp lệ cho Tiểu Antigravity.
|
|
18
|
+
- **Hoặc:** Nếu không dùng 9router, hệ thống phải được cấu hình chèn cứng `GEMINI_API_KEY` trực tiếp vào biến môi trường.
|
|
19
|
+
- **Biến môi trường:** Đặt `HEALER_MODEL="ag/gemini-3-flash"` hoặc `"ag/gemini-pro-1.5"` cho luồng Mổ Xẻ.
|
|
20
|
+
|
|
21
|
+
### 2. Trí Tuệ Sinh Tồn (Offline Fallback): Ollama & Bartowski
|
|
22
|
+
- **Mục đích:** Khi đứt cáp hoặc không gọi được 9Router/Gemini, Quản Đốc văng lỗi sẽ chết đứng nếu không có Backup.
|
|
23
|
+
- **Thực thi:** Yêu cầu User cài đặt Ollama local (`https://ollama.com/`).
|
|
24
|
+
- **Tải Model:** Chạy lệnh `ollama run hf.co/bartowski/nvidia_Orchestrator-8B-GGUF:Q4_K_M` để kéo chuyên gia Lập trình Local (Tay cắt mổ phụ).
|
|
25
|
+
- **Cấu hình Fallback:** Module Code xử lý mạng phải đảm bảo: Nếu `gemini` timeout hoặc 404 -> Fallback trực tiếp xuống mốc local `hf.co/bartowski/nvidia_Orchestrator-8B-GGUF:Q4_K_M`.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## PHẦN B: LÕI TRIẾT LÝ KIẾN TRÚC (5 Trụ Cột Tiểu-Antigravity)
|
|
30
|
+
Khi bạn (AI) tự động tạo code `SelfHealingService` cho dự án mới, bạn phải đúc đủ 5 trụ cột này vào code:
|
|
31
|
+
|
|
32
|
+
### 1. Cơ Chế Bơm Kiến Thức Vĩ Mô (Skill & DNA Injection)
|
|
33
|
+
- Code tự động đọc các file nguyên tắc lập trình của dự án (`.agent/GEMINI.md`, `clean-code/SKILL.md`...) và TIÊM vào System Prompt của LLM Bác Sĩ Cục Bộ. Đảm bảo nó code đúng văn phong của Antigravity.
|
|
34
|
+
|
|
35
|
+
### 2. Định Luật Cạn Kiệt Gen (Exhaustion Trigger)
|
|
36
|
+
- Hệ thống bắt Stack Trace. Nếu lỗi Tool/Code gãy 3 lần (Vòng lặp bất tận) -> Kích Hoạt Tiểu-Antigravity chữa cháy tự động.
|
|
37
|
+
|
|
38
|
+
### 3. Hộp Cát Tử Thần (Sandbox) & Lá Chắn Ngữ Nghĩa (Semantic Shield)
|
|
39
|
+
Tuyệt đối KHÔNG đẩy code vừa sinh thẳng vào Môi trường Thực Chiến.
|
|
40
|
+
- **Phase 1 (Doctor):** Dùng prompt áp dụng `5-Whys` tìm Root Cause và viết mới lại file Code.
|
|
41
|
+
- **Phase 2 (Syntax Test):** Build/Compile Dry-run qua trình biên dịch (VD: `tsc --noEmit`).
|
|
42
|
+
- **Phase 3 (Semantic Shield):** Cốt lõi của sự Khôn ngoan! Hệ thống tự rà file Unit Test đi kèm (`*.spec.ts` hoặc `*.test.ts`). Chạy **Test Ngữ Nghĩa (Logic)** với file mới. Nếu Logic tính toán sai (dù cú pháp đúng) -> Đánh sập nhánh đó, cấm Hot-Reload.
|
|
43
|
+
|
|
44
|
+
### 4. Giao Kèo Docstring Định Danh (Docstring Identity Pact)
|
|
45
|
+
- Ép Prompt của Bác Sĩ: Khai báo đa dòng ở đầu file Code mới: Sửa dòng nào? Tại sao sửa? Tuân thủ triết lý gì?
|
|
46
|
+
|
|
47
|
+
### 5. Nạp Nóng (Hot-Reload) & Sổ Ghi Chép Chung (Evolution Ledger)
|
|
48
|
+
- **Git Backup:** Ghi `.bak`, commit Git.
|
|
49
|
+
- **Hot-Reload:** Tự xoá cache (`require.cache` trong JS) nạp RAM trực tiếp.
|
|
50
|
+
- **Ghi Chép:** Bắn Log Tự Sinh Tồn vào `self_healing_logs.md` để Ký ức được đồng bộ khi Main Agent (Antigravity Sếp) tỉnh dậy.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## PHẦN C: CÁCH TRIỂN KHAI CHO DỰ ÁN MỚI
|
|
55
|
+
*(Ghi chú cho Antigravity: Không cần lưu cứng bộ boilerplate code vào ag-kit).*
|
|
56
|
+
Khi User ra lệnh "Cấy Tiểu-Antigravity cho tao", bạn (Agent đang chat) tự động làm các bước sau:
|
|
57
|
+
1. Đặt Câu Hỏi Hạ Tầng: Xác nhận 9Router và Ollama đã on-ready theo `PHẦN A`.
|
|
58
|
+
2. Tự Động Viết Code: Tự phân tích Framework của dự án (TS/Node, Python, Rust) và Code ra file `SelfHealingService` theo triết lý của `PHẦN B`.
|
|
59
|
+
3. Tự Động Test: Viết 1 file test làm hỏng kiến trúc cố ý (`BrokenTool`), kích hoạt tiến trình Tự Động Vá Lỗi để chứng minh hệ thống đã On-Air thành công cho User xem!
|