ai-developer-skill-os 8.3.0 → 9.0.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 (115) hide show
  1. package/.agents/AGENTS.md +21 -0
  2. package/.agents/registry/capability-graph.yml +74 -21
  3. package/.agents/registry/graph.json +138 -255
  4. package/.agents/registry/index.yaml +70 -96
  5. package/.agents/registry/skills-index.yml +70 -47
  6. package/.agents/rules/anti-patterns.md +45 -0
  7. package/.agents/rules/global.md +13 -0
  8. package/.agents/skills/_template/SKILL.md +127 -2
  9. package/.agents/skills/_template/capability.yaml +34 -20
  10. package/.agents/skills/qk-access-policy/SKILL.md +132 -2
  11. package/.agents/skills/qk-access-policy/capability.yaml +23 -0
  12. package/.agents/skills/qk-access-policy/evals/scorecard.yaml +36 -0
  13. package/.agents/skills/qk-agent-observability/SKILL.md +139 -3
  14. package/.agents/skills/qk-agent-observability/capability.yaml +29 -0
  15. package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +29 -0
  16. package/.agents/skills/qk-ai-builder/SKILL.md +132 -2
  17. package/.agents/skills/qk-ai-builder/capability.yaml +23 -0
  18. package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +30 -0
  19. package/.agents/skills/qk-api-lifecycle/SKILL.md +132 -2
  20. package/.agents/skills/qk-api-lifecycle/capability.yaml +23 -0
  21. package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +29 -0
  22. package/.agents/skills/qk-bug-resolution/SKILL.md +132 -2
  23. package/.agents/skills/qk-bug-resolution/capability.yaml +25 -0
  24. package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +30 -0
  25. package/.agents/skills/qk-code-review/SKILL.md +132 -2
  26. package/.agents/skills/qk-code-review/capability.yaml +23 -0
  27. package/.agents/skills/qk-code-review/evals/scorecard.yaml +29 -0
  28. package/.agents/skills/qk-context-loader/SKILL.md +135 -4
  29. package/.agents/skills/qk-context-loader/capability.yaml +23 -0
  30. package/.agents/skills/qk-context-loader/evals/scorecard.yaml +28 -0
  31. package/.agents/skills/qk-data-lifecycle/SKILL.md +132 -2
  32. package/.agents/skills/qk-data-lifecycle/capability.yaml +23 -0
  33. package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +29 -0
  34. package/.agents/skills/qk-db-optimizer/SKILL.md +132 -2
  35. package/.agents/skills/qk-db-optimizer/capability.yaml +22 -0
  36. package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +28 -0
  37. package/.agents/skills/qk-design-system-engineering/SKILL.md +132 -2
  38. package/.agents/skills/qk-design-system-engineering/capability.yaml +25 -0
  39. package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +27 -0
  40. package/.agents/skills/qk-devops-platform/SKILL.md +132 -2
  41. package/.agents/skills/qk-devops-platform/capability.yaml +29 -0
  42. package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +28 -0
  43. package/.agents/skills/qk-docs/SKILL.md +132 -2
  44. package/.agents/skills/qk-docs/capability.yaml +23 -0
  45. package/.agents/skills/qk-docs/evals/scorecard.yaml +27 -0
  46. package/.agents/skills/qk-engineering-standard/SKILL.md +132 -2
  47. package/.agents/skills/qk-engineering-standard/capability.yaml +23 -0
  48. package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +28 -0
  49. package/.agents/skills/qk-fe-api-integration/SKILL.md +132 -2
  50. package/.agents/skills/qk-fe-api-integration/capability.yaml +21 -0
  51. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -0
  52. package/.agents/skills/qk-feature-delivery/SKILL.md +132 -2
  53. package/.agents/skills/qk-feature-delivery/capability.yaml +24 -0
  54. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +28 -0
  55. package/.agents/skills/qk-frontend-architecture/SKILL.md +132 -2
  56. package/.agents/skills/qk-frontend-architecture/capability.yaml +28 -0
  57. package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +28 -0
  58. package/.agents/skills/qk-help/SKILL.md +3 -3
  59. package/.agents/skills/qk-help/capability.yaml +20 -0
  60. package/.agents/skills/qk-help/evals/scorecard.yaml +13 -0
  61. package/.agents/skills/qk-orchestrator/SKILL.md +132 -2
  62. package/.agents/skills/qk-orchestrator/capability.yaml +22 -0
  63. package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +27 -0
  64. package/.agents/skills/qk-product-specification/SKILL.md +132 -2
  65. package/.agents/skills/qk-product-specification/capability.yaml +27 -0
  66. package/.agents/skills/qk-product-specification/evals/scorecard.yaml +27 -0
  67. package/.agents/skills/qk-production-release/SKILL.md +133 -3
  68. package/.agents/skills/qk-production-release/capability.yaml +27 -0
  69. package/.agents/skills/qk-production-release/evals/scorecard.yaml +28 -0
  70. package/.agents/skills/qk-project-bootstrap/SKILL.md +147 -4
  71. package/.agents/skills/qk-project-bootstrap/capability.yaml +23 -0
  72. package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +28 -0
  73. package/.agents/skills/qk-project-health/SKILL.md +132 -2
  74. package/.agents/skills/qk-project-health/capability.yaml +23 -0
  75. package/.agents/skills/qk-project-health/evals/scorecard.yaml +27 -0
  76. package/.agents/skills/qk-project-memory/SKILL.md +252 -277
  77. package/.agents/skills/qk-project-memory/capability.yaml +23 -0
  78. package/.agents/skills/qk-project-memory/evals/scorecard.yaml +27 -0
  79. package/.agents/skills/qk-refactor/SKILL.md +247 -0
  80. package/.agents/skills/qk-refactor/capability.yaml +26 -0
  81. package/.agents/skills/qk-refactor/evals/scorecard.yaml +27 -0
  82. package/.agents/skills/qk-security-audit/SKILL.md +132 -2
  83. package/.agents/skills/qk-security-audit/capability.yaml +30 -0
  84. package/.agents/skills/qk-security-audit/evals/scorecard.yaml +27 -0
  85. package/.agents/skills/qk-system-evolution/SKILL.md +132 -2
  86. package/.agents/skills/qk-system-evolution/capability.yaml +24 -0
  87. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -0
  88. package/.agents/skills/qk-test-engineering/SKILL.md +132 -2
  89. package/.agents/skills/qk-test-engineering/capability.yaml +28 -0
  90. package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +26 -0
  91. package/.agents/skills/qk-ui-audit/SKILL.md +132 -2
  92. package/.agents/skills/qk-ui-audit/capability.yaml +23 -0
  93. package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +26 -0
  94. package/.agents/skills/qk-ui-builder/capability.yaml +29 -0
  95. package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +26 -0
  96. package/.agents/skills/qk-ui-system-builder/SKILL.md +132 -2
  97. package/.agents/skills/qk-ui-system-builder/capability.yaml +25 -0
  98. package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +26 -0
  99. package/.agents/skills/qk-validation-gate/SKILL.md +132 -2
  100. package/.agents/skills/qk-validation-gate/capability.yaml +23 -0
  101. package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +26 -0
  102. package/.agents/skills/qk-web-quality-gate/SKILL.md +132 -2
  103. package/.agents/skills/qk-web-quality-gate/capability.yaml +24 -0
  104. package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +26 -0
  105. package/.agents/workflows/production-release.yml +173 -0
  106. package/CHANGELOG.md +35 -0
  107. package/README.md +13 -4
  108. package/bin/install.js +1 -1
  109. package/package.json +6 -3
  110. package/tooling/build-registry.js +186 -186
  111. package/tooling/fix-refactor.js +8 -0
  112. package/tooling/sync-versions.js +299 -0
  113. package/tooling/validate-graph.js +87 -87
  114. package/tooling/validate-skills.js +1 -1
  115. package/tooling/generate-registry.js +0 -157
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  # ── Identity ───────────────────────────────────────────────
3
3
  name: qk-code-review
4
- version: 8.0.0
4
+ version: 9.0.0
5
5
  status: stable
6
6
  description: "Elite AI/Code Review System: Kiểm toán, Review code và cấu hình AI với tư duy Architect, áp dụng 4-Phase Review."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
- # ── V8: Classification ─────────────────────────────────────
9
+ # ── V9: Classification ─────────────────────────────────────
10
10
  type: utility
11
11
 
12
12
  intent:
@@ -95,6 +95,136 @@ Biến quá trình Code Review từ "bắt bẻ" (gatekeeping) thành "chia sẻ
95
95
 
96
96
  ---
97
97
 
98
+ ## Memory Workflow
99
+
100
+ ### Pre-flight Retrieve (Trước khi thực thi)
101
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
102
+ bắt buộc tra cứu:
103
+ - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
104
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
105
+
106
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
107
+ - Architecture
108
+ - Hard Bug
109
+ - Convention
110
+ - Pattern
111
+ - Tech Debt Pattern
112
+ - 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
113
+
114
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
115
+ Không được xem Memory là Source of Truth.
116
+ 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.
117
+
118
+ ---
119
+
120
+ ### Learning Flow (AI tự học có kiểm soát)
121
+ - 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:
122
+ - Hard Bug có khả năng tái diễn.
123
+ - Pattern làm việc lặp lại trong dự án.
124
+ - Convention hoặc quy tắc kiến trúc mới.
125
+ - Quyết định Architecture quan trọng.
126
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
127
+ - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
128
+
129
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
130
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
131
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
132
+
133
+ ---
134
+
135
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
136
+ Sau khi hoàn thành task:
137
+ - AI đánh giá các Candidate Memory đã tạo.
138
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
139
+ - Đề xuất người dùng xem xét.
140
+ - Gửi yêu cầu phê duyệt thông qua:
141
+ - `/learn`
142
+ - `qk-project-memory`
143
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
144
+
145
+ ```
146
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
147
+ ```
148
+
149
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
150
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
151
+
152
+ ---
153
+
154
+ ### Ignore (Không đưa vào Memory)
155
+ Không lưu:
156
+ - Trace log của một session đơn lẻ.
157
+ - Temporary debugging data.
158
+ - Output của một lần chạy test/scan.
159
+ - Report health tạm thời của một đợt kiểm tra.
160
+ - Lỗi nhỏ chỉ xảy ra một lần.
161
+ - Thông tin không có khả năng tái sử dụng.
162
+ - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
163
+
164
+ ---
165
+
166
+ ### Golden Rule
167
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
168
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
169
+
170
+ ---
171
+ ---
172
+
173
+ ### Learning Flow (AI tự học có kiểm soát)
174
+ - 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:
175
+ - Hard Bug có khả năng tái diễn.
176
+ - Pattern làm việc lặp lại trong dự án.
177
+ - Convention hoặc quy tắc kiến trúc mới.
178
+ - Quyết định Architecture quan trọng.
179
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
180
+ - 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
181
+
182
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
183
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
184
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
185
+
186
+ ---
187
+
188
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
189
+ Sau khi hoàn thành task:
190
+ - AI đánh giá các Candidate Memory đã tạo.
191
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
192
+ - Đề xuất người dùng xem xét.
193
+ - Gửi yêu cầu phê duyệt thông qua:
194
+ - `/learn`
195
+ - `qk-project-memory`
196
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
197
+
198
+ ```
199
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
200
+ ```
201
+
202
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
203
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
204
+
205
+ ---
206
+
207
+ ### Ignore (Không đưa vào Memory)
208
+ Không lưu:
209
+ - Trace log của một session đơn lẻ.
210
+ - Temporary debugging data.
211
+ - Output của một lần chạy test/scan.
212
+ - Report health tạm thời của một đợt kiểm tra.
213
+ - Lỗi nhỏ chỉ xảy ra một lần.
214
+ - Thông tin không có khả năng tái sử dụng.
215
+ - 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
216
+
217
+ ---
218
+
219
+ ### Golden Rule
220
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
221
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
222
+
223
+ ---
224
+ ---
225
+ ---
226
+ ---
227
+
98
228
  ## Preconditions
99
229
 
100
230
  - [ ] Xác định rõ đối tượng cần review: Mã nguồn phần mềm (React, Java, etc.) hay Cấu hình AI (Skin, Rules, Workflows).
@@ -0,0 +1,23 @@
1
+ # Auto-generated from SKILL.md frontmatter
2
+ schema_version: 1
3
+ id: "qk-code-review"
4
+ version: "9.0.0"
5
+ description: "Elite AI/Code Review System: Kiểm toán, Review code và cấu hình AI với tư duy Architect, áp dụng 4-Phase Review."
6
+ tools:
7
+ - "filesystem"
8
+ knowledge:
9
+ owns:
10
+ - "code-review-standards"
11
+ - "ai-configuration-review"
12
+ - "feedback-delivery"
13
+ references:
14
+ - "architecture"
15
+ - "security"
16
+ - "anti-patterns"
17
+ eval:
18
+ scorecard: "evals/scorecard.yaml"
19
+ decision_boundary:
20
+ owns:
21
+ - "qk-code-review"
22
+ does_not_own: []
23
+ conflicts_with: []
@@ -0,0 +1,29 @@
1
+ name: qk-code-review-eval
2
+ description: Đánh giá chất lượng thực thi quy trình Code/AI Review
3
+ version: 9.0.0
4
+ threshold: 85 # Đánh giá tư duy Architect và ngôn ngữ phản hồi
5
+
6
+ metrics:
7
+ - id: structured_review_process
8
+ name: Tuân thủ 4-Phase Review Process
9
+ description: Agent có thực hiện tuần tự và đầy đủ 4 giai đoạn phân tích không?
10
+ weight: 35
11
+ criteria:
12
+ - Tải ngữ cảnh động (Dynamic Context Loading) hợp lý, không tải dư thừa (15đ)
13
+ - Có Review High-level (Kiến trúc, SOLID, R-SEC-04) và Deep-dive (Logic chuyên sâu, Hallucination) (20đ)
14
+
15
+ - id: collaborative_and_tagged_feedback
16
+ name: Ngôn ngữ Hợp tác & Đánh nhãn Severity
17
+ description: Feedback có tính xây dựng và được phân loại đúng mức độ không?
18
+ weight: 40
19
+ criteria:
20
+ - Sử dụng câu hỏi gợi mở, ngôn từ hợp tác thay vì ra lệnh (15đ)
21
+ - Phân loại rõ ràng bằng nhãn `[blocking]`, `[important]`, `[nit]`, `[suggestion]`, `[praise]` (25đ)
22
+
23
+ - id: safe_execution
24
+ name: Không tự ý sửa mã
25
+ description: Agent chỉ review và đưa ra suggestion chứ không tự động thay đổi code?
26
+ weight: 25
27
+ criteria:
28
+ - Đưa ra code diff (Suggested Fixes) để user tham khảo (15đ)
29
+ - Tuyệt đối không tự sửa file (sử dụng replace_file_content) nếu user không yêu cầu (10đ)
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  # ── Identity ───────────────────────────────────────────────
3
3
  name: qk-context-loader
4
- version: 8.0.0
4
+ version: 9.0.0
5
5
  status: stable
6
6
  description: "Tải context và vẽ dependency graph chính xác trước khi code — ngăn hallucination kiến trúc."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
- # ── V8: Classification ─────────────────────────────────────
9
+ # ── V9: Classification ─────────────────────────────────────
10
10
  type: utility
11
11
 
12
12
  intent:
@@ -86,6 +86,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
86
86
 
87
87
  > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
88
88
 
89
+ ## Memory Workflow
90
+
91
+ ### Pre-flight Retrieve (Trước khi thực thi)
92
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
93
+ bắt buộc tra cứu:
94
+ - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
95
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
96
+
97
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
98
+ - Architecture
99
+ - Hard Bug
100
+ - Convention
101
+ - Pattern
102
+ - Tech Debt Pattern
103
+ - 👉 *Domain Focus:* Pattern / Architecture (vd: sơ đồ phụ thuộc mô-đun, biểu đồ ngữ cảnh O(1)).
104
+
105
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
106
+ Không được xem Memory là Source of Truth.
107
+ 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.
108
+
109
+ ---
110
+
111
+ ### Learning Flow (AI tự học có kiểm soát)
112
+ - 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:
113
+ - Hard Bug có khả năng tái diễn.
114
+ - Pattern làm việc lặp lại trong dự án.
115
+ - Convention hoặc quy tắc kiến trúc mới.
116
+ - Quyết định Architecture quan trọng.
117
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
118
+ - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern quan trọng khi ánh xạ dependency.
119
+
120
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
121
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
122
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
123
+
124
+ ---
125
+
126
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
127
+ Sau khi hoàn thành task:
128
+ - AI đánh giá các Candidate Memory đã tạo.
129
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
130
+ - Đề xuất người dùng xem xét.
131
+ - Gửi yêu cầu phê duyệt thông qua:
132
+ - `/learn`
133
+ - `qk-project-memory`
134
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
135
+
136
+ ```
137
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
138
+ ```
139
+
140
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
141
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
142
+
143
+ ---
144
+
145
+ ### Ignore (Không đưa vào Memory)
146
+ Không lưu:
147
+ - Trace log của một session đơn lẻ.
148
+ - Temporary debugging data.
149
+ - Output của một lần chạy test/scan.
150
+ - Report health tạm thời của một đợt kiểm tra.
151
+ - Lỗi nhỏ chỉ xảy ra một lần.
152
+ - Thông tin không có khả năng tái sử dụng.
153
+ - 👉 *Domain Ignore:* Cache đồ thị ngữ cảnh tạm thời của một lệnh tìm kiếm.
154
+
155
+ ---
156
+
157
+ ### Golden Rule
158
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
159
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
160
+
161
+ ---
162
+ ---
163
+
164
+ ### Learning Flow (AI tự học có kiểm soát)
165
+ - 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:
166
+ - Hard Bug có khả năng tái diễn.
167
+ - Pattern làm việc lặp lại trong dự án.
168
+ - Convention hoặc quy tắc kiến trúc mới.
169
+ - Quyết định Architecture quan trọng.
170
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
171
+ - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern quan trọng khi ánh xạ dependency.
172
+
173
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
174
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
175
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
176
+
177
+ ---
178
+
179
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
180
+ Sau khi hoàn thành task:
181
+ - AI đánh giá các Candidate Memory đã tạo.
182
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
183
+ - Đề xuất người dùng xem xét.
184
+ - Gửi yêu cầu phê duyệt thông qua:
185
+ - `/learn`
186
+ - `qk-project-memory`
187
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
188
+
189
+ ```
190
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
191
+ ```
192
+
193
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
194
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
195
+
196
+ ---
197
+
198
+ ### Ignore (Không đưa vào Memory)
199
+ Không lưu:
200
+ - Trace log của một session đơn lẻ.
201
+ - Temporary debugging data.
202
+ - Output của một lần chạy test/scan.
203
+ - Report health tạm thời của một đợt kiểm tra.
204
+ - Lỗi nhỏ chỉ xảy ra một lần.
205
+ - Thông tin không có khả năng tái sử dụng.
206
+ - 👉 *Domain Ignore:* Cache đồ thị ngữ cảnh tạm thời của một lệnh tìm kiếm.
207
+
208
+ ---
209
+
210
+ ### Golden Rule
211
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
212
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
213
+
214
+ ---
215
+ ---
216
+ ---
217
+ ---
218
+
89
219
  ## Preconditions
90
220
  - [ ] Entry point file or module name is specified
91
221
  - [ ] Repository is accessible
@@ -118,10 +248,11 @@ On missing precondition:
118
248
 
119
249
  ## Workflow
120
250
 
121
- ### Phase 1 — Entry Point Analysis
251
+ ### Phase 1 — V1 Memory Consultation & Entry Point Analysis
122
252
 
123
253
  **Steps:**
124
- 1. `grep_search` search for import/export statements in entry file
254
+ 0. **Pre-flight V1 Memory Check:** Check for `.ai-local/knowledge/index.yaml` or `.agents/knowledge/index.yaml`. If an established architecture fact or module mapping exists in memory (`status: Active`), read it immediately to discover target symbols and entry points in seconds without performing redundant searches.
255
+ 1. `grep_search` — search for import/export statements in entry file (only if not already resolved via V1 memory)
125
256
  2. `view_file[StartLine:EndLine]` — read import block only (first ~30 lines)
126
257
  3. List direct dependencies
127
258
 
@@ -0,0 +1,23 @@
1
+ # Auto-generated from SKILL.md frontmatter
2
+ schema_version: 1
3
+ id: "qk-context-loader"
4
+ version: "9.0.0"
5
+ description: "Tải context và vẽ dependency graph chính xác trước khi code — ngăn hallucination kiến trúc."
6
+ tools:
7
+ - "filesystem"
8
+ - "terminal"
9
+ knowledge:
10
+ owns:
11
+ - "project-context"
12
+ - "architecture-discovery"
13
+ references:
14
+ - "coding"
15
+ - "repository-structure"
16
+ - "anti-patterns"
17
+ eval:
18
+ scorecard: "evals/scorecard.yaml"
19
+ decision_boundary:
20
+ owns:
21
+ - "qk-context-loader"
22
+ does_not_own: []
23
+ conflicts_with: []
@@ -0,0 +1,28 @@
1
+ name: qk-context-loader-eval
2
+ description: Đánh giá khả năng phân tích kiến trúc và tải context
3
+ version: 9.0.0
4
+ threshold: 85 # Tính chính xác của context là cốt lõi để tránh hallucination
5
+
6
+ metrics:
7
+ - id: accurate_graph_traversal
8
+ name: Phân tích Graph chính xác và giới hạn
9
+ description: Agent có tuân thủ giới hạn chiều sâu và không quét thừa file không?
10
+ weight: 35
11
+ criteria:
12
+ - Quét đúng dependency graph từ entry point (15đ)
13
+ - Tuân thủ giới hạn max depth 3 và max_files_read, không bị tràn (infinite loop) (20đ)
14
+
15
+ - id: risk_assessment
16
+ name: Đánh giá mức độ rủi ro (Risk Assessment)
17
+ description: Agent có nhận diện đúng các module dùng chung (shared) hoặc vi phạm ranh giới không?
18
+ weight: 35
19
+ criteria:
20
+ - Đánh dấu chính xác các file được import nhiều lần là HIGH/CRITICAL risk (20đ)
21
+ - Phát hiện được các file vi phạm cấu trúc (vd: trộn lẫn Server Logic và Client UI) (15đ)
22
+
23
+ - id: strict_json_output
24
+ name: Định dạng Output JSON chuẩn mực
25
+ description: Agent có xuất ra được JSON Schema như yêu cầu để các agent khác đọc không?
26
+ weight: 30
27
+ criteria:
28
+ - Định dạng JSON trả về chứa đầy đủ nodes, imports, exports và risks theo đúng schema (30đ)
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  # ── Identity ───────────────────────────────────────────────
3
3
  name: qk-data-lifecycle
4
- version: 8.0.0
4
+ version: 9.0.0
5
5
  status: stable
6
6
  description: "Quản lý Schema, Migrations an toàn — schema freeze → backward-compat migration → cleanup."
7
7
  platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
8
 
9
- # ── V8: Classification ─────────────────────────────────────
9
+ # ── V9: Classification ─────────────────────────────────────
10
10
  type: capability
11
11
 
12
12
  intent:
@@ -86,6 +86,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
86
86
 
87
87
  ---
88
88
 
89
+ ## Memory Workflow
90
+
91
+ ### Pre-flight Retrieve (Trước khi thực thi)
92
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
93
+ bắt buộc tra cứu:
94
+ - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
95
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
96
+
97
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
98
+ - Architecture
99
+ - Hard Bug
100
+ - Convention
101
+ - Pattern
102
+ - Tech Debt Pattern
103
+ - 👉 *Domain Focus:* Convention / Architecture (vd: chiến lược migration backward-compatible, quy định FK).
104
+
105
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
106
+ Không được xem Memory là Source of Truth.
107
+ 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.
108
+
109
+ ---
110
+
111
+ ### Learning Flow (AI tự học có kiểm soát)
112
+ - 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:
113
+ - Hard Bug có khả năng tái diễn.
114
+ - Pattern làm việc lặp lại trong dự án.
115
+ - Convention hoặc quy tắc kiến trúc mới.
116
+ - Quyết định Architecture quan trọng.
117
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
118
+ - 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: chuẩn index CSDL, quy tắc phân trang mới).
119
+
120
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
121
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
122
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
123
+
124
+ ---
125
+
126
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
127
+ Sau khi hoàn thành task:
128
+ - AI đánh giá các Candidate Memory đã tạo.
129
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
130
+ - Đề xuất người dùng xem xét.
131
+ - Gửi yêu cầu phê duyệt thông qua:
132
+ - `/learn`
133
+ - `qk-project-memory`
134
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
135
+
136
+ ```
137
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
138
+ ```
139
+
140
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
141
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
142
+
143
+ ---
144
+
145
+ ### Ignore (Không đưa vào Memory)
146
+ Không lưu:
147
+ - Trace log của một session đơn lẻ.
148
+ - Temporary debugging data.
149
+ - Output của một lần chạy test/scan.
150
+ - Report health tạm thời của một đợt kiểm tra.
151
+ - Lỗi nhỏ chỉ xảy ra một lần.
152
+ - Thông tin không có khả năng tái sử dụng.
153
+ - 👉 *Domain Ignore:* Thao tác thêm trường đơn giản hoặc temporary database fix.
154
+
155
+ ---
156
+
157
+ ### Golden Rule
158
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
159
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
160
+
161
+ ---
162
+ ---
163
+
164
+ ### Learning Flow (AI tự học có kiểm soát)
165
+ - 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:
166
+ - Hard Bug có khả năng tái diễn.
167
+ - Pattern làm việc lặp lại trong dự án.
168
+ - Convention hoặc quy tắc kiến trúc mới.
169
+ - Quyết định Architecture quan trọng.
170
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
171
+ - 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: chuẩn index CSDL, quy tắc phân trang mới).
172
+
173
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
174
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
175
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
176
+
177
+ ---
178
+
179
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
180
+ Sau khi hoàn thành task:
181
+ - AI đánh giá các Candidate Memory đã tạo.
182
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
183
+ - Đề xuất người dùng xem xét.
184
+ - Gửi yêu cầu phê duyệt thông qua:
185
+ - `/learn`
186
+ - `qk-project-memory`
187
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
188
+
189
+ ```
190
+ .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
191
+ ```
192
+
193
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
194
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
195
+
196
+ ---
197
+
198
+ ### Ignore (Không đưa vào Memory)
199
+ Không lưu:
200
+ - Trace log của một session đơn lẻ.
201
+ - Temporary debugging data.
202
+ - Output của một lần chạy test/scan.
203
+ - Report health tạm thời của một đợt kiểm tra.
204
+ - Lỗi nhỏ chỉ xảy ra một lần.
205
+ - Thông tin không có khả năng tái sử dụng.
206
+ - 👉 *Domain Ignore:* Thao tác thêm trường đơn giản hoặc temporary database fix.
207
+
208
+ ---
209
+
210
+ ### Golden Rule
211
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
212
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
213
+
214
+ ---
215
+ ---
216
+ ---
217
+ ---
218
+
89
219
  ## Preconditions
90
220
  - [ ] Existing schema is identified (ORM model files)
91
221
  - [ ] Change intent is clear (add field / modify field / drop field)
@@ -0,0 +1,23 @@
1
+ # Auto-generated from SKILL.md frontmatter
2
+ schema_version: 1
3
+ id: "qk-data-lifecycle"
4
+ version: "9.0.0"
5
+ description: "Quản lý Schema, Migrations an toàn — schema freeze → backward-compat migration → cleanup."
6
+ tools:
7
+ - "filesystem"
8
+ - "terminal"
9
+ knowledge:
10
+ owns:
11
+ - "schema"
12
+ - "migrations"
13
+ references:
14
+ - "architecture"
15
+ - "security"
16
+ - "anti-patterns"
17
+ eval:
18
+ scorecard: "evals/scorecard.yaml"
19
+ decision_boundary:
20
+ owns:
21
+ - "qk-data-lifecycle"
22
+ does_not_own: []
23
+ conflicts_with: []
@@ -0,0 +1,29 @@
1
+ name: qk-data-lifecycle-eval
2
+ description: Đánh giá chất lượng quản lý Schema và an toàn Migration
3
+ version: 9.0.0
4
+ threshold: 90 # Tiêu chuẩn rất cao vì rủi ro mất mát dữ liệu (Data loss) là CRITICAL
5
+
6
+ metrics:
7
+ - id: backward_compatible_migration
8
+ name: Migration tương thích ngược và an toàn
9
+ description: Agent có tạo migration an toàn, tránh phá vỡ dữ liệu đang chạy không?
10
+ weight: 40
11
+ criteria:
12
+ - Không sử dụng các lệnh destructive (DROP COLUMN, RENAME TABLE) một cách trực tiếp mà không qua chiến lược 3-phase (20đ)
13
+ - Các cột mới (add column) phải nullable hoặc có default value (10đ)
14
+ - Luôn định nghĩa hàm rollback `down()` (10đ)
15
+
16
+ - id: pii_and_security
17
+ name: Bảo mật dữ liệu PII (R-SEC-04)
18
+ description: Dữ liệu nhạy cảm có được mã hóa theo yêu cầu không?
19
+ weight: 30
20
+ criteria:
21
+ - Tự động nhận diện và áp dụng cơ chế hashing/encryption cho các cột chứa dữ liệu PII (Personal Identifiable Information) (30đ)
22
+
23
+ - id: layer_separation
24
+ name: Tách biệt Logic và Schema
25
+ description: Schema và truy vấn có được tách biệt khỏi Business Logic không?
26
+ weight: 30
27
+ criteria:
28
+ - Khai báo Schema (Model/Entity) rõ ràng trước khi viết truy vấn (15đ)
29
+ - Repository chỉ chứa truy vấn Database, không chứa Business Logic phức tạp (15đ)