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-docs
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: stable
|
|
6
|
-
description: "
|
|
6
|
+
description: "Khởi tạo và duy trì tài liệu kỹ thuật chuẩn xác — README, API docs, architecture guides, JSDoc/Docstrings — cam kết đồng bộ 100% với code thực tế, không bịa đặt. Dùng skill này khi user nhắc đến: viết docs, tài liệu, readme, document, jsdoc, swagger, viết hướng dẫn, tài liệu api — kể cả khi chỉ nói 'viết hướng dẫn cài đặt và chạy project này'."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -21,34 +21,39 @@ complexity:
|
|
|
21
21
|
has_external_dependency: false
|
|
22
22
|
has_breaking_change: false
|
|
23
23
|
|
|
24
|
-
triggers:
|
|
25
|
-
- "viết docs"
|
|
26
|
-
- "
|
|
27
|
-
- "
|
|
28
|
-
- "
|
|
29
|
-
- "
|
|
24
|
+
triggers:
|
|
25
|
+
- "viết docs"
|
|
26
|
+
- "tài liệu"
|
|
27
|
+
- "readme"
|
|
28
|
+
- "document"
|
|
29
|
+
- "jsdoc"
|
|
30
|
+
- "swagger"
|
|
31
|
+
- "viết hướng dẫn"
|
|
32
|
+
- "tài liệu api"
|
|
33
|
+
|
|
30
34
|
|
|
31
35
|
# ── V8: References ─────────────────────────────────────────
|
|
32
36
|
workflow: documentation
|
|
33
37
|
|
|
34
38
|
rules:
|
|
35
39
|
- global
|
|
40
|
+
- coding
|
|
36
41
|
|
|
37
42
|
tools:
|
|
38
43
|
- filesystem
|
|
39
44
|
- terminal
|
|
40
45
|
|
|
41
46
|
related_skills:
|
|
42
|
-
- qk-
|
|
47
|
+
- qk-project-memory
|
|
48
|
+
- qk-api-lifecycle
|
|
43
49
|
|
|
44
50
|
knowledge_scope:
|
|
45
51
|
owns:
|
|
46
52
|
- code-documentation
|
|
47
53
|
- architecture-docs
|
|
54
|
+
- api-documentation
|
|
48
55
|
references:
|
|
49
56
|
- source-code
|
|
50
|
-
- security
|
|
51
|
-
- anti-patterns
|
|
52
57
|
|
|
53
58
|
# ── V8: Verification ───────────────────────────────────────
|
|
54
59
|
verification:
|
|
@@ -68,532 +73,121 @@ cost: low
|
|
|
68
73
|
latency: fast
|
|
69
74
|
risk: low
|
|
70
75
|
side_effects: edit_files
|
|
71
|
-
produces: [report]
|
|
76
|
+
produces: [docs, report]
|
|
72
77
|
consumes: [source-code]
|
|
73
78
|
|
|
74
79
|
token_budget:
|
|
75
|
-
max_files_read:
|
|
76
|
-
max_lines_per_read:
|
|
77
|
-
max_shell_commands:
|
|
80
|
+
max_files_read: 6
|
|
81
|
+
max_lines_per_read: 150
|
|
82
|
+
max_shell_commands: 1
|
|
78
83
|
stop_early: true
|
|
79
84
|
|
|
80
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
85
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
81
86
|
---
|
|
82
87
|
|
|
83
|
-
# qk-docs — Technical Writer & Documentation
|
|
88
|
+
# qk-docs — Technical Writer & Documentation Guardian
|
|
84
89
|
|
|
85
90
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
86
91
|
|
|
92
|
+
Chịu trách nhiệm khởi tạo, nâng cấp và đồng bộ tài liệu kỹ thuật trong dự án. **Nguyên tắc cốt lõi: Tài liệu PHẢI phản ánh chính xác 100% code thực tế — cấm bịa đặt, cấm suy đoán tham số hay lệnh chạy.**
|
|
93
|
+
|
|
87
94
|
---
|
|
88
95
|
|
|
89
|
-
## Memory Workflow
|
|
90
|
-
|
|
91
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
92
|
-
- 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:
|
|
93
|
-
- **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.
|
|
94
|
-
- **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.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
99
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
100
|
-
bắt buộc tra cứu:
|
|
101
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
102
|
-
|
|
103
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
104
|
-
- Architecture
|
|
105
|
-
- Hard Bug
|
|
106
|
-
- Convention
|
|
107
|
-
- Pattern
|
|
108
|
-
- Tech Debt Pattern
|
|
109
|
-
- 👉 *Domain Focus:* Convention (vd: chuẩn cấu trúc tài liệu, ngôn ngữ giải thích Tiếng Việt / Code Tiếng Anh).
|
|
110
|
-
|
|
111
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
112
|
-
Không được xem Memory là Source of Truth.
|
|
113
|
-
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.
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
118
|
-
- 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:
|
|
119
|
-
- Hard Bug có khả năng tái diễn.
|
|
120
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
121
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
122
|
-
- Quyết định Architecture quan trọng.
|
|
123
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
124
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
|
|
125
|
-
|
|
126
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
127
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
128
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
133
|
-
Sau khi hoàn thành task:
|
|
134
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
135
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
136
|
-
- Đề xuất người dùng xem xét.
|
|
137
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
138
|
-
- `/learn`
|
|
139
|
-
- `qk-project-memory`
|
|
140
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
147
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
### Ignore (Không đưa vào Memory)
|
|
152
|
-
Không lưu:
|
|
153
|
-
- Trace log của một session đơn lẻ.
|
|
154
|
-
- Temporary debugging data.
|
|
155
|
-
- Output của một lần chạy test/scan.
|
|
156
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
157
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
158
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
159
|
-
- 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
### Golden Rule
|
|
164
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
165
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
172
|
-
- 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:
|
|
173
|
-
- **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.
|
|
174
|
-
- **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.
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
179
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
180
|
-
bắt buộc tra cứu:
|
|
181
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
182
|
-
|
|
183
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
184
|
-
- Architecture
|
|
185
|
-
- Hard Bug
|
|
186
|
-
- Convention
|
|
187
|
-
- Pattern
|
|
188
|
-
- Tech Debt Pattern
|
|
189
|
-
- 👉 *Domain Focus:* Convention (vd: chuẩn cấu trúc tài liệu, ngôn ngữ giải thích Tiếng Việt / Code Tiếng Anh).
|
|
190
|
-
|
|
191
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
192
|
-
Không được xem Memory là Source of Truth.
|
|
193
|
-
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.
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
198
|
-
- 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:
|
|
199
|
-
- Hard Bug có khả năng tái diễn.
|
|
200
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
201
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
202
|
-
- Quyết định Architecture quan trọng.
|
|
203
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
204
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
|
|
205
|
-
|
|
206
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
207
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
208
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
213
|
-
Sau khi hoàn thành task:
|
|
214
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
215
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
216
|
-
- Đề xuất người dùng xem xét.
|
|
217
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
218
|
-
- `/learn`
|
|
219
|
-
- `qk-project-memory`
|
|
220
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
221
|
-
|
|
222
|
-
```
|
|
223
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
227
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
### Ignore (Không đưa vào Memory)
|
|
232
|
-
Không lưu:
|
|
233
|
-
- Trace log của một session đơn lẻ.
|
|
234
|
-
- Temporary debugging data.
|
|
235
|
-
- Output của một lần chạy test/scan.
|
|
236
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
237
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
238
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
239
|
-
- 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
### Golden Rule
|
|
244
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
245
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
252
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
253
|
-
bắt buộc tra cứu:
|
|
254
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
255
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
256
|
-
|
|
257
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
258
|
-
- Architecture
|
|
259
|
-
- Hard Bug
|
|
260
|
-
- Convention
|
|
261
|
-
- Pattern
|
|
262
|
-
- Tech Debt Pattern
|
|
263
|
-
- 👉 *Domain Focus:* Convention (vd: chuẩn cấu trúc tài liệu, ngôn ngữ giải thích Tiếng Việt / Code Tiếng Anh).
|
|
264
|
-
|
|
265
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
266
|
-
Không được xem Memory là Source of Truth.
|
|
267
|
-
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.
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
272
|
-
- 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:
|
|
273
|
-
- Hard Bug có khả năng tái diễn.
|
|
274
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
275
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
276
|
-
- Quyết định Architecture quan trọng.
|
|
277
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
278
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
|
|
279
|
-
|
|
280
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
281
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
282
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
287
|
-
Sau khi hoàn thành task:
|
|
288
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
289
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
290
|
-
- Đề xuất người dùng xem xét.
|
|
291
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
292
|
-
- `/learn`
|
|
293
|
-
- `qk-project-memory`
|
|
294
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
295
|
-
|
|
296
|
-
```
|
|
297
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
301
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
### Ignore (Không đưa vào Memory)
|
|
306
|
-
Không lưu:
|
|
307
|
-
- Trace log của một session đơn lẻ.
|
|
308
|
-
- Temporary debugging data.
|
|
309
|
-
- Output của một lần chạy test/scan.
|
|
310
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
311
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
312
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
313
|
-
- 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
### Golden Rule
|
|
318
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
319
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
320
|
-
|
|
321
|
-
---
|
|
322
|
-
---
|
|
323
|
-
|
|
324
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
325
|
-
- 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:
|
|
326
|
-
- Hard Bug có khả năng tái diễn.
|
|
327
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
328
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
329
|
-
- Quyết định Architecture quan trọng.
|
|
330
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
331
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
|
|
332
|
-
|
|
333
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
334
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
335
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
340
|
-
Sau khi hoàn thành task:
|
|
341
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
342
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
343
|
-
- Đề xuất người dùng xem xét.
|
|
344
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
345
|
-
- `/learn`
|
|
346
|
-
- `qk-project-memory`
|
|
347
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
348
|
-
|
|
349
|
-
```
|
|
350
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
354
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
### Ignore (Không đưa vào Memory)
|
|
359
|
-
Không lưu:
|
|
360
|
-
- Trace log của một session đơn lẻ.
|
|
361
|
-
- Temporary debugging data.
|
|
362
|
-
- Output của một lần chạy test/scan.
|
|
363
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
364
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
365
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
366
|
-
- 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
### Golden Rule
|
|
371
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
372
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
373
|
-
|
|
374
|
-
---
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
378
|
-
- 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:
|
|
379
|
-
- Hard Bug có khả năng tái diễn.
|
|
380
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
381
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
382
|
-
- Quyết định Architecture quan trọng.
|
|
383
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
384
|
-
- 👉 *Domain Harvest:* Pattern hoặc Convention mới của dự án (vd: quy chuẩn viết ADR hoặc tài liệu kiến trúc mới).
|
|
385
|
-
|
|
386
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
387
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
388
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
389
|
-
|
|
390
|
-
---
|
|
391
|
-
|
|
392
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
393
|
-
Sau khi hoàn thành task:
|
|
394
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
395
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
396
|
-
- Đề xuất người dùng xem xét.
|
|
397
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
398
|
-
- `/learn`
|
|
399
|
-
- `qk-project-memory`
|
|
400
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
401
|
-
|
|
402
|
-
```
|
|
403
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
407
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
408
|
-
|
|
409
|
-
---
|
|
410
|
-
|
|
411
|
-
### Ignore (Không đưa vào Memory)
|
|
412
|
-
Không lưu:
|
|
413
|
-
- Trace log của một session đơn lẻ.
|
|
414
|
-
- Temporary debugging data.
|
|
415
|
-
- Output của một lần chạy test/scan.
|
|
416
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
417
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
418
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
419
|
-
- 👉 *Domain Ignore:* Các lần sửa chính tả, ngữ pháp đơn lẻ.
|
|
420
|
-
|
|
421
|
-
---
|
|
422
|
-
|
|
423
|
-
### Golden Rule
|
|
424
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
425
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
426
|
-
|
|
427
|
-
---
|
|
428
|
-
---
|
|
429
|
-
---
|
|
430
|
-
---
|
|
431
|
-
|
|
432
96
|
## Preconditions
|
|
433
|
-
- [ ] Target code file or module is specified
|
|
434
97
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
98
|
+
Trước khi viết hoặc sửa tài liệu, AI BẮT BUỘC:
|
|
99
|
+
|
|
100
|
+
- [ ] Xác định rõ đối tượng độc giả và mục đích tài liệu:
|
|
101
|
+
- Developer Onboarding → `README.md`
|
|
102
|
+
- Client / Frontend Consumer → `API docs` / OpenAPI / Swagger
|
|
103
|
+
- Kỹ sư nội bộ → Architecture Decision Records (ADR) hoặc Code Docstrings
|
|
104
|
+
- [ ] Đọc trực tiếp file mã nguồn liên quan (đọc `package.json` để lấy scripts thật, đọc `.env.example` để lấy biến môi trường thật, đọc interface/DTO để lấy payload thật).
|
|
105
|
+
- [ ] Nếu mã nguồn chưa được triển khai hoặc thông tin nghiệp vụ chưa rõ:
|
|
106
|
+
→ **EXIT: BLOCKED**
|
|
107
|
+
→ Yêu cầu: "Vui lòng implement code hoặc cung cấp đặc tả trước khi lập tài liệu."
|
|
440
108
|
|
|
441
109
|
---
|
|
442
110
|
|
|
443
111
|
## Scope
|
|
444
|
-
- ✅ Document ONLY what exists in code — never invent params/behavior
|
|
445
|
-
- ✅ Update docs whenever corresponding code changes
|
|
446
|
-
- ✅ Use living documentation (JSDoc/TSDoc/Swagger) over isolated Markdown
|
|
447
|
-
|
|
448
|
-
## Non-Goals
|
|
449
|
-
- ❌ Guess API params not in the code
|
|
450
|
-
- ❌ Write generic/useless comments (`// gets the user`)
|
|
451
|
-
- ❌ Write docs for code that hasn't been read yet
|
|
452
112
|
|
|
453
|
-
|
|
113
|
+
✅ Skill này làm:
|
|
114
|
+
- Viết/cập nhật `README.md` chuẩn công nghiệp: Giới thiệu ngắn gọn, Architecture overview, Yêu cầu môi trường (Node, Go, Python, Docker), Hướng dẫn cài đặt, Cấu hình biến môi trường, Các lệnh chạy thường dùng (dev, test, build, lint).
|
|
115
|
+
- Viết tài liệu API: Bảng endpoints, Headers, Request Body, Response Shapes (200, 400, 401, 403, 500) và Curl examples có thể copy-paste chạy thật.
|
|
116
|
+
- Bổ sung JSDoc / TSDoc / Docstrings cho các hàm xử lý nghiệp vụ phức tạp, public SDK methods hoặc utility functions.
|
|
117
|
+
- Soạn thảo Architecture Decision Records (ADR) khi có quyết định kỹ thuật lớn.
|
|
454
118
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
| P2 | Document public API (exported functions/classes) | Never |
|
|
460
|
-
| P3 | Document complex logic with WHY (not WHAT) | Budget < 40% |
|
|
461
|
-
| P4 | Update README if public interface changed | Budget < 60% |
|
|
119
|
+
❌ Skill này KHÔNG làm:
|
|
120
|
+
- Thay đổi logic thực thi của mã nguồn (`side_effects: edit_files` chỉ áp dụng cho files `.md` hoặc docstrings comments).
|
|
121
|
+
- Viết tài liệu dài dòng dạng lý thuyết suông không áp dụng được.
|
|
122
|
+
- Bịa đặt các endpoints, env vars hoặc test credentials không tồn tại.
|
|
462
123
|
|
|
463
124
|
---
|
|
464
125
|
|
|
465
|
-
##
|
|
466
|
-
|
|
467
|
-
### Phase 1 — Read Code
|
|
468
|
-
1. `view_file[targeted]` — read function/class signatures
|
|
469
|
-
2. Identify: params, return type, side effects, error cases
|
|
126
|
+
## Execution Steps
|
|
470
127
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
### Phase 2 — Write Documentation
|
|
474
|
-
1. JSDoc/TSDoc format for functions: `@param`, `@returns`, `@throws`
|
|
475
|
-
2. Comment: WHY (not WHAT) — code already shows what
|
|
476
|
-
3. Example usage for complex APIs
|
|
477
|
-
|
|
478
|
-
### Phase 3 — Verify Accuracy
|
|
479
|
-
1. Re-read written docs vs code → spot check each param name
|
|
480
|
-
|
|
481
|
-
**Decision:**
|
|
128
|
+
### Step 1 — Khảo sát Mã nguồn Thật (Source of Truth Audit)
|
|
482
129
|
```
|
|
483
|
-
|
|
484
|
-
|
|
130
|
+
Inputs: Source files, manifest, config files
|
|
131
|
+
Actions:
|
|
132
|
+
- Nếu viết README: Đọc `package.json` (dependencies, scripts), đọc `.env.example`, đọc Dockerfile.
|
|
133
|
+
- Nếu viết API docs: Đọc route handlers, schema validators (Zod/Joi/Pydantic/DTOs).
|
|
134
|
+
- Trích xuất: Port mặc định, Auth headers, format ngày tháng, error responses.
|
|
135
|
+
Outputs: Bảng thông số kỹ thuật đã kiểm chứng
|
|
485
136
|
```
|
|
486
137
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
## Documentation Templates
|
|
490
|
-
|
|
491
|
-
### Function (JSDoc)
|
|
492
|
-
```typescript
|
|
493
|
-
/**
|
|
494
|
-
* [One sentence — what it does and WHY it exists]
|
|
495
|
-
*
|
|
496
|
-
* @param {Type} paramName - [description]
|
|
497
|
-
* @returns {Type} [description of return value]
|
|
498
|
-
* @throws {ErrorType} [when this error is thrown]
|
|
499
|
-
* @example
|
|
500
|
-
* const result = functionName(arg);
|
|
501
|
-
*/
|
|
138
|
+
### Step 2 — Lập cấu trúc tài liệu theo tiêu chuẩn
|
|
502
139
|
```
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
### Usage
|
|
510
|
-
[Code example]
|
|
511
|
-
|
|
512
|
-
### Configuration
|
|
513
|
-
| Option | Type | Default | Description |
|
|
140
|
+
Tiêu chuẩn trình bày:
|
|
141
|
+
- Heading phân cấp rõ ràng (`#`, `##`, `###`).
|
|
142
|
+
- Dùng bảng (Markdown tables) cho env vars, API params, status codes.
|
|
143
|
+
- Code block luôn có tag ngôn ngữ (`bash`, `ts`, `json`, `yaml`).
|
|
144
|
+
- Cung cấp lệnh CLI cụ thể và kết quả mong đợi.
|
|
514
145
|
```
|
|
515
146
|
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
## Evidence Format
|
|
147
|
+
### Step 3 — Soạn thảo nội dung (Drafting)
|
|
519
148
|
```
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
149
|
+
Quy tắc hành văn:
|
|
150
|
+
- Ngắn gọn, trực diện, hướng hành động (action-oriented).
|
|
151
|
+
- Định dạng cảnh báo theo GitHub Alerts (`> [!IMPORTANT]`, `> [!WARNING]`).
|
|
152
|
+
- Hướng dẫn troubleshooting cho các lỗi cài đặt thường gặp.
|
|
524
153
|
```
|
|
525
154
|
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
| BLOCKED | Target source file missing or inaccessible | Cannot read source |
|
|
534
|
-
| FAILED | Documentation fundamentally misrepresents the code | Gross error |
|
|
535
|
-
|
|
536
|
-
---
|
|
537
|
-
|
|
538
|
-
## Confidence Model
|
|
539
|
-
| Level | Condition | Action |
|
|
540
|
-
|-------|-----------|--------|
|
|
541
|
-
| HIGH | Target code read, behavior understood | Write docs definitively |
|
|
542
|
-
| MEDIUM | Target code too large, inferred from types/tests | Write with disclaimer |
|
|
543
|
-
| LOW | "Write docs for this feature" without pointing to code | EXIT: BLOCKED |
|
|
155
|
+
### Step 4 — Verification & Fact-check
|
|
156
|
+
```
|
|
157
|
+
Actions:
|
|
158
|
+
- Đối chiếu từng biến môi trường trong tài liệu với code thực tế.
|
|
159
|
+
- Chạy thử lệnh build/test (dry-run) nếu cần xác nhận.
|
|
160
|
+
- Kiểm tra các link nội bộ trong repo (không để link chết).
|
|
161
|
+
```
|
|
544
162
|
|
|
545
163
|
---
|
|
546
164
|
|
|
547
|
-
##
|
|
548
|
-
| Level | Definition | Example |
|
|
549
|
-
|-------|-----------|---------|
|
|
550
|
-
| CRITICAL | Docs instruct user to do something dangerous, bypass auth, or expose secrets | Documenting destructive API without warnings, or writing guides to call internal APIs unauthenticated |
|
|
551
|
-
| HIGH | API params documented incorrectly | Says string instead of object |
|
|
552
|
-
| MEDIUM | Missing docs for edge cases | Doesn't explain error throws |
|
|
553
|
-
| LOW | Typo or poor formatting | Misaligned markdown table |
|
|
554
|
-
|
|
555
|
-
---
|
|
165
|
+
## Prompt Template
|
|
556
166
|
|
|
557
|
-
## Retry Policy
|
|
558
167
|
```
|
|
559
|
-
Doc
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
168
|
+
Loại tài liệu: [README / API Reference / Architecture Doc / JSDoc]
|
|
169
|
+
Scope: [Toàn bộ repo / Module payments / Component Button]
|
|
170
|
+
Độc giả: [New developer / Frontend dev / External partner]
|
|
171
|
+
Yêu cầu đặc biệt:[Kèm curl mẫu / giải thích env vars / sơ đồ luồng]
|
|
563
172
|
```
|
|
564
173
|
|
|
565
|
-
|
|
174
|
+
### Ví dụ theo nhu cầu:
|
|
566
175
|
|
|
567
|
-
|
|
176
|
+
**Viết README cho Fullstack Web App**
|
|
568
177
|
```
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
Questions:
|
|
573
|
-
1. File code nào bạn muốn viết doc? (Xin đường dẫn)
|
|
574
|
-
2. Mục tiêu của doc này là cho user hay cho developer nội bộ?
|
|
575
|
-
Recommended Assumptions:
|
|
576
|
-
- Developer-facing JSDoc if inside source files
|
|
178
|
+
Loại tài liệu: README.md
|
|
179
|
+
Scope: Toàn bộ repo (Next.js + Prisma + PostgreSQL)
|
|
180
|
+
Độc giả: Developer mới vào dự án
|
|
577
181
|
```
|
|
182
|
+
→ AI đọc `package.json`, `.env.example`, `schema.prisma`.
|
|
183
|
+
→ AI tạo `README.md` gồm: Quickstart 3 bước (install, migrate, dev), bảng biến môi trường bắt buộc, tài liệu các lệnh test/lint, kiến trúc thư mục.
|
|
578
184
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
## Handoff Contract
|
|
582
|
-
### Consumes
|
|
583
|
-
```json
|
|
584
|
-
{
|
|
585
|
-
"from": "user",
|
|
586
|
-
"required_fields": ["target_file", "doc_type"],
|
|
587
|
-
"optional_fields": ["context"]
|
|
588
|
-
}
|
|
185
|
+
**Viết API Docs cho Endpoint Đặt hàng**
|
|
589
186
|
```
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
"to": "user",
|
|
594
|
-
"output_fields": ["updated_files", "exit_code"]
|
|
595
|
-
}
|
|
187
|
+
Loại tài liệu: API Reference
|
|
188
|
+
Scope: POST /api/v1/orders
|
|
189
|
+
Độc giả: Mobile App Developer
|
|
596
190
|
```
|
|
597
|
-
|
|
598
|
-
|
|
191
|
+
→ AI đọc controller + validation schema.
|
|
192
|
+
→ AI tạo Markdown: Headers (`Authorization: Bearer <token>`), Request JSON schema kèm chú thích kiểu dữ liệu, Bảng response codes (201 Created, 400 Bad Request kèm chi tiết lỗi validation, 401 Unauthorized), Curl command mẫu hoàn chỉnh.
|
|
599
193
|
|