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-production-release
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: stable
|
|
6
|
-
description: "Chuẩn bị release production với 8-gate checklist bắt buộc — không pass gate = không deploy."
|
|
6
|
+
description: "Chuẩn bị release production với 8-gate checklist bắt buộc — không pass gate = không deploy. Dùng skill này khi user nhắc đến: deploy production, release checklist, go live, rollout, chuẩn bị release, kiểm tra release — kể cả khi chỉ hỏi 'đã đủ điều kiện đưa lên production chưa'."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -21,11 +21,14 @@ complexity:
|
|
|
21
21
|
has_external_dependency: true
|
|
22
22
|
has_breaking_change: false
|
|
23
23
|
|
|
24
|
-
triggers:
|
|
25
|
-
- "
|
|
26
|
-
- "
|
|
27
|
-
- "
|
|
28
|
-
- "
|
|
24
|
+
triggers:
|
|
25
|
+
- "deploy production"
|
|
26
|
+
- "release checklist"
|
|
27
|
+
- "go live"
|
|
28
|
+
- "rollout"
|
|
29
|
+
- "chuẩn bị release"
|
|
30
|
+
- "kiểm tra release"
|
|
31
|
+
|
|
29
32
|
|
|
30
33
|
# ── V8: References ─────────────────────────────────────────
|
|
31
34
|
workflow: production-release
|
|
@@ -39,7 +42,8 @@ tools:
|
|
|
39
42
|
- terminal
|
|
40
43
|
|
|
41
44
|
related_skills:
|
|
42
|
-
- qk-
|
|
45
|
+
- qk-devops-platform
|
|
46
|
+
- qk-security-audit
|
|
43
47
|
|
|
44
48
|
knowledge_scope:
|
|
45
49
|
owns:
|
|
@@ -79,567 +83,106 @@ latency: slow
|
|
|
79
83
|
risk: high
|
|
80
84
|
side_effects: run_commands
|
|
81
85
|
produces: [report, plan]
|
|
82
|
-
consumes: [
|
|
86
|
+
consumes: [source-code, test-results]
|
|
83
87
|
|
|
84
88
|
token_budget:
|
|
85
|
-
max_files_read:
|
|
86
|
-
max_lines_per_read:
|
|
89
|
+
max_files_read: 5
|
|
90
|
+
max_lines_per_read: 150
|
|
87
91
|
max_shell_commands: 2
|
|
88
92
|
stop_early: true
|
|
89
93
|
|
|
90
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
94
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
91
95
|
---
|
|
92
96
|
|
|
93
|
-
# qk-production-release — Release Gate
|
|
97
|
+
# qk-production-release — Production Release Gate & Readiness Auditor
|
|
94
98
|
|
|
95
99
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
100
|
-
- 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:
|
|
101
|
-
- **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.
|
|
102
|
-
- **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.
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
107
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
108
|
-
bắt buộc tra cứu:
|
|
109
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
110
|
-
|
|
111
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
112
|
-
- Architecture
|
|
113
|
-
- Hard Bug
|
|
114
|
-
- Convention
|
|
115
|
-
- Pattern
|
|
116
|
-
- Tech Debt Pattern
|
|
117
|
-
- 👉 *Domain Focus:* Convention / Hard Bug (vd: 8-gate checklist release, rủi ro production cũ).
|
|
118
|
-
|
|
119
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
120
|
-
Không được xem Memory là Source of Truth.
|
|
121
|
-
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.
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
126
|
-
- 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:
|
|
127
|
-
- Hard Bug có khả năng tái diễn.
|
|
128
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
129
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
130
|
-
- Quyết định Architecture quan trọng.
|
|
131
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
132
|
-
- 👉 *Domain Harvest:* Checklist hoặc Gate bảo vệ Production mới được đưa ra từ post-mortem.
|
|
133
|
-
|
|
134
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
135
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
136
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
141
|
-
Sau khi hoàn thành task:
|
|
142
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
143
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
144
|
-
- Đề xuất người dùng xem xét.
|
|
145
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
146
|
-
- `/learn`
|
|
147
|
-
- `qk-project-memory`
|
|
148
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
155
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
### Ignore (Không đưa vào Memory)
|
|
160
|
-
Không lưu:
|
|
161
|
-
- Trace log của một session đơn lẻ.
|
|
162
|
-
- Temporary debugging data.
|
|
163
|
-
- Output của một lần chạy test/scan.
|
|
164
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
165
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
166
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
167
|
-
- 👉 *Domain Ignore:* Log deploy staging tạm thời.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### Golden Rule
|
|
172
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
173
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
180
|
-
- 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:
|
|
181
|
-
- **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.
|
|
182
|
-
- **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.
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
187
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
188
|
-
bắt buộc tra cứu:
|
|
189
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
190
|
-
|
|
191
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
192
|
-
- Architecture
|
|
193
|
-
- Hard Bug
|
|
194
|
-
- Convention
|
|
195
|
-
- Pattern
|
|
196
|
-
- Tech Debt Pattern
|
|
197
|
-
- 👉 *Domain Focus:* Convention / Hard Bug (vd: 8-gate checklist release, rủi ro production cũ).
|
|
198
|
-
|
|
199
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
200
|
-
Không được xem Memory là Source of Truth.
|
|
201
|
-
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.
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
206
|
-
- 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:
|
|
207
|
-
- Hard Bug có khả năng tái diễn.
|
|
208
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
209
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
210
|
-
- Quyết định Architecture quan trọng.
|
|
211
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
212
|
-
- 👉 *Domain Harvest:* Checklist hoặc Gate bảo vệ Production mới được đưa ra từ post-mortem.
|
|
213
|
-
|
|
214
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
215
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
216
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
221
|
-
Sau khi hoàn thành task:
|
|
222
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
223
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
224
|
-
- Đề xuất người dùng xem xét.
|
|
225
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
226
|
-
- `/learn`
|
|
227
|
-
- `qk-project-memory`
|
|
228
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
229
|
-
|
|
230
|
-
```
|
|
231
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
235
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
### Ignore (Không đưa vào Memory)
|
|
240
|
-
Không lưu:
|
|
241
|
-
- Trace log của một session đơn lẻ.
|
|
242
|
-
- Temporary debugging data.
|
|
243
|
-
- Output của một lần chạy test/scan.
|
|
244
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
245
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
246
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
247
|
-
- 👉 *Domain Ignore:* Log deploy staging tạm thời.
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
### Golden Rule
|
|
252
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
253
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
254
|
-
|
|
255
|
-
---
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
260
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
261
|
-
bắt buộc tra cứu:
|
|
262
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
263
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
264
|
-
|
|
265
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
266
|
-
- Architecture
|
|
267
|
-
- Hard Bug
|
|
268
|
-
- Convention
|
|
269
|
-
- Pattern
|
|
270
|
-
- Tech Debt Pattern
|
|
271
|
-
- 👉 *Domain Focus:* Convention / Hard Bug (vd: 8-gate checklist release, rủi ro production cũ).
|
|
272
|
-
|
|
273
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
274
|
-
Không được xem Memory là Source of Truth.
|
|
275
|
-
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.
|
|
276
|
-
|
|
277
|
-
---
|
|
278
|
-
|
|
279
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
280
|
-
- 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:
|
|
281
|
-
- Hard Bug có khả năng tái diễn.
|
|
282
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
283
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
284
|
-
- Quyết định Architecture quan trọng.
|
|
285
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
286
|
-
- 👉 *Domain Harvest:* Checklist hoặc Gate bảo vệ Production mới được đưa ra từ post-mortem.
|
|
287
|
-
|
|
288
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
289
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
290
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
291
|
-
|
|
292
|
-
---
|
|
293
|
-
|
|
294
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
295
|
-
Sau khi hoàn thành task:
|
|
296
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
297
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
298
|
-
- Đề xuất người dùng xem xét.
|
|
299
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
300
|
-
- `/learn`
|
|
301
|
-
- `qk-project-memory`
|
|
302
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
303
|
-
|
|
304
|
-
```
|
|
305
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
309
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
310
|
-
|
|
311
|
-
---
|
|
312
|
-
|
|
313
|
-
### Ignore (Không đưa vào Memory)
|
|
314
|
-
Không lưu:
|
|
315
|
-
- Trace log của một session đơn lẻ.
|
|
316
|
-
- Temporary debugging data.
|
|
317
|
-
- Output của một lần chạy test/scan.
|
|
318
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
319
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
320
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
321
|
-
- 👉 *Domain Ignore:* Log deploy staging tạm thời.
|
|
322
|
-
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
### Golden Rule
|
|
326
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
327
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
333
|
-
- 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:
|
|
334
|
-
- Hard Bug có khả năng tái diễn.
|
|
335
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
336
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
337
|
-
- Quyết định Architecture quan trọng.
|
|
338
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
339
|
-
- 👉 *Domain Harvest:* Checklist hoặc Gate bảo vệ Production mới được đưa ra từ post-mortem.
|
|
340
|
-
|
|
341
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
342
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
343
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
344
|
-
|
|
345
|
-
---
|
|
346
|
-
|
|
347
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
348
|
-
Sau khi hoàn thành task:
|
|
349
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
350
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
351
|
-
- Đề xuất người dùng xem xét.
|
|
352
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
353
|
-
- `/learn`
|
|
354
|
-
- `qk-project-memory`
|
|
355
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
356
|
-
|
|
357
|
-
```
|
|
358
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
362
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
363
|
-
|
|
364
|
-
---
|
|
365
|
-
|
|
366
|
-
### Ignore (Không đưa vào Memory)
|
|
367
|
-
Không lưu:
|
|
368
|
-
- Trace log của một session đơn lẻ.
|
|
369
|
-
- Temporary debugging data.
|
|
370
|
-
- Output của một lần chạy test/scan.
|
|
371
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
372
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
373
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
374
|
-
- 👉 *Domain Ignore:* Log deploy staging tạm thời.
|
|
375
|
-
|
|
376
|
-
---
|
|
377
|
-
|
|
378
|
-
### Golden Rule
|
|
379
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
380
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
381
|
-
|
|
382
|
-
---
|
|
383
|
-
---
|
|
384
|
-
|
|
385
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
386
|
-
- 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:
|
|
387
|
-
- Hard Bug có khả năng tái diễn.
|
|
388
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
389
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
390
|
-
- Quyết định Architecture quan trọng.
|
|
391
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
392
|
-
- 👉 *Domain Harvest:* Checklist hoặc Gate bảo vệ Production mới được đưa ra từ post-mortem.
|
|
393
|
-
|
|
394
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
395
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
396
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
397
|
-
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
401
|
-
Sau khi hoàn thành task:
|
|
402
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
403
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
404
|
-
- Đề xuất người dùng xem xét.
|
|
405
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
406
|
-
- `/learn`
|
|
407
|
-
- `qk-project-memory`
|
|
408
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
409
|
-
|
|
410
|
-
```
|
|
411
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
415
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
### Ignore (Không đưa vào Memory)
|
|
420
|
-
Không lưu:
|
|
421
|
-
- Trace log của một session đơn lẻ.
|
|
422
|
-
- Temporary debugging data.
|
|
423
|
-
- Output của một lần chạy test/scan.
|
|
424
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
425
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
426
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
427
|
-
- 👉 *Domain Ignore:* Log deploy staging tạm thời.
|
|
428
|
-
|
|
429
|
-
---
|
|
430
|
-
|
|
431
|
-
### Golden Rule
|
|
432
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
433
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
434
|
-
|
|
435
|
-
---
|
|
436
|
-
---
|
|
437
|
-
---
|
|
438
|
-
---
|
|
439
|
-
|
|
440
|
-
## Preconditions
|
|
441
|
-
- [ ] `qk-validation-gate` has been run and returned SUCCESS or PARTIAL
|
|
442
|
-
- [ ] All HIGH priority bugs are resolved
|
|
443
|
-
- [ ] Production environment variables are configured (not dev)
|
|
444
|
-
|
|
445
|
-
```
|
|
446
|
-
On missing precondition:
|
|
447
|
-
EXIT: BLOCKED
|
|
448
|
-
Message: "qk-validation-gate must pass before release. Run it first."
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
## Scope
|
|
452
|
-
- ✅ Run 8-gate release checklist
|
|
453
|
-
- ✅ Verify no dev artifacts in production build
|
|
454
|
-
- ✅ Verify environment configuration
|
|
455
|
-
|
|
456
|
-
## Non-Goals
|
|
457
|
-
- ❌ Fix bugs — that's `qk-bug-resolution`
|
|
458
|
-
- ❌ Deploy to infrastructure — that's DevOps/CI system
|
|
459
|
-
- ❌ Skip any gate unless user explicitly overrides
|
|
460
|
-
|
|
461
|
-
## Priority Order
|
|
462
|
-
|
|
463
|
-
| Priority | Gate | Block Release? |
|
|
464
|
-
|----------|------|---------------|
|
|
465
|
-
| P1 | Validation gate result (from qk-validation-gate) | YES — hard block |
|
|
466
|
-
| P2 | No unresolved HIGH/CRITICAL bugs | YES — hard block |
|
|
467
|
-
| P3 | No `console.log` / debug artifacts in src/ | YES — hard block |
|
|
468
|
-
| P4 | .env.production exists (not .env.development) | YES — hard block |
|
|
469
|
-
| P5 | Build succeeds in production mode | YES — hard block |
|
|
470
|
-
| P6 | Bundle size within limit (< 500KB gzipped) | WARN only |
|
|
471
|
-
| P7 | No dev dependencies in production build. Check vulnerabilities (`npm audit`) | YES — hard block (Nếu có CRITICAL, báo gọi `qk-security-audit`) |
|
|
472
|
-
| P8 | CHANGELOG.md updated with release notes | WARN only |
|
|
473
|
-
|
|
474
|
-
## Release Checklist (Mandatory)
|
|
101
|
+
Chịu trách nhiệm thẩm tra toàn diện sự sẵn sàng của hệ thống trước khi đưa lên môi trường Production thông qua **8-Gate Checklist bắt buộc**. Nguyên tắc bất di bất dịch: **1 Gate không đạt = DỪNG DEPLOY**.
|
|
475
102
|
|
|
476
|
-
|
|
477
|
-
[ ] P1: qk-validation-gate: SUCCESS
|
|
478
|
-
[ ] P2: 0 unresolved HIGH/CRITICAL bugs
|
|
479
|
-
[ ] P3: grep -r "console.log\|debugger" src/ → empty
|
|
480
|
-
[ ] P4: .env.production configured, NODE_ENV=production
|
|
481
|
-
[ ] P5: npm run build (production mode) → exit 0
|
|
482
|
-
[ ] P6: Bundle size ≤ 500KB gzipped (warn if exceeded)
|
|
483
|
-
[ ] P7: npm audit --production → 0 critical/high
|
|
484
|
-
[ ] P8: CHANGELOG.md has entry for this release
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
## Workflow
|
|
488
|
-
|
|
489
|
-
### Phase 1 — Pre-flight Checks (P1–P4)
|
|
490
|
-
|
|
491
|
-
**Steps:**
|
|
492
|
-
1. Verify validation-gate result (check previous output or re-read)
|
|
493
|
-
2. `grep_search` for `console.log`, `debugger`, `TODO:`, `FIXME:`
|
|
494
|
-
3. Check for `.env.production` vs `.env.development` configuration
|
|
495
|
-
|
|
496
|
-
**Decision:**
|
|
497
|
-
```
|
|
498
|
-
IF any P1–P4 check fails
|
|
499
|
-
→ EXIT: FAILED immediately
|
|
500
|
-
→ Report which gate failed and exact fix required
|
|
501
|
-
|
|
502
|
-
IF all P1–P4 pass
|
|
503
|
-
→ go to Phase 2
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
### Phase 2 — Build & Size Gate (P5–P7)
|
|
507
|
-
|
|
508
|
-
**Steps:**
|
|
509
|
-
1. (If allowed) `npm run build` — 1 command used
|
|
510
|
-
2. Check bundle size if measurable
|
|
511
|
-
3. `npm audit --production` — 2nd command
|
|
103
|
+
---
|
|
512
104
|
|
|
513
|
-
|
|
514
|
-
```
|
|
515
|
-
IF build fails
|
|
516
|
-
→ EXIT: FAILED
|
|
105
|
+
## Preconditions
|
|
517
106
|
|
|
518
|
-
|
|
519
|
-
→ Note as WARNING, do not block
|
|
107
|
+
Trước khi cấp quyền release, AI BẮT BUỘC kiểm tra:
|
|
520
108
|
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
109
|
+
- [ ] Xác định commit hash hoặc release tag chuẩn bị deploy.
|
|
110
|
+
- [ ] Xác định môi trường đích (Production) và biến môi trường cần thiết.
|
|
111
|
+
- [ ] Đảm bảo có kế hoạch Rollback khẩn cấp (Rollback Runbook) đã được xác nhận.
|
|
112
|
+
- [ ] Nếu có bất kỳ test suite nào thất bại hoặc phát hiện secret leak:
|
|
113
|
+
→ **EXIT: BLOCKED**
|
|
114
|
+
→ Từ chối release và lập báo cáo chi tiết các lỗi cần khắc phục.
|
|
524
115
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
Generate signed release report with all gate results.
|
|
116
|
+
---
|
|
528
117
|
|
|
529
|
-
|
|
530
|
-
```
|
|
531
|
-
IF all hard-block gates pass
|
|
532
|
-
→ EXIT: SUCCESS — safe to deploy
|
|
118
|
+
## Scope
|
|
533
119
|
|
|
534
|
-
|
|
535
|
-
|
|
120
|
+
✅ Skill này làm:
|
|
121
|
+
- Thẩm định 8 Cổng An toàn (8-Gate Checklist):
|
|
122
|
+
1. Build & Compile Gate (Build pass 100%, không type errors).
|
|
123
|
+
2. Test Suite Gate (Unit + Integration tests pass).
|
|
124
|
+
3. Security Gate (Không có critical CVE, không leak secrets trong code).
|
|
125
|
+
4. Database Migration Gate (Migration an toàn, backward-compatible).
|
|
126
|
+
5. Environment Config Gate (.env.production đầy đủ keys, không thiếu config).
|
|
127
|
+
6. Performance & Health Check Gate (Có endpoint /healthz, /readyz).
|
|
128
|
+
7. Rollback Plan Gate (Có lệnh hoặc pipeline rollback rõ ràng).
|
|
129
|
+
8. Observability Gate (Logging, Error monitoring Sentry/Datadog đã sẵn sàng).
|
|
130
|
+
- Lập Báo cáo Thẩm định Sẵn sàng (Production Readiness Report).
|
|
131
|
+
- Khuyến nghị quyết định: **GO** (Cho phép deploy) hoặc **NO-GO** (Chặn deploy).
|
|
132
|
+
|
|
133
|
+
❌ Skill này KHÔNG làm:
|
|
134
|
+
- Trực tiếp chạy lệnh deploy phá hủy môi trường live nếu chưa có xác nhận từ người dùng.
|
|
135
|
+
- Thiết kế hạ tầng CI/CD pipeline từ đầu (→ `qk-devops-platform`).
|
|
136
|
+
- Sửa lỗi code trực tiếp (→ `qk-bug-resolution`).
|
|
536
137
|
|
|
537
|
-
|
|
538
|
-
→ EXIT: FAILED — do NOT deploy
|
|
539
|
-
```
|
|
138
|
+
---
|
|
540
139
|
|
|
541
|
-
##
|
|
140
|
+
## Execution Steps
|
|
542
141
|
|
|
142
|
+
### Step 1 — Artifact & Build Verification
|
|
543
143
|
```
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
Fix: [what must be done before release]
|
|
144
|
+
Inputs: Commit hash/tag, Build scripts
|
|
145
|
+
Actions:
|
|
146
|
+
- Kiểm tra trạng thái build và artifact tĩnh.
|
|
147
|
+
- Xác thực không có file nhạy cảm lọt vào distribution build (.map files nhạy cảm, dev configs).
|
|
148
|
+
Output: Build status verdict
|
|
550
149
|
```
|
|
551
150
|
|
|
552
|
-
|
|
553
|
-
|
|
151
|
+
### Step 2 — 8-Gate Audit Execution
|
|
554
152
|
```
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
2. Có bug nào HIGH/CRITICAL chưa fix không?
|
|
153
|
+
Inputs: Source code, Config manifests, Test logs
|
|
154
|
+
Actions:
|
|
155
|
+
- Kiểm tra lần lượt 8 cổng theo checklist.
|
|
156
|
+
- Ghi nhận chi tiết trạng thái (PASS / FAIL / WARN) cho từng cổng.
|
|
157
|
+
Exit: BLOCKED ngay khi phát hiện Gate mang tính chặn (Security, Build, Test) bị FAIL.
|
|
561
158
|
```
|
|
562
159
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
### Consumes
|
|
566
|
-
```json
|
|
567
|
-
{
|
|
568
|
-
"from": "qk-validation-gate",
|
|
569
|
-
"required_fields": ["gate_result", "coverage_percent"],
|
|
570
|
-
"optional_fields": ["bundle_size", "changelog_entry"]
|
|
571
|
-
}
|
|
160
|
+
### Step 3 — Rollback & Contingency Assessment
|
|
572
161
|
```
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
"output_fields": ["release_checklist_result", "gates_passed", "gates_failed", "exit_code"]
|
|
579
|
-
}
|
|
162
|
+
Inputs: Deployment strategy (Blue/Green, Rolling, Canary)
|
|
163
|
+
Actions:
|
|
164
|
+
- Xác nhận thời gian phục hồi tối đa (RTO) và kịch bản revert DB nếu migration lỗi.
|
|
165
|
+
- Soạn sẵn câu lệnh khôi phục trạng thái cũ.
|
|
166
|
+
Output: Rollback verification checklist
|
|
580
167
|
```
|
|
581
168
|
|
|
582
|
-
|
|
583
|
-
|
|
169
|
+
### Step 4 — Readiness Verdict Delivery
|
|
584
170
|
```
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
Gate Results:
|
|
591
|
-
P1 Validation: [✅ PASS | ❌ FAIL]
|
|
592
|
-
P2 Open Bugs: [✅ 0 HIGH/CRITICAL | ❌ N unresolved]
|
|
593
|
-
P3 Debug Cleanup: [✅ Clean | ❌ N artifacts found]
|
|
594
|
-
P4 Environment: [✅ Production config | ❌ Dev config detected]
|
|
595
|
-
P5 Build: [✅ SUCCESS | ❌ FAILED]
|
|
596
|
-
P6 Bundle Size: [✅ NKB | ⚠️ NKB > 500KB]
|
|
597
|
-
P7 Security: [✅ Clean | ❌ N critical/high]
|
|
598
|
-
P8 Changelog: [✅ Updated | ⚠️ Missing]
|
|
599
|
-
|
|
600
|
-
Verdict: [✅ SAFE TO DEPLOY | ❌ DO NOT DEPLOY — fix: list]
|
|
601
|
-
Exit Code: [SUCCESS | PARTIAL | BLOCKED | FAILED]
|
|
171
|
+
Inputs: Audit results
|
|
172
|
+
Actions:
|
|
173
|
+
- Xuất bảng tổng kết 8-Gate với kết luận rõ ràng GO / NO-GO.
|
|
174
|
+
- Bàn giao hướng dẫn các bước release thủ công hoặc qua pipeline cho kỹ sư vận hành.
|
|
175
|
+
Exit: SUCCESS
|
|
602
176
|
```
|
|
603
177
|
|
|
604
178
|
---
|
|
605
179
|
|
|
606
|
-
##
|
|
607
|
-
|
|
608
|
-
| Level | Condition | Action |
|
|
609
|
-
|-------|-----------|--------|
|
|
610
|
-
| HIGH | validation-gate result confirmed + all 8 gates checked directly | Deploy approved |
|
|
611
|
-
| MEDIUM | some gates inferred from partial CI output | Deploy with caution |
|
|
612
|
-
| LOW | validation-gate not run / gate results stale | EXIT: BLOCKED |
|
|
613
|
-
|
|
614
|
-
---
|
|
615
|
-
|
|
616
|
-
## Severity
|
|
180
|
+
## Prompt Template
|
|
617
181
|
|
|
618
|
-
| Level | Definition |
|
|
619
|
-
|-------|-----------|
|
|
620
|
-
| CRITICAL | deploying with unresolved P1–P5 hard-block gate failure |
|
|
621
|
-
| HIGH | P6/P7 warning ignored without user override |
|
|
622
|
-
| MEDIUM | CHANGELOG missing |
|
|
623
|
-
| LOW | minor formatting in release report |
|
|
624
|
-
|
|
625
|
-
---
|
|
626
|
-
|
|
627
|
-
## Retry Policy
|
|
628
|
-
|
|
629
|
-
```
|
|
630
|
-
Build fails during Phase 2
|
|
631
|
-
└─ check syntax vs. environment error
|
|
632
|
-
├─ fix and retry once
|
|
633
|
-
└─ do not retry more than 1 time (risk of masking a real failure)
|
|
634
182
|
```
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
| BLOCKED | Prerequisites missing | Run validation-gate first |
|
|
642
|
-
| FAILED | Any hard gate failed | Do NOT deploy |
|
|
643
|
-
|
|
644
|
-
---
|
|
645
|
-
|
|
183
|
+
Phiên bản / Tag: [Release version — ví dụ: v2.4.0 hoặc commit hash]
|
|
184
|
+
Môi trường: [Production / Staging-to-Production]
|
|
185
|
+
Thay đổi chính: [Tóm tắt tính năng / bugfix trong đợt release này]
|
|
186
|
+
DB Migration: [Có migration không? Có thay đổi bảng dữ liệu nào?]
|
|
187
|
+
Kế hoạch Rollback: [Đã có phương án revert chưa?]
|
|
188
|
+
```
|