ai-developer-skill-os 9.1.2 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/AGENTS.md +139 -42
- package/.agents/DEV_PROFILE.md +95 -0
- package/.agents/registry/capability-graph.yml +171 -334
- package/.agents/registry/graph.json +37 -19
- package/.agents/registry/index.yaml +59 -13
- package/.agents/registry/skills-index.yml +204 -447
- package/.agents/rules/coding.md +23 -0
- package/.agents/rules/global.md +44 -30
- package/.agents/skills/_template/SKILL.md +2 -377
- package/.agents/skills/qk-access-policy/SKILL.md +98 -473
- package/.agents/skills/qk-agent-observability/SKILL.md +3 -439
- package/.agents/skills/qk-ai-builder/SKILL.md +132 -565
- package/.agents/skills/qk-api-consumer/SKILL.md +256 -0
- package/.agents/skills/qk-api-consumer/capability.yaml +21 -0
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +133 -456
- package/.agents/skills/qk-bug-resolution/SKILL.md +128 -561
- package/.agents/skills/qk-code-review/SKILL.md +142 -420
- package/.agents/skills/qk-context-loader/SKILL.md +99 -471
- package/.agents/skills/qk-data-engineer/SKILL.md +119 -340
- package/.agents/skills/qk-data-lifecycle/SKILL.md +89 -488
- package/.agents/skills/qk-db-optimizer/SKILL.md +102 -488
- package/.agents/skills/qk-design-system-engineering/SKILL.md +76 -461
- package/.agents/skills/qk-devops-platform/SKILL.md +77 -463
- package/.agents/skills/qk-docs/SKILL.md +88 -494
- package/.agents/skills/qk-engineering-standard/SKILL.md +4 -588
- package/.agents/skills/qk-fe-api-integration/SKILL.md +343 -343
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -29
- package/.agents/skills/qk-feature-delivery/SKILL.md +137 -445
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-frontend-architecture/SKILL.md +5 -479
- package/.agents/skills/qk-help/evals/scorecard.yaml +13 -13
- package/.agents/skills/qk-orchestrator/SKILL.md +63 -502
- package/.agents/skills/qk-orchestrator/references/routing-table.md +10 -14
- package/.agents/skills/qk-product-specification/SKILL.md +70 -479
- package/.agents/skills/qk-production-release/SKILL.md +80 -537
- package/.agents/skills/qk-project-audit/SKILL.md +174 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +243 -471
- package/.agents/skills/qk-project-health/SKILL.md +97 -496
- package/.agents/skills/qk-project-memory/SKILL.md +76 -21
- package/.agents/skills/qk-refactor/SKILL.md +167 -384
- package/.agents/skills/qk-security-audit/SKILL.md +141 -463
- package/.agents/skills/qk-security-audit/capability.yaml +1 -2
- package/.agents/skills/qk-system-evolution/SKILL.md +343 -343
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +119 -509
- package/.agents/skills/qk-ui-audit/SKILL.md +73 -537
- package/.agents/skills/qk-ui-builder/SKILL.md +521 -482
- package/.agents/skills/qk-ui-system-builder/SKILL.md +68 -514
- package/.agents/skills/qk-upgrade/SKILL.md +301 -0
- package/.agents/skills/qk-upgrade/capability.yaml +24 -0
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +4 -603
- package/.agents/skills/qk-web-quality-gate/SKILL.md +85 -463
- package/.agents/workflows/bug-resolution.yml +6 -6
- package/.agents/workflows/context-discovery.yml +94 -0
- package/.agents/workflows/feature-delivery.yml +8 -4
- package/.agents/workflows/refactor.yml +6 -3
- package/.agents/workflows/shared/quality-gate.yml +94 -0
- package/.agents/workflows/skin-governance.yml +115 -0
- package/README.md +152 -67
- package/package.json +2 -2
- package/tooling/build-registry.js +30 -8
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-orchestrator
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: stable
|
|
6
|
-
description: "Điều hướng yêu cầu của người dùng đến đúng skill với kỷ luật thép — kiểm tra preconditions và routing table."
|
|
6
|
+
description: "Điều hướng yêu cầu của người dùng đến đúng skill với kỷ luật thép — phân tích intent, kiểm tra preconditions và routing table. Dùng skill này khi user nhắc đến: help, list skills, có những skill nào, chọn skill nào, dùng skill gì, route task, hỗ trợ điều hướng — kể cả khi yêu cầu mơ hồ không rõ nên làm gì."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -22,15 +22,15 @@ complexity:
|
|
|
22
22
|
has_external_dependency: false
|
|
23
23
|
has_breaking_change: false
|
|
24
24
|
|
|
25
|
-
triggers:
|
|
26
|
-
- "
|
|
27
|
-
- "
|
|
28
|
-
- "
|
|
29
|
-
- "
|
|
30
|
-
- "
|
|
31
|
-
- "
|
|
32
|
-
- "
|
|
33
|
-
|
|
25
|
+
triggers:
|
|
26
|
+
- "help"
|
|
27
|
+
- "list skills"
|
|
28
|
+
- "có những skill nào"
|
|
29
|
+
- "chọn skill nào"
|
|
30
|
+
- "dùng skill gì"
|
|
31
|
+
- "route task"
|
|
32
|
+
- "hỗ trợ điều hướng"
|
|
33
|
+
|
|
34
34
|
|
|
35
35
|
selection:
|
|
36
36
|
priority: high
|
|
@@ -75,524 +75,85 @@ produces: [plan]
|
|
|
75
75
|
consumes: [user-request]
|
|
76
76
|
|
|
77
77
|
token_budget:
|
|
78
|
-
max_files_read:
|
|
79
|
-
max_lines_per_read:
|
|
78
|
+
max_files_read: 2
|
|
79
|
+
max_lines_per_read: 100
|
|
80
80
|
max_shell_commands: 0
|
|
81
81
|
stop_early: true
|
|
82
82
|
|
|
83
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
83
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
84
84
|
---
|
|
85
85
|
|
|
86
|
-
# qk-orchestrator — Request Routing
|
|
86
|
+
# qk-orchestrator — Request Routing & Skill Dispatcher
|
|
87
87
|
|
|
88
88
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
93
|
-
- Trước khi tra cứu hoặc lưu trữ tri thức, BẮT BUỘC kiểm tra sự tồn tại của thư mục `.ai-local/` tại gốc dự án:
|
|
94
|
-
- **Tự động tạo mới:** Nếu `.ai-local/` chưa tồn tại, AI phải tự động tạo cấu trúc thư mục `.ai-local/knowledge/` (và file `index.yaml` nếu cần thiết) cùng `.ai-local/candidates/`. Tuyệt đối không ngưng chạy hay hỏi ý kiến người dùng về thao tác khởi tạo tiêu chuẩn này.
|
|
95
|
-
- **Bảo mật Gitignore:** BẮT BUỘC kiểm tra file `.gitignore` của dự án, nếu chưa có dòng `.ai-local/` thì phải tự động thêm vào để tuyệt đối bảo mật tri thức cá nhân và tránh lộ lọt lên Git.
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
100
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
101
|
-
bắt buộc tra cứu:
|
|
102
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
103
|
-
|
|
104
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
105
|
-
- Architecture
|
|
106
|
-
- Hard Bug
|
|
107
|
-
- Convention
|
|
108
|
-
- Pattern
|
|
109
|
-
- Tech Debt Pattern
|
|
110
|
-
- 👉 *Domain Focus:* Architecture / Convention (vd: bảng điều hướng kỹ năng, ràng buộc ranh giới rõ ràng).
|
|
111
|
-
|
|
112
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
113
|
-
Không được xem Memory là Source of Truth.
|
|
114
|
-
Luôn xác minh lại bằng source code, configuration và trạng thái hiện tại của dự án trước khi áp dụng.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
119
|
-
- Trong quá trình làm việc, AI được phép tự phát hiện và tạo **Candidate Memory** khi nhận thấy:
|
|
120
|
-
- Hard Bug có khả năng tái diễn.
|
|
121
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
122
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
123
|
-
- Quyết định Architecture quan trọng.
|
|
124
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
125
|
-
- 👉 *Domain Harvest:* Quy luật phân phối routing hiệu quả mới.
|
|
126
|
-
|
|
127
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
128
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
129
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
134
|
-
Sau khi hoàn thành task:
|
|
135
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
136
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
137
|
-
- Đề xuất người dùng xem xét.
|
|
138
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
139
|
-
- `/learn`
|
|
140
|
-
- `qk-project-memory`
|
|
141
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
148
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
### Ignore (Không đưa vào Memory)
|
|
153
|
-
Không lưu:
|
|
154
|
-
- Trace log của một session đơn lẻ.
|
|
155
|
-
- Temporary debugging data.
|
|
156
|
-
- Output của một lần chạy test/scan.
|
|
157
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
158
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
159
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
160
|
-
- 👉 *Domain Ignore:* Trình tự gọi lệnh tạm thời của một prompt user.
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
### Golden Rule
|
|
165
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
166
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
173
|
-
- Trước khi tra cứu hoặc lưu trữ tri thức, BẮT BUỘC kiểm tra sự tồn tại của thư mục `.ai-local/` tại gốc dự án:
|
|
174
|
-
- **Tự động tạo mới:** Nếu `.ai-local/` chưa tồn tại, AI phải tự động tạo cấu trúc thư mục `.ai-local/knowledge/` (và file `index.yaml` nếu cần thiết) cùng `.ai-local/candidates/`. Tuyệt đối không ngưng chạy hay hỏi ý kiến người dùng về thao tác khởi tạo tiêu chuẩn này.
|
|
175
|
-
- **Bảo mật Gitignore:** BẮT BUỘC kiểm tra file `.gitignore` của dự án, nếu chưa có dòng `.ai-local/` thì phải tự động thêm vào để tuyệt đối bảo mật tri thức cá nhân và tránh lộ lọt lên Git.
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
180
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
181
|
-
bắt buộc tra cứu:
|
|
182
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
183
|
-
|
|
184
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
185
|
-
- Architecture
|
|
186
|
-
- Hard Bug
|
|
187
|
-
- Convention
|
|
188
|
-
- Pattern
|
|
189
|
-
- Tech Debt Pattern
|
|
190
|
-
- 👉 *Domain Focus:* Architecture / Convention (vd: bảng điều hướng kỹ năng, ràng buộc ranh giới rõ ràng).
|
|
191
|
-
|
|
192
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
193
|
-
Không được xem Memory là Source of Truth.
|
|
194
|
-
Luôn xác minh lại bằng source code, configuration và trạng thái hiện tại của dự án trước khi áp dụng.
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
199
|
-
- Trong quá trình làm việc, AI được phép tự phát hiện và tạo **Candidate Memory** khi nhận thấy:
|
|
200
|
-
- Hard Bug có khả năng tái diễn.
|
|
201
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
202
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
203
|
-
- Quyết định Architecture quan trọng.
|
|
204
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
205
|
-
- 👉 *Domain Harvest:* Quy luật phân phối routing hiệu quả mới.
|
|
206
|
-
|
|
207
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
208
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
209
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
214
|
-
Sau khi hoàn thành task:
|
|
215
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
216
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
217
|
-
- Đề xuất người dùng xem xét.
|
|
218
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
219
|
-
- `/learn`
|
|
220
|
-
- `qk-project-memory`
|
|
221
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
222
|
-
|
|
223
|
-
```
|
|
224
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
228
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### Ignore (Không đưa vào Memory)
|
|
233
|
-
Không lưu:
|
|
234
|
-
- Trace log của một session đơn lẻ.
|
|
235
|
-
- Temporary debugging data.
|
|
236
|
-
- Output của một lần chạy test/scan.
|
|
237
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
238
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
239
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
240
|
-
- 👉 *Domain Ignore:* Trình tự gọi lệnh tạm thời của một prompt user.
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
### Golden Rule
|
|
245
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
246
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
253
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
254
|
-
bắt buộc tra cứu:
|
|
255
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
256
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
257
|
-
|
|
258
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
259
|
-
- Architecture
|
|
260
|
-
- Hard Bug
|
|
261
|
-
- Convention
|
|
262
|
-
- Pattern
|
|
263
|
-
- Tech Debt Pattern
|
|
264
|
-
- 👉 *Domain Focus:* Architecture / Convention (vd: bảng điều hướng kỹ năng, ràng buộc ranh giới rõ ràng).
|
|
265
|
-
|
|
266
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
267
|
-
Không được xem Memory là Source of Truth.
|
|
268
|
-
Luôn xác minh lại bằng source code, configuration và trạng thái hiện tại của dự án trước khi áp dụng.
|
|
269
|
-
|
|
270
|
-
---
|
|
271
|
-
|
|
272
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
273
|
-
- Trong quá trình làm việc, AI được phép tự phát hiện và tạo **Candidate Memory** khi nhận thấy:
|
|
274
|
-
- Hard Bug có khả năng tái diễn.
|
|
275
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
276
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
277
|
-
- Quyết định Architecture quan trọng.
|
|
278
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
279
|
-
- 👉 *Domain Harvest:* Quy luật phân phối routing hiệu quả mới.
|
|
280
|
-
|
|
281
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
282
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
283
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
288
|
-
Sau khi hoàn thành task:
|
|
289
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
290
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
291
|
-
- Đề xuất người dùng xem xét.
|
|
292
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
293
|
-
- `/learn`
|
|
294
|
-
- `qk-project-memory`
|
|
295
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
302
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
### Ignore (Không đưa vào Memory)
|
|
307
|
-
Không lưu:
|
|
308
|
-
- Trace log của một session đơn lẻ.
|
|
309
|
-
- Temporary debugging data.
|
|
310
|
-
- Output của một lần chạy test/scan.
|
|
311
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
312
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
313
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
314
|
-
- 👉 *Domain Ignore:* Trình tự gọi lệnh tạm thời của một prompt user.
|
|
315
|
-
|
|
316
|
-
---
|
|
317
|
-
|
|
318
|
-
### Golden Rule
|
|
319
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
320
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
321
|
-
|
|
322
|
-
---
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
326
|
-
- Trong quá trình làm việc, AI được phép tự phát hiện và tạo **Candidate Memory** khi nhận thấy:
|
|
327
|
-
- Hard Bug có khả năng tái diễn.
|
|
328
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
329
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
330
|
-
- Quyết định Architecture quan trọng.
|
|
331
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
332
|
-
- 👉 *Domain Harvest:* Quy luật phân phối routing hiệu quả mới.
|
|
333
|
-
|
|
334
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
335
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
336
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
341
|
-
Sau khi hoàn thành task:
|
|
342
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
343
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
344
|
-
- Đề xuất người dùng xem xét.
|
|
345
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
346
|
-
- `/learn`
|
|
347
|
-
- `qk-project-memory`
|
|
348
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
355
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
### Ignore (Không đưa vào Memory)
|
|
360
|
-
Không lưu:
|
|
361
|
-
- Trace log của một session đơn lẻ.
|
|
362
|
-
- Temporary debugging data.
|
|
363
|
-
- Output của một lần chạy test/scan.
|
|
364
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
365
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
366
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
367
|
-
- 👉 *Domain Ignore:* Trình tự gọi lệnh tạm thời của một prompt user.
|
|
368
|
-
|
|
369
|
-
---
|
|
370
|
-
|
|
371
|
-
### Golden Rule
|
|
372
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
373
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
---
|
|
377
|
-
|
|
378
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
379
|
-
- Trong quá trình làm việc, AI được phép tự phát hiện và tạo **Candidate Memory** khi nhận thấy:
|
|
380
|
-
- Hard Bug có khả năng tái diễn.
|
|
381
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
382
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
383
|
-
- Quyết định Architecture quan trọng.
|
|
384
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
385
|
-
- 👉 *Domain Harvest:* Quy luật phân phối routing hiệu quả mới.
|
|
386
|
-
|
|
387
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
388
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
389
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
390
|
-
|
|
391
|
-
---
|
|
392
|
-
|
|
393
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
394
|
-
Sau khi hoàn thành task:
|
|
395
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
396
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
397
|
-
- Đề xuất người dùng xem xét.
|
|
398
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
399
|
-
- `/learn`
|
|
400
|
-
- `qk-project-memory`
|
|
401
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
402
|
-
|
|
403
|
-
```
|
|
404
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
408
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
409
|
-
|
|
410
|
-
---
|
|
411
|
-
|
|
412
|
-
### Ignore (Không đưa vào Memory)
|
|
413
|
-
Không lưu:
|
|
414
|
-
- Trace log của một session đơn lẻ.
|
|
415
|
-
- Temporary debugging data.
|
|
416
|
-
- Output của một lần chạy test/scan.
|
|
417
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
418
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
419
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
420
|
-
- 👉 *Domain Ignore:* Trình tự gọi lệnh tạm thời của một prompt user.
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
|
|
424
|
-
### Golden Rule
|
|
425
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
426
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
427
|
-
|
|
428
|
-
---
|
|
429
|
-
---
|
|
430
|
-
---
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
## Preconditions
|
|
434
|
-
- [ ] User request is provided (any language)
|
|
435
|
-
|
|
436
|
-
```
|
|
437
|
-
On missing precondition:
|
|
438
|
-
EXIT: BLOCKED
|
|
439
|
-
Message: "Vui lòng mô tả yêu cầu của bạn."
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
## Scope
|
|
443
|
-
- ✅ Analyze user intent and route to the correct skill
|
|
444
|
-
- ✅ Verify preconditions of target skill BEFORE delegating
|
|
445
|
-
- ✅ Enforce sequential pipeline when skills depend on each other
|
|
446
|
-
|
|
447
|
-
## Non-Goals
|
|
448
|
-
- ❌ Write code directly — delegate to specialist skills
|
|
449
|
-
- ❌ Hallucinate non-existent skills
|
|
450
|
-
- ❌ Allow UI work without `DESIGN.md` verified
|
|
451
|
-
- ❌ Allow logic work without context graph from `qk-context-loader`
|
|
90
|
+
Chịu trách nhiệm phân tích ý định (Intent) của người dùng, đối chiếu với bối cảnh dự án (`DEV_PROFILE.md`) và bảng điều hướng trung tâm (`AGENTS.md`) để chọn đúng skill kỹ thuật phù hợp nhất.
|
|
452
91
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
| Priority | Check | Skip Threshold |
|
|
456
|
-
|----------|-------|----------------|
|
|
457
|
-
| P1 | Match intent to routing table | Never |
|
|
458
|
-
| P2 | Verify target skill preconditions | Never |
|
|
459
|
-
| P3 | Check pipeline dependencies (e.g., context-loader first) | Never for logic tasks |
|
|
460
|
-
| P4 | Estimate cost/latency for user info | Budget < 70% |
|
|
92
|
+
---
|
|
461
93
|
|
|
462
|
-
##
|
|
94
|
+
## Preconditions
|
|
463
95
|
|
|
464
|
-
|
|
96
|
+
Trước khi đề xuất hoặc kích hoạt skill, AI BẮT BUỘC kiểm tra:
|
|
465
97
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
98
|
+
- [ ] Đọc `.agents/DEV_PROFILE.md` nếu có để xác định vai trò (`role`) và `stack`.
|
|
99
|
+
- [ ] Phân tích từ khóa và hành động mong muốn từ câu lệnh của người dùng.
|
|
100
|
+
- [ ] Kiểm tra xem yêu cầu là đơn nhiệm (Single task) hay đa nhiệm phức tạp (Compound task).
|
|
101
|
+
- [ ] Nếu yêu cầu hoàn toàn mơ hồ, không có manh mối kỹ thuật:
|
|
102
|
+
→ **EXIT: PARTIAL**
|
|
103
|
+
→ Đặt tối đa 2 câu hỏi trắc nghiệm ngắn để làm rõ mục tiêu.
|
|
470
104
|
|
|
471
|
-
|
|
472
|
-
```
|
|
473
|
-
IF single clear match found
|
|
474
|
-
→ Confidence: HIGH → go to Phase 2
|
|
105
|
+
---
|
|
475
106
|
|
|
476
|
-
|
|
477
|
-
→ Pick highest-priority match
|
|
478
|
-
→ Confidence: MEDIUM → go to Phase 2, note ambiguity
|
|
107
|
+
## Scope
|
|
479
108
|
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
109
|
+
✅ Skill này làm:
|
|
110
|
+
- Phân loại intent của user vào 1 trong 29 active skills của hệ thống.
|
|
111
|
+
- Cung cấp cú pháp kích hoạt skill chính xác (`./qk-<skill-name>`).
|
|
112
|
+
- Lập lộ trình chuỗi kỹ năng (Skill Pipeline) cho các tác vụ lớn gồm nhiều bước.
|
|
113
|
+
- Trả về danh mục tra cứu nhanh các kỹ năng khả dụng trong hệ thống.
|
|
483
114
|
|
|
484
|
-
|
|
485
|
-
-
|
|
486
|
-
-
|
|
115
|
+
❌ Skill này KHÔNG làm:
|
|
116
|
+
- Trực tiếp sửa code, chạy lệnh phá hủy hoặc can thiệp file hệ thống.
|
|
117
|
+
- Thay thế các kỹ năng chuyên biệt khi user đã chỉ định rõ ràng mục tiêu.
|
|
487
118
|
|
|
488
|
-
|
|
119
|
+
---
|
|
489
120
|
|
|
490
|
-
|
|
491
|
-
1. Read target skill's `Preconditions` section
|
|
492
|
-
2. Verify each precondition against current context
|
|
121
|
+
## Execution Steps
|
|
493
122
|
|
|
494
|
-
|
|
123
|
+
### Step 1 — Intent Extraction & Context Alignment
|
|
495
124
|
```
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
→ Then go to Phase 3
|
|
502
|
-
|
|
503
|
-
ELSE
|
|
504
|
-
→ EXIT: BLOCKED
|
|
125
|
+
Inputs: Prompt từ user, DEV_PROFILE.md (role, stack)
|
|
126
|
+
Actions:
|
|
127
|
+
- Nhận diện động từ hành động chính (tạo mới, sửa lỗi, tối ưu, đo lường, review, tài liệu).
|
|
128
|
+
- Đối chiếu với Role Behavior Matrix trong AGENTS.md để áp dụng góc nhìn phù hợp.
|
|
129
|
+
Output: Primary Intent & Constraints
|
|
505
130
|
```
|
|
506
131
|
|
|
507
|
-
###
|
|
508
|
-
|
|
509
|
-
**Steps:**
|
|
510
|
-
1. Check if target skill `consumes` output from another skill
|
|
511
|
-
2. If yes → ensure that upstream skill has run first
|
|
512
|
-
3. Delegate to target skill with full context
|
|
513
|
-
|
|
514
|
-
**Pipeline Rules:**
|
|
132
|
+
### Step 2 — Quick Table Matching & Disambiguation
|
|
515
133
|
```
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
Data tasks:
|
|
523
|
-
[qk-context-loader] → [qk-data-lifecycle | qk-db-optimizer]
|
|
524
|
-
|
|
525
|
-
Release tasks:
|
|
526
|
-
[qk-validation-gate] → [qk-production-release]
|
|
134
|
+
Inputs: Primary Intent, AGENTS.md Routing Table
|
|
135
|
+
Actions:
|
|
136
|
+
- Tra cứu từ khóa đối khớp trong Quick Table.
|
|
137
|
+
- Xử lý xung đột nếu có 2 skill liên quan (ví dụ: qk-refactor vs qk-feature-delivery; qk-ui-builder vs qk-ui-audit).
|
|
138
|
+
- Chọn skill có độ đặc hiệu (specificity) cao nhất.
|
|
139
|
+
Output: Target Skill Recommendation
|
|
527
140
|
```
|
|
528
141
|
|
|
529
|
-
|
|
530
|
-
Single source of truth: `references/routing-table.md` — do not duplicate here. Read that file before routing.
|
|
531
|
-
|
|
532
|
-
## Confidence Model
|
|
533
|
-
|
|
534
|
-
| Level | Condition | Action |
|
|
535
|
-
|-------|-----------|--------|
|
|
536
|
-
| HIGH | Single clear keyword match | Route directly |
|
|
537
|
-
| MEDIUM | Multiple possible skills | Route to most likely, note ambiguity |
|
|
538
|
-
| LOW | Request is too vague | Ask clarifying question |
|
|
539
|
-
|
|
540
|
-
## Escalation Rules
|
|
541
|
-
|
|
542
|
-
```
|
|
543
|
-
BLOCKED: Cannot determine correct skill
|
|
544
|
-
Missing:
|
|
545
|
-
- More specific description of the task
|
|
546
|
-
Questions:
|
|
547
|
-
1. Bạn muốn làm gì? (fix bug / thêm tính năng / tối ưu / deploy)
|
|
548
|
-
2. File hoặc module nào bị ảnh hưởng?
|
|
549
|
-
Recommended Assumptions: none — routing requires clear intent
|
|
142
|
+
### Step 3 — Plan & Dispatch
|
|
550
143
|
```
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
{
|
|
557
|
-
"from": "user",
|
|
558
|
-
"required_fields": ["request_text"],
|
|
559
|
-
"optional_fields": ["affected_file", "context"]
|
|
560
|
-
}
|
|
144
|
+
Inputs: Target Skill Recommendation
|
|
145
|
+
Actions:
|
|
146
|
+
- Nếu là tác vụ đơn: Hướng dẫn người dùng hoặc tự động kích hoạt skill qua cú pháp `./qk-<name>`.
|
|
147
|
+
- Nếu là tác vụ đa bước: Lập danh sách thứ tự thực hiện (Pipeline), ví dụ: qk-context-loader → qk-feature-delivery → qk-test-engineering.
|
|
148
|
+
Exit: SUCCESS
|
|
561
149
|
```
|
|
562
150
|
|
|
563
|
-
|
|
564
|
-
```json
|
|
565
|
-
{
|
|
566
|
-
"to": "[target-skill]",
|
|
567
|
-
"output_fields": ["routed_skill", "pipeline_order", "preconditions_verified", "exit_code"]
|
|
568
|
-
}
|
|
569
|
-
```
|
|
151
|
+
---
|
|
570
152
|
|
|
571
|
-
##
|
|
153
|
+
## Prompt Template
|
|
572
154
|
|
|
573
155
|
```
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
Pipeline: [skill-a → skill-b → skill-c]
|
|
579
|
-
Confidence: [HIGH | MEDIUM | LOW]
|
|
580
|
-
|
|
581
|
-
Preconditions:
|
|
582
|
-
✅ [Condition met]
|
|
583
|
-
✅ [Condition met]
|
|
584
|
-
|
|
585
|
-
Exit Code: SUCCESS
|
|
586
|
-
```
|
|
587
|
-
|
|
588
|
-
## Exit Codes
|
|
589
|
-
|
|
590
|
-
| Code | Meaning | When |
|
|
591
|
-
|------|---------|------|
|
|
592
|
-
| SUCCESS | Skill routed, preconditions verified, delegation in progress | Normal flow |
|
|
593
|
-
| PARTIAL | Routed with MEDIUM confidence — ambiguity noted | Multi-match situation |
|
|
594
|
-
| BLOCKED | Cannot classify intent or precondition missing | Vague request or missing DESIGN.md |
|
|
595
|
-
| FAILED | No skill matches and cannot escalate | Unknown domain request |
|
|
596
|
-
|
|
597
|
-
---
|
|
598
|
-
|
|
156
|
+
Yêu cầu: [Mô tả nhu cầu cần làm của bạn — ví dụ: "tôi muốn tối ưu trang danh sách sản phẩm"]
|
|
157
|
+
Bối cảnh: [Đang gặp khó khăn gì / file nào liên quan]
|
|
158
|
+
Mong muốn: [Cần gợi ý skill đơn lẻ hay một quy trình nhiều bước]
|
|
159
|
+
```
|