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-feature-delivery
4
- version: 9.1.0
4
+ version: 9.2.0
5
5
  status: stable
6
- description: "Phát triển tính năng mới end-to-end: Requirements → Context → Design → Implement → Self-audit."
6
+ description: "Phát triển tính năng mới end-to-end: Requirements → Context → Design → Implement → Self-audit. Dùng skill này khi user nhắc đến: add feature, build new, implement, phát triển tính năng, tạo mới, thêm chức năng — kể cả khi mô tả bằng ngôn ngữ tự nhiên như \"tôi muốn có tính năng X\" hoặc \"làm cho app có thể Y\"."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
9
  # ── V9: Classification ─────────────────────────────────────
@@ -22,12 +22,14 @@ complexity:
22
22
  has_external_dependency: true
23
23
  has_breaking_change: false
24
24
 
25
- triggers:
26
- - "add feature"
27
- - "build new"
28
- - "implement"
29
- - "phát triển tính năng"
30
- - "tạo mới"
25
+ triggers:
26
+ - "add feature"
27
+ - "build new"
28
+ - "implement"
29
+ - "phát triển tính năng"
30
+ - "tạo mới"
31
+ - "thêm chức năng"
32
+
31
33
 
32
34
  selection:
33
35
  priority: medium
@@ -47,7 +49,7 @@ tools:
47
49
 
48
50
  related_skills:
49
51
  - qk-context-loader
50
- - qk-validation-gate
52
+ - qk-test-engineering
51
53
 
52
54
  knowledge_scope:
53
55
  owns:
@@ -82,478 +84,168 @@ token_budget:
82
84
  max_shell_commands: 2
83
85
  stop_early: true
84
86
 
85
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
87
+ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
86
88
  ---
87
89
 
88
90
  # qk-feature-delivery — End-to-End Feature Builder
89
91
 
90
92
  > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
91
93
 
94
+ Chịu trách nhiệm triển khai tính năng mới end-to-end theo luồng tiêu chuẩn: **Requirements → Context → Design → Implement → Self-audit**. Bảo đảm code viết ra tích hợp mượt mà vào hệ thống hiện hữu, chuẩn theo role và conventions từ `DEV_PROFILE.md`.
95
+
92
96
  ---
93
97
 
94
- ## Memory Workflow
95
-
96
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
97
- - 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:
98
- - **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.
99
- - **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.
100
-
101
- ---
102
-
103
- ### Pre-flight Retrieve (Trước khi thực thi)
104
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
105
- bắt buộc tra cứu:
106
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
107
-
108
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
109
- - Architecture
110
- - Hard Bug
111
- - Convention
112
- - Pattern
113
- - Tech Debt Pattern
114
- - 👉 *Domain Focus:* Architecture / Pattern / Convention liên quan đến luồng tính năng hiện tại.
115
-
116
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
117
- Không được xem Memory là Source of Truth.
118
- 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.
119
-
120
- ---
121
-
122
- ### Learning Flow (AI tự học có kiểm soát)
123
- - 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:
124
- - Hard Bug có khả năng tái diễn.
125
- - Pattern làm việc lặp lại trong dự án.
126
- - Convention hoặc quy tắc kiến trúc mới.
127
- - Quyết định Architecture quan trọng.
128
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
129
- - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern mới hình thành khi làm feature.
130
-
131
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
132
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
133
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
134
-
135
- ---
136
-
137
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
138
- Sau khi hoàn thành task:
139
- - AI đánh giá các Candidate Memory đã tạo.
140
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
141
- - Đề xuất người dùng xem xét.
142
- - Gửi yêu cầu phê duyệt thông qua:
143
- - `/learn`
144
- - `qk-project-memory`
145
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
146
-
147
- ```
148
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
149
- ```
150
-
151
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
152
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
153
-
154
- ---
155
-
156
- ### Ignore (Không đưa vào Memory)
157
- Không lưu:
158
- - Trace log của một session đơn lẻ.
159
- - Temporary debugging data.
160
- - Output của một lần chạy test/scan.
161
- - Report health tạm thời của một đợt kiểm tra.
162
- - Lỗi nhỏ chỉ xảy ra một lần.
163
- - Thông tin không có khả năng tái sử dụng.
164
- - 👉 *Domain Ignore:* Dữ liệu mock phục vụ thử nghiệm tính năng ban đầu.
165
-
166
- ---
167
-
168
- ### Golden Rule
169
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
170
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
171
-
172
- ---
173
-
174
-
175
-
176
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
177
- - 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:
178
- - **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.
179
- - **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.
180
-
181
- ---
182
-
183
- ### Pre-flight Retrieve (Trước khi thực thi)
184
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
185
- bắt buộc tra cứu:
186
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
187
-
188
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
189
- - Architecture
190
- - Hard Bug
191
- - Convention
192
- - Pattern
193
- - Tech Debt Pattern
194
- - 👉 *Domain Focus:* Architecture / Pattern / Convention liên quan đến luồng tính năng hiện tại.
195
-
196
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
197
- Không được xem Memory là Source of Truth.
198
- 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.
199
-
200
- ---
201
-
202
- ### Learning Flow (AI tự học có kiểm soát)
203
- - 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:
204
- - Hard Bug có khả năng tái diễn.
205
- - Pattern làm việc lặp lại trong dự án.
206
- - Convention hoặc quy tắc kiến trúc mới.
207
- - Quyết định Architecture quan trọng.
208
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
209
- - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern mới hình thành khi làm feature.
210
-
211
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
212
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
213
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
214
-
215
- ---
216
-
217
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
218
- Sau khi hoàn thành task:
219
- - AI đánh giá các Candidate Memory đã tạo.
220
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
221
- - Đề xuất người dùng xem xét.
222
- - Gửi yêu cầu phê duyệt thông qua:
223
- - `/learn`
224
- - `qk-project-memory`
225
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
226
-
227
- ```
228
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
229
- ```
230
-
231
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
232
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
233
-
234
- ---
235
-
236
- ### Ignore (Không đưa vào Memory)
237
- Không lưu:
238
- - Trace log của một session đơn lẻ.
239
- - Temporary debugging data.
240
- - Output của một lần chạy test/scan.
241
- - Report health tạm thời của một đợt kiểm tra.
242
- - Lỗi nhỏ chỉ xảy ra một lần.
243
- - Thông tin không có khả năng tái sử dụng.
244
- - 👉 *Domain Ignore:* Dữ liệu mock phục vụ thử nghiệm tính năng ban đầu.
245
-
246
- ---
247
-
248
- ### Golden Rule
249
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
250
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
251
-
252
- ---
253
-
254
-
255
-
256
- ### Pre-flight Retrieve (Trước khi thực thi)
257
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
258
- bắt buộc tra cứu:
259
- - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
260
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
261
-
262
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
263
- - Architecture
264
- - Hard Bug
265
- - Convention
266
- - Pattern
267
- - Tech Debt Pattern
268
- - 👉 *Domain Focus:* Architecture / Pattern / Convention liên quan đến luồng tính năng hiện tại.
269
-
270
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
271
- Không được xem Memory là Source of Truth.
272
- 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.
273
-
274
- ---
275
-
276
- ### Learning Flow (AI tự học có kiểm soát)
277
- - 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:
278
- - Hard Bug có khả năng tái diễn.
279
- - Pattern làm việc lặp lại trong dự án.
280
- - Convention hoặc quy tắc kiến trúc mới.
281
- - Quyết định Architecture quan trọng.
282
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
283
- - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern mới hình thành khi làm feature.
284
-
285
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
286
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
287
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
288
-
289
- ---
290
-
291
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
292
- Sau khi hoàn thành task:
293
- - AI đánh giá các Candidate Memory đã tạo.
294
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
295
- - Đề xuất người dùng xem xét.
296
- - Gửi yêu cầu phê duyệt thông qua:
297
- - `/learn`
298
- - `qk-project-memory`
299
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
300
-
301
- ```
302
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
303
- ```
304
-
305
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
306
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
307
-
308
- ---
309
-
310
- ### Ignore (Không đưa vào Memory)
311
- Không lưu:
312
- - Trace log của một session đơn lẻ.
313
- - Temporary debugging data.
314
- - Output của một lần chạy test/scan.
315
- - Report health tạm thời của một đợt kiểm tra.
316
- - Lỗi nhỏ chỉ xảy ra một lần.
317
- - Thông tin không có khả năng tái sử dụng.
318
- - 👉 *Domain Ignore:* Dữ liệu mock phục vụ thử nghiệm tính năng ban đầu.
319
-
320
- ---
321
-
322
- ### Golden Rule
323
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
324
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
325
-
326
- ---
327
- ---
328
-
329
- ### Learning Flow (AI tự học có kiểm soát)
330
- - 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:
331
- - Hard Bug có khả năng tái diễn.
332
- - Pattern làm việc lặp lại trong dự án.
333
- - Convention hoặc quy tắc kiến trúc mới.
334
- - Quyết định Architecture quan trọng.
335
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
336
- - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern mới hình thành khi làm feature.
337
-
338
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
339
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
340
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
341
-
342
- ---
343
-
344
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
345
- Sau khi hoàn thành task:
346
- - AI đánh giá các Candidate Memory đã tạo.
347
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
348
- - Đề xuất người dùng xem xét.
349
- - Gửi yêu cầu phê duyệt thông qua:
350
- - `/learn`
351
- - `qk-project-memory`
352
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
353
-
354
- ```
355
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
356
- ```
357
-
358
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
359
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
360
-
361
- ---
362
-
363
- ### Ignore (Không đưa vào Memory)
364
- Không lưu:
365
- - Trace log của một session đơn lẻ.
366
- - Temporary debugging data.
367
- - Output của một lần chạy test/scan.
368
- - Report health tạm thời của một đợt kiểm tra.
369
- - Lỗi nhỏ chỉ xảy ra một lần.
370
- - Thông tin không có khả năng tái sử dụng.
371
- - 👉 *Domain Ignore:* Dữ liệu mock phục vụ thử nghiệm tính năng ban đầu.
372
-
373
- ---
374
-
375
- ### Golden Rule
376
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
377
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
378
-
379
- ---
380
- ---
381
-
382
- ### Learning Flow (AI tự học có kiểm soát)
383
- - 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:
384
- - Hard Bug có khả năng tái diễn.
385
- - Pattern làm việc lặp lại trong dự án.
386
- - Convention hoặc quy tắc kiến trúc mới.
387
- - Quyết định Architecture quan trọng.
388
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
389
- - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern mới hình thành khi làm feature.
390
-
391
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
392
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
393
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
394
-
395
- ---
396
-
397
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
398
- Sau khi hoàn thành task:
399
- - AI đánh giá các Candidate Memory đã tạo.
400
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
401
- - Đề xuất người dùng xem xét.
402
- - Gửi yêu cầu phê duyệt thông qua:
403
- - `/learn`
404
- - `qk-project-memory`
405
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
406
-
407
- ```
408
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
409
- ```
410
-
411
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
412
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
413
-
414
- ---
415
-
416
- ### Ignore (Không đưa vào Memory)
417
- Không lưu:
418
- - Trace log của một session đơn lẻ.
419
- - Temporary debugging data.
420
- - Output của một lần chạy test/scan.
421
- - Report health tạm thời của một đợt kiểm tra.
422
- - Lỗi nhỏ chỉ xảy ra một lần.
423
- - Thông tin không có khả năng tái sử dụng.
424
- - 👉 *Domain Ignore:* Dữ liệu mock phục vụ thử nghiệm tính năng ban đầu.
425
-
426
- ---
427
-
428
- ### Golden Rule
429
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
430
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
431
-
432
- ---
433
- ---
434
- ---
435
- ---
436
-
437
98
  ## Preconditions
438
- - [ ] Feature requirement is specific enough to implement (not just "add something")
439
- - [ ] `DESIGN.md` exists with required tokens if UI work is involved (colors, spacing, typography)
440
- - [ ] Context graph available OR `qk-context-loader` run first (for logic work)
441
99
 
442
- ```
443
- On missing precondition:
444
- EXIT: BLOCKED
445
- Message: "[Precondition] missing. See Escalation Rules."
446
- ```
100
+ Trước khi bắt đầu implement bất kỳ tính năng nào, AI BẮT BUỘC kiểm tra:
101
+
102
+ - [ ] Đọc `.agents/DEV_PROFILE.md` để lấy role, primary stack, coding conventions và constraints.
103
+ - [ ] Xác định scope thay đổi (màn hình, module, schema, API liên quan).
104
+ - [ ] Kiểm tra tính rõ ràng của yêu cầu: Có acceptance criteria rõ ràng chưa? Đã rõ input/output chưa?
105
+ - [ ] Nếu yêu cầu mơ hồ hoặc có quyết định kiến trúc lớn chưa thống nhất:
106
+ → **EXIT: BLOCKED**
107
+ → Báo cáo user câu hỏi làm rõ trước khi can thiệp vào mã nguồn.
447
108
 
448
109
  ---
449
110
 
450
111
  ## Scope
451
- - ✅ Read requirements and design docs (Context Loading)
452
- - ✅ Implement feature adhering to R-C-09 (Anti-slop) and R-SEC-04 (Zero-Trust)
453
- - ✅ Write unit/integration tests as required
454
- - ✅ Run self-audit using qk-validation-gate before finishing
455
-
456
- ## Non-Goals
457
- - ❌ Skip validation gate
458
- - ❌ Bypass R-SEC-04 (Zero-Trust) input validation
459
- - ❌ Write 'spaghetti' code or giant God Files
460
112
 
461
- ---
113
+ ✅ Skill này làm:
114
+ - Phân tích yêu cầu và định hình kiến trúc tính năng tương thích với codebase.
115
+ - Định nghĩa type-safe contracts, schemas và dữ liệu liên quan.
116
+ - Triển khai code tính năng hoàn chỉnh qua các tầng (FE UI, BE controller/service, routing).
117
+ - Xử lý đầy đủ các trạng thái biên: loading, error, empty data, pagination, boundary conditions.
118
+ - Tự kiểm toán (Self-audit) sau khi implement: linting, typecheck, và format code.
462
119
 
463
- ## Priority Order
464
- | P | Task | Skip Threshold |
465
- |---|------|----------------|
466
- | P1 | Load and read requirements & design | Never |
467
- | P2 | Context Graph verification (dependencies) | Never |
468
- | P3 | Implementation (Code) | Never |
469
- | P4 | Testing & Validation Gate | Never |
470
- | P5 | Documentation | Budget < 30% |
120
+ Skill này KHÔNG làm:
121
+ - Sửa lỗi crash phát sinh đột xuất không nằm trong phạm vi feature mới (→ `qk-bug-resolution`).
122
+ - Tái cấu trúc quy mô lớn codebase không phục vụ feature (→ `qk-refactor`).
123
+ - Chạy đợt audit bảo mật tổng thể toàn dự án (→ `qk-security-audit`).
471
124
 
472
125
  ---
473
126
 
474
- ## Workflow
475
-
476
- ### Phase 1 — Context Loading
477
- 1. Read feature spec / requirements.
478
- 2. Read `DESIGN.md` if UI is involved.
479
- 3. Verify dependency graph via `qk-context-loader`.
127
+ ## Execution Steps
480
128
 
481
- **Decision:**
482
- IF context is clear → go to Phase 2
483
- ELSE EXIT: BLOCKED ask user
484
-
485
- ### Phase 2 Implementation (Code)
486
- 1. Write code in isolated steps.
487
- 2. **BẮT BUỘC tuân thủ R-C-09 (Zero Slop) và R-SEC-04 (Zero Trust).**
488
- 3. Keep functions < 30 lines, avoid God Files.
129
+ ### Step 1 — Context Loading & Gap Analysis
130
+ ```
131
+ Inputs: Yêu cầu tính năng từ user, DEV_PROFILE.md, mã nguồn hiện tại
132
+ Actions:
133
+ - Khảo sát các modules, components, services hiện có liên quan đến tính năng.
134
+ - Lập danh sách các files cần tạo mới và files cần chỉnh sửa.
135
+ - Xác định dependency mới (nếu ) và đối chiếu với constraints trong DEV_PROFILE.md.
136
+ Output: Feature Implementation Plan
137
+ ```
489
138
 
490
- ### Phase 3Testing
491
- 1. Write unit tests / integration tests.
492
- 2. Run test commands to verify.
139
+ ### Step 2Contract & Architecture Design
140
+ ```
141
+ Inputs: Feature Implementation Plan
142
+ Actions:
143
+ - Thiết kế interface/types, DTO, data contracts giữa các tầng.
144
+ - Xác định state management và data flow (Client state, Server cache, DB model).
145
+ - Dự phòng các kịch bản ngoại lệ (empty data, network failure, unauthorized).
146
+ Output: Type definitions & Contract drafts
147
+ ```
493
148
 
494
- ### Phase 4Validation Gate (Self-Audit)
495
- 1. Hand off to `qk-validation-gate` or run linters.
496
- 2. Fix any reported violations immediately.
149
+ ### Step 3Incremental Implementation
150
+ ```
151
+ Inputs: Type definitions, Contract drafts
152
+ Actions:
153
+ - Viết code theo thứ tự từ lõi (Core/Domain/Model) → Service/Logic → Presentation/UI.
154
+ - Tuân thủ quy ước đặt tên (naming conventions) và design system tokens của dự án.
155
+ - Không hardcode các giá trị cấu hình, URL hay magic numbers.
156
+ Output: Functional implementation
157
+ ```
497
158
 
498
- **Decision:**
499
- IF validation passes → EXIT: SUCCESS
500
- IF validation fails → Fix and retry
159
+ ### Step 4 — Self-Audit & Quality Gate
160
+ ```
161
+ Inputs: Modified & Created files
162
+ Actions:
163
+ - Kiểm tra lint và type checking.
164
+ - Rà soát edge cases: null/undefined checks, error boundary handling.
165
+ - Đảm bảo không làm hỏng các tính năng cũ lân cận (regressions).
166
+ Exit: SUCCESS nếu code pass types/lint và đạt mọi acceptance criteria.
167
+ ```
501
168
 
502
169
  ---
503
170
 
504
- ## Confidence Model
505
- | Level | Condition | Action |
506
- |-------|-----------|--------|
507
- | HIGH | Requirements clear, tests pass, validation clean | Report SUCCESS |
508
- | MEDIUM | Specs ambiguous, some assumptions made | Ask user to review |
509
- | LOW | Lacking specs or API contracts | EXIT: BLOCKED |
171
+ ## Prompt Template
510
172
 
511
- ---
173
+ AI đọc `DEV_PROFILE.md` để lấy role + stack. Bạn chỉ cần mô tả **WHAT**, không cần nhắc lại stack.
512
174
 
513
- ## Severity
514
- | Level | Definition |
515
- |-------|-----------|
516
- | CRITICAL | Broken functionality, security risk |
517
- | HIGH | Missing tests, validation gate failed |
518
- | MEDIUM | Minor UX issues |
519
- | LOW | Code style issues |
175
+ ```
176
+ Tính năng: [Tên / mục đích tính năng]
177
+ Màn hình: [Trang / route / component liên quan — hoặc "mới hoàn toàn"]
178
+ Done khi: [User thấy / hệ thống làm gì — tiêu chí cụ thể]
179
+ Edge cases: [Điều kiện đặc biệt, dữ liệu rỗng, lỗi cần xử lý]
180
+ Không được: [Ràng buộc không đổi API này, không xóa field kia]
181
+ ```
520
182
 
521
183
  ---
522
184
 
523
- ## Evidence Format
185
+ ### Theo Role — AI sẽ phân tích kỹ thuật như sau:
186
+
187
+ **role: fe**
524
188
  ```
525
- [SEVERITY] path/to/file.ts
526
- Action: [What was implemented/fixed]
527
- Confidence: HIGH
528
- Validation: [PASS | FAIL]
189
+ Tính năng: Infinite scroll cho danh sách sản phẩm
190
+ Màn hình: /products ProductList.tsx đã có
191
+ Done khi: Scroll đến cuối → tự load thêm 20 sản phẩm, có loading indicator
192
+ Edge cases: Hết data hiện "Đã xem tất cả", lỗi API → hiện retry button
193
+ Không được: Không đổi ProductCard component
529
194
  ```
195
+ → AI phân tích: intersection observer vs scroll event, React Query `useInfiniteQuery`,
196
+ cache invalidation, skeleton vs spinner, bundle impact của thư viện.
530
197
 
531
- ---
198
+ **role: be**
199
+ ```
200
+ Tính năng: API pagination cho /products với cursor-based paging
201
+ Màn hình: GET /api/products — route đã có nhưng chỉ trả toàn bộ
202
+ Done khi: Trả { data, nextCursor, hasMore }, tối đa 20 items/page
203
+ Edge cases: cursor không hợp lệ → 400, không có data → { data: [], hasMore: false }
204
+ Không được: Không đổi response shape của existing fields
205
+ ```
206
+ → AI phân tích: cursor vs offset trade-off, index strategy trên DB,
207
+ validation middleware, backward compatibility của response schema.
532
208
 
533
- ## Handoff Contract
534
- ### Consumes
535
- ```json
536
- {
537
- "from": "user or qk-product-specification",
538
- "required_fields": ["feature_spec", "acceptance_criteria"]
539
- }
209
+ **role: fullstack**
540
210
  ```
541
- ### Produces
542
- ```json
543
- {
544
- "to": "qk-validation-gate",
545
- "output_fields": ["implemented_files", "test_status", "exit_code"]
546
- }
211
+ Tính năng: Thêm chức năng export danh sách đơn hàng ra CSV
212
+ Màn hình: /orders — có table hiện tại, cần thêm nút Export
213
+ Done khi: Click Export → tải file CSV với đúng cột, chỉ export filtered data
214
+ Edge cases: > 10k rows → stream response, không có data → disable button
215
+ Không được: Không thêm dependency mới nếu native API đủ dùng
547
216
  ```
217
+ → AI phân tích: FE trigger + progress UX, BE streaming response vs buffer,
218
+ type-safe contract giữa FE-BE, memory safety khi dataset lớn.
548
219
 
549
- ---
220
+ **role: data**
221
+ ```
222
+ Tính năng: Pipeline load daily sales data từ PostgreSQL → BigQuery
223
+ Màn hình: DAG mới trong Airflow — incremental load
224
+ Done khi: Chạy hàng ngày 2AM, chỉ load data của ngày hôm trước, idempotent
225
+ Edge cases: Re-run phải cho kết quả giống nhau, source schema thay đổi → alert
226
+ Không được: Không truncate table, chỉ upsert
227
+ ```
228
+ → AI phân tích: watermark strategy, partition pruning, schema evolution handling,
229
+ idempotency key design, data quality assertion trước khi load.
550
230
 
551
- ## Exit Codes
552
- | Code | Meaning | When |
553
- |------|---------|------|
554
- | SUCCESS | Feature completed, tests pass, validation clean | Normal |
555
- | PARTIAL | Feature mostly done, some minor issues | Budget hit |
556
- | BLOCKED | Missing requirements or design | Cannot start |
557
- | FAILED | Implementation fundamentally broken | Tests/Validation failed |
231
+ **role: ai-engineer**
232
+ ```
233
+ Tính năng: RAG pipeline trả lời câu hỏi từ tài liệu nội bộ
234
+ Màn hình: Chat UI mới /chat route
235
+ Done khi: User hỏi AI trả lời citation từ đúng document
236
+ Edge cases: Câu hỏi ngoài scope "Tôi không tìm thấy thông tin liên quan"
237
+ Không được: Không hallucinate khi không context
238
+ ```
239
+ → AI phân tích: chunking strategy, embedding model choice, retrieval (BM25 vs dense),
240
+ reranking, context stuffing vs summarization, eval metrics (faithfulness, relevance).
558
241
 
559
- ---
242
+ **role: devops**
243
+ ```
244
+ Tính năng: CI pipeline tự động chạy test + deploy lên staging khi merge PR
245
+ Màn hình: .github/workflows/ — chưa có file nào
246
+ Done khi: PR merge → test pass → deploy staging → notify Slack
247
+ Edge cases: Test fail → stop pipeline, notify người tạo PR
248
+ Không được: Không auto-deploy production
249
+ ```
250
+ → AI phân tích: workflow triggers, secrets management, caching strategy,
251
+ environment isolation, rollback mechanism, notification integration.
@@ -25,4 +25,4 @@ metrics:
25
25
  description: Agent có tự kiểm tra lại code thông qua Validation Gate không?
26
26
  weight: 30
27
27
  criteria:
28
- - Bắt buộc gọi qk-validation-gate hoặc chạy linter/tests trước khi kết thúc (30đ)
28
+ - Bắt buộc chạy quality gate (shared verify step / linter / tests) trước khi kết thúc (30đ)