ai-developer-skill-os 9.1.1 → 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 +52 -18
  5. package/.agents/registry/index.yaml +66 -12
  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 -300
  10. package/.agents/skills/qk-access-policy/SKILL.md +98 -393
  11. package/.agents/skills/qk-agent-observability/SKILL.md +3 -359
  12. package/.agents/skills/qk-ai-builder/SKILL.md +132 -485
  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 -376
  17. package/.agents/skills/qk-bug-resolution/SKILL.md +128 -481
  18. package/.agents/skills/qk-code-review/SKILL.md +142 -340
  19. package/.agents/skills/qk-context-loader/SKILL.md +99 -391
  20. package/.agents/skills/qk-data-engineer/SKILL.md +253 -0
  21. package/.agents/skills/qk-data-lifecycle/SKILL.md +89 -408
  22. package/.agents/skills/qk-db-optimizer/SKILL.md +102 -408
  23. package/.agents/skills/qk-design-system-engineering/SKILL.md +76 -381
  24. package/.agents/skills/qk-devops-platform/SKILL.md +77 -383
  25. package/.agents/skills/qk-docs/SKILL.md +88 -414
  26. package/.agents/skills/qk-engineering-standard/SKILL.md +4 -508
  27. package/.agents/skills/qk-fe-api-integration/SKILL.md +343 -263
  28. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -29
  29. package/.agents/skills/qk-feature-delivery/SKILL.md +137 -365
  30. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  31. package/.agents/skills/qk-frontend-architecture/SKILL.md +5 -399
  32. package/.agents/skills/qk-help/evals/scorecard.yaml +13 -13
  33. package/.agents/skills/qk-orchestrator/SKILL.md +63 -422
  34. package/.agents/skills/qk-orchestrator/references/routing-table.md +10 -14
  35. package/.agents/skills/qk-product-specification/SKILL.md +70 -399
  36. package/.agents/skills/qk-production-release/SKILL.md +80 -457
  37. package/.agents/skills/qk-project-audit/SKILL.md +174 -0
  38. package/.agents/skills/qk-project-bootstrap/SKILL.md +244 -392
  39. package/.agents/skills/qk-project-health/SKILL.md +97 -416
  40. package/.agents/skills/qk-project-memory/SKILL.md +76 -21
  41. package/.agents/skills/qk-refactor/SKILL.md +167 -304
  42. package/.agents/skills/qk-security-audit/SKILL.md +141 -383
  43. package/.agents/skills/qk-security-audit/capability.yaml +1 -2
  44. package/.agents/skills/qk-system-evolution/SKILL.md +343 -263
  45. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -26
  46. package/.agents/skills/qk-test-engineering/SKILL.md +119 -429
  47. package/.agents/skills/qk-ui-audit/SKILL.md +73 -457
  48. package/.agents/skills/qk-ui-builder/SKILL.md +521 -482
  49. package/.agents/skills/qk-ui-system-builder/SKILL.md +68 -434
  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 -523
  54. package/.agents/skills/qk-web-quality-gate/SKILL.md +85 -383
  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,452 +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
- ### Pre-flight Retrieve (Trước khi thực thi)
172
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
173
- bắt buộc tra cứu:
174
- - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
175
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
176
-
177
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
178
- - Architecture
179
- - Hard Bug
180
- - Convention
181
- - Pattern
182
- - Tech Debt Pattern
183
- - 👉 *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).
184
-
185
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
186
- Không được xem Memory là Source of Truth.
187
- 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.
188
-
189
- ---
190
-
191
- ### Learning Flow (AI tự học có kiểm soát)
192
- - 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:
193
- - Hard Bug có khả năng tái diễn.
194
- - Pattern làm việc lặp lại trong dự án.
195
- - Convention hoặc quy tắc kiến trúc mới.
196
- - Quyết định Architecture quan trọng.
197
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
198
- - 👉 *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).
199
-
200
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
201
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
202
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
203
-
204
- ---
205
-
206
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
207
- Sau khi hoàn thành task:
208
- - AI đánh giá các Candidate Memory đã tạo.
209
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
210
- - Đề xuất người dùng xem xét.
211
- - Gửi yêu cầu phê duyệt thông qua:
212
- - `/learn`
213
- - `qk-project-memory`
214
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
215
-
216
- ```
217
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
218
- ```
219
-
220
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
221
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
222
-
223
- ---
224
-
225
- ### Ignore (Không đưa vào Memory)
226
- Không lưu:
227
- - Trace log của một session đơn lẻ.
228
- - Temporary debugging data.
229
- - Output của một lần chạy test/scan.
230
- - Report health tạm thời của một đợt kiểm tra.
231
- - Lỗi nhỏ chỉ xảy ra một lần.
232
- - Thông tin không có khả năng tái sử dụng.
233
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
234
-
235
- ---
236
-
237
- ### Golden Rule
238
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
239
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
240
-
241
- ---
242
- ---
243
-
244
- ### Learning Flow (AI tự học có kiểm soát)
245
- - 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:
246
- - Hard Bug có khả năng tái diễn.
247
- - Pattern làm việc lặp lại trong dự án.
248
- - Convention hoặc quy tắc kiến trúc mới.
249
- - Quyết định Architecture quan trọng.
250
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
251
- - 👉 *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).
252
-
253
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
254
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
255
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
256
-
257
- ---
258
-
259
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
260
- Sau khi hoàn thành task:
261
- - AI đánh giá các Candidate Memory đã tạo.
262
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
263
- - Đề xuất người dùng xem xét.
264
- - Gửi yêu cầu phê duyệt thông qua:
265
- - `/learn`
266
- - `qk-project-memory`
267
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
268
-
269
- ```
270
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
271
- ```
272
-
273
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
274
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
275
-
276
- ---
277
-
278
- ### Ignore (Không đưa vào Memory)
279
- Không lưu:
280
- - Trace log của một session đơn lẻ.
281
- - Temporary debugging data.
282
- - Output của một lần chạy test/scan.
283
- - Report health tạm thời của một đợt kiểm tra.
284
- - Lỗi nhỏ chỉ xảy ra một lần.
285
- - Thông tin không có khả năng tái sử dụng.
286
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
287
-
288
- ---
289
-
290
- ### Golden Rule
291
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
292
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
293
-
294
- ---
295
- ---
296
-
297
- ### Learning Flow (AI tự học có kiểm soát)
298
- - 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:
299
- - Hard Bug có khả năng tái diễn.
300
- - Pattern làm việc lặp lại trong dự án.
301
- - Convention hoặc quy tắc kiến trúc mới.
302
- - Quyết định Architecture quan trọng.
303
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
304
- - 👉 *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).
305
-
306
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
307
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
308
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
309
-
310
- ---
311
-
312
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
313
- Sau khi hoàn thành task:
314
- - AI đánh giá các Candidate Memory đã tạo.
315
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
316
- - Đề xuất người dùng xem xét.
317
- - Gửi yêu cầu phê duyệt thông qua:
318
- - `/learn`
319
- - `qk-project-memory`
320
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
321
-
322
- ```
323
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
324
- ```
325
-
326
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
327
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
328
-
329
- ---
330
-
331
- ### Ignore (Không đưa vào Memory)
332
- Không lưu:
333
- - Trace log của một session đơn lẻ.
334
- - Temporary debugging data.
335
- - Output của một lần chạy test/scan.
336
- - Report health tạm thời của một đợt kiểm tra.
337
- - Lỗi nhỏ chỉ xảy ra một lần.
338
- - Thông tin không có khả năng tái sử dụng.
339
- - 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
340
-
341
- ---
342
-
343
- ### Golden Rule
344
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
345
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
346
-
347
- ---
348
- ---
349
- ---
350
- ---
351
-
352
96
  ## Preconditions
353
- - [ ] Target code file or module is specified
354
97
 
355
- ```
356
- On missing precondition:
357
- EXIT: BLOCKED
358
- Message: "Chỉ định file cần viết docs."
359
- ```
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."
360
108
 
361
109
  ---
362
110
 
363
111
  ## Scope
364
- - ✅ Document ONLY what exists in code — never invent params/behavior
365
- - ✅ Update docs whenever corresponding code changes
366
- - ✅ Use living documentation (JSDoc/TSDoc/Swagger) over isolated Markdown
367
112
 
368
- ## Non-Goals
369
- - Guess API params not in the code
370
- - Write generic/useless comments (`// gets the user`)
371
- - Write docs for code that hasn't been read yet
372
-
373
- ---
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.
374
118
 
375
- ## Priority Order
376
- | P | Task | Skip Threshold |
377
- |---|------|----------------|
378
- | P1 | Read source code first (never write before reading) | Never |
379
- | P2 | Document public API (exported functions/classes) | Never |
380
- | P3 | Document complex logic with WHY (not WHAT) | Budget < 40% |
381
- | 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.
382
123
 
383
124
  ---
384
125
 
385
- ## Workflow
386
-
387
- ### Phase 1 — Read Code
388
- 1. `view_file[targeted]` — read function/class signatures
389
- 2. Identify: params, return type, side effects, error cases
390
-
391
- **Decision:** `IF code is not readable → EXIT: BLOCKED — read code first`
392
-
393
- ### Phase 2 — Write Documentation
394
- 1. JSDoc/TSDoc format for functions: `@param`, `@returns`, `@throws`
395
- 2. Comment: WHY (not WHAT) — code already shows what
396
- 3. Example usage for complex APIs
397
-
398
- ### Phase 3 — Verify Accuracy
399
- 1. Re-read written docs vs code → spot check each param name
126
+ ## Execution Steps
400
127
 
401
- **Decision:**
128
+ ### Step 1 — Khảo sát Mã nguồn Thật (Source of Truth Audit)
402
129
  ```
403
- IF docs match code exactly → EXIT: SUCCESS
404
- 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
405
136
  ```
406
137
 
407
- ---
408
-
409
- ## Documentation Templates
410
-
411
- ### Function (JSDoc)
412
- ```typescript
413
- /**
414
- * [One sentence — what it does and WHY it exists]
415
- *
416
- * @param {Type} paramName - [description]
417
- * @returns {Type} [description of return value]
418
- * @throws {ErrorType} [when this error is thrown]
419
- * @example
420
- * const result = functionName(arg);
421
- */
138
+ ### Step 2 — Lập cấu trúc tài liệu theo tiêu chuẩn
422
139
  ```
423
-
424
- ### README Section
425
- ```markdown
426
- ## [Feature Name]
427
- [What it does user-facing description]
428
-
429
- ### Usage
430
- [Code example]
431
-
432
- ### Configuration
433
- | 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.
434
145
  ```
435
146
 
436
- ---
437
-
438
- ## Evidence Format
147
+ ### Step 3 — Soạn thảo nội dung (Drafting)
439
148
  ```
440
- [SEVERITY] path/to/file.ts:LINE
441
- Issue: [MISSING_PARAM | WRONG_TYPE | STALE_DOC | GENERIC_COMMENT]
442
- Confidence: HIGH
443
- 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.
444
153
  ```
445
154
 
446
- ---
447
-
448
- ## Exit Codes
449
- | Code | Meaning | When |
450
- |------|---------|------|
451
- | SUCCESS | Docs written and verified against source code | Execution complete |
452
- | PARTIAL | Docs written but some parts inferred (not verified) | MEDIUM confidence |
453
- | BLOCKED | Target source file missing or inaccessible | Cannot read source |
454
- | FAILED | Documentation fundamentally misrepresents the code | Gross error |
455
-
456
- ---
457
-
458
- ## Confidence Model
459
- | Level | Condition | Action |
460
- |-------|-----------|--------|
461
- | HIGH | Target code read, behavior understood | Write docs definitively |
462
- | MEDIUM | Target code too large, inferred from types/tests | Write with disclaimer |
463
- | 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
+ ```
464
162
 
465
163
  ---
466
164
 
467
- ## Severity
468
- | Level | Definition | Example |
469
- |-------|-----------|---------|
470
- | 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 |
471
- | HIGH | API params documented incorrectly | Says string instead of object |
472
- | MEDIUM | Missing docs for edge cases | Doesn't explain error throws |
473
- | LOW | Typo or poor formatting | Misaligned markdown table |
165
+ ## Prompt Template
474
166
 
475
- ---
476
-
477
- ## Retry Policy
478
167
  ```
479
- Doc verification fails
480
- └─ Target code changed during doc writing
481
- ├─ Re-read target code
482
- └─ 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]
483
172
  ```
484
173
 
485
- ---
174
+ ### Ví dụ theo nhu cầu:
486
175
 
487
- ## Escalation Rules
176
+ **Viết README cho Fullstack Web App**
488
177
  ```
489
- BLOCKED: Target source file missing
490
- Missing:
491
- - Exact path to the code that needs documenting
492
- Questions:
493
- 1. File code nào bạn muốn viết doc? (Xin đường dẫn)
494
- 2. Mục tiêu của doc này là cho user hay cho developer nội bộ?
495
- Recommended Assumptions:
496
- - 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
497
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.
498
184
 
499
- ---
500
-
501
- ## Handoff Contract
502
- ### Consumes
503
- ```json
504
- {
505
- "from": "user",
506
- "required_fields": ["target_file", "doc_type"],
507
- "optional_fields": ["context"]
508
- }
185
+ **Viết API Docs cho Endpoint Đặt hàng**
509
186
  ```
510
- ### Produces
511
- ```json
512
- {
513
- "to": "user",
514
- "output_fields": ["updated_files", "exit_code"]
515
- }
187
+ Loại tài liệu: API Reference
188
+ Scope: POST /api/v1/orders
189
+ Độc giả: Mobile App Developer
516
190
  ```
517
-
518
- ---
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.
519
193