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-project-health
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: stable
|
|
6
|
-
description: "Kiểm toán toàn diện Code Smells,
|
|
6
|
+
description: "Kiểm toán toàn diện sức khỏe dự án: đo lường Code Smells, Technical Debt, độ phức tạp Cyclomatic, God files, vi phạm SOLID — chấm điểm Health Score (0–100) và đề xuất lộ trình cải tiến. Dùng skill này khi user nhắc đến: audit project, code smell, tech debt, health check, project score, nợ kỹ thuật, kiểm tra sức khỏe code, đánh giá chất lượng dự án — kể cả khi chỉ nói 'xem thử project này nợ kỹ thuật nhiều không' — KHÔNG dùng cho phân tích tính khả thi hay gap analysis trước khi code (dùng qk-project-audit)."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -12,6 +12,7 @@ type: utility
|
|
|
12
12
|
intent:
|
|
13
13
|
- project-audit
|
|
14
14
|
- codebase-health
|
|
15
|
+
- tech-debt-analysis
|
|
15
16
|
|
|
16
17
|
complexity:
|
|
17
18
|
level: high
|
|
@@ -21,12 +22,16 @@ complexity:
|
|
|
21
22
|
has_external_dependency: false
|
|
22
23
|
has_breaking_change: false
|
|
23
24
|
|
|
24
|
-
triggers:
|
|
25
|
-
- "audit
|
|
26
|
-
- "
|
|
27
|
-
- "tech debt"
|
|
28
|
-
- "
|
|
29
|
-
- "
|
|
25
|
+
triggers:
|
|
26
|
+
- "audit project"
|
|
27
|
+
- "code smell"
|
|
28
|
+
- "tech debt"
|
|
29
|
+
- "health check"
|
|
30
|
+
- "project score"
|
|
31
|
+
- "nợ kỹ thuật"
|
|
32
|
+
- "kiểm tra sức khỏe code"
|
|
33
|
+
- "đánh giá chất lượng dự án"
|
|
34
|
+
|
|
30
35
|
|
|
31
36
|
# ── V8: References ─────────────────────────────────────────
|
|
32
37
|
workflow: code-review
|
|
@@ -40,12 +45,15 @@ tools:
|
|
|
40
45
|
- terminal
|
|
41
46
|
|
|
42
47
|
related_skills:
|
|
43
|
-
- qk-
|
|
48
|
+
- qk-code-review
|
|
49
|
+
- qk-refactor
|
|
50
|
+
- qk-security-audit
|
|
44
51
|
|
|
45
52
|
knowledge_scope:
|
|
46
53
|
owns:
|
|
47
54
|
- tech-debt
|
|
48
55
|
- codebase-health
|
|
56
|
+
- code-metrics
|
|
49
57
|
references:
|
|
50
58
|
- architecture
|
|
51
59
|
- security
|
|
@@ -73,529 +81,122 @@ produces: [report]
|
|
|
73
81
|
consumes: [source-code]
|
|
74
82
|
|
|
75
83
|
token_budget:
|
|
76
|
-
max_files_read:
|
|
77
|
-
max_lines_per_read:
|
|
78
|
-
max_shell_commands:
|
|
84
|
+
max_files_read: 12
|
|
85
|
+
max_lines_per_read: 150
|
|
86
|
+
max_shell_commands: 2
|
|
79
87
|
stop_early: true
|
|
80
88
|
|
|
81
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
89
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
82
90
|
---
|
|
83
91
|
|
|
84
|
-
# qk-project-health —
|
|
92
|
+
# qk-project-health — Codebase Health Auditor & Tech Debt Evaluator
|
|
85
93
|
|
|
86
94
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
87
95
|
|
|
96
|
+
Chịu trách nhiệm kiểm toán độc lập chất lượng toàn diện của codebase, đo lường nợ kỹ thuật (Technical Debt) theo các ngưỡng định lượng chuẩn hóa (R-C-09 & R-C-10), chấm điểm **Health Score (0–100)** và cung cấp lộ trình tái cấu trúc khả thi.
|
|
97
|
+
|
|
88
98
|
---
|
|
89
99
|
|
|
90
|
-
## Memory Workflow
|
|
91
|
-
|
|
92
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
93
|
-
- 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:
|
|
94
|
-
- **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.
|
|
95
|
-
- **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.
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
100
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
101
|
-
bắt buộc tra cứu:
|
|
102
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
103
|
-
|
|
104
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
105
|
-
- Architecture
|
|
106
|
-
- Hard Bug
|
|
107
|
-
- Convention
|
|
108
|
-
- Pattern
|
|
109
|
-
- Tech Debt Pattern
|
|
110
|
-
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: chỉ số sức khỏe codebase 0-100, các điểm nợ kỹ thuật tech debt).
|
|
111
|
-
|
|
112
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
113
|
-
Không được xem Memory là Source of Truth.
|
|
114
|
-
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.
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
119
|
-
- 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:
|
|
120
|
-
- Hard Bug có khả năng tái diễn.
|
|
121
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
122
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
123
|
-
- Quyết định Architecture quan trọng.
|
|
124
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
125
|
-
- 👉 *Domain Harvest:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
|
|
126
|
-
|
|
127
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
128
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
129
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
134
|
-
Sau khi hoàn thành task:
|
|
135
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
136
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
137
|
-
- Đề xuất người dùng xem xét.
|
|
138
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
139
|
-
- `/learn`
|
|
140
|
-
- `qk-project-memory`
|
|
141
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
142
|
-
|
|
143
|
-
```
|
|
144
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
148
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
### Ignore (Không đưa vào Memory)
|
|
153
|
-
Không lưu:
|
|
154
|
-
- Trace log của một session đơn lẻ.
|
|
155
|
-
- Temporary debugging data.
|
|
156
|
-
- Output của một lần chạy test/scan.
|
|
157
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
158
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
159
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
160
|
-
- 👉 *Domain Ignore:* Report health tạm thời của 1 đợt scan.
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
### Golden Rule
|
|
165
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
166
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
173
|
-
- 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:
|
|
174
|
-
- **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.
|
|
175
|
-
- **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.
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
180
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
181
|
-
bắt buộc tra cứu:
|
|
182
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
183
|
-
|
|
184
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
185
|
-
- Architecture
|
|
186
|
-
- Hard Bug
|
|
187
|
-
- Convention
|
|
188
|
-
- Pattern
|
|
189
|
-
- Tech Debt Pattern
|
|
190
|
-
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: chỉ số sức khỏe codebase 0-100, các điểm nợ kỹ thuật tech debt).
|
|
191
|
-
|
|
192
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
193
|
-
Không được xem Memory là Source of Truth.
|
|
194
|
-
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.
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
199
|
-
- 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:
|
|
200
|
-
- Hard Bug có khả năng tái diễn.
|
|
201
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
202
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
203
|
-
- Quyết định Architecture quan trọng.
|
|
204
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
205
|
-
- 👉 *Domain Harvest:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
|
|
206
|
-
|
|
207
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
208
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
209
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
214
|
-
Sau khi hoàn thành task:
|
|
215
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
216
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
217
|
-
- Đề xuất người dùng xem xét.
|
|
218
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
219
|
-
- `/learn`
|
|
220
|
-
- `qk-project-memory`
|
|
221
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
222
|
-
|
|
223
|
-
```
|
|
224
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
228
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### Ignore (Không đưa vào Memory)
|
|
233
|
-
Không lưu:
|
|
234
|
-
- Trace log của một session đơn lẻ.
|
|
235
|
-
- Temporary debugging data.
|
|
236
|
-
- Output của một lần chạy test/scan.
|
|
237
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
238
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
239
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
240
|
-
- 👉 *Domain Ignore:* Report health tạm thời của 1 đợt scan.
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
### Golden Rule
|
|
245
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
246
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
253
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
254
|
-
bắt buộc tra cứu:
|
|
255
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
256
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
257
|
-
|
|
258
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
259
|
-
- Architecture
|
|
260
|
-
- Hard Bug
|
|
261
|
-
- Convention
|
|
262
|
-
- Pattern
|
|
263
|
-
- Tech Debt Pattern
|
|
264
|
-
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: chỉ số sức khỏe codebase 0-100, các điểm nợ kỹ thuật tech debt).
|
|
265
|
-
|
|
266
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
267
|
-
Không được xem Memory là Source of Truth.
|
|
268
|
-
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.
|
|
269
|
-
|
|
270
|
-
---
|
|
271
|
-
|
|
272
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
273
|
-
- 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:
|
|
274
|
-
- Hard Bug có khả năng tái diễn.
|
|
275
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
276
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
277
|
-
- Quyết định Architecture quan trọng.
|
|
278
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
279
|
-
- 👉 *Domain Harvest:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
|
|
280
|
-
|
|
281
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
282
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
283
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
288
|
-
Sau khi hoàn thành task:
|
|
289
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
290
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
291
|
-
- Đề xuất người dùng xem xét.
|
|
292
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
293
|
-
- `/learn`
|
|
294
|
-
- `qk-project-memory`
|
|
295
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
302
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
### Ignore (Không đưa vào Memory)
|
|
307
|
-
Không lưu:
|
|
308
|
-
- Trace log của một session đơn lẻ.
|
|
309
|
-
- Temporary debugging data.
|
|
310
|
-
- Output của một lần chạy test/scan.
|
|
311
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
312
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
313
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
314
|
-
- 👉 *Domain Ignore:* Report health tạm thời của 1 đợt scan.
|
|
315
|
-
|
|
316
|
-
---
|
|
317
|
-
|
|
318
|
-
### Golden Rule
|
|
319
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
320
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
321
|
-
|
|
322
|
-
---
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
326
|
-
- 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:
|
|
327
|
-
- Hard Bug có khả năng tái diễn.
|
|
328
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
329
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
330
|
-
- Quyết định Architecture quan trọng.
|
|
331
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
332
|
-
- 👉 *Domain Harvest:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
|
|
333
|
-
|
|
334
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
335
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
336
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
341
|
-
Sau khi hoàn thành task:
|
|
342
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
343
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
344
|
-
- Đề xuất người dùng xem xét.
|
|
345
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
346
|
-
- `/learn`
|
|
347
|
-
- `qk-project-memory`
|
|
348
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
349
|
-
|
|
350
|
-
```
|
|
351
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
355
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
### Ignore (Không đưa vào Memory)
|
|
360
|
-
Không lưu:
|
|
361
|
-
- Trace log của một session đơn lẻ.
|
|
362
|
-
- Temporary debugging data.
|
|
363
|
-
- Output của một lần chạy test/scan.
|
|
364
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
365
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
366
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
367
|
-
- 👉 *Domain Ignore:* Report health tạm thời của 1 đợt scan.
|
|
368
|
-
|
|
369
|
-
---
|
|
370
|
-
|
|
371
|
-
### Golden Rule
|
|
372
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
373
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
---
|
|
377
|
-
|
|
378
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
379
|
-
- 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:
|
|
380
|
-
- Hard Bug có khả năng tái diễn.
|
|
381
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
382
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
383
|
-
- Quyết định Architecture quan trọng.
|
|
384
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
385
|
-
- 👉 *Domain Harvest:* Mô hình Code Smell hoặc Tech Debt hệ thống cần theo dõi tiêu diệt.
|
|
386
|
-
|
|
387
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
388
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
389
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
390
|
-
|
|
391
|
-
---
|
|
392
|
-
|
|
393
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
394
|
-
Sau khi hoàn thành task:
|
|
395
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
396
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
397
|
-
- Đề xuất người dùng xem xét.
|
|
398
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
399
|
-
- `/learn`
|
|
400
|
-
- `qk-project-memory`
|
|
401
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
402
|
-
|
|
403
|
-
```
|
|
404
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
408
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
409
|
-
|
|
410
|
-
---
|
|
411
|
-
|
|
412
|
-
### Ignore (Không đưa vào Memory)
|
|
413
|
-
Không lưu:
|
|
414
|
-
- Trace log của một session đơn lẻ.
|
|
415
|
-
- Temporary debugging data.
|
|
416
|
-
- Output của một lần chạy test/scan.
|
|
417
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
418
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
419
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
420
|
-
- 👉 *Domain Ignore:* Report health tạm thời của 1 đợt scan.
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
|
|
424
|
-
### Golden Rule
|
|
425
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
426
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
427
|
-
|
|
428
|
-
---
|
|
429
|
-
---
|
|
430
|
-
---
|
|
431
|
-
---
|
|
432
|
-
|
|
433
100
|
## Preconditions
|
|
434
|
-
- [ ] Project root is accessible
|
|
435
|
-
|
|
436
|
-
---
|
|
437
101
|
|
|
438
|
-
|
|
439
|
-
- ✅ Score 5 health dimensions (0–20 pts each = 100 total)
|
|
440
|
-
- ✅ Identify deprecated packages and security vulnerabilities
|
|
441
|
-
- ✅ Produce actionable refactoring roadmap
|
|
102
|
+
Trước khi tiến hành kiểm toán sức khỏe:
|
|
442
103
|
|
|
443
|
-
|
|
444
|
-
-
|
|
445
|
-
-
|
|
104
|
+
- [ ] Xác định rõ phạm vi kiểm toán: Toàn bộ codebase (Full repository) hay Module / Thư mục cụ thể.
|
|
105
|
+
- [ ] Đọc file conventions trong `.agents/DEV_PROFILE.md` để đánh giá đúng tiêu chuẩn dự án.
|
|
106
|
+
- [ ] Nếu codebase chưa có source code hoặc chỉ có file khởi tạo rỗng:
|
|
107
|
+
→ **EXIT: BLOCKED**
|
|
108
|
+
→ Báo cáo: "Dự án chưa đủ mã nguồn để đánh giá chỉ số nợ kỹ thuật."
|
|
446
109
|
|
|
447
110
|
---
|
|
448
111
|
|
|
449
|
-
##
|
|
450
|
-
|
|
451
|
-
| Dimension | Max Points | Key Checks |
|
|
452
|
-
|-----------|-----------|------------|
|
|
453
|
-
| Security | 20 | 0 critical CVEs, no hardcoded secrets, auth guards present, **tuân thủ Zero-Trust (R-SEC-04)** |
|
|
454
|
-
| Code Quality | 20 | Functions ≤ 30L, complexity ≤ 10, no God Files, **sạch bóng Anti-patterns (R-C-09)** |
|
|
455
|
-
| Architecture | 20 | Clean layers (UI/Logic/Data separated), no circular imports |
|
|
456
|
-
| Dependencies | 20 | No deprecated packages, no unused deps, versions pinned |
|
|
457
|
-
| Documentation | 20 | README complete, public APIs documented, DESIGN.md exists |
|
|
458
|
-
|
|
459
|
-
**Total: 100 pts. Grades: A (90+) / B (75-89) / C (60-74) / D (<60)**
|
|
112
|
+
## Scope
|
|
460
113
|
|
|
461
|
-
|
|
114
|
+
✅ Skill này làm:
|
|
115
|
+
- Quét các vi phạm số liệu kỹ thuật (Metric thresholds theo R-C-10):
|
|
116
|
+
- Function dài quá 40 dòng.
|
|
117
|
+
- File dài quá 300 dòng (God files).
|
|
118
|
+
- Nesting depth vượt quá 3 tầng.
|
|
119
|
+
- Cyclomatic complexity ước tính > 10.
|
|
120
|
+
- Phát hiện các Code Smells kinh điển: Duplicated logic (vi phạm DRY), Dead code, Magic numbers/strings, Any-casting lạm dụng, Silent error swallowing (`catch {}` rỗng).
|
|
121
|
+
- Đánh giá kiến trúc: Circular dependencies, vi phạm phân tầng (e.g. Controller truy cập trực tiếp DB, UI chứa business calculation).
|
|
122
|
+
- Chấm điểm **Health Score (0–100)** phân bổ theo 4 trục:
|
|
123
|
+
- Architecture Consistency (25đ)
|
|
124
|
+
- Maintainability & Clean Code (25đ)
|
|
125
|
+
- Testability & Reliability (25đ)
|
|
126
|
+
- Hygiene & Security Practice (25đ)
|
|
127
|
+
- Lập bảng danh mục nợ kỹ thuật xếp hạng ưu tiên (P0: Nguy hiểm, P1: Cần refactor sớm, P2: Nợ nhỏ).
|
|
462
128
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
| P2 | Code Quality | Yes |
|
|
468
|
-
| P3 | Architecture | Budget < 30% |
|
|
469
|
-
| P4 | Dependencies | Budget < 50% |
|
|
470
|
-
| P5 | Documentation | Budget < 60% |
|
|
129
|
+
❌ Skill này KHÔNG làm:
|
|
130
|
+
- Trực tiếp sửa đổi code của người dùng (`side_effects: read_only`).
|
|
131
|
+
- Audit chuyên sâu lỗ hổng bảo mật CVE (thuộc `qk-security-audit`).
|
|
132
|
+
- Tối ưu truy vấn SQL cụ thể (thuộc `qk-db-optimizer`).
|
|
471
133
|
|
|
472
134
|
---
|
|
473
135
|
|
|
474
|
-
##
|
|
475
|
-
|
|
476
|
-
### Phase 1 — Quick Scan (P1+P2)
|
|
477
|
-
1. `grep_search` for: hardcoded secrets, `eval(`, `any` types, `console.log`
|
|
478
|
-
2. Sample 3 key files → check function lengths, file sizes
|
|
479
|
-
3. Score Security (0–20) + Code Quality (0–20)
|
|
480
|
-
|
|
481
|
-
### Phase 2 — Structure Scan (P3+P4)
|
|
482
|
-
1. Read `package.json` — check outdated/deprecated packages
|
|
483
|
-
2. Check import patterns for circular dependencies or layer violations
|
|
484
|
-
3. Score Architecture (0–20) + Dependencies (0–20)
|
|
485
|
-
|
|
486
|
-
### Phase 3 — Docs Scan (P5) + Report
|
|
487
|
-
1. Check README, DESIGN.md, key function JSDoc
|
|
488
|
-
2. Score Documentation (0–20)
|
|
489
|
-
3. Generate full report + prioritized roadmap
|
|
136
|
+
## Execution Steps
|
|
490
137
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
## Evidence Format
|
|
138
|
+
### Step 1 — Quét tĩnh & Phân tích Kích thước (Size & Structure Scan)
|
|
494
139
|
```
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
140
|
+
Inputs: Workspace files
|
|
141
|
+
Actions:
|
|
142
|
+
- Thống kê các file có độ dài lớn nhất (> 300 dòng).
|
|
143
|
+
- Tìm kiếm các file gom quá nhiều trách nhiệm (God components / God services).
|
|
144
|
+
- Liệt kê các hàm vượt quá 40 dòng.
|
|
145
|
+
Outputs: Danh sách các điểm nóng về kích thước (Hotspots)
|
|
501
146
|
```
|
|
502
147
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
## Output Format
|
|
148
|
+
### Step 2 — Phát hiện Code Smells & Vi phạm Tiêu chuẩn
|
|
506
149
|
```
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
Dependencies: [N/20]
|
|
516
|
-
Documentation: [N/20]
|
|
517
|
-
|
|
518
|
-
Critical Issues (fix immediately):
|
|
519
|
-
[list CRITICAL findings]
|
|
520
|
-
|
|
521
|
-
Refactoring Roadmap (priority order):
|
|
522
|
-
1. [Most impactful — estimated effort]
|
|
523
|
-
2. [Second — estimated effort]
|
|
524
|
-
3. [Third]
|
|
525
|
-
|
|
526
|
-
Exit Code: [SUCCESS (A/B) | PARTIAL (C) | FAILED (D)]
|
|
150
|
+
Actions:
|
|
151
|
+
- Grep các mẫu vi phạm:
|
|
152
|
+
- Empty catch blocks / Silent error suppression.
|
|
153
|
+
- `as any` hoặc `@ts-ignore` tràn lan.
|
|
154
|
+
- Console.log / print debug bị bỏ quên.
|
|
155
|
+
- Magic strings / Magic numbers trong logic điều kiện.
|
|
156
|
+
- Kiểm tra tính gắn kết của modules (Cohesion & Coupling).
|
|
157
|
+
Outputs: Bảng thống kê các lỗi Code Smell theo mức độ nghiêm trọng
|
|
527
158
|
```
|
|
528
159
|
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
## Confidence Model
|
|
542
|
-
| Level | Condition | Action |
|
|
543
|
-
|-------|-----------|--------|
|
|
544
|
-
| HIGH | Analyzed via AST, linters, or exhaustive search | Include in report as fact |
|
|
545
|
-
| MEDIUM | Sampled a few files, assumed pattern holds | Note as "Project trend" |
|
|
546
|
-
| LOW | Did not check | Do NOT include in report |
|
|
547
|
-
|
|
548
|
-
---
|
|
549
|
-
|
|
550
|
-
## Severity
|
|
551
|
-
| Level | Definition | Example |
|
|
552
|
-
|-------|-----------|---------|
|
|
553
|
-
| CRITICAL | Security flaw or completely broken architecture | API keys committed, cyclical dependency |
|
|
554
|
-
| HIGH | Major tech debt slowing down development | God objects, missing tests on core logic |
|
|
555
|
-
| MEDIUM | Inconsistent patterns | Mixing fetch/axios, tabs/spaces |
|
|
556
|
-
| LOW | Minor code smell | Magic numbers in UI |
|
|
557
|
-
|
|
558
|
-
---
|
|
160
|
+
### Step 3 — Chấm điểm Health Score định lượng (Rubric 0–100)
|
|
161
|
+
```
|
|
162
|
+
Cách tính điểm:
|
|
163
|
+
100 Điểm Gốc
|
|
164
|
+
- Trừ 2đ cho mỗi God file (>300 lines) (Max trừ 20đ).
|
|
165
|
+
- Trừ 1đ cho mỗi hàm quá dài (>40 lines) (Max trừ 15đ).
|
|
166
|
+
- Trừ 3đ cho mỗi vi phạm Silent error hoặc IDOR/Any (Max trừ 20đ).
|
|
167
|
+
- Trừ 5đ nếu thiếu hoàn toàn Unit test hoặc cấu trúc phân tầng bị đảo lộn (Max trừ 25đ).
|
|
168
|
+
- Trừ 2đ cho mỗi block logic trùng lặp rõ ràng (Max trừ 20đ).
|
|
169
|
+
Outputs: Điểm số Health Score (Ví dụ: 74/100)
|
|
170
|
+
```
|
|
559
171
|
|
|
560
|
-
|
|
172
|
+
### Step 4 — Lập Báo cáo Kiểm toán & Lộ trình Cải tiến
|
|
561
173
|
```
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
174
|
+
Format báo cáo:
|
|
175
|
+
1. HEALTH SCORE: XX/100 (Rating: Critical / Warning / Good / Excellent)
|
|
176
|
+
2. EXECUTIVE SUMMARY: 3 điểm mạnh & 3 vấn đề lớn nhất.
|
|
177
|
+
3. HOTSPOT AUDIT: Bảng danh sách files & lines cần xử lý.
|
|
178
|
+
4. ACTIONABLE ROADMAP:
|
|
179
|
+
- [P0] Fix ngay: Các điểm nghẽn nghiêm trọng có nguy cơ gây crash/leak.
|
|
180
|
+
- [P1] Sprint tới: Tách God files và hàm phức tạp (gợi ý dùng `qk-refactor`).
|
|
181
|
+
- [P2] Tech debt backlog: Dọn dẹp magic constants và dead code.
|
|
566
182
|
```
|
|
567
183
|
|
|
568
184
|
---
|
|
569
185
|
|
|
570
|
-
##
|
|
186
|
+
## Prompt Template
|
|
187
|
+
|
|
571
188
|
```
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
Questions:
|
|
576
|
-
1. Thư mục mã nguồn chính nằm ở đâu? (ví dụ: src/, lib/)
|
|
577
|
-
Recommended Assumptions:
|
|
578
|
-
- Scan typical directories (src, app, lib, test)
|
|
189
|
+
Scope: [Toàn bộ dự án / Thư mục src/services / Module checkout]
|
|
190
|
+
Trọng tâm: [Đo lường nợ kỹ thuật / Chuẩn bị refactor lớn / Đánh giá code định kỳ]
|
|
191
|
+
Ngưỡng mong muốn: [Muốn đạt tối thiểu bao nhiêu điểm]
|
|
579
192
|
```
|
|
580
193
|
|
|
581
|
-
|
|
194
|
+
### Ví dụ theo Nhu cầu:
|
|
582
195
|
|
|
583
|
-
|
|
584
|
-
### Consumes
|
|
585
|
-
```json
|
|
586
|
-
{
|
|
587
|
-
"from": "user",
|
|
588
|
-
"required_fields": [],
|
|
589
|
-
"optional_fields": ["target_directory"]
|
|
590
|
-
}
|
|
196
|
+
**Audit toàn diện dự án chuẩn bị mở rộng tính năng**
|
|
591
197
|
```
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
{
|
|
595
|
-
"to": "user or qk-system-evolution",
|
|
596
|
-
"output_fields": ["health_score", "critical_issues", "refactoring_roadmap", "exit_code"]
|
|
597
|
-
}
|
|
198
|
+
Scope: Toàn bộ repo
|
|
199
|
+
Trọng tâm: Tìm các file có độ phức tạp cao và kiến trúc lộn xộn trước khi scale.
|
|
598
200
|
```
|
|
599
|
-
|
|
600
|
-
---
|
|
201
|
+
→ AI quét toàn bộ source code, xuất báo cáo Health Score kèm danh sách Top 5 God Files cần tách trước khi implement tính năng mới.
|
|
601
202
|
|