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
@@ -1,9 +1,9 @@
1
- ---
1
+ ---
2
2
  # ── Identity ───────────────────────────────────────────────
3
3
  name: qk-code-review
4
- version: 9.1.0
4
+ version: 9.2.0
5
5
  status: stable
6
- description: "Elite AI/Code Review System: Kiểm toán, Review code cấu hình AI với duy Architect, áp dụng 4-Phase Review."
6
+ description: "Review code, AI config, hoặc skin rules theo 4 phases với Architect mindset — phát hiện bug, security issue, architecture smell, logic error. Dùng skill này khi user nhắc đến: review code, code review, kiểm tra code, đánh giá code, review skin, review rule, review ai config, audit PR kể cả khi chỉ nói \"xem thử code này ổn không\"."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
9
  # ── V9: Classification ─────────────────────────────────────
@@ -23,14 +23,16 @@ complexity:
23
23
  has_external_dependency: false
24
24
  has_breaking_change: false
25
25
 
26
- triggers:
27
- - "review code"
28
- - "code review"
29
- - "kiểm tra code"
30
- - "đánh giá code"
31
- - "review skin"
32
- - "review rule"
33
- - "review ai"
26
+ triggers:
27
+ - "review code"
28
+ - "code review"
29
+ - "kiểm tra code"
30
+ - "đánh giá code"
31
+ - "review skin"
32
+ - "review rule"
33
+ - "review ai config"
34
+ - "audit PR"
35
+
34
36
 
35
37
  selection:
36
38
  priority: high
@@ -46,9 +48,8 @@ tools:
46
48
  - filesystem
47
49
 
48
50
  related_skills:
49
- - qk-validation-gate
50
- - qk-engineering-standard
51
51
  - qk-project-health
52
+ - qk-security-audit
52
53
 
53
54
  knowledge_scope:
54
55
  owns:
@@ -84,448 +85,169 @@ token_budget:
84
85
  max_shell_commands: 2
85
86
  stop_early: true
86
87
 
87
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
88
+ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
88
89
  ---
89
90
 
90
91
  # qk-code-review — Elite Review System
91
92
 
92
93
  > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
93
94
 
94
- Biến quá trình Code Review từ "bắt bẻ" (gatekeeping) thành "chia sẻ tri thức" (knowledge sharing) thông qua phản hồi mang tính xây dựng, phân tích có hệ thống và hợp tác cải tiến.
95
+ Biến quá trình Code Review từ "bắt bẻ" (gatekeeping) thành "chia sẻ tri thức" (knowledge sharing) thông qua phản hồi mang tính xây dựng, phân tích có hệ thống và hợp tác cải tiến theo tư duy Kiến trúc sư (Architect mindset).
95
96
 
96
97
  ---
97
98
 
98
- ## Memory Workflow
99
-
100
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
101
- - 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:
102
- - **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.
103
- - **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.
104
-
105
- ---
106
-
107
- ### Pre-flight Retrieve (Trước khi thực thi)
108
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
109
- bắt buộc tra cứu:
110
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
111
-
112
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
113
- - Architecture
114
- - Hard Bug
115
- - Convention
116
- - Pattern
117
- - Tech Debt Pattern
118
- - 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
119
-
120
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
121
- Không được xem Memory là Source of Truth.
122
- 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.
123
-
124
- ---
125
-
126
- ### Learning Flow (AI tự học có kiểm soát)
127
- - 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:
128
- - Hard Bug có khả năng tái diễn.
129
- - Pattern làm việc lặp lại trong dự án.
130
- - Convention hoặc quy tắc kiến trúc mới.
131
- - Quyết định Architecture quan trọng.
132
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
133
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
134
-
135
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
136
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
137
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
138
-
139
- ---
140
-
141
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
142
- Sau khi hoàn thành task:
143
- - AI đánh giá các Candidate Memory đã tạo.
144
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
145
- - Đề xuất người dùng xem xét.
146
- - Gửi yêu cầu phê duyệt thông qua:
147
- - `/learn`
148
- - `qk-project-memory`
149
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
150
-
151
- ```
152
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
153
- ```
154
-
155
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
156
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
157
-
158
- ---
159
-
160
- ### Ignore (Không đưa vào Memory)
161
- Không lưu:
162
- - Trace log của một session đơn lẻ.
163
- - Temporary debugging data.
164
- - Output của một lần chạy test/scan.
165
- - Report health tạm thời của một đợt kiểm tra.
166
- - Lỗi nhỏ chỉ xảy ra một lần.
167
- - Thông tin không có khả năng tái sử dụng.
168
- - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
169
-
170
- ---
171
-
172
- ### Golden Rule
173
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
174
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
175
-
176
- ---
177
-
178
-
179
-
180
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
181
- - 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:
182
- - **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.
183
- - **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.
184
-
185
- ---
186
-
187
- ### Pre-flight Retrieve (Trước khi thực thi)
188
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
189
- bắt buộc tra cứu:
190
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
191
-
192
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
193
- - Architecture
194
- - Hard Bug
195
- - Convention
196
- - Pattern
197
- - Tech Debt Pattern
198
- - 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
199
-
200
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
201
- Không được xem Memory là Source of Truth.
202
- 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.
203
-
204
- ---
205
-
206
- ### Learning Flow (AI tự học có kiểm soát)
207
- - 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:
208
- - Hard Bug có khả năng tái diễn.
209
- - Pattern làm việc lặp lại trong dự án.
210
- - Convention hoặc quy tắc kiến trúc mới.
211
- - Quyết định Architecture quan trọng.
212
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
213
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
214
-
215
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
216
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
217
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
218
-
219
- ---
220
-
221
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
222
- Sau khi hoàn thành task:
223
- - AI đánh giá các Candidate Memory đã tạo.
224
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
225
- - Đề xuất người dùng xem xét.
226
- - Gửi yêu cầu phê duyệt thông qua:
227
- - `/learn`
228
- - `qk-project-memory`
229
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
230
-
231
- ```
232
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
233
- ```
234
-
235
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
236
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
237
-
238
- ---
239
-
240
- ### Ignore (Không đưa vào Memory)
241
- Không lưu:
242
- - Trace log của một session đơn lẻ.
243
- - Temporary debugging data.
244
- - Output của một lần chạy test/scan.
245
- - Report health tạm thời của một đợt kiểm tra.
246
- - Lỗi nhỏ chỉ xảy ra một lần.
247
- - Thông tin không có khả năng tái sử dụng.
248
- - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
249
-
250
- ---
251
-
252
- ### Golden Rule
253
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
254
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
255
-
256
- ---
257
-
258
-
259
-
260
- ### Pre-flight Retrieve (Trước khi thực thi)
261
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
262
- bắt buộc tra cứu:
263
- - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
264
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
265
-
266
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
267
- - Architecture
268
- - Hard Bug
269
- - Convention
270
- - Pattern
271
- - Tech Debt Pattern
272
- - 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
273
-
274
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
275
- Không được xem Memory là Source of Truth.
276
- 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.
277
-
278
- ---
279
-
280
- ### Learning Flow (AI tự học có kiểm soát)
281
- - 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:
282
- - Hard Bug có khả năng tái diễn.
283
- - Pattern làm việc lặp lại trong dự án.
284
- - Convention hoặc quy tắc kiến trúc mới.
285
- - Quyết định Architecture quan trọng.
286
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
287
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
288
-
289
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
290
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
291
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
292
-
293
- ---
294
-
295
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
296
- Sau khi hoàn thành task:
297
- - AI đánh giá các Candidate Memory đã tạo.
298
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
299
- - Đề xuất người dùng xem xét.
300
- - Gửi yêu cầu phê duyệt thông qua:
301
- - `/learn`
302
- - `qk-project-memory`
303
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
304
-
305
- ```
306
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
307
- ```
308
-
309
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
310
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
311
-
312
- ---
313
-
314
- ### Ignore (Không đưa vào Memory)
315
- Không lưu:
316
- - Trace log của một session đơn lẻ.
317
- - Temporary debugging data.
318
- - Output của một lần chạy test/scan.
319
- - Report health tạm thời của một đợt kiểm tra.
320
- - Lỗi nhỏ chỉ xảy ra một lần.
321
- - Thông tin không có khả năng tái sử dụng.
322
- - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
323
-
324
- ---
325
-
326
- ### Golden Rule
327
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
328
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
329
-
330
- ---
331
- ---
332
-
333
- ### Learning Flow (AI tự học có kiểm soát)
334
- - 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:
335
- - Hard Bug có khả năng tái diễn.
336
- - Pattern làm việc lặp lại trong dự án.
337
- - Convention hoặc quy tắc kiến trúc mới.
338
- - Quyết định Architecture quan trọng.
339
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
340
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
341
-
342
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
343
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
344
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
345
-
346
- ---
347
-
348
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
349
- Sau khi hoàn thành task:
350
- - AI đánh giá các Candidate Memory đã tạo.
351
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
352
- - Đề xuất người dùng xem xét.
353
- - Gửi yêu cầu phê duyệt thông qua:
354
- - `/learn`
355
- - `qk-project-memory`
356
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
357
-
358
- ```
359
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
360
- ```
361
-
362
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
363
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
364
-
365
- ---
366
-
367
- ### Ignore (Không đưa vào Memory)
368
- Không lưu:
369
- - Trace log của một session đơn lẻ.
370
- - Temporary debugging data.
371
- - Output của một lần chạy test/scan.
372
- - Report health tạm thời của một đợt kiểm tra.
373
- - Lỗi nhỏ chỉ xảy ra một lần.
374
- - Thông tin không có khả năng tái sử dụng.
375
- - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
376
-
377
- ---
378
-
379
- ### Golden Rule
380
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
381
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
382
-
383
- ---
384
- ---
385
-
386
- ### Learning Flow (AI tự học có kiểm soát)
387
- - 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:
388
- - Hard Bug có khả năng tái diễn.
389
- - Pattern làm việc lặp lại trong dự án.
390
- - Convention hoặc quy tắc kiến trúc mới.
391
- - Quyết định Architecture quan trọng.
392
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
393
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
394
-
395
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
396
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
397
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
398
-
399
- ---
400
-
401
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
402
- Sau khi hoàn thành task:
403
- - AI đánh giá các Candidate Memory đã tạo.
404
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
405
- - Đề xuất người dùng xem xét.
406
- - Gửi yêu cầu phê duyệt thông qua:
407
- - `/learn`
408
- - `qk-project-memory`
409
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
410
-
411
- ```
412
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
413
- ```
414
-
415
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
416
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
417
-
418
- ---
419
-
420
- ### Ignore (Không đưa vào Memory)
421
- Không lưu:
422
- - Trace log của một session đơn lẻ.
423
- - Temporary debugging data.
424
- - Output của một lần chạy test/scan.
425
- - Report health tạm thời của một đợt kiểm tra.
426
- - Lỗi nhỏ chỉ xảy ra một lần.
427
- - Thông tin không có khả năng tái sử dụng.
428
- - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
429
-
430
- ---
431
-
432
- ### Golden Rule
433
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
434
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
435
-
436
- ---
437
- ---
438
- ---
439
- ---
440
-
441
99
  ## Preconditions
442
100
 
443
- - [ ] Xác định rõ đối tượng cần review: Mã nguồn phần mềm (React, Java, etc.) hay Cấu hình AI (Skin, Rules, Workflows).
444
- - [ ] Cung cấp ngữ cảnh hoặc mục tiêu của đoạn code/cấu hình cần review.
101
+ Trước khi thực hiện review, AI BẮT BUỘC kiểm tra:
445
102
 
446
- ```
447
- On missing precondition EXIT: BLOCKED
448
- Report: "Missing: Vui lòng cung cấp ngữ cảnh hoặc chỉ định file cần review."
449
- ```
103
+ - [ ] Xác định đối tượng review: files cụ thể, diff/PR, hay cấu hình AI/rules.
104
+ - [ ] Đọc `.agents/DEV_PROFILE.md` để nắm coding standards, architectural rules, và constraints.
105
+ - [ ] Đảm bảo files cần review tồn tại thể đọc được nội dung.
106
+ - [ ] Nếu scope review vượt quá khả năng context (ví dụ toàn bộ repo hàng nghìn files cùng lúc):
107
+ → **EXIT: BLOCKED**
108
+ → Báo cáo user chia nhỏ phạm vi review theo module hoặc PR diff.
450
109
 
451
110
  ---
452
111
 
453
- ## Dynamic Context Loading (Tải Ngữ Cảnh Động)
112
+ ## Scope
454
113
 
455
- > **CHỈ ĐỌC KHI CẦN (on-demand):** Chỉ mở file references/ nếu có vấn đề cụ thể cần xác minh. Đừng đọc trước khi chưa thấy vấn đề.
114
+ Skill này làm:
115
+ - Phân tích code theo 4 tầng: Bug/Logic, Security, Architecture/Maintainability, Coding Standards.
116
+ - Đánh giá chất lượng của cấu hình AI (SKILL.md, workflow YAML, system rules).
117
+ - Cung cấp feedback định lượng, phân loại độ nghiêm trọng: CRITICAL, HIGH, MEDIUM, LOW.
118
+ - Gợi ý giải pháp cụ thể (concrete diffs / refactor snippet) cho từng vấn đề.
119
+ - Hoạt động ở chế độ **read-only** (chỉ xuất báo cáo, không tự ý sửa code).
456
120
 
457
- - **Nếu review AI Config** và phát hiện vấn đề schema/anti-pattern → đọc `references/ai/v8-schema-validation.md` HOẶC `references/ai/ai-anti-patterns.md` (không cần đọc cả 2 nếu không liên quan).
458
- - **Nếu review Code** gặp vấn đề ngôn ngữ cụ thểđọc `references/languages/[tên-ngôn-ngữ].md`.
459
- - **Nếu review cross-cutting** cần xác minh architecture đọc `references/cross-cutting/architecture-review-guide.md`.
460
- - **Default (80% trường hợp):** Dùng kiến thức sẵn, không đọc references.
121
+ Skill này KHÔNG làm:
122
+ - Tự động áp dụng code fix vào source code của user (user quyết định hoặc dùng `qk-refactor`).
123
+ - Quét toàn bộ vulnerabilities của third-party dependencies qua CVE database (→ `qk-security-audit`).
124
+ - Đo lường chấm điểm tổng thể kỹ thuật dự án (→ `qk-project-health`).
461
125
 
462
126
  ---
463
127
 
464
- ## 4-Phase Review Process
465
-
466
- Là một AI Architect, quá trình review phải tuân thủ nghiêm ngặt 4 giai đoạn sau:
128
+ ## Execution Steps
467
129
 
468
- ### Phase 1: Context Gathering & Loading (Thu thập & Nạp Ngữ Cảnh)
469
- - Đọc file mô tả (PR, Issue) hoặc yêu cầu của người dùng.
470
- - **Thực thi Dynamic Context Loading** (đọc các file reference cần thiết như đã định nghĩa ở trên).
130
+ ### Step 1 Context & Target Ingestion
131
+ ```
132
+ Inputs: Danh sách files/diff từ user, DEV_PROFILE.md
133
+ Actions:
134
+ - Đọc nội dung source code mục tiêu.
135
+ - Phân tích vai trò của file trong kiến trúc chung (domain, service, UI, infra).
136
+ Output: Scope boundary & Review target map
137
+ ```
471
138
 
472
- ### Phase 2: High-Level Review (Kiến trúc & Chuẩn mực)
473
- - **Đối với AI Config:** Kiểm tra cấu trúc V8 (Identity, Intent, Complexity, Triggers).
474
- - **Đối với Code Phần mềm:** Kiểm tra SOLID, Coupling/Cohesion, Performance, Security. **BẮT BUỘC đối chiếu với luật chống rác mã (R-C-09) và ranh giới Zero-Trust (R-SEC-04). Vi phạm sẽ bị đánh tag `[blocking]`.**
139
+ ### Step 2 — Multi-Dimensional Analysis
140
+ ```
141
+ Inputs: Source code, Standards & Rules
142
+ Actions:
143
+ - Phase 1: Logic & Correctness (xử lý null/undefined, race conditions, edge cases).
144
+ - Phase 2: Security & Privacy (input validation, SQLi/XSS, secret leaks, access control).
145
+ - Phase 3: Architecture & Clean Code (SOLID, DRY, coupled dependencies, readability).
146
+ - Phase 4: Conventions & Performance (quy ước đặt tên, N+1 query, re-render).
147
+ Output: Raw findings list
148
+ ```
475
149
 
476
- ### Phase 3: Deep-dive & Logic Review (Phân tích chi tiết)
477
- - **Đối với AI Config:** Kiểm tra rủi ro "ảo giác" (hallucination), token abuse, side-effects, stop_early.
478
- - **Đối với Code Phần mềm:** Rà soát edge cases, lỗi logic chuyên sâu theo từng ngôn ngữ (Tham chiếu theo `languages` guides).
150
+ ### Step 3 Constructive Synthesis & Remediation
151
+ ```
152
+ Inputs: Raw findings list
153
+ Actions:
154
+ - Lọc bỏ false positives và gán nhãn mức độ nghiêm trọng (CRITICAL/HIGH/MEDIUM/LOW).
155
+ - Với mỗi finding, viết lý do (Why) và đề xuất code snippet cải tiến (How to fix).
156
+ Output: Structured Review Report
157
+ ```
479
158
 
480
- ### Phase 4: Summary & Decision (Tổng hợp & Quyết định)
481
- - Đưa ra báo cáo theo `Output Format`.
482
- - Gắn nhãn `Severity Tags` rõ ràng.
159
+ ### Step 4 Verification & Delivery
160
+ ```
161
+ Inputs: Structured Review Report
162
+ Actions:
163
+ - Rà soát tính khả thi của các đề xuất.
164
+ - Trình bày báo cáo rõ ràng, mạch lạc theo ngôn ngữ tiếng Việt (code snippets giữ English).
165
+ Exit: SUCCESS
166
+ ```
483
167
 
484
168
  ---
485
169
 
486
- ## Feedback Principles (Nguyên tắc Phản hồi)
487
-
488
- - **Collaborative Language (Ngôn từ hợp tác)**: Thay vì ra lệnh ("Sửa cái này thành X", "Bỏ dòng này đi"), hãy dùng câu hỏi gợi mở ("Nếu chúng ta dùng X ở đây thì có tối ưu hiệu năng hơn không?", "Có vẻ logic này bị lặp, chúng ta extract nó ra hàm riêng được không?").
489
- - **Differentiate Severity (Phân biệt mức độ)**: Bắt buộc sử dụng các nhãn sau để phân loại mức độ phản hồi:
490
- - 🔴 `[blocking]` - Lỗi nghiêm trọng (VD: Security flaw, thiếu token_budget). Bắt buộc phải sửa.
491
- - 🟡 `[important]` - Lỗi quan trọng (VD: Performance leak, trigger quá rộng). Nên sửa hoặc cần thảo luận.
492
- - 🟢 `[nit]` - Cải thiện nhỏ (VD: Lỗi chính tả, format, naming). Không bắt buộc.
493
- - 💡 `[suggestion]` - Cách tiếp cận hoặc thư viện thay thế để tham khảo.
494
- - 📚 `[learning]` - Giải thích nguyên lý (Why) để chia sẻ kiến thức, không yêu cầu hành động.
495
- - 🎉 `[praise]` - Lời khen cho đoạn code / logic thiết kế tốt.
170
+ ## Prompt Template
496
171
 
497
- ---
172
+ AI đọc `DEV_PROFILE.md` để biết conventions + constraints. Review sẽ đánh giá theo đúng tiêu chuẩn dự án.
498
173
 
499
- ## Output Format
174
+ ```
175
+ Review: [File / folder / PR diff cần review]
176
+ Focus: [security / performance / architecture / logic / correctness — hoặc "full"]
177
+ Context: [Đây là feature mới / bug fix / refactor / migration / ...]
178
+ Bỏ qua: [Những thứ không cần comment — vd: style, naming, test coverage]
179
+ ```
500
180
 
501
- ```markdown
502
- ## qk-code-review Report
503
- ─────────────────────────────────────────────────
504
- **Target:** [Tên file / Chức năng]
505
- **Status:** SUCCESS | BLOCKED | FAILED | PARTIAL
181
+ ---
506
182
 
507
- ### 📊 Executive Summary
508
- [1-2 câu tóm tắt chất lượng tổng thể của mã nguồn/cấu hình. VD: "Kiến trúc rõ ràng, nhưng tiềm ẩn rủi ro lặp vô hạn ở dòng 45."]
183
+ ### Theo Role — AI review theo tiêu chí khác nhau:
509
184
 
510
- ### 🔍 Findings & Recommendations
185
+ **role: fe**
186
+ ```
187
+ Review: src/features/cart/ (toàn bộ folder — PR mới)
188
+ Focus: correctness + performance
189
+ Context: Vừa implement giỏ hàng — lần đầu có optimistic updates
190
+ Bỏ qua: CSS naming convention
191
+ ```
192
+ → AI xem xét: race condition trong optimistic update, stale closure trong
193
+ useCallback/useEffect, unnecessary re-render (missing memo/deps array),
194
+ missing error boundary, accessibility của interactive elements,
195
+ bundle size impact của dependencies mới.
511
196
 
512
- [Nhóm các findings theo mức độ nghiêm trọng giảm dần. LUÔN đính kèm snippet / file line nếu có thể]
197
+ **role: be**
198
+ ```
199
+ Review: src/routes/payments/ + src/services/PaymentService.ts
200
+ Focus: security + correctness
201
+ Context: Tích hợp payment gateway mới (Stripe) — business critical
202
+ Bỏ qua: Code style
203
+ ```
204
+ → AI xem xét: idempotency key usage, webhook signature verification,
205
+ sensitive data logging (card numbers, CVV không được log),
206
+ error handling không leak internal info ra response, DB transaction scope,
207
+ rate limiting, secrets không hardcode.
513
208
 
514
- - 🔴 `[blocking]`: [Vấn đề nghiêm trọng]
515
- - *Location*: `file.ts:L45`
516
- - *Feedback*: [Câu hỏi/Gợi ý sửa chữa]
517
-
518
- - 🟡 `[important]`: [Vấn đề quan trọng]
519
- - 💡 `[suggestion]`: [Gợi ý cải thiện]
520
- - 🟢 `[nit]`: [Góp ý nhỏ]
521
- - 🎉 `[praise]`: [Khen ngợi]
209
+ **role: fullstack**
210
+ ```
211
+ Review: src/features/reports/ (FE + BE cùng PR)
212
+ Focus: architecture + contract
213
+ Context: Feature mới export báo cáo, cả FE và BE trong cùng PR
214
+ Bỏ qua: Test coverage (sẽ thêm sau)
215
+ ```
216
+ → AI xem xét: type contract giữa FE-BE (có dùng shared types không),
217
+ FE không hard-code assumptions về response shape, BE thay đổi response
218
+ có break FE không, error shape nhất quán, loading state đầy đủ.
522
219
 
523
- ### 🛠️ Suggested Fixes (Optional)
524
- [Cung cấp Code diff hoặc YAML chuẩn xác để user dễ dàng copy & paste. TUYỆT ĐỐI KHÔNG tự sửa file nếu user chưa yêu cầu]
220
+ **role: data**
221
+ ```
222
+ Review: dags/customer_churn_pipeline.py + models/mart/fct_churn.sql
223
+ Focus: correctness + reliability
224
+ Context: Pipeline mới chạy weekly, dữ liệu dùng cho ML model
225
+ Bỏ qua: SQL formatting style
226
+ ```
227
+ → AI xem xét: idempotency (re-run an toàn không), partition filter đúng chưa
228
+ (tránh full scan), data quality assertions có đủ không, schema evolution
229
+ strategy, downstream dependencies được documented chưa, SLA realistic không.
525
230
 
526
- ### ✅ Verdict
527
- - [ ] Approve (Có thể merge/deploy ngay)
528
- - [ ] Changes Requested (Cần sửa các mục `[blocking]`)
529
- - [ ] Comment (Chỉ là gợi ý, quyền quyết định ở user)
231
+ **role: ai-engineer**
530
232
  ```
233
+ Review: prompts/ + retrieval/pipeline.py
234
+ Focus: correctness + hallucination risk
235
+ Context: RAG pipeline sắp ra production — cần review kỹ trước khi deploy
236
+ Bỏ qua: Code style
237
+ ```
238
+ → AI xem xét: system prompt có enforce grounding không ("chỉ dùng context được cung cấp"),
239
+ retrieval có thể trả empty context không (edge case), temperature setting phù hợp,
240
+ PII trong training data / retrieved context, prompt injection risk,
241
+ eval metrics có được log không, fallback khi LLM unavailable.
531
242
 
243
+ **role: devops**
244
+ ```
245
+ Review: .github/workflows/ + terraform/modules/ecs/
246
+ Focus: security + correctness
247
+ Context: Infrastructure change — scale up ECS service + thêm ALB rule
248
+ Bỏ qua: Resource naming convention (đã có convention riêng)
249
+ ```
250
+ → AI xem xét: secrets exposed trong logs hay env vars không, IAM least-privilege
251
+ (role có quá nhiều permission không), rollback plan rõ ràng chưa,
252
+ state file được lock và store an toàn không, có test trên staging trước prod không,
253
+ blast radius nếu Terraform apply fail giữa chừng.