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-docs
4
- version: 9.1.0
4
+ version: 9.2.0
5
5
  status: stable
6
- description: "Viết và duy trì tài liệu chính xác tuyệt đốiphải match code thực tế, cấm bịa đặt."
6
+ description: "Khởi tạo và duy trì tài liệu kỹ thuật chuẩn xác README, API docs, architecture guides, JSDoc/Docstrings cam kết đồng bộ 100% với code thực tế, không bịa đặt. Dùng skill này khi user nhắc đến: viết docs, tài liệu, readme, document, jsdoc, swagger, viết hướng dẫn, tài liệu api — kể cả khi chỉ nói 'viết hướng dẫn cài đặt và chạy project này'."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
9
  # ── V9: Classification ─────────────────────────────────────
@@ -21,34 +21,39 @@ complexity:
21
21
  has_external_dependency: false
22
22
  has_breaking_change: false
23
23
 
24
- triggers:
25
- - "viết docs"
26
- - "viết tài liệu"
27
- - "document this"
28
- - "generate docs"
29
- - "cập nhật readme"
24
+ triggers:
25
+ - "viết docs"
26
+ - "tài liệu"
27
+ - "readme"
28
+ - "document"
29
+ - "jsdoc"
30
+ - "swagger"
31
+ - "viết hướng dẫn"
32
+ - "tài liệu api"
33
+
30
34
 
31
35
  # ── V8: References ─────────────────────────────────────────
32
36
  workflow: documentation
33
37
 
34
38
  rules:
35
39
  - global
40
+ - coding
36
41
 
37
42
  tools:
38
43
  - filesystem
39
44
  - terminal
40
45
 
41
46
  related_skills:
42
- - qk-engineering-standard
47
+ - qk-project-memory
48
+ - qk-api-lifecycle
43
49
 
44
50
  knowledge_scope:
45
51
  owns:
46
52
  - code-documentation
47
53
  - architecture-docs
54
+ - api-documentation
48
55
  references:
49
56
  - source-code
50
- - security
51
- - anti-patterns
52
57
 
53
58
  # ── V8: Verification ───────────────────────────────────────
54
59
  verification:
@@ -68,532 +73,121 @@ cost: low
68
73
  latency: fast
69
74
  risk: low
70
75
  side_effects: edit_files
71
- produces: [report]
76
+ produces: [docs, report]
72
77
  consumes: [source-code]
73
78
 
74
79
  token_budget:
75
- max_files_read: 3
76
- max_lines_per_read: 100
77
- max_shell_commands: 0
80
+ max_files_read: 6
81
+ max_lines_per_read: 150
82
+ max_shell_commands: 1
78
83
  stop_early: true
79
84
 
80
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
85
+ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
81
86
  ---
82
87
 
83
- # qk-docs — Technical Writer & Documentation Maintainer
88
+ # qk-docs — Technical Writer & Documentation Guardian
84
89
 
85
90
  > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
86
91
 
92
+ Chịu trách nhiệm khởi tạo, nâng cấp và đồng bộ tài liệu kỹ thuật trong dự án. **Nguyên tắc cốt lõi: Tài liệu PHẢI phản ánh chính xác 100% code thực tế — cấm bịa đặt, cấm suy đoán tham số hay lệnh chạy.**
93
+
87
94
  ---
88
95
 
89
- ## Memory Workflow
90
-
91
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
92
- - 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:
93
- - **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.
94
- - **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.
95
-
96
- ---
97
-
98
- ### Pre-flight Retrieve (Trước khi thực thi)
99
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
100
- bắt buộc tra cứu:
101
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
102
-
103
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
104
- - Architecture
105
- - Hard Bug
106
- - Convention
107
- - Pattern
108
- - Tech Debt Pattern
109
- - 👉 *Domain Focus:* Convention (vd: chuẩn cấu trúc tài liệu, ngôn ngữ giải thích Tiếng Việt / Code Tiếng Anh).
110
-
111
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
112
- Không được xem Memory là Source of Truth.
113
- 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.
114
-
115
- ---
116
-
117
- ### Learning Flow (AI tự học có kiểm soát)
118
- - 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:
119
- - Hard Bug có khả năng tái diễn.
120
- - Pattern làm việc lặp lại trong dự án.
121
- - Convention hoặc quy tắc kiến trúc mới.
122
- - Quyết định Architecture quan trọng.
123
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
124
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
125
-
126
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
127
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
128
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
129
-
130
- ---
131
-
132
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
133
- Sau khi hoàn thành task:
134
- - AI đánh giá các Candidate Memory đã tạo.
135
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
136
- - Đề xuất người dùng xem xét.
137
- - Gửi yêu cầu phê duyệt thông qua:
138
- - `/learn`
139
- - `qk-project-memory`
140
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
141
-
142
- ```
143
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
144
- ```
145
-
146
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
147
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
148
-
149
- ---
150
-
151
- ### Ignore (Không đưa vào Memory)
152
- Không lưu:
153
- - Trace log của một session đơn lẻ.
154
- - Temporary debugging data.
155
- - Output của một lần chạy test/scan.
156
- - Report health tạm thời của một đợt kiểm tra.
157
- - Lỗi nhỏ chỉ xảy ra một lần.
158
- - Thông tin không có khả năng tái sử dụng.
159
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
160
-
161
- ---
162
-
163
- ### Golden Rule
164
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
165
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
166
-
167
- ---
168
-
169
-
170
-
171
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
172
- - 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:
173
- - **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.
174
- - **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.
175
-
176
- ---
177
-
178
- ### Pre-flight Retrieve (Trước khi thực thi)
179
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
180
- bắt buộc tra cứu:
181
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
182
-
183
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
184
- - Architecture
185
- - Hard Bug
186
- - Convention
187
- - Pattern
188
- - Tech Debt Pattern
189
- - 👉 *Domain Focus:* Convention (vd: chuẩn cấu trúc tài liệu, ngôn ngữ giải thích Tiếng Việt / Code Tiếng Anh).
190
-
191
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
192
- Không được xem Memory là Source of Truth.
193
- 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.
194
-
195
- ---
196
-
197
- ### Learning Flow (AI tự học có kiểm soát)
198
- - 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:
199
- - Hard Bug có khả năng tái diễn.
200
- - Pattern làm việc lặp lại trong dự án.
201
- - Convention hoặc quy tắc kiến trúc mới.
202
- - Quyết định Architecture quan trọng.
203
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
204
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
205
-
206
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
207
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
208
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
209
-
210
- ---
211
-
212
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
213
- Sau khi hoàn thành task:
214
- - AI đánh giá các Candidate Memory đã tạo.
215
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
216
- - Đề xuất người dùng xem xét.
217
- - Gửi yêu cầu phê duyệt thông qua:
218
- - `/learn`
219
- - `qk-project-memory`
220
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
221
-
222
- ```
223
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
224
- ```
225
-
226
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
227
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
228
-
229
- ---
230
-
231
- ### Ignore (Không đưa vào Memory)
232
- Không lưu:
233
- - Trace log của một session đơn lẻ.
234
- - Temporary debugging data.
235
- - Output của một lần chạy test/scan.
236
- - Report health tạm thời của một đợt kiểm tra.
237
- - Lỗi nhỏ chỉ xảy ra một lần.
238
- - Thông tin không có khả năng tái sử dụng.
239
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
240
-
241
- ---
242
-
243
- ### Golden Rule
244
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
245
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
246
-
247
- ---
248
-
249
-
250
-
251
- ### Pre-flight Retrieve (Trước khi thực thi)
252
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
253
- bắt buộc tra cứu:
254
- - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
255
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
256
-
257
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
258
- - Architecture
259
- - Hard Bug
260
- - Convention
261
- - Pattern
262
- - Tech Debt Pattern
263
- - 👉 *Domain Focus:* Convention (vd: chuẩn cấu trúc tài liệu, ngôn ngữ giải thích Tiếng Việt / Code Tiếng Anh).
264
-
265
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
266
- Không được xem Memory là Source of Truth.
267
- 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.
268
-
269
- ---
270
-
271
- ### Learning Flow (AI tự học có kiểm soát)
272
- - 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:
273
- - Hard Bug có khả năng tái diễn.
274
- - Pattern làm việc lặp lại trong dự án.
275
- - Convention hoặc quy tắc kiến trúc mới.
276
- - Quyết định Architecture quan trọng.
277
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
278
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
279
-
280
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
281
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
282
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
283
-
284
- ---
285
-
286
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
287
- Sau khi hoàn thành task:
288
- - AI đánh giá các Candidate Memory đã tạo.
289
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
290
- - Đề xuất người dùng xem xét.
291
- - Gửi yêu cầu phê duyệt thông qua:
292
- - `/learn`
293
- - `qk-project-memory`
294
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
295
-
296
- ```
297
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
298
- ```
299
-
300
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
301
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
302
-
303
- ---
304
-
305
- ### Ignore (Không đưa vào Memory)
306
- Không lưu:
307
- - Trace log của một session đơn lẻ.
308
- - Temporary debugging data.
309
- - Output của một lần chạy test/scan.
310
- - Report health tạm thời của một đợt kiểm tra.
311
- - Lỗi nhỏ chỉ xảy ra một lần.
312
- - Thông tin không có khả năng tái sử dụng.
313
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
314
-
315
- ---
316
-
317
- ### Golden Rule
318
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
319
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
320
-
321
- ---
322
- ---
323
-
324
- ### Learning Flow (AI tự học có kiểm soát)
325
- - 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:
326
- - Hard Bug có khả năng tái diễn.
327
- - Pattern làm việc lặp lại trong dự án.
328
- - Convention hoặc quy tắc kiến trúc mới.
329
- - Quyết định Architecture quan trọng.
330
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
331
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
332
-
333
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
334
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
335
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
336
-
337
- ---
338
-
339
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
340
- Sau khi hoàn thành task:
341
- - AI đánh giá các Candidate Memory đã tạo.
342
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
343
- - Đề xuất người dùng xem xét.
344
- - Gửi yêu cầu phê duyệt thông qua:
345
- - `/learn`
346
- - `qk-project-memory`
347
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
348
-
349
- ```
350
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
351
- ```
352
-
353
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
354
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
355
-
356
- ---
357
-
358
- ### Ignore (Không đưa vào Memory)
359
- Không lưu:
360
- - Trace log của một session đơn lẻ.
361
- - Temporary debugging data.
362
- - Output của một lần chạy test/scan.
363
- - Report health tạm thời của một đợt kiểm tra.
364
- - Lỗi nhỏ chỉ xảy ra một lần.
365
- - Thông tin không có khả năng tái sử dụng.
366
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
367
-
368
- ---
369
-
370
- ### Golden Rule
371
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
372
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
373
-
374
- ---
375
- ---
376
-
377
- ### Learning Flow (AI tự học có kiểm soát)
378
- - 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:
379
- - Hard Bug có khả năng tái diễn.
380
- - Pattern làm việc lặp lại trong dự án.
381
- - Convention hoặc quy tắc kiến trúc mới.
382
- - Quyết định Architecture quan trọng.
383
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
384
- - 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
385
-
386
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
387
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
388
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
389
-
390
- ---
391
-
392
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
393
- Sau khi hoàn thành task:
394
- - AI đánh giá các Candidate Memory đã tạo.
395
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
396
- - Đề xuất người dùng xem xét.
397
- - Gửi yêu cầu phê duyệt thông qua:
398
- - `/learn`
399
- - `qk-project-memory`
400
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
401
-
402
- ```
403
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
404
- ```
405
-
406
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
407
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
408
-
409
- ---
410
-
411
- ### Ignore (Không đưa vào Memory)
412
- Không lưu:
413
- - Trace log của một session đơn lẻ.
414
- - Temporary debugging data.
415
- - Output của một lần chạy test/scan.
416
- - Report health tạm thời của một đợt kiểm tra.
417
- - Lỗi nhỏ chỉ xảy ra một lần.
418
- - Thông tin không có khả năng tái sử dụng.
419
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
420
-
421
- ---
422
-
423
- ### Golden Rule
424
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
425
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
426
-
427
- ---
428
- ---
429
- ---
430
- ---
431
-
432
96
  ## Preconditions
433
- - [ ] Target code file or module is specified
434
97
 
435
- ```
436
- On missing precondition:
437
- EXIT: BLOCKED
438
- Message: "Chỉ định file cần viết docs."
439
- ```
98
+ Trước khi viết hoặc sửa tài liệu, AI BẮT BUỘC:
99
+
100
+ - [ ] Xác định rõ đối tượng độc giả và mục đích tài liệu:
101
+ - Developer Onboarding `README.md`
102
+ - Client / Frontend Consumer → `API docs` / OpenAPI / Swagger
103
+ - Kỹ sư nội bộ → Architecture Decision Records (ADR) hoặc Code Docstrings
104
+ - [ ] Đọc trực tiếp file mã nguồn liên quan (đọc `package.json` để lấy scripts thật, đọc `.env.example` để lấy biến môi trường thật, đọc interface/DTO để lấy payload thật).
105
+ - [ ] Nếu mã nguồn chưa được triển khai hoặc thông tin nghiệp vụ chưa rõ:
106
+ → **EXIT: BLOCKED**
107
+ → Yêu cầu: "Vui lòng implement code hoặc cung cấp đặc tả trước khi lập tài liệu."
440
108
 
441
109
  ---
442
110
 
443
111
  ## Scope
444
- - ✅ Document ONLY what exists in code — never invent params/behavior
445
- - ✅ Update docs whenever corresponding code changes
446
- - ✅ Use living documentation (JSDoc/TSDoc/Swagger) over isolated Markdown
447
-
448
- ## Non-Goals
449
- - ❌ Guess API params not in the code
450
- - ❌ Write generic/useless comments (`// gets the user`)
451
- - ❌ Write docs for code that hasn't been read yet
452
112
 
453
- ---
113
+ ✅ Skill này làm:
114
+ - Viết/cập nhật `README.md` chuẩn công nghiệp: Giới thiệu ngắn gọn, Architecture overview, Yêu cầu môi trường (Node, Go, Python, Docker), Hướng dẫn cài đặt, Cấu hình biến môi trường, Các lệnh chạy thường dùng (dev, test, build, lint).
115
+ - Viết tài liệu API: Bảng endpoints, Headers, Request Body, Response Shapes (200, 400, 401, 403, 500) và Curl examples có thể copy-paste chạy thật.
116
+ - Bổ sung JSDoc / TSDoc / Docstrings cho các hàm xử lý nghiệp vụ phức tạp, public SDK methods hoặc utility functions.
117
+ - Soạn thảo Architecture Decision Records (ADR) khi có quyết định kỹ thuật lớn.
454
118
 
455
- ## Priority Order
456
- | P | Task | Skip Threshold |
457
- |---|------|----------------|
458
- | P1 | Read source code first (never write before reading) | Never |
459
- | P2 | Document public API (exported functions/classes) | Never |
460
- | P3 | Document complex logic with WHY (not WHAT) | Budget < 40% |
461
- | P4 | Update README if public interface changed | Budget < 60% |
119
+ Skill này KHÔNG làm:
120
+ - Thay đổi logic thực thi của mã nguồn (`side_effects: edit_files` chỉ áp dụng cho files `.md` hoặc docstrings comments).
121
+ - Viết tài liệu dài dòng dạng lý thuyết suông không áp dụng được.
122
+ - Bịa đặt các endpoints, env vars hoặc test credentials không tồn tại.
462
123
 
463
124
  ---
464
125
 
465
- ## Workflow
466
-
467
- ### Phase 1 — Read Code
468
- 1. `view_file[targeted]` — read function/class signatures
469
- 2. Identify: params, return type, side effects, error cases
126
+ ## Execution Steps
470
127
 
471
- **Decision:** `IF code is not readable EXIT: BLOCKED read code first`
472
-
473
- ### Phase 2 — Write Documentation
474
- 1. JSDoc/TSDoc format for functions: `@param`, `@returns`, `@throws`
475
- 2. Comment: WHY (not WHAT) — code already shows what
476
- 3. Example usage for complex APIs
477
-
478
- ### Phase 3 — Verify Accuracy
479
- 1. Re-read written docs vs code → spot check each param name
480
-
481
- **Decision:**
128
+ ### Step 1 Khảo sát nguồn Thật (Source of Truth Audit)
482
129
  ```
483
- IF docs match code exactly → EXIT: SUCCESS
484
- IF any param name or type mismatch → fix immediately
130
+ Inputs: Source files, manifest, config files
131
+ Actions:
132
+ - Nếu viết README: Đọc `package.json` (dependencies, scripts), đọc `.env.example`, đọc Dockerfile.
133
+ - Nếu viết API docs: Đọc route handlers, schema validators (Zod/Joi/Pydantic/DTOs).
134
+ - Trích xuất: Port mặc định, Auth headers, format ngày tháng, error responses.
135
+ Outputs: Bảng thông số kỹ thuật đã kiểm chứng
485
136
  ```
486
137
 
487
- ---
488
-
489
- ## Documentation Templates
490
-
491
- ### Function (JSDoc)
492
- ```typescript
493
- /**
494
- * [One sentence — what it does and WHY it exists]
495
- *
496
- * @param {Type} paramName - [description]
497
- * @returns {Type} [description of return value]
498
- * @throws {ErrorType} [when this error is thrown]
499
- * @example
500
- * const result = functionName(arg);
501
- */
138
+ ### Step 2 — Lập cấu trúc tài liệu theo tiêu chuẩn
502
139
  ```
503
-
504
- ### README Section
505
- ```markdown
506
- ## [Feature Name]
507
- [What it does user-facing description]
508
-
509
- ### Usage
510
- [Code example]
511
-
512
- ### Configuration
513
- | Option | Type | Default | Description |
140
+ Tiêu chuẩn trình bày:
141
+ - Heading phân cấp rõ ràng (`#`, `##`, `###`).
142
+ - Dùng bảng (Markdown tables) cho env vars, API params, status codes.
143
+ - Code block luôn có tag ngôn ngữ (`bash`, `ts`, `json`, `yaml`).
144
+ - Cung cấp lệnh CLI cụ thể và kết quả mong đợi.
514
145
  ```
515
146
 
516
- ---
517
-
518
- ## Evidence Format
147
+ ### Step 3 — Soạn thảo nội dung (Drafting)
519
148
  ```
520
- [SEVERITY] path/to/file.ts:LINE
521
- Issue: [MISSING_PARAM | WRONG_TYPE | STALE_DOC | GENERIC_COMMENT]
522
- Confidence: HIGH
523
- Fix: [specific correction]
149
+ Quy tắc hành văn:
150
+ - Ngắn gọn, trực diện, hướng hành động (action-oriented).
151
+ - Định dạng cảnh báo theo GitHub Alerts (`> [!IMPORTANT]`, `> [!WARNING]`).
152
+ - Hướng dẫn troubleshooting cho các lỗi cài đặt thường gặp.
524
153
  ```
525
154
 
526
- ---
527
-
528
- ## Exit Codes
529
- | Code | Meaning | When |
530
- |------|---------|------|
531
- | SUCCESS | Docs written and verified against source code | Execution complete |
532
- | PARTIAL | Docs written but some parts inferred (not verified) | MEDIUM confidence |
533
- | BLOCKED | Target source file missing or inaccessible | Cannot read source |
534
- | FAILED | Documentation fundamentally misrepresents the code | Gross error |
535
-
536
- ---
537
-
538
- ## Confidence Model
539
- | Level | Condition | Action |
540
- |-------|-----------|--------|
541
- | HIGH | Target code read, behavior understood | Write docs definitively |
542
- | MEDIUM | Target code too large, inferred from types/tests | Write with disclaimer |
543
- | LOW | "Write docs for this feature" without pointing to code | EXIT: BLOCKED |
155
+ ### Step 4 — Verification & Fact-check
156
+ ```
157
+ Actions:
158
+ - Đối chiếu từng biến môi trường trong tài liệu với code thực tế.
159
+ - Chạy thử lệnh build/test (dry-run) nếu cần xác nhận.
160
+ - Kiểm tra các link nội bộ trong repo (không để link chết).
161
+ ```
544
162
 
545
163
  ---
546
164
 
547
- ## Severity
548
- | Level | Definition | Example |
549
- |-------|-----------|---------|
550
- | CRITICAL | Docs instruct user to do something dangerous, bypass auth, or expose secrets | Documenting destructive API without warnings, or writing guides to call internal APIs unauthenticated |
551
- | HIGH | API params documented incorrectly | Says string instead of object |
552
- | MEDIUM | Missing docs for edge cases | Doesn't explain error throws |
553
- | LOW | Typo or poor formatting | Misaligned markdown table |
554
-
555
- ---
165
+ ## Prompt Template
556
166
 
557
- ## Retry Policy
558
167
  ```
559
- Doc verification fails
560
- └─ Target code changed during doc writing
561
- ├─ Re-read target code
562
- └─ Do NOT retry more than 1 time
168
+ Loại tài liệu: [README / API Reference / Architecture Doc / JSDoc]
169
+ Scope: [Toàn bộ repo / Module payments / Component Button]
170
+ Độc giả: [New developer / Frontend dev / External partner]
171
+ Yêu cầu đặc biệt:[Kèm curl mẫu / giải thích env vars / sơ đồ luồng]
563
172
  ```
564
173
 
565
- ---
174
+ ### Ví dụ theo nhu cầu:
566
175
 
567
- ## Escalation Rules
176
+ **Viết README cho Fullstack Web App**
568
177
  ```
569
- BLOCKED: Target source file missing
570
- Missing:
571
- - Exact path to the code that needs documenting
572
- Questions:
573
- 1. File code nào bạn muốn viết doc? (Xin đường dẫn)
574
- 2. Mục tiêu của doc này là cho user hay cho developer nội bộ?
575
- Recommended Assumptions:
576
- - Developer-facing JSDoc if inside source files
178
+ Loại tài liệu: README.md
179
+ Scope: Toàn bộ repo (Next.js + Prisma + PostgreSQL)
180
+ Độc giả: Developer mới vào dự án
577
181
  ```
182
+ → AI đọc `package.json`, `.env.example`, `schema.prisma`.
183
+ → AI tạo `README.md` gồm: Quickstart 3 bước (install, migrate, dev), bảng biến môi trường bắt buộc, tài liệu các lệnh test/lint, kiến trúc thư mục.
578
184
 
579
- ---
580
-
581
- ## Handoff Contract
582
- ### Consumes
583
- ```json
584
- {
585
- "from": "user",
586
- "required_fields": ["target_file", "doc_type"],
587
- "optional_fields": ["context"]
588
- }
185
+ **Viết API Docs cho Endpoint Đặt hàng**
589
186
  ```
590
- ### Produces
591
- ```json
592
- {
593
- "to": "user",
594
- "output_fields": ["updated_files", "exit_code"]
595
- }
187
+ Loại tài liệu: API Reference
188
+ Scope: POST /api/v1/orders
189
+ Độc giả: Mobile App Developer
596
190
  ```
597
-
598
- ---
191
+ → AI đọc controller + validation schema.
192
+ → AI tạo Markdown: Headers (`Authorization: Bearer <token>`), Request JSON schema kèm chú thích kiểu dữ liệu, Bảng response codes (201 Created, 400 Bad Request kèm chi tiết lỗi validation, 401 Unauthorized), Curl command mẫu hoàn chỉnh.
599
193