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.
- package/.agents/AGENTS.md +139 -42
- package/.agents/DEV_PROFILE.md +95 -0
- package/.agents/registry/capability-graph.yml +171 -334
- package/.agents/registry/graph.json +37 -19
- package/.agents/registry/index.yaml +59 -13
- package/.agents/registry/skills-index.yml +204 -447
- package/.agents/rules/coding.md +23 -0
- package/.agents/rules/global.md +44 -30
- package/.agents/skills/_template/SKILL.md +2 -377
- package/.agents/skills/qk-access-policy/SKILL.md +98 -473
- package/.agents/skills/qk-agent-observability/SKILL.md +3 -439
- package/.agents/skills/qk-ai-builder/SKILL.md +132 -565
- package/.agents/skills/qk-api-consumer/SKILL.md +256 -0
- package/.agents/skills/qk-api-consumer/capability.yaml +21 -0
- package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +133 -456
- package/.agents/skills/qk-bug-resolution/SKILL.md +128 -561
- package/.agents/skills/qk-code-review/SKILL.md +142 -420
- package/.agents/skills/qk-context-loader/SKILL.md +99 -471
- package/.agents/skills/qk-data-engineer/SKILL.md +119 -340
- package/.agents/skills/qk-data-lifecycle/SKILL.md +89 -488
- package/.agents/skills/qk-db-optimizer/SKILL.md +102 -488
- package/.agents/skills/qk-design-system-engineering/SKILL.md +76 -461
- package/.agents/skills/qk-devops-platform/SKILL.md +77 -463
- package/.agents/skills/qk-docs/SKILL.md +88 -494
- package/.agents/skills/qk-engineering-standard/SKILL.md +4 -588
- package/.agents/skills/qk-fe-api-integration/SKILL.md +343 -343
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -29
- package/.agents/skills/qk-feature-delivery/SKILL.md +137 -445
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-frontend-architecture/SKILL.md +5 -479
- package/.agents/skills/qk-help/evals/scorecard.yaml +13 -13
- package/.agents/skills/qk-orchestrator/SKILL.md +63 -502
- package/.agents/skills/qk-orchestrator/references/routing-table.md +10 -14
- package/.agents/skills/qk-product-specification/SKILL.md +70 -479
- package/.agents/skills/qk-production-release/SKILL.md +80 -537
- package/.agents/skills/qk-project-audit/SKILL.md +174 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +243 -471
- package/.agents/skills/qk-project-health/SKILL.md +97 -496
- package/.agents/skills/qk-project-memory/SKILL.md +76 -21
- package/.agents/skills/qk-refactor/SKILL.md +167 -384
- package/.agents/skills/qk-security-audit/SKILL.md +141 -463
- package/.agents/skills/qk-security-audit/capability.yaml +1 -2
- package/.agents/skills/qk-system-evolution/SKILL.md +343 -343
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +119 -509
- package/.agents/skills/qk-ui-audit/SKILL.md +73 -537
- package/.agents/skills/qk-ui-builder/SKILL.md +521 -482
- package/.agents/skills/qk-ui-system-builder/SKILL.md +68 -514
- package/.agents/skills/qk-upgrade/SKILL.md +301 -0
- package/.agents/skills/qk-upgrade/capability.yaml +24 -0
- package/.agents/skills/qk-upgrade/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +4 -603
- package/.agents/skills/qk-web-quality-gate/SKILL.md +85 -463
- package/.agents/workflows/bug-resolution.yml +6 -6
- package/.agents/workflows/context-discovery.yml +94 -0
- package/.agents/workflows/feature-delivery.yml +8 -4
- package/.agents/workflows/refactor.yml +6 -3
- package/.agents/workflows/shared/quality-gate.yml +94 -0
- package/.agents/workflows/skin-governance.yml +115 -0
- package/README.md +152 -67
- package/package.json +2 -2
- package/tooling/build-registry.js +30 -8
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
---
|
|
1
|
+
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-code-review
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: stable
|
|
6
|
-
description: "
|
|
6
|
+
description: "Review code, AI config, hoặc skin rules theo 4 phases với Architect mindset — phát hiện bug, security issue, architecture smell, logic error. Dùng skill này khi user nhắc đến: review code, code review, kiểm tra code, đánh giá code, review skin, review rule, review ai config, audit PR — kể cả khi chỉ nói \"xem thử code này ổn không\"."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -23,14 +23,16 @@ complexity:
|
|
|
23
23
|
has_external_dependency: false
|
|
24
24
|
has_breaking_change: false
|
|
25
25
|
|
|
26
|
-
triggers:
|
|
27
|
-
- "review code"
|
|
28
|
-
- "code review"
|
|
29
|
-
- "kiểm tra code"
|
|
30
|
-
- "đánh giá code"
|
|
31
|
-
- "review skin"
|
|
32
|
-
- "review rule"
|
|
33
|
-
- "review ai"
|
|
26
|
+
triggers:
|
|
27
|
+
- "review code"
|
|
28
|
+
- "code review"
|
|
29
|
+
- "kiểm tra code"
|
|
30
|
+
- "đánh giá code"
|
|
31
|
+
- "review skin"
|
|
32
|
+
- "review rule"
|
|
33
|
+
- "review ai config"
|
|
34
|
+
- "audit PR"
|
|
35
|
+
|
|
34
36
|
|
|
35
37
|
selection:
|
|
36
38
|
priority: high
|
|
@@ -46,9 +48,8 @@ tools:
|
|
|
46
48
|
- filesystem
|
|
47
49
|
|
|
48
50
|
related_skills:
|
|
49
|
-
- qk-validation-gate
|
|
50
|
-
- qk-engineering-standard
|
|
51
51
|
- qk-project-health
|
|
52
|
+
- qk-security-audit
|
|
52
53
|
|
|
53
54
|
knowledge_scope:
|
|
54
55
|
owns:
|
|
@@ -84,448 +85,169 @@ token_budget:
|
|
|
84
85
|
max_shell_commands: 2
|
|
85
86
|
stop_early: true
|
|
86
87
|
|
|
87
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
88
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
88
89
|
---
|
|
89
90
|
|
|
90
91
|
# qk-code-review — Elite Review System
|
|
91
92
|
|
|
92
93
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
93
94
|
|
|
94
|
-
Biến quá trình Code Review từ "bắt bẻ" (gatekeeping) thành "chia sẻ tri thức" (knowledge sharing) thông qua phản hồi mang tính xây dựng, phân tích có hệ thống và hợp tác cải tiến.
|
|
95
|
+
Biến quá trình Code Review từ "bắt bẻ" (gatekeeping) thành "chia sẻ tri thức" (knowledge sharing) thông qua phản hồi mang tính xây dựng, phân tích có hệ thống và hợp tác cải tiến theo tư duy Kiến trúc sư (Architect mindset).
|
|
95
96
|
|
|
96
97
|
---
|
|
97
98
|
|
|
98
|
-
## Memory Workflow
|
|
99
|
-
|
|
100
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
101
|
-
- 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:
|
|
102
|
-
- **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.
|
|
103
|
-
- **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.
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
108
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
109
|
-
bắt buộc tra cứu:
|
|
110
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
111
|
-
|
|
112
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
113
|
-
- Architecture
|
|
114
|
-
- Hard Bug
|
|
115
|
-
- Convention
|
|
116
|
-
- Pattern
|
|
117
|
-
- Tech Debt Pattern
|
|
118
|
-
- 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
|
|
119
|
-
|
|
120
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
121
|
-
Không được xem Memory là Source of Truth.
|
|
122
|
-
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.
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
127
|
-
- 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:
|
|
128
|
-
- Hard Bug có khả năng tái diễn.
|
|
129
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
130
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
131
|
-
- Quyết định Architecture quan trọng.
|
|
132
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
133
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
134
|
-
|
|
135
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
136
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
137
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
142
|
-
Sau khi hoàn thành task:
|
|
143
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
144
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
145
|
-
- Đề xuất người dùng xem xét.
|
|
146
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
147
|
-
- `/learn`
|
|
148
|
-
- `qk-project-memory`
|
|
149
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
156
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
### Ignore (Không đưa vào Memory)
|
|
161
|
-
Không lưu:
|
|
162
|
-
- Trace log của một session đơn lẻ.
|
|
163
|
-
- Temporary debugging data.
|
|
164
|
-
- Output của một lần chạy test/scan.
|
|
165
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
166
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
167
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
168
|
-
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
### Golden Rule
|
|
173
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
174
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
181
|
-
- 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:
|
|
182
|
-
- **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.
|
|
183
|
-
- **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.
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
188
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
189
|
-
bắt buộc tra cứu:
|
|
190
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
191
|
-
|
|
192
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
193
|
-
- Architecture
|
|
194
|
-
- Hard Bug
|
|
195
|
-
- Convention
|
|
196
|
-
- Pattern
|
|
197
|
-
- Tech Debt Pattern
|
|
198
|
-
- 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
|
|
199
|
-
|
|
200
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
201
|
-
Không được xem Memory là Source of Truth.
|
|
202
|
-
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.
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
207
|
-
- 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:
|
|
208
|
-
- Hard Bug có khả năng tái diễn.
|
|
209
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
210
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
211
|
-
- Quyết định Architecture quan trọng.
|
|
212
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
213
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
214
|
-
|
|
215
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
216
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
217
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
222
|
-
Sau khi hoàn thành task:
|
|
223
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
224
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
225
|
-
- Đề xuất người dùng xem xét.
|
|
226
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
227
|
-
- `/learn`
|
|
228
|
-
- `qk-project-memory`
|
|
229
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
230
|
-
|
|
231
|
-
```
|
|
232
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
236
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
### Ignore (Không đưa vào Memory)
|
|
241
|
-
Không lưu:
|
|
242
|
-
- Trace log của một session đơn lẻ.
|
|
243
|
-
- Temporary debugging data.
|
|
244
|
-
- Output của một lần chạy test/scan.
|
|
245
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
246
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
247
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
248
|
-
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
### Golden Rule
|
|
253
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
254
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
261
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
262
|
-
bắt buộc tra cứu:
|
|
263
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
264
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
265
|
-
|
|
266
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
267
|
-
- Architecture
|
|
268
|
-
- Hard Bug
|
|
269
|
-
- Convention
|
|
270
|
-
- Pattern
|
|
271
|
-
- Tech Debt Pattern
|
|
272
|
-
- 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
|
|
273
|
-
|
|
274
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
275
|
-
Không được xem Memory là Source of Truth.
|
|
276
|
-
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.
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
281
|
-
- 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:
|
|
282
|
-
- Hard Bug có khả năng tái diễn.
|
|
283
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
284
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
285
|
-
- Quyết định Architecture quan trọng.
|
|
286
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
287
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
288
|
-
|
|
289
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
290
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
291
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
296
|
-
Sau khi hoàn thành task:
|
|
297
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
298
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
299
|
-
- Đề xuất người dùng xem xét.
|
|
300
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
301
|
-
- `/learn`
|
|
302
|
-
- `qk-project-memory`
|
|
303
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
304
|
-
|
|
305
|
-
```
|
|
306
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
310
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
### Ignore (Không đưa vào Memory)
|
|
315
|
-
Không lưu:
|
|
316
|
-
- Trace log của một session đơn lẻ.
|
|
317
|
-
- Temporary debugging data.
|
|
318
|
-
- Output của một lần chạy test/scan.
|
|
319
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
320
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
321
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
322
|
-
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
### Golden Rule
|
|
327
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
328
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
334
|
-
- 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:
|
|
335
|
-
- Hard Bug có khả năng tái diễn.
|
|
336
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
337
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
338
|
-
- Quyết định Architecture quan trọng.
|
|
339
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
340
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
341
|
-
|
|
342
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
343
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
344
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
345
|
-
|
|
346
|
-
---
|
|
347
|
-
|
|
348
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
349
|
-
Sau khi hoàn thành task:
|
|
350
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
351
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
352
|
-
- Đề xuất người dùng xem xét.
|
|
353
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
354
|
-
- `/learn`
|
|
355
|
-
- `qk-project-memory`
|
|
356
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
357
|
-
|
|
358
|
-
```
|
|
359
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
363
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
364
|
-
|
|
365
|
-
---
|
|
366
|
-
|
|
367
|
-
### Ignore (Không đưa vào Memory)
|
|
368
|
-
Không lưu:
|
|
369
|
-
- Trace log của một session đơn lẻ.
|
|
370
|
-
- Temporary debugging data.
|
|
371
|
-
- Output của một lần chạy test/scan.
|
|
372
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
373
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
374
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
375
|
-
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
### Golden Rule
|
|
380
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
381
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
382
|
-
|
|
383
|
-
---
|
|
384
|
-
---
|
|
385
|
-
|
|
386
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
387
|
-
- 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:
|
|
388
|
-
- Hard Bug có khả năng tái diễn.
|
|
389
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
390
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
391
|
-
- Quyết định Architecture quan trọng.
|
|
392
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
393
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
394
|
-
|
|
395
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
396
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
397
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
398
|
-
|
|
399
|
-
---
|
|
400
|
-
|
|
401
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
402
|
-
Sau khi hoàn thành task:
|
|
403
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
404
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
405
|
-
- Đề xuất người dùng xem xét.
|
|
406
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
407
|
-
- `/learn`
|
|
408
|
-
- `qk-project-memory`
|
|
409
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
410
|
-
|
|
411
|
-
```
|
|
412
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
416
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
417
|
-
|
|
418
|
-
---
|
|
419
|
-
|
|
420
|
-
### Ignore (Không đưa vào Memory)
|
|
421
|
-
Không lưu:
|
|
422
|
-
- Trace log của một session đơn lẻ.
|
|
423
|
-
- Temporary debugging data.
|
|
424
|
-
- Output của một lần chạy test/scan.
|
|
425
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
426
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
427
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
428
|
-
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
429
|
-
|
|
430
|
-
---
|
|
431
|
-
|
|
432
|
-
### Golden Rule
|
|
433
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
434
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
435
|
-
|
|
436
|
-
---
|
|
437
|
-
---
|
|
438
|
-
---
|
|
439
|
-
---
|
|
440
|
-
|
|
441
99
|
## Preconditions
|
|
442
100
|
|
|
443
|
-
|
|
444
|
-
- [ ] Cung cấp ngữ cảnh hoặc mục tiêu của đoạn code/cấu hình cần review.
|
|
101
|
+
Trước khi thực hiện review, AI BẮT BUỘC kiểm tra:
|
|
445
102
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
103
|
+
- [ ] Xác định đối tượng review: files cụ thể, diff/PR, hay cấu hình AI/rules.
|
|
104
|
+
- [ ] Đọc `.agents/DEV_PROFILE.md` để nắm coding standards, architectural rules, và constraints.
|
|
105
|
+
- [ ] Đảm bảo files cần review tồn tại và có thể đọc được nội dung.
|
|
106
|
+
- [ ] Nếu scope review vượt quá khả năng context (ví dụ toàn bộ repo hàng nghìn files cùng lúc):
|
|
107
|
+
→ **EXIT: BLOCKED**
|
|
108
|
+
→ Báo cáo user chia nhỏ phạm vi review theo module hoặc PR diff.
|
|
450
109
|
|
|
451
110
|
---
|
|
452
111
|
|
|
453
|
-
##
|
|
112
|
+
## Scope
|
|
454
113
|
|
|
455
|
-
|
|
114
|
+
✅ Skill này làm:
|
|
115
|
+
- Phân tích code theo 4 tầng: Bug/Logic, Security, Architecture/Maintainability, Coding Standards.
|
|
116
|
+
- Đánh giá chất lượng của cấu hình AI (SKILL.md, workflow YAML, system rules).
|
|
117
|
+
- Cung cấp feedback định lượng, phân loại độ nghiêm trọng: CRITICAL, HIGH, MEDIUM, LOW.
|
|
118
|
+
- Gợi ý giải pháp cụ thể (concrete diffs / refactor snippet) cho từng vấn đề.
|
|
119
|
+
- Hoạt động ở chế độ **read-only** (chỉ xuất báo cáo, không tự ý sửa code).
|
|
456
120
|
|
|
457
|
-
|
|
458
|
-
-
|
|
459
|
-
-
|
|
460
|
-
-
|
|
121
|
+
❌ Skill này KHÔNG làm:
|
|
122
|
+
- Tự động áp dụng code fix vào source code của user (→ user quyết định hoặc dùng `qk-refactor`).
|
|
123
|
+
- Quét toàn bộ vulnerabilities của third-party dependencies qua CVE database (→ `qk-security-audit`).
|
|
124
|
+
- Đo lường và chấm điểm tổng thể kỹ thuật dự án (→ `qk-project-health`).
|
|
461
125
|
|
|
462
126
|
---
|
|
463
127
|
|
|
464
|
-
##
|
|
465
|
-
|
|
466
|
-
Là một AI Architect, quá trình review phải tuân thủ nghiêm ngặt 4 giai đoạn sau:
|
|
128
|
+
## Execution Steps
|
|
467
129
|
|
|
468
|
-
###
|
|
469
|
-
|
|
470
|
-
|
|
130
|
+
### Step 1 — Context & Target Ingestion
|
|
131
|
+
```
|
|
132
|
+
Inputs: Danh sách files/diff từ user, DEV_PROFILE.md
|
|
133
|
+
Actions:
|
|
134
|
+
- Đọc nội dung source code mục tiêu.
|
|
135
|
+
- Phân tích vai trò của file trong kiến trúc chung (domain, service, UI, infra).
|
|
136
|
+
Output: Scope boundary & Review target map
|
|
137
|
+
```
|
|
471
138
|
|
|
472
|
-
###
|
|
473
|
-
|
|
474
|
-
|
|
139
|
+
### Step 2 — Multi-Dimensional Analysis
|
|
140
|
+
```
|
|
141
|
+
Inputs: Source code, Standards & Rules
|
|
142
|
+
Actions:
|
|
143
|
+
- Phase 1: Logic & Correctness (xử lý null/undefined, race conditions, edge cases).
|
|
144
|
+
- Phase 2: Security & Privacy (input validation, SQLi/XSS, secret leaks, access control).
|
|
145
|
+
- Phase 3: Architecture & Clean Code (SOLID, DRY, coupled dependencies, readability).
|
|
146
|
+
- Phase 4: Conventions & Performance (quy ước đặt tên, N+1 query, re-render).
|
|
147
|
+
Output: Raw findings list
|
|
148
|
+
```
|
|
475
149
|
|
|
476
|
-
###
|
|
477
|
-
|
|
478
|
-
|
|
150
|
+
### Step 3 — Constructive Synthesis & Remediation
|
|
151
|
+
```
|
|
152
|
+
Inputs: Raw findings list
|
|
153
|
+
Actions:
|
|
154
|
+
- Lọc bỏ false positives và gán nhãn mức độ nghiêm trọng (CRITICAL/HIGH/MEDIUM/LOW).
|
|
155
|
+
- Với mỗi finding, viết lý do (Why) và đề xuất code snippet cải tiến (How to fix).
|
|
156
|
+
Output: Structured Review Report
|
|
157
|
+
```
|
|
479
158
|
|
|
480
|
-
###
|
|
481
|
-
|
|
482
|
-
|
|
159
|
+
### Step 4 — Verification & Delivery
|
|
160
|
+
```
|
|
161
|
+
Inputs: Structured Review Report
|
|
162
|
+
Actions:
|
|
163
|
+
- Rà soát tính khả thi của các đề xuất.
|
|
164
|
+
- Trình bày báo cáo rõ ràng, mạch lạc theo ngôn ngữ tiếng Việt (code snippets giữ English).
|
|
165
|
+
Exit: SUCCESS
|
|
166
|
+
```
|
|
483
167
|
|
|
484
168
|
---
|
|
485
169
|
|
|
486
|
-
##
|
|
487
|
-
|
|
488
|
-
- **Collaborative Language (Ngôn từ hợp tác)**: Thay vì ra lệnh ("Sửa cái này thành X", "Bỏ dòng này đi"), hãy dùng câu hỏi gợi mở ("Nếu chúng ta dùng X ở đây thì có tối ưu hiệu năng hơn không?", "Có vẻ logic này bị lặp, chúng ta extract nó ra hàm riêng được không?").
|
|
489
|
-
- **Differentiate Severity (Phân biệt mức độ)**: Bắt buộc sử dụng các nhãn sau để phân loại mức độ phản hồi:
|
|
490
|
-
- 🔴 `[blocking]` - Lỗi nghiêm trọng (VD: Security flaw, thiếu token_budget). Bắt buộc phải sửa.
|
|
491
|
-
- 🟡 `[important]` - Lỗi quan trọng (VD: Performance leak, trigger quá rộng). Nên sửa hoặc cần thảo luận.
|
|
492
|
-
- 🟢 `[nit]` - Cải thiện nhỏ (VD: Lỗi chính tả, format, naming). Không bắt buộc.
|
|
493
|
-
- 💡 `[suggestion]` - Cách tiếp cận hoặc thư viện thay thế để tham khảo.
|
|
494
|
-
- 📚 `[learning]` - Giải thích nguyên lý (Why) để chia sẻ kiến thức, không yêu cầu hành động.
|
|
495
|
-
- 🎉 `[praise]` - Lời khen cho đoạn code / logic thiết kế tốt.
|
|
170
|
+
## Prompt Template
|
|
496
171
|
|
|
497
|
-
|
|
172
|
+
AI đọc `DEV_PROFILE.md` để biết conventions + constraints. Review sẽ đánh giá theo đúng tiêu chuẩn dự án.
|
|
498
173
|
|
|
499
|
-
|
|
174
|
+
```
|
|
175
|
+
Review: [File / folder / PR diff cần review]
|
|
176
|
+
Focus: [security / performance / architecture / logic / correctness — hoặc "full"]
|
|
177
|
+
Context: [Đây là feature mới / bug fix / refactor / migration / ...]
|
|
178
|
+
Bỏ qua: [Những thứ không cần comment — vd: style, naming, test coverage]
|
|
179
|
+
```
|
|
500
180
|
|
|
501
|
-
|
|
502
|
-
## qk-code-review Report
|
|
503
|
-
─────────────────────────────────────────────────
|
|
504
|
-
**Target:** [Tên file / Chức năng]
|
|
505
|
-
**Status:** SUCCESS | BLOCKED | FAILED | PARTIAL
|
|
181
|
+
---
|
|
506
182
|
|
|
507
|
-
###
|
|
508
|
-
[1-2 câu tóm tắt chất lượng tổng thể của mã nguồn/cấu hình. VD: "Kiến trúc rõ ràng, nhưng tiềm ẩn rủi ro lặp vô hạn ở dòng 45."]
|
|
183
|
+
### Theo Role — AI review theo tiêu chí khác nhau:
|
|
509
184
|
|
|
510
|
-
|
|
185
|
+
**role: fe**
|
|
186
|
+
```
|
|
187
|
+
Review: src/features/cart/ (toàn bộ folder — PR mới)
|
|
188
|
+
Focus: correctness + performance
|
|
189
|
+
Context: Vừa implement giỏ hàng — lần đầu có optimistic updates
|
|
190
|
+
Bỏ qua: CSS naming convention
|
|
191
|
+
```
|
|
192
|
+
→ AI xem xét: race condition trong optimistic update, stale closure trong
|
|
193
|
+
useCallback/useEffect, unnecessary re-render (missing memo/deps array),
|
|
194
|
+
missing error boundary, accessibility của interactive elements,
|
|
195
|
+
bundle size impact của dependencies mới.
|
|
511
196
|
|
|
512
|
-
|
|
197
|
+
**role: be**
|
|
198
|
+
```
|
|
199
|
+
Review: src/routes/payments/ + src/services/PaymentService.ts
|
|
200
|
+
Focus: security + correctness
|
|
201
|
+
Context: Tích hợp payment gateway mới (Stripe) — business critical
|
|
202
|
+
Bỏ qua: Code style
|
|
203
|
+
```
|
|
204
|
+
→ AI xem xét: idempotency key usage, webhook signature verification,
|
|
205
|
+
sensitive data logging (card numbers, CVV không được log),
|
|
206
|
+
error handling không leak internal info ra response, DB transaction scope,
|
|
207
|
+
rate limiting, secrets không hardcode.
|
|
513
208
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
-
|
|
209
|
+
**role: fullstack**
|
|
210
|
+
```
|
|
211
|
+
Review: src/features/reports/ (FE + BE cùng PR)
|
|
212
|
+
Focus: architecture + contract
|
|
213
|
+
Context: Feature mới — export báo cáo, cả FE và BE trong cùng PR
|
|
214
|
+
Bỏ qua: Test coverage (sẽ thêm sau)
|
|
215
|
+
```
|
|
216
|
+
→ AI xem xét: type contract giữa FE-BE (có dùng shared types không),
|
|
217
|
+
FE không hard-code assumptions về response shape, BE thay đổi response
|
|
218
|
+
có break FE không, error shape nhất quán, loading state đầy đủ.
|
|
522
219
|
|
|
523
|
-
|
|
524
|
-
|
|
220
|
+
**role: data**
|
|
221
|
+
```
|
|
222
|
+
Review: dags/customer_churn_pipeline.py + models/mart/fct_churn.sql
|
|
223
|
+
Focus: correctness + reliability
|
|
224
|
+
Context: Pipeline mới chạy weekly, dữ liệu dùng cho ML model
|
|
225
|
+
Bỏ qua: SQL formatting style
|
|
226
|
+
```
|
|
227
|
+
→ AI xem xét: idempotency (re-run an toàn không), partition filter đúng chưa
|
|
228
|
+
(tránh full scan), data quality assertions có đủ không, schema evolution
|
|
229
|
+
strategy, downstream dependencies được documented chưa, SLA realistic không.
|
|
525
230
|
|
|
526
|
-
|
|
527
|
-
- [ ] Approve (Có thể merge/deploy ngay)
|
|
528
|
-
- [ ] Changes Requested (Cần sửa các mục `[blocking]`)
|
|
529
|
-
- [ ] Comment (Chỉ là gợi ý, quyền quyết định ở user)
|
|
231
|
+
**role: ai-engineer**
|
|
530
232
|
```
|
|
233
|
+
Review: prompts/ + retrieval/pipeline.py
|
|
234
|
+
Focus: correctness + hallucination risk
|
|
235
|
+
Context: RAG pipeline sắp ra production — cần review kỹ trước khi deploy
|
|
236
|
+
Bỏ qua: Code style
|
|
237
|
+
```
|
|
238
|
+
→ AI xem xét: system prompt có enforce grounding không ("chỉ dùng context được cung cấp"),
|
|
239
|
+
retrieval có thể trả empty context không (edge case), temperature setting phù hợp,
|
|
240
|
+
PII trong training data / retrieved context, prompt injection risk,
|
|
241
|
+
eval metrics có được log không, fallback khi LLM unavailable.
|
|
531
242
|
|
|
243
|
+
**role: devops**
|
|
244
|
+
```
|
|
245
|
+
Review: .github/workflows/ + terraform/modules/ecs/
|
|
246
|
+
Focus: security + correctness
|
|
247
|
+
Context: Infrastructure change — scale up ECS service + thêm ALB rule
|
|
248
|
+
Bỏ qua: Resource naming convention (đã có convention riêng)
|
|
249
|
+
```
|
|
250
|
+
→ AI xem xét: secrets exposed trong logs hay env vars không, IAM least-privilege
|
|
251
|
+
(role có quá nhiều permission không), rollback plan rõ ràng chưa,
|
|
252
|
+
state file được lock và store an toàn không, có test trên staging trước prod không,
|
|
253
|
+
blast radius nếu Terraform apply fail giữa chừng.
|