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-project-health
4
- version: 9.1.0
4
+ version: 9.2.0
5
5
  status: stable
6
- description: "Kiểm toán toàn diện Code Smells, Tech Debt, Architecturehealth score 0–100 với actionable roadmap."
6
+ description: "Kiểm toán toàn diện sức khỏe dự án: đo lường Code Smells, Technical Debt, độ phức tạp Cyclomatic, God files, vi phạm SOLID chấm điểm Health Score (0–100) đề xuất lộ trình cải tiến. Dùng skill này khi user nhắc đến: audit project, code smell, tech debt, health check, project score, nợ kỹ thuật, kiểm tra sức khỏe code, đánh giá chất lượng dự án — kể cả khi chỉ nói 'xem thử project này nợ kỹ thuật nhiều không' — KHÔNG dùng cho phân tích tính khả thi hay gap analysis trước khi code (dùng qk-project-audit)."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
9
  # ── V9: Classification ─────────────────────────────────────
@@ -12,6 +12,7 @@ type: utility
12
12
  intent:
13
13
  - project-audit
14
14
  - codebase-health
15
+ - tech-debt-analysis
15
16
 
16
17
  complexity:
17
18
  level: high
@@ -21,12 +22,16 @@ complexity:
21
22
  has_external_dependency: false
22
23
  has_breaking_change: false
23
24
 
24
- triggers:
25
- - "audit code"
26
- - "check health"
27
- - "tech debt"
28
- - "code smell"
29
- - "kiểm toán"
25
+ triggers:
26
+ - "audit project"
27
+ - "code smell"
28
+ - "tech debt"
29
+ - "health check"
30
+ - "project score"
31
+ - "nợ kỹ thuật"
32
+ - "kiểm tra sức khỏe code"
33
+ - "đánh giá chất lượng dự án"
34
+
30
35
 
31
36
  # ── V8: References ─────────────────────────────────────────
32
37
  workflow: code-review
@@ -40,12 +45,15 @@ tools:
40
45
  - terminal
41
46
 
42
47
  related_skills:
43
- - qk-engineering-standard
48
+ - qk-code-review
49
+ - qk-refactor
50
+ - qk-security-audit
44
51
 
45
52
  knowledge_scope:
46
53
  owns:
47
54
  - tech-debt
48
55
  - codebase-health
56
+ - code-metrics
49
57
  references:
50
58
  - architecture
51
59
  - security
@@ -73,529 +81,122 @@ produces: [report]
73
81
  consumes: [source-code]
74
82
 
75
83
  token_budget:
76
- max_files_read: 5
77
- max_lines_per_read: 100
78
- max_shell_commands: 1
84
+ max_files_read: 12
85
+ max_lines_per_read: 150
86
+ max_shell_commands: 2
79
87
  stop_early: true
80
88
 
81
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
89
+ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
82
90
  ---
83
91
 
84
- # qk-project-health — Complete Codebase Audit
92
+ # qk-project-health — Codebase Health Auditor & Tech Debt Evaluator
85
93
 
86
94
  > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
87
95
 
96
+ Chịu trách nhiệm kiểm toán độc lập chất lượng toàn diện của codebase, đo lường nợ kỹ thuật (Technical Debt) theo các ngưỡng định lượng chuẩn hóa (R-C-09 & R-C-10), chấm điểm **Health Score (0–100)** và cung cấp lộ trình tái cấu trúc khả thi.
97
+
88
98
  ---
89
99
 
90
- ## Memory Workflow
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 / Hard Bug (vd: chỉ số sức khỏe codebase 0-100, các điểm nợ kỹ thuật tech debt).
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:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
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:* Report health tạm thời của 1 đợt scan.
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 / Hard Bug (vd: chỉ số sức khỏe codebase 0-100, các điểm nợ kỹ thuật tech debt).
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:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
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:* Report health tạm thời của 1 đợt scan.
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 / Hard Bug (vd: chỉ số sức khỏe codebase 0-100, các điểm nợ kỹ thuật tech debt).
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:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
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:* Report health tạm thời của 1 đợt scan.
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:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
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:* Report health tạm thời của 1 đợt scan.
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:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
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:* Report health tạm thời của 1 đợt scan.
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
100
  ## Preconditions
434
- - [ ] Project root is accessible
435
-
436
- ---
437
101
 
438
- ## Scope
439
- - ✅ Score 5 health dimensions (0–20 pts each = 100 total)
440
- - ✅ Identify deprecated packages and security vulnerabilities
441
- - ✅ Produce actionable refactoring roadmap
102
+ Trước khi tiến hành kiểm toán sức khỏe:
442
103
 
443
- ## Non-Goals
444
- - Fix issues report only
445
- - Hide systemic architectural flaws
104
+ - [ ] Xác định rõ phạm vi kiểm toán: Toàn bộ codebase (Full repository) hay Module / Thư mục cụ thể.
105
+ - [ ] Đọc file conventions trong `.agents/DEV_PROFILE.md` để đánh giá đúng tiêu chuẩn dự án.
106
+ - [ ] Nếu codebase chưa có source code hoặc chỉ có file khởi tạo rỗng:
107
+ → **EXIT: BLOCKED**
108
+ → Báo cáo: "Dự án chưa đủ mã nguồn để đánh giá chỉ số nợ kỹ thuật."
446
109
 
447
110
  ---
448
111
 
449
- ## Health Scoring System
450
-
451
- | Dimension | Max Points | Key Checks |
452
- |-----------|-----------|------------|
453
- | Security | 20 | 0 critical CVEs, no hardcoded secrets, auth guards present, **tuân thủ Zero-Trust (R-SEC-04)** |
454
- | Code Quality | 20 | Functions ≤ 30L, complexity ≤ 10, no God Files, **sạch bóng Anti-patterns (R-C-09)** |
455
- | Architecture | 20 | Clean layers (UI/Logic/Data separated), no circular imports |
456
- | Dependencies | 20 | No deprecated packages, no unused deps, versions pinned |
457
- | Documentation | 20 | README complete, public APIs documented, DESIGN.md exists |
458
-
459
- **Total: 100 pts. Grades: A (90+) / B (75-89) / C (60-74) / D (<60)**
112
+ ## Scope
460
113
 
461
- ---
114
+ ✅ Skill này làm:
115
+ - Quét các vi phạm số liệu kỹ thuật (Metric thresholds theo R-C-10):
116
+ - Function dài quá 40 dòng.
117
+ - File dài quá 300 dòng (God files).
118
+ - Nesting depth vượt quá 3 tầng.
119
+ - Cyclomatic complexity ước tính > 10.
120
+ - Phát hiện các Code Smells kinh điển: Duplicated logic (vi phạm DRY), Dead code, Magic numbers/strings, Any-casting lạm dụng, Silent error swallowing (`catch {}` rỗng).
121
+ - Đánh giá kiến trúc: Circular dependencies, vi phạm phân tầng (e.g. Controller truy cập trực tiếp DB, UI chứa business calculation).
122
+ - Chấm điểm **Health Score (0–100)** phân bổ theo 4 trục:
123
+ - Architecture Consistency (25đ)
124
+ - Maintainability & Clean Code (25đ)
125
+ - Testability & Reliability (25đ)
126
+ - Hygiene & Security Practice (25đ)
127
+ - Lập bảng danh mục nợ kỹ thuật xếp hạng ưu tiên (P0: Nguy hiểm, P1: Cần refactor sớm, P2: Nợ nhỏ).
462
128
 
463
- ## Priority Order
464
- | P | Dimension | Never Skip? |
465
- |---|-----------|-------------|
466
- | P1 | Security | Yes |
467
- | P2 | Code Quality | Yes |
468
- | P3 | Architecture | Budget < 30% |
469
- | P4 | Dependencies | Budget < 50% |
470
- | P5 | Documentation | Budget < 60% |
129
+ Skill này KHÔNG làm:
130
+ - Trực tiếp sửa đổi code của người dùng (`side_effects: read_only`).
131
+ - Audit chuyên sâu lỗ hổng bảo mật CVE (thuộc `qk-security-audit`).
132
+ - Tối ưu truy vấn SQL cụ thể (thuộc `qk-db-optimizer`).
471
133
 
472
134
  ---
473
135
 
474
- ## Workflow
475
-
476
- ### Phase 1 — Quick Scan (P1+P2)
477
- 1. `grep_search` for: hardcoded secrets, `eval(`, `any` types, `console.log`
478
- 2. Sample 3 key files → check function lengths, file sizes
479
- 3. Score Security (0–20) + Code Quality (0–20)
480
-
481
- ### Phase 2 — Structure Scan (P3+P4)
482
- 1. Read `package.json` — check outdated/deprecated packages
483
- 2. Check import patterns for circular dependencies or layer violations
484
- 3. Score Architecture (0–20) + Dependencies (0–20)
485
-
486
- ### Phase 3 — Docs Scan (P5) + Report
487
- 1. Check README, DESIGN.md, key function JSDoc
488
- 2. Score Documentation (0–20)
489
- 3. Generate full report + prioritized roadmap
136
+ ## Execution Steps
490
137
 
491
- ---
492
-
493
- ## Evidence Format
138
+ ### Step 1 — Quét tĩnh & Phân tích Kích thước (Size & Structure Scan)
494
139
  ```
495
- [SEVERITY] Dimension: [SECURITY|QUALITY|ARCH|DEPS|DOCS]
496
- Finding: [specific issue]
497
- Location: [file:line OR package name]
498
- Confidence: HIGH
499
- Impact: -N pts
500
- Fix: [actionable suggestion]
140
+ Inputs: Workspace files
141
+ Actions:
142
+ - Thống kê các file độ dài lớn nhất (> 300 dòng).
143
+ - Tìm kiếm các file gom quá nhiều trách nhiệm (God components / God services).
144
+ - Liệt kê các hàm vượt quá 40 dòng.
145
+ Outputs: Danh sách các điểm nóng về kích thước (Hotspots)
501
146
  ```
502
147
 
503
- ---
504
-
505
- ## Output Format
148
+ ### Step 2 — Phát hiện Code Smells & Vi phạm Tiêu chuẩn
506
149
  ```
507
- 🏥 Project Health Report
508
- ─────────────────────────────────────────────────
509
- Grade: [A|B|C|D] ([Score]/100)
510
-
511
- Scores:
512
- Security: [N/20]
513
- Code Quality: [N/20]
514
- Architecture: [N/20]
515
- Dependencies: [N/20]
516
- Documentation: [N/20]
517
-
518
- Critical Issues (fix immediately):
519
- [list CRITICAL findings]
520
-
521
- Refactoring Roadmap (priority order):
522
- 1. [Most impactful — estimated effort]
523
- 2. [Second — estimated effort]
524
- 3. [Third]
525
-
526
- Exit Code: [SUCCESS (A/B) | PARTIAL (C) | FAILED (D)]
150
+ Actions:
151
+ - Grep các mẫu vi phạm:
152
+ - Empty catch blocks / Silent error suppression.
153
+ - `as any` hoặc `@ts-ignore` tràn lan.
154
+ - Console.log / print debug bị bỏ quên.
155
+ - Magic strings / Magic numbers trong logic điều kiện.
156
+ - Kiểm tra tính gắn kết của modules (Cohesion & Coupling).
157
+ Outputs: Bảng thống kê các lỗi Code Smell theo mức độ nghiêm trọng
527
158
  ```
528
159
 
529
- ---
530
-
531
- ## Exit Codes
532
- | Code | Meaning | When |
533
- |------|---------|------|
534
- | SUCCESS | Audit completed and report generated with scores | Normal completion |
535
- | PARTIAL | Audit completed but some directories skipped (token limit) | Large project |
536
- | BLOCKED | Project is empty or completely unreadable | Missing project |
537
- | FAILED | Cannot calculate score due to tool failure | Linter crashed |
538
-
539
- ---
540
-
541
- ## Confidence Model
542
- | Level | Condition | Action |
543
- |-------|-----------|--------|
544
- | HIGH | Analyzed via AST, linters, or exhaustive search | Include in report as fact |
545
- | MEDIUM | Sampled a few files, assumed pattern holds | Note as "Project trend" |
546
- | LOW | Did not check | Do NOT include in report |
547
-
548
- ---
549
-
550
- ## Severity
551
- | Level | Definition | Example |
552
- |-------|-----------|---------|
553
- | CRITICAL | Security flaw or completely broken architecture | API keys committed, cyclical dependency |
554
- | HIGH | Major tech debt slowing down development | God objects, missing tests on core logic |
555
- | MEDIUM | Inconsistent patterns | Mixing fetch/axios, tabs/spaces |
556
- | LOW | Minor code smell | Magic numbers in UI |
557
-
558
- ---
160
+ ### Step 3 — Chấm điểm Health Score định lượng (Rubric 0–100)
161
+ ```
162
+ Cách tính điểm:
163
+ 100 Điểm Gốc
164
+ - Trừ 2đ cho mỗi God file (>300 lines) (Max trừ 20đ).
165
+ - Trừ cho mỗi hàm quá dài (>40 lines) (Max trừ 15đ).
166
+ - Trừ cho mỗi vi phạm Silent error hoặc IDOR/Any (Max trừ 20đ).
167
+ - Trừ nếu thiếu hoàn toàn Unit test hoặc cấu trúc phân tầng bị đảo lộn (Max trừ 25đ).
168
+ - Trừ cho mỗi block logic trùng lặp ràng (Max trừ 20đ).
169
+ Outputs: Điểm số Health Score (Ví dụ: 74/100)
170
+ ```
559
171
 
560
- ## Retry Policy
172
+ ### Step 4 — Lập Báo cáo Kiểm toán & Lộ trình Cải tiến
561
173
  ```
562
- Audit fails
563
- └─ Token limit hit (project too large)
564
- ├─ Ask user to narrow scope (e.g., audit only src/api/)
565
- └─ Do NOT auto-retry full project scan
174
+ Format báo cáo:
175
+ 1. HEALTH SCORE: XX/100 (Rating: Critical / Warning / Good / Excellent)
176
+ 2. EXECUTIVE SUMMARY: 3 điểm mạnh & 3 vấn đề lớn nhất.
177
+ 3. HOTSPOT AUDIT: Bảng danh sách files & lines cần xử lý.
178
+ 4. ACTIONABLE ROADMAP:
179
+ - [P0] Fix ngay: Các điểm nghẽn nghiêm trọng có nguy cơ gây crash/leak.
180
+ - [P1] Sprint tới: Tách God files và hàm phức tạp (gợi ý dùng `qk-refactor`).
181
+ - [P2] Tech debt backlog: Dọn dẹp magic constants và dead code.
566
182
  ```
567
183
 
568
184
  ---
569
185
 
570
- ## Escalation Rules
186
+ ## Prompt Template
187
+
571
188
  ```
572
- BLOCKED: Project unreadable or empty
573
- Missing:
574
- - Source code
575
- Questions:
576
- 1. Thư mục mã nguồn chính nằm ở đâu? (ví dụ: src/, lib/)
577
- Recommended Assumptions:
578
- - Scan typical directories (src, app, lib, test)
189
+ Scope: [Toàn bộ dự án / Thư mục src/services / Module checkout]
190
+ Trọng tâm: [Đo lường nợ kỹ thuật / Chuẩn bị refactor lớn / Đánh giá code định kỳ]
191
+ Ngưỡng mong muốn: [Muốn đạt tối thiểu bao nhiêu điểm]
579
192
  ```
580
193
 
581
- ---
194
+ ### Ví dụ theo Nhu cầu:
582
195
 
583
- ## Handoff Contract
584
- ### Consumes
585
- ```json
586
- {
587
- "from": "user",
588
- "required_fields": [],
589
- "optional_fields": ["target_directory"]
590
- }
196
+ **Audit toàn diện dự án chuẩn bị mở rộng tính năng**
591
197
  ```
592
- ### Produces
593
- ```json
594
- {
595
- "to": "user or qk-system-evolution",
596
- "output_fields": ["health_score", "critical_issues", "refactoring_roadmap", "exit_code"]
597
- }
198
+ Scope: Toàn bộ repo
199
+ Trọng tâm: Tìm các file có độ phức tạp cao và kiến trúc lộn xộn trước khi scale.
598
200
  ```
599
-
600
- ---
201
+ → AI quét toàn bộ source code, xuất báo cáo Health Score kèm danh sách Top 5 God Files cần tách trước khi implement tính năng mới.
601
202