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.
Files changed (63) hide show
  1. package/.agents/AGENTS.md +139 -42
  2. package/.agents/DEV_PROFILE.md +95 -0
  3. package/.agents/registry/capability-graph.yml +171 -334
  4. package/.agents/registry/graph.json +37 -19
  5. package/.agents/registry/index.yaml +59 -13
  6. package/.agents/registry/skills-index.yml +204 -447
  7. package/.agents/rules/coding.md +23 -0
  8. package/.agents/rules/global.md +44 -30
  9. package/.agents/skills/_template/SKILL.md +2 -377
  10. package/.agents/skills/qk-access-policy/SKILL.md +98 -473
  11. package/.agents/skills/qk-agent-observability/SKILL.md +3 -439
  12. package/.agents/skills/qk-ai-builder/SKILL.md +132 -565
  13. package/.agents/skills/qk-api-consumer/SKILL.md +256 -0
  14. package/.agents/skills/qk-api-consumer/capability.yaml +21 -0
  15. package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +29 -0
  16. package/.agents/skills/qk-api-lifecycle/SKILL.md +133 -456
  17. package/.agents/skills/qk-bug-resolution/SKILL.md +128 -561
  18. package/.agents/skills/qk-code-review/SKILL.md +142 -420
  19. package/.agents/skills/qk-context-loader/SKILL.md +99 -471
  20. package/.agents/skills/qk-data-engineer/SKILL.md +119 -340
  21. package/.agents/skills/qk-data-lifecycle/SKILL.md +89 -488
  22. package/.agents/skills/qk-db-optimizer/SKILL.md +102 -488
  23. package/.agents/skills/qk-design-system-engineering/SKILL.md +76 -461
  24. package/.agents/skills/qk-devops-platform/SKILL.md +77 -463
  25. package/.agents/skills/qk-docs/SKILL.md +88 -494
  26. package/.agents/skills/qk-engineering-standard/SKILL.md +4 -588
  27. package/.agents/skills/qk-fe-api-integration/SKILL.md +343 -343
  28. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -29
  29. package/.agents/skills/qk-feature-delivery/SKILL.md +137 -445
  30. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  31. package/.agents/skills/qk-frontend-architecture/SKILL.md +5 -479
  32. package/.agents/skills/qk-help/evals/scorecard.yaml +13 -13
  33. package/.agents/skills/qk-orchestrator/SKILL.md +63 -502
  34. package/.agents/skills/qk-orchestrator/references/routing-table.md +10 -14
  35. package/.agents/skills/qk-product-specification/SKILL.md +70 -479
  36. package/.agents/skills/qk-production-release/SKILL.md +80 -537
  37. package/.agents/skills/qk-project-audit/SKILL.md +174 -0
  38. package/.agents/skills/qk-project-bootstrap/SKILL.md +243 -471
  39. package/.agents/skills/qk-project-health/SKILL.md +97 -496
  40. package/.agents/skills/qk-project-memory/SKILL.md +76 -21
  41. package/.agents/skills/qk-refactor/SKILL.md +167 -384
  42. package/.agents/skills/qk-security-audit/SKILL.md +141 -463
  43. package/.agents/skills/qk-security-audit/capability.yaml +1 -2
  44. package/.agents/skills/qk-system-evolution/SKILL.md +343 -343
  45. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -26
  46. package/.agents/skills/qk-test-engineering/SKILL.md +119 -509
  47. package/.agents/skills/qk-ui-audit/SKILL.md +73 -537
  48. package/.agents/skills/qk-ui-builder/SKILL.md +521 -482
  49. package/.agents/skills/qk-ui-system-builder/SKILL.md +68 -514
  50. package/.agents/skills/qk-upgrade/SKILL.md +301 -0
  51. package/.agents/skills/qk-upgrade/capability.yaml +24 -0
  52. package/.agents/skills/qk-upgrade/evals/scorecard.yaml +26 -0
  53. package/.agents/skills/qk-validation-gate/SKILL.md +4 -603
  54. package/.agents/skills/qk-web-quality-gate/SKILL.md +85 -463
  55. package/.agents/workflows/bug-resolution.yml +6 -6
  56. package/.agents/workflows/context-discovery.yml +94 -0
  57. package/.agents/workflows/feature-delivery.yml +8 -4
  58. package/.agents/workflows/refactor.yml +6 -3
  59. package/.agents/workflows/shared/quality-gate.yml +94 -0
  60. package/.agents/workflows/skin-governance.yml +115 -0
  61. package/README.md +152 -67
  62. package/package.json +2 -2
  63. package/tooling/build-registry.js +30 -8
@@ -85,349 +85,349 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
85
85
 
86
86
  ---
87
87
 
88
- ## Memory Workflow
89
-
90
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
91
- - 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:
92
- - **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.
93
- - **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.
94
-
95
- ---
96
-
97
- ### Pre-flight Retrieve (Trước khi thực thi)
98
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
99
- bắt buộc tra cứu:
100
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
101
-
102
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
103
- - Architecture
104
- - Hard Bug
105
- - Convention
106
- - Pattern
107
- - Tech Debt Pattern
108
- - 👉 *Domain Focus:* Pattern / Convention (vd: cách quản lý state TanStack Query/Zustand, binding chuẩn).
109
-
110
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
111
- Không được xem Memory là Source of Truth.
112
- 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.
113
-
114
- ---
115
-
116
- ### Learning Flow (AI tự học có kiểm soát)
117
- - 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:
118
- - Hard Bug có khả năng tái diễn.
119
- - Pattern làm việc lặp lại trong dự án.
120
- - Convention hoặc quy tắc kiến trúc mới.
121
- - Quyết định Architecture quan trọng.
122
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
123
- - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
124
-
125
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
126
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
127
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
128
-
129
- ---
130
-
131
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
132
- Sau khi hoàn thành task:
133
- - AI đánh giá các Candidate Memory đã tạo.
134
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
135
- - Đề xuất người dùng xem xét.
136
- - Gửi yêu cầu phê duyệt thông qua:
137
- - `/learn`
138
- - `qk-project-memory`
139
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
140
-
141
- ```
142
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
143
- ```
144
-
145
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
146
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
147
-
148
- ---
149
-
150
- ### Ignore (Không đưa vào Memory)
151
- Không lưu:
152
- - Trace log của một session đơn lẻ.
153
- - Temporary debugging data.
154
- - Output của một lần chạy test/scan.
155
- - Report health tạm thời của một đợt kiểm tra.
156
- - Lỗi nhỏ chỉ xảy ra một lần.
157
- - Thông tin không có khả năng tái sử dụng.
158
- - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
159
-
160
- ---
161
-
162
- ### Golden Rule
163
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
164
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
165
-
166
- ---
167
-
168
-
169
-
170
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
171
- - 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:
172
- - **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.
173
- - **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.
174
-
175
- ---
176
-
177
- ### Pre-flight Retrieve (Trước khi thực thi)
178
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
179
- bắt buộc tra cứu:
180
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
181
-
182
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
183
- - Architecture
184
- - Hard Bug
185
- - Convention
186
- - Pattern
187
- - Tech Debt Pattern
188
- - 👉 *Domain Focus:* Pattern / Convention (vd: cách quản lý state TanStack Query/Zustand, binding chuẩn).
189
-
190
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
191
- Không được xem Memory là Source of Truth.
192
- 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.
193
-
194
- ---
195
-
196
- ### Learning Flow (AI tự học có kiểm soát)
197
- - 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:
198
- - Hard Bug có khả năng tái diễn.
199
- - Pattern làm việc lặp lại trong dự án.
200
- - Convention hoặc quy tắc kiến trúc mới.
201
- - Quyết định Architecture quan trọng.
202
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
203
- - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
204
-
205
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
206
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
207
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
208
-
209
- ---
210
-
211
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
212
- Sau khi hoàn thành task:
213
- - AI đánh giá các Candidate Memory đã tạo.
214
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
215
- - Đề xuất người dùng xem xét.
216
- - Gửi yêu cầu phê duyệt thông qua:
217
- - `/learn`
218
- - `qk-project-memory`
219
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
220
-
221
- ```
222
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
223
- ```
224
-
225
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
226
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
227
-
228
- ---
229
-
230
- ### Ignore (Không đưa vào Memory)
231
- Không lưu:
232
- - Trace log của một session đơn lẻ.
233
- - Temporary debugging data.
234
- - Output của một lần chạy test/scan.
235
- - Report health tạm thời của một đợt kiểm tra.
236
- - Lỗi nhỏ chỉ xảy ra một lần.
237
- - Thông tin không có khả năng tái sử dụng.
238
- - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
239
-
240
- ---
241
-
242
- ### Golden Rule
243
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
244
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
245
-
246
- ---
247
-
248
-
249
-
250
- ### Pre-flight Retrieve (Trước khi thực thi)
251
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
252
- bắt buộc tra cứu:
253
- - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
254
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
255
-
256
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
257
- - Architecture
258
- - Hard Bug
259
- - Convention
260
- - Pattern
261
- - Tech Debt Pattern
262
- - 👉 *Domain Focus:* Pattern / Convention (vd: cách quản lý state TanStack Query/Zustand, binding chuẩn).
263
-
264
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
265
- Không được xem Memory là Source of Truth.
266
- 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.
267
-
268
- ---
269
-
270
- ### Learning Flow (AI tự học có kiểm soát)
271
- - 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:
272
- - Hard Bug có khả năng tái diễn.
273
- - Pattern làm việc lặp lại trong dự án.
274
- - Convention hoặc quy tắc kiến trúc mới.
275
- - Quyết định Architecture quan trọng.
276
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
277
- - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
278
-
279
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
280
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
281
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
282
-
283
- ---
284
-
285
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
286
- Sau khi hoàn thành task:
287
- - AI đánh giá các Candidate Memory đã tạo.
288
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
289
- - Đề xuất người dùng xem xét.
290
- - Gửi yêu cầu phê duyệt thông qua:
291
- - `/learn`
292
- - `qk-project-memory`
293
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
294
-
295
- ```
296
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
297
- ```
298
-
299
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
300
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
301
-
302
- ---
303
-
304
- ### Ignore (Không đưa vào Memory)
305
- Không lưu:
306
- - Trace log của một session đơn lẻ.
307
- - Temporary debugging data.
308
- - Output của một lần chạy test/scan.
309
- - Report health tạm thời của một đợt kiểm tra.
310
- - Lỗi nhỏ chỉ xảy ra một lần.
311
- - Thông tin không có khả năng tái sử dụng.
312
- - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
313
-
314
- ---
315
-
316
- ### Golden Rule
317
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
318
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
319
-
320
- ---
321
- ---
322
-
323
- ### Learning Flow (AI tự học có kiểm soát)
324
- - 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:
325
- - Hard Bug có khả năng tái diễn.
326
- - Pattern làm việc lặp lại trong dự án.
327
- - Convention hoặc quy tắc kiến trúc mới.
328
- - Quyết định Architecture quan trọng.
329
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
330
- - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
331
-
332
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
333
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
334
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
335
-
336
- ---
337
-
338
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
339
- Sau khi hoàn thành task:
340
- - AI đánh giá các Candidate Memory đã tạo.
341
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
342
- - Đề xuất người dùng xem xét.
343
- - Gửi yêu cầu phê duyệt thông qua:
344
- - `/learn`
345
- - `qk-project-memory`
346
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
347
-
348
- ```
349
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
350
- ```
351
-
352
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
353
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
354
-
355
- ---
356
-
357
- ### Ignore (Không đưa vào Memory)
358
- Không lưu:
359
- - Trace log của một session đơn lẻ.
360
- - Temporary debugging data.
361
- - Output của một lần chạy test/scan.
362
- - Report health tạm thời của một đợt kiểm tra.
363
- - Lỗi nhỏ chỉ xảy ra một lần.
364
- - Thông tin không có khả năng tái sử dụng.
365
- - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
366
-
367
- ---
368
-
369
- ### Golden Rule
370
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
371
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
372
-
373
- ---
374
- ---
375
-
376
- ### Learning Flow (AI tự học có kiểm soát)
377
- - 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:
378
- - Hard Bug có khả năng tái diễn.
379
- - Pattern làm việc lặp lại trong dự án.
380
- - Convention hoặc quy tắc kiến trúc mới.
381
- - Quyết định Architecture quan trọng.
382
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
383
- - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
384
-
385
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
386
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
387
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
388
-
389
- ---
390
-
391
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
392
- Sau khi hoàn thành task:
393
- - AI đánh giá các Candidate Memory đã tạo.
394
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
395
- - Đề xuất người dùng xem xét.
396
- - Gửi yêu cầu phê duyệt thông qua:
397
- - `/learn`
398
- - `qk-project-memory`
399
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
400
-
401
- ```
402
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
403
- ```
404
-
405
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
406
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
407
-
408
- ---
409
-
410
- ### Ignore (Không đưa vào Memory)
411
- Không lưu:
412
- - Trace log của một session đơn lẻ.
413
- - Temporary debugging data.
414
- - Output của một lần chạy test/scan.
415
- - Report health tạm thời của một đợt kiểm tra.
416
- - Lỗi nhỏ chỉ xảy ra một lần.
417
- - Thông tin không có khả năng tái sử dụng.
418
- - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
419
-
420
- ---
421
-
422
- ### Golden Rule
423
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
424
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
425
-
426
- ---
427
- ---
428
- ---
429
- ---
430
-
88
+ ## Memory Workflow
89
+
90
+ ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
91
+ - 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:
92
+ - **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.
93
+ - **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.
94
+
95
+ ---
96
+
97
+ ### Pre-flight Retrieve (Trước khi thực thi)
98
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
99
+ bắt buộc tra cứu:
100
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
101
+
102
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
103
+ - Architecture
104
+ - Hard Bug
105
+ - Convention
106
+ - Pattern
107
+ - Tech Debt Pattern
108
+ - 👉 *Domain Focus:* Pattern / Convention (vd: cách quản lý state TanStack Query/Zustand, binding chuẩn).
109
+
110
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
111
+ Không được xem Memory là Source of Truth.
112
+ 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.
113
+
114
+ ---
115
+
116
+ ### Learning Flow (AI tự học có kiểm soát)
117
+ - 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:
118
+ - Hard Bug có khả năng tái diễn.
119
+ - Pattern làm việc lặp lại trong dự án.
120
+ - Convention hoặc quy tắc kiến trúc mới.
121
+ - Quyết định Architecture quan trọng.
122
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
123
+ - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
124
+
125
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
126
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
127
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
128
+
129
+ ---
130
+
131
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
132
+ Sau khi hoàn thành task:
133
+ - AI đánh giá các Candidate Memory đã tạo.
134
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
135
+ - Đề xuất người dùng xem xét.
136
+ - Gửi yêu cầu phê duyệt thông qua:
137
+ - `/learn`
138
+ - `qk-project-memory`
139
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
140
+
141
+ ```
142
+ .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
143
+ ```
144
+
145
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
146
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
147
+
148
+ ---
149
+
150
+ ### Ignore (Không đưa vào Memory)
151
+ Không lưu:
152
+ - Trace log của một session đơn lẻ.
153
+ - Temporary debugging data.
154
+ - Output của một lần chạy test/scan.
155
+ - Report health tạm thời của một đợt kiểm tra.
156
+ - Lỗi nhỏ chỉ xảy ra một lần.
157
+ - Thông tin không có khả năng tái sử dụng.
158
+ - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
159
+
160
+ ---
161
+
162
+ ### Golden Rule
163
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
164
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
165
+
166
+ ---
167
+
168
+
169
+
170
+ ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
171
+ - 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:
172
+ - **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.
173
+ - **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.
174
+
175
+ ---
176
+
177
+ ### Pre-flight Retrieve (Trước khi thực thi)
178
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
179
+ bắt buộc tra cứu:
180
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
181
+
182
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
183
+ - Architecture
184
+ - Hard Bug
185
+ - Convention
186
+ - Pattern
187
+ - Tech Debt Pattern
188
+ - 👉 *Domain Focus:* Pattern / Convention (vd: cách quản lý state TanStack Query/Zustand, binding chuẩn).
189
+
190
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
191
+ Không được xem Memory là Source of Truth.
192
+ 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.
193
+
194
+ ---
195
+
196
+ ### Learning Flow (AI tự học có kiểm soát)
197
+ - 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:
198
+ - Hard Bug có khả năng tái diễn.
199
+ - Pattern làm việc lặp lại trong dự án.
200
+ - Convention hoặc quy tắc kiến trúc mới.
201
+ - Quyết định Architecture quan trọng.
202
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
203
+ - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
204
+
205
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
206
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
207
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
208
+
209
+ ---
210
+
211
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
212
+ Sau khi hoàn thành task:
213
+ - AI đánh giá các Candidate Memory đã tạo.
214
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
215
+ - Đề xuất người dùng xem xét.
216
+ - Gửi yêu cầu phê duyệt thông qua:
217
+ - `/learn`
218
+ - `qk-project-memory`
219
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
220
+
221
+ ```
222
+ .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
223
+ ```
224
+
225
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
226
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
227
+
228
+ ---
229
+
230
+ ### Ignore (Không đưa vào Memory)
231
+ Không lưu:
232
+ - Trace log của một session đơn lẻ.
233
+ - Temporary debugging data.
234
+ - Output của một lần chạy test/scan.
235
+ - Report health tạm thời của một đợt kiểm tra.
236
+ - Lỗi nhỏ chỉ xảy ra một lần.
237
+ - Thông tin không có khả năng tái sử dụng.
238
+ - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
239
+
240
+ ---
241
+
242
+ ### Golden Rule
243
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
244
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
245
+
246
+ ---
247
+
248
+
249
+
250
+ ### Pre-flight Retrieve (Trước khi thực thi)
251
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
252
+ bắt buộc tra cứu:
253
+ - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
254
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
255
+
256
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
257
+ - Architecture
258
+ - Hard Bug
259
+ - Convention
260
+ - Pattern
261
+ - Tech Debt Pattern
262
+ - 👉 *Domain Focus:* Pattern / Convention (vd: cách quản lý state TanStack Query/Zustand, binding chuẩn).
263
+
264
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
265
+ Không được xem Memory là Source of Truth.
266
+ 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.
267
+
268
+ ---
269
+
270
+ ### Learning Flow (AI tự học có kiểm soát)
271
+ - 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:
272
+ - Hard Bug có khả năng tái diễn.
273
+ - Pattern làm việc lặp lại trong dự án.
274
+ - Convention hoặc quy tắc kiến trúc mới.
275
+ - Quyết định Architecture quan trọng.
276
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
277
+ - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
278
+
279
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
280
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
281
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
282
+
283
+ ---
284
+
285
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
286
+ Sau khi hoàn thành task:
287
+ - AI đánh giá các Candidate Memory đã tạo.
288
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
289
+ - Đề xuất người dùng xem xét.
290
+ - Gửi yêu cầu phê duyệt thông qua:
291
+ - `/learn`
292
+ - `qk-project-memory`
293
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
294
+
295
+ ```
296
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
297
+ ```
298
+
299
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
300
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
301
+
302
+ ---
303
+
304
+ ### Ignore (Không đưa vào Memory)
305
+ Không lưu:
306
+ - Trace log của một session đơn lẻ.
307
+ - Temporary debugging data.
308
+ - Output của một lần chạy test/scan.
309
+ - Report health tạm thời của một đợt kiểm tra.
310
+ - Lỗi nhỏ chỉ xảy ra một lần.
311
+ - Thông tin không có khả năng tái sử dụng.
312
+ - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
313
+
314
+ ---
315
+
316
+ ### Golden Rule
317
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
318
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
319
+
320
+ ---
321
+ ---
322
+
323
+ ### Learning Flow (AI tự học có kiểm soát)
324
+ - 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:
325
+ - Hard Bug có khả năng tái diễn.
326
+ - Pattern làm việc lặp lại trong dự án.
327
+ - Convention hoặc quy tắc kiến trúc mới.
328
+ - Quyết định Architecture quan trọng.
329
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
330
+ - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
331
+
332
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
333
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
334
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
335
+
336
+ ---
337
+
338
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
339
+ Sau khi hoàn thành task:
340
+ - AI đánh giá các Candidate Memory đã tạo.
341
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
342
+ - Đề xuất người dùng xem xét.
343
+ - Gửi yêu cầu phê duyệt thông qua:
344
+ - `/learn`
345
+ - `qk-project-memory`
346
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
347
+
348
+ ```
349
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
350
+ ```
351
+
352
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
353
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
354
+
355
+ ---
356
+
357
+ ### Ignore (Không đưa vào Memory)
358
+ Không lưu:
359
+ - Trace log của một session đơn lẻ.
360
+ - Temporary debugging data.
361
+ - Output của một lần chạy test/scan.
362
+ - Report health tạm thời của một đợt kiểm tra.
363
+ - Lỗi nhỏ chỉ xảy ra một lần.
364
+ - Thông tin không có khả năng tái sử dụng.
365
+ - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
366
+
367
+ ---
368
+
369
+ ### Golden Rule
370
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
371
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
372
+
373
+ ---
374
+ ---
375
+
376
+ ### Learning Flow (AI tự học có kiểm soát)
377
+ - 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:
378
+ - Hard Bug có khả năng tái diễn.
379
+ - Pattern làm việc lặp lại trong dự án.
380
+ - Convention hoặc quy tắc kiến trúc mới.
381
+ - Quyết định Architecture quan trọng.
382
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
383
+ - 👉 *Domain Harvest:* Pattern mới (vd: quy tắc cache/revalidate dữ liệu tầng Frontend).
384
+
385
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
386
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
387
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
388
+
389
+ ---
390
+
391
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
392
+ Sau khi hoàn thành task:
393
+ - AI đánh giá các Candidate Memory đã tạo.
394
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
395
+ - Đề xuất người dùng xem xét.
396
+ - Gửi yêu cầu phê duyệt thông qua:
397
+ - `/learn`
398
+ - `qk-project-memory`
399
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
400
+
401
+ ```
402
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
403
+ ```
404
+
405
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
406
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
407
+
408
+ ---
409
+
410
+ ### Ignore (Không đưa vào Memory)
411
+ Không lưu:
412
+ - Trace log của một session đơn lẻ.
413
+ - Temporary debugging data.
414
+ - Output của một lần chạy test/scan.
415
+ - Report health tạm thời của một đợt kiểm tra.
416
+ - Lỗi nhỏ chỉ xảy ra một lần.
417
+ - Thông tin không có khả năng tái sử dụng.
418
+ - 👉 *Domain Ignore:* Logic call API của 1 component riêng rẽ.
419
+
420
+ ---
421
+
422
+ ### Golden Rule
423
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
424
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
425
+
426
+ ---
427
+ ---
428
+ ---
429
+ ---
430
+
431
431
  ## Preconditions
432
432
  - [ ] Backend JSON payload hoặc API endpoint schema được cung cấp
433
433
  - [ ] Project's API client pattern được xác định (Axios wrapper, RTK Query, React Query, etc.)