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-ui-audit
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: stable
|
|
6
|
-
description: "Kiểm toán
|
|
6
|
+
description: "Kiểm toán chất lượng thiết kế UI với 57-check Anti-Slop checklist: spacing nhất quán, contrast ratio, component polish, interaction states. Output là nhận xét thiết kế và danh sách cần cải thiện. Dùng skill này khi user nhắc đến: review ui, audit giao diện, kiểm tra ui, ui quality, component spacing, design consistency, anti-slop — KHÔNG dùng cho đo hiệu năng hay SEO."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -21,12 +21,15 @@ complexity:
|
|
|
21
21
|
has_external_dependency: false
|
|
22
22
|
has_breaking_change: false
|
|
23
23
|
|
|
24
|
-
triggers:
|
|
25
|
-
- "
|
|
26
|
-
- "
|
|
27
|
-
- "kiểm tra
|
|
28
|
-
- "ui
|
|
29
|
-
- "
|
|
24
|
+
triggers:
|
|
25
|
+
- "review ui"
|
|
26
|
+
- "audit giao diện"
|
|
27
|
+
- "kiểm tra ui"
|
|
28
|
+
- "ui quality"
|
|
29
|
+
- "component spacing"
|
|
30
|
+
- "design consistency"
|
|
31
|
+
- "anti"
|
|
32
|
+
|
|
30
33
|
|
|
31
34
|
# ── V8: References ─────────────────────────────────────────
|
|
32
35
|
workflow: code-review
|
|
@@ -78,562 +81,95 @@ token_budget:
|
|
|
78
81
|
max_shell_commands: 0
|
|
79
82
|
stop_early: true
|
|
80
83
|
|
|
81
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
84
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
82
85
|
---
|
|
83
86
|
|
|
84
87
|
# qk-ui-audit — Anti-Slop UI Inspector
|
|
85
88
|
|
|
86
89
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
87
90
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
91
|
-
- 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:
|
|
92
|
-
- **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.
|
|
93
|
-
- **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.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
98
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
99
|
-
bắt buộc tra cứu:
|
|
100
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
101
|
-
|
|
102
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
103
|
-
- Architecture
|
|
104
|
-
- Hard Bug
|
|
105
|
-
- Convention
|
|
106
|
-
- Pattern
|
|
107
|
-
- Tech Debt Pattern
|
|
108
|
-
- 👉 *Domain Focus:* Convention / Pattern (vd: 57 check Anti-Slop, độ tương phản A11y, Design Contract).
|
|
109
|
-
|
|
110
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
111
|
-
Không được xem Memory là Source of Truth.
|
|
112
|
-
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.
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
117
|
-
- 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:
|
|
118
|
-
- Hard Bug có khả năng tái diễn.
|
|
119
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
120
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
121
|
-
- Quyết định Architecture quan trọng.
|
|
122
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
123
|
-
- 👉 *Domain Harvest:* Các mẫu lỗi AI-Slop phổ biến mới phát hiện trong UI dự án.
|
|
124
|
-
|
|
125
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
126
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
127
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
132
|
-
Sau khi hoàn thành task:
|
|
133
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
134
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
135
|
-
- Đề xuất người dùng xem xét.
|
|
136
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
137
|
-
- `/learn`
|
|
138
|
-
- `qk-project-memory`
|
|
139
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
140
|
-
|
|
141
|
-
```
|
|
142
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
146
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
### Ignore (Không đưa vào Memory)
|
|
151
|
-
Không lưu:
|
|
152
|
-
- Trace log của một session đơn lẻ.
|
|
153
|
-
- Temporary debugging data.
|
|
154
|
-
- Output của một lần chạy test/scan.
|
|
155
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
156
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
157
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
158
|
-
- 👉 *Domain Ignore:* Lỗi lệch vài pixel hoặc sai color shade lẻ tẻ.
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
### Golden Rule
|
|
163
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
164
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
171
|
-
- 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:
|
|
172
|
-
- **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.
|
|
173
|
-
- **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.
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
178
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
179
|
-
bắt buộc tra cứu:
|
|
180
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
181
|
-
|
|
182
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
183
|
-
- Architecture
|
|
184
|
-
- Hard Bug
|
|
185
|
-
- Convention
|
|
186
|
-
- Pattern
|
|
187
|
-
- Tech Debt Pattern
|
|
188
|
-
- 👉 *Domain Focus:* Convention / Pattern (vd: 57 check Anti-Slop, độ tương phản A11y, Design Contract).
|
|
189
|
-
|
|
190
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
191
|
-
Không được xem Memory là Source of Truth.
|
|
192
|
-
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.
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
197
|
-
- 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:
|
|
198
|
-
- Hard Bug có khả năng tái diễn.
|
|
199
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
200
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
201
|
-
- Quyết định Architecture quan trọng.
|
|
202
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
203
|
-
- 👉 *Domain Harvest:* Các mẫu lỗi AI-Slop phổ biến mới phát hiện trong UI dự án.
|
|
204
|
-
|
|
205
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
206
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
207
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
212
|
-
Sau khi hoàn thành task:
|
|
213
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
214
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
215
|
-
- Đề xuất người dùng xem xét.
|
|
216
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
217
|
-
- `/learn`
|
|
218
|
-
- `qk-project-memory`
|
|
219
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
220
|
-
|
|
221
|
-
```
|
|
222
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
226
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
### Ignore (Không đưa vào Memory)
|
|
231
|
-
Không lưu:
|
|
232
|
-
- Trace log của một session đơn lẻ.
|
|
233
|
-
- Temporary debugging data.
|
|
234
|
-
- Output của một lần chạy test/scan.
|
|
235
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
236
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
237
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
238
|
-
- 👉 *Domain Ignore:* Lỗi lệch vài pixel hoặc sai color shade lẻ tẻ.
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
### Golden Rule
|
|
243
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
244
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
251
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
252
|
-
bắt buộc tra cứu:
|
|
253
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
254
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
255
|
-
|
|
256
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
257
|
-
- Architecture
|
|
258
|
-
- Hard Bug
|
|
259
|
-
- Convention
|
|
260
|
-
- Pattern
|
|
261
|
-
- Tech Debt Pattern
|
|
262
|
-
- 👉 *Domain Focus:* Convention / Pattern (vd: 57 check Anti-Slop, độ tương phản A11y, Design Contract).
|
|
263
|
-
|
|
264
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
265
|
-
Không được xem Memory là Source of Truth.
|
|
266
|
-
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.
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
271
|
-
- 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:
|
|
272
|
-
- Hard Bug có khả năng tái diễn.
|
|
273
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
274
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
275
|
-
- Quyết định Architecture quan trọng.
|
|
276
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
277
|
-
- 👉 *Domain Harvest:* Các mẫu lỗi AI-Slop phổ biến mới phát hiện trong UI dự án.
|
|
278
|
-
|
|
279
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
280
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
281
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
286
|
-
Sau khi hoàn thành task:
|
|
287
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
288
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
289
|
-
- Đề xuất người dùng xem xét.
|
|
290
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
291
|
-
- `/learn`
|
|
292
|
-
- `qk-project-memory`
|
|
293
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
294
|
-
|
|
295
|
-
```
|
|
296
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
300
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
301
|
-
|
|
302
|
-
---
|
|
303
|
-
|
|
304
|
-
### Ignore (Không đưa vào Memory)
|
|
305
|
-
Không lưu:
|
|
306
|
-
- Trace log của một session đơn lẻ.
|
|
307
|
-
- Temporary debugging data.
|
|
308
|
-
- Output của một lần chạy test/scan.
|
|
309
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
310
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
311
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
312
|
-
- 👉 *Domain Ignore:* Lỗi lệch vài pixel hoặc sai color shade lẻ tẻ.
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
### Golden Rule
|
|
317
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
318
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
319
|
-
|
|
320
|
-
---
|
|
321
|
-
---
|
|
322
|
-
|
|
323
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
324
|
-
- 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:
|
|
325
|
-
- Hard Bug có khả năng tái diễn.
|
|
326
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
327
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
328
|
-
- Quyết định Architecture quan trọng.
|
|
329
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
330
|
-
- 👉 *Domain Harvest:* Các mẫu lỗi AI-Slop phổ biến mới phát hiện trong UI dự án.
|
|
331
|
-
|
|
332
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
333
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
334
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
339
|
-
Sau khi hoàn thành task:
|
|
340
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
341
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
342
|
-
- Đề xuất người dùng xem xét.
|
|
343
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
344
|
-
- `/learn`
|
|
345
|
-
- `qk-project-memory`
|
|
346
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
347
|
-
|
|
348
|
-
```
|
|
349
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
353
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
354
|
-
|
|
355
|
-
---
|
|
356
|
-
|
|
357
|
-
### Ignore (Không đưa vào Memory)
|
|
358
|
-
Không lưu:
|
|
359
|
-
- Trace log của một session đơn lẻ.
|
|
360
|
-
- Temporary debugging data.
|
|
361
|
-
- Output của một lần chạy test/scan.
|
|
362
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
363
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
364
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
365
|
-
- 👉 *Domain Ignore:* Lỗi lệch vài pixel hoặc sai color shade lẻ tẻ.
|
|
366
|
-
|
|
367
|
-
---
|
|
368
|
-
|
|
369
|
-
### Golden Rule
|
|
370
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
371
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
372
|
-
|
|
373
|
-
---
|
|
374
|
-
---
|
|
375
|
-
|
|
376
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
377
|
-
- 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:
|
|
378
|
-
- Hard Bug có khả năng tái diễn.
|
|
379
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
380
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
381
|
-
- Quyết định Architecture quan trọng.
|
|
382
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
383
|
-
- 👉 *Domain Harvest:* Các mẫu lỗi AI-Slop phổ biến mới phát hiện trong UI dự án.
|
|
384
|
-
|
|
385
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
386
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
387
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
388
|
-
|
|
389
|
-
---
|
|
390
|
-
|
|
391
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
392
|
-
Sau khi hoàn thành task:
|
|
393
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
394
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
395
|
-
- Đề xuất người dùng xem xét.
|
|
396
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
397
|
-
- `/learn`
|
|
398
|
-
- `qk-project-memory`
|
|
399
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
400
|
-
|
|
401
|
-
```
|
|
402
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
406
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
407
|
-
|
|
408
|
-
---
|
|
409
|
-
|
|
410
|
-
### Ignore (Không đưa vào Memory)
|
|
411
|
-
Không lưu:
|
|
412
|
-
- Trace log của một session đơn lẻ.
|
|
413
|
-
- Temporary debugging data.
|
|
414
|
-
- Output của một lần chạy test/scan.
|
|
415
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
416
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
417
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
418
|
-
- 👉 *Domain Ignore:* Lỗi lệch vài pixel hoặc sai color shade lẻ tẻ.
|
|
419
|
-
|
|
420
|
-
---
|
|
421
|
-
|
|
422
|
-
### Golden Rule
|
|
423
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
424
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
---
|
|
428
|
-
---
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
## Preconditions
|
|
432
|
-
- [ ] `DESIGN.md` exists in project root
|
|
433
|
-
- [ ] Target UI file(s) or component(s) are specified
|
|
434
|
-
|
|
435
|
-
```
|
|
436
|
-
On missing precondition:
|
|
437
|
-
EXIT: BLOCKED
|
|
438
|
-
Message: "DESIGN.md not found. Run qk-project-bootstrap to create one, or provide design tokens manually."
|
|
439
|
-
```
|
|
91
|
+
Chịu trách nhiệm kiểm toán chi tiết tính thẩm mỹ, sự nhất quán và độ hoàn thiện thị giác của giao diện người dùng theo bộ **57-Check Anti-Slop Checklist**. Ngăn chặn triệt để tình trạng giao diện AI cẩu thả (AI-generated slop): lệch nhịp spacing, độ tương phản kém, thiếu states tương tác.
|
|
440
92
|
|
|
441
|
-
|
|
442
|
-
- ✅ Score UI components against DESIGN.md tokens
|
|
443
|
-
- ✅ Detect generic AI-slop aesthetics
|
|
444
|
-
- ✅ Verify ARIA roles and contrast ratios
|
|
445
|
-
- ✅ Validate responsive, interactive, and animation states
|
|
446
|
-
|
|
447
|
-
## Non-Goals
|
|
448
|
-
- ❌ Fix the UI — only audit and report (fixes go to qk-ui-builder)
|
|
449
|
-
- ❌ Pixel-level screenshot comparison
|
|
450
|
-
- ❌ Read entire CSS files — use targeted reads
|
|
451
|
-
|
|
452
|
-
## Priority Order
|
|
453
|
-
|
|
454
|
-
| Priority | Category | Points | Skip Threshold |
|
|
455
|
-
|----------|----------|--------|----------------|
|
|
456
|
-
| P1 | Accessibility (ARIA, contrast, keyboard) | 15pts | Never |
|
|
457
|
-
| P2 | Layout & Spacing (tokens, grid, whitespace) | 15pts | Budget < 30% |
|
|
458
|
-
| P3 | Typography & Colors (DESIGN.md compliance) | 15pts | Budget < 50% |
|
|
459
|
-
| P4 | Interactions & Animations (hover, focus, transitions) | 15pts | Budget < 60% |
|
|
460
|
-
| P5 | Anti-Slop Detection (Tra chéo với R-C-09: thẻ card xám xịt, viền nhạt nhòa, text nhỏ...) | 15pts | Budget < 70% |
|
|
461
|
-
| P6 | Performance & Best Practices | 10pts | Budget < 80% |
|
|
462
|
-
| BONUS | Mobile & Cross-browser | 5pts extra | Always optional |
|
|
463
|
-
| EXTENDED | Edge cases | 9pts extra | Always optional |
|
|
464
|
-
|
|
465
|
-
**Total: 85 base + 14 bonus/extended = 99 max. Pass threshold: ≥ 76/85 base (90%)**
|
|
466
|
-
|
|
467
|
-
## Workflow
|
|
468
|
-
|
|
469
|
-
### Phase 1 — Load Design Contract
|
|
470
|
-
|
|
471
|
-
**Steps:**
|
|
472
|
-
1. `grep_search` for DESIGN.md → read color tokens, spacing scale, typography
|
|
473
|
-
2. Extract key tokens: primary colors (HSL), spacing unit, font families, border-radius, shadow levels
|
|
474
|
-
|
|
475
|
-
**Exit When:**
|
|
476
|
-
- Tokens extracted → go to Phase 2
|
|
477
|
-
- DESIGN.md empty or incomplete → EXIT: BLOCKED
|
|
478
|
-
|
|
479
|
-
### Phase 2 — Scan Target UI
|
|
480
|
-
|
|
481
|
-
**Steps:**
|
|
482
|
-
1. `view_file[targeted]` — read component file(s), focus on className, style, and JSX structure
|
|
483
|
-
2. Check against each Priority category in order (P1 → P6)
|
|
484
|
-
3. Log each finding with Evidence Format
|
|
485
|
-
|
|
486
|
-
**Decision:**
|
|
487
|
-
```
|
|
488
|
-
IF score accumulates ≥ 76 after P1+P2+P3
|
|
489
|
-
→ Can skip P4–P6 if token budget < 40%
|
|
490
|
-
→ EXIT: PARTIAL (pass, but incomplete audit noted)
|
|
491
|
-
|
|
492
|
-
IF CRITICAL violation found (e.g., hardcoded password in UI, broken ARIA)
|
|
493
|
-
→ STOP audit, report immediately
|
|
494
|
-
→ EXIT: FAILED
|
|
495
|
-
```
|
|
496
|
-
|
|
497
|
-
**Exit When:**
|
|
498
|
-
- All categories checked → go to Phase 3
|
|
499
|
-
- Token budget < 20% → go to Phase 3 with PARTIAL flag
|
|
500
|
-
|
|
501
|
-
### Phase 3 — Score & Report
|
|
502
|
-
|
|
503
|
-
**Steps:**
|
|
504
|
-
1. Calculate total score per category
|
|
505
|
-
2. Identify top 3 most impactful fixes
|
|
506
|
-
3. Generate report with Evidence Format entries
|
|
93
|
+
---
|
|
507
94
|
|
|
508
|
-
|
|
509
|
-
```
|
|
510
|
-
IF total score ≥ 76
|
|
511
|
-
→ EXIT: SUCCESS
|
|
95
|
+
## Preconditions
|
|
512
96
|
|
|
513
|
-
|
|
514
|
-
→ EXIT: PARTIAL — list required fixes
|
|
97
|
+
Trước khi audit giao diện, AI BẮT BUỘC kiểm tra:
|
|
515
98
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
99
|
+
- [ ] Xác định các file UI component hoặc trang cần audit (`.tsx`, `.vue`, `.svelte`, `.html`, `.css`).
|
|
100
|
+
- [ ] Đọc file cấu hình thiết kế nếu có (`DESIGN.md`, `tailwind.config.js`, tokens file) để lấy chuẩn so sánh.
|
|
101
|
+
- [ ] Kiểm tra xem component có mã nguồn rõ ràng để phân tích styling không.
|
|
102
|
+
- [ ] Nếu component sử dụng inline style hoặc cấu trúc quá rối loạn không thể đọc được layout:
|
|
103
|
+
→ **EXIT: PARTIAL**
|
|
104
|
+
→ Báo cáo user tình trạng code kèm khuyến nghị refactor trước khi audit chi tiết.
|
|
519
105
|
|
|
520
|
-
|
|
106
|
+
---
|
|
521
107
|
|
|
522
|
-
|
|
523
|
-
|-------|-----------|--------|
|
|
524
|
-
| HIGH | Token clearly absent/present, ARIA attribute visible | Report directly |
|
|
525
|
-
| MEDIUM | Inferred from surrounding code patterns | Note assumption |
|
|
526
|
-
| LOW | Cannot verify without rendering (e.g., animation timing) | Mark as "unverifiable — manual check required" |
|
|
108
|
+
## Scope
|
|
527
109
|
|
|
528
|
-
|
|
110
|
+
✅ Skill này làm:
|
|
111
|
+
- Rà soát 4 nhóm kiểm tra chính theo chuẩn Anti-Slop:
|
|
112
|
+
1. Spacing & Grid System (4px/8px grid alignment, nhất quán padding/margin, không dùng giá trị arbitrary tùy tiện).
|
|
113
|
+
2. Color & Contrast (Tỉ lệ tương phản văn bản/nền theo WCAG AA, tính nhất quán của bảng màu token).
|
|
114
|
+
3. Typography & Hierarchy (Phân cấp kích cỡ font chữ, line-height, font-weight có trật tự).
|
|
115
|
+
4. Interactive States (Đầy đủ hover, active, focus-visible, disabled, loading, skeleton states).
|
|
116
|
+
- Xuất danh sách các điểm vi phạm (Slop items) kèm vị trí dòng code cụ thể.
|
|
117
|
+
- Đề xuất mã CSS / Tailwind class sửa đổi chuẩn chỉnh.
|
|
118
|
+
- Chế độ hoạt động: **Read-Only / Inspection Report** (không tự sửa code khi chưa duyệt).
|
|
119
|
+
|
|
120
|
+
❌ Skill này KHÔNG làm:
|
|
121
|
+
- Đo lường hiệu năng kỹ thuật web, Core Web Vitals, SEO tags (→ `qk-web-quality-gate`).
|
|
122
|
+
- Xây dựng component mới từ bản vẽ Figma (→ `qk-ui-builder`).
|
|
123
|
+
- Định nghĩa lại toàn bộ hệ thống Design Tokens từ gốc (→ `qk-design-system-engineering`).
|
|
529
124
|
|
|
530
|
-
|
|
531
|
-
|-------|-----------|---------|
|
|
532
|
-
| CRITICAL | Accessibility violation blocking disabled users | Missing alt text, contrast ratio < 3:1 |
|
|
533
|
-
| HIGH | Design system contract broken | Hardcoded hex color not in DESIGN.md |
|
|
534
|
-
| MEDIUM | UX degraded, workaround exists | Missing hover state, no loading indicator |
|
|
535
|
-
| LOW | Minor inconsistency | Spacing off by 1 unit |
|
|
125
|
+
---
|
|
536
126
|
|
|
537
|
-
##
|
|
127
|
+
## Execution Steps
|
|
538
128
|
|
|
129
|
+
### Step 1 — Target Ingestion & Design Baseline
|
|
539
130
|
```
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
Points: -N pts
|
|
131
|
+
Inputs: Danh sách file UI, DESIGN.md / Tailwind config
|
|
132
|
+
Actions:
|
|
133
|
+
- Nạp source code component.
|
|
134
|
+
- Xác định Design Tokens chuẩn của dự án (màu sắc, spacing scales, border-radius).
|
|
135
|
+
Output: Component AST / Markup map
|
|
546
136
|
```
|
|
547
137
|
|
|
548
|
-
|
|
138
|
+
### Step 2 — 57-Check Anti-Slop Audit
|
|
549
139
|
```
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
140
|
+
Inputs: Component code, Design tokens
|
|
141
|
+
Actions:
|
|
142
|
+
- Quét Spacing: Phát hiện các giá trị cứng (hardcoded px) thay vì dùng token (ví dụ: mt-[13px]).
|
|
143
|
+
- Quét Visual Hierarchy: Đảm bảo tiêu đề và nội dung có sự phân biệt rõ ràng.
|
|
144
|
+
- Quét Interactive States: Kiểm tra các button, input, link xem có `:focus-visible` và `:disabled` chuẩn không.
|
|
145
|
+
- Quét Layout Bugs: Xử lý tràn chữ (overflow, text truncation), co giãn responsive.
|
|
146
|
+
Output: Audit findings categorized by severity
|
|
556
147
|
```
|
|
557
148
|
|
|
558
|
-
|
|
149
|
+
### Step 3 — Remediation Formulation
|
|
559
150
|
```
|
|
560
|
-
Audit
|
|
561
|
-
|
|
151
|
+
Inputs: Audit findings
|
|
152
|
+
Actions:
|
|
153
|
+
- Viết giải thích ngắn gọn lý do vi phạm.
|
|
154
|
+
- Cung cấp đoạn code so sánh Before/After cụ thể.
|
|
155
|
+
Output: Anti-Slop Audit Report
|
|
562
156
|
```
|
|
563
157
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
```
|
|
567
|
-
BLOCKED: DESIGN.md missing or unreadable
|
|
568
|
-
Missing:
|
|
569
|
-
- DESIGN.md with color tokens, spacing scale, typography definition
|
|
570
|
-
Questions:
|
|
571
|
-
1. Có file design system nào khác không? (tokens.css, theme.ts, etc.)
|
|
572
|
-
2. Bạn có thể cung cấp màu sắc / font / spacing chính của dự án không?
|
|
573
|
-
Recommended Assumptions (if proceeding):
|
|
574
|
-
- Use industry-standard: 8px spacing unit, Inter font, neutral gray palette
|
|
158
|
+
### Step 4 — Verification & Delivery
|
|
575
159
|
```
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
{
|
|
582
|
-
"from": "user or qk-orchestrator",
|
|
583
|
-
"required_fields": ["target_component_path", "design_md_path"],
|
|
584
|
-
"optional_fields": ["specific_checklist_categories"]
|
|
585
|
-
}
|
|
160
|
+
Inputs: Anti-Slop Audit Report
|
|
161
|
+
Actions:
|
|
162
|
+
- Đảm bảo các khuyến nghị tuân thủ 100% stack khai báo trong DEV_PROFILE.md.
|
|
163
|
+
- Bàn giao báo cáo cho kỹ sư frontend.
|
|
164
|
+
Exit: SUCCESS
|
|
586
165
|
```
|
|
587
166
|
|
|
588
|
-
|
|
589
|
-
```json
|
|
590
|
-
{
|
|
591
|
-
"to": "qk-ui-builder (if fixes needed)",
|
|
592
|
-
"output_fields": ["audit_score", "violations_list", "top_3_fixes", "exit_code"]
|
|
593
|
-
}
|
|
594
|
-
```
|
|
167
|
+
---
|
|
595
168
|
|
|
596
|
-
##
|
|
169
|
+
## Prompt Template
|
|
597
170
|
|
|
598
171
|
```
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
Scores:
|
|
605
|
-
P1 Accessibility: [X/15]
|
|
606
|
-
P2 Layout: [X/15]
|
|
607
|
-
P3 Typography: [X/15]
|
|
608
|
-
P4 Interactions: [X/15]
|
|
609
|
-
P5 Anti-Slop: [X/15]
|
|
610
|
-
P6 Performance: [X/10]
|
|
611
|
-
─────────────────
|
|
612
|
-
Total: [X/85 base] → [PASS ≥ 76/85 | FAIL < 76/85]
|
|
613
|
-
|
|
614
|
-
Violations (top priority first):
|
|
615
|
-
[SEVERITY] file:LINE — reason — Fix: suggestion (-Xpts)
|
|
616
|
-
|
|
617
|
-
Top 3 Required Fixes:
|
|
618
|
-
1. [Most impactful fix]
|
|
619
|
-
2. [Second fix]
|
|
620
|
-
3. [Third fix]
|
|
621
|
-
|
|
622
|
-
Verdict: [PASS | FAIL — requires redesign]
|
|
623
|
-
Exit Code: [SUCCESS | PARTIAL | FAILED]
|
|
624
|
-
```
|
|
625
|
-
|
|
626
|
-
## Exit Codes
|
|
627
|
-
|
|
628
|
-
| Code | Meaning | When |
|
|
629
|
-
|------|---------|------|
|
|
630
|
-
| SUCCESS | Score ≥ 76 — UI passes Anti-Slop | All checks done, no critical violations |
|
|
631
|
-
| PARTIAL | Score 60–75 or incomplete audit | Some categories skipped due to token budget |
|
|
632
|
-
| BLOCKED | DESIGN.md missing or target not specified | Cannot audit without design contract |
|
|
633
|
-
| FAILED | Score < 60 or CRITICAL violation found | Generic slop detected, redesign required |
|
|
634
|
-
|
|
635
|
-
## References
|
|
636
|
-
- Full 57-check checklist: `references/anti-slop-checklist.md`
|
|
637
|
-
|
|
638
|
-
---
|
|
639
|
-
|
|
172
|
+
UI Component / Trang: [Đường dẫn file component hoặc page cần kiểm tra]
|
|
173
|
+
Design Tokens: [File cấu hình tailwind.config / css tokens / DESIGN.md]
|
|
174
|
+
Vấn đề nghi ngờ: [Bị lệch spacing, nút bấm xấu, thiếu hover state, ...]
|
|
175
|
+
```
|