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-devops-platform
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: experimental
|
|
6
|
-
description: "Kỹ sư nền tảng: Chiến lược CI/CD, kiến trúc triển khai, quản lý môi trường và chiến lược rollback."
|
|
6
|
+
description: "Kỹ sư nền tảng: Chiến lược CI/CD, kiến trúc triển khai, quản lý môi trường và chiến lược rollback. Dùng skill này khi user nhắc đến: ci/cd, deployment, pipeline, docker, dockerfile, devops, github actions, cấu hình ci/cd, containerize — kể cả khi chỉ nói 'viết dockerfile và pipeline deploy staging'."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -23,12 +23,17 @@ complexity:
|
|
|
23
23
|
has_external_dependency: true
|
|
24
24
|
has_breaking_change: false
|
|
25
25
|
|
|
26
|
-
triggers:
|
|
27
|
-
- "
|
|
28
|
-
- "deployment
|
|
29
|
-
- "
|
|
30
|
-
- "
|
|
31
|
-
- "
|
|
26
|
+
triggers:
|
|
27
|
+
- "ci/cd"
|
|
28
|
+
- "deployment"
|
|
29
|
+
- "pipeline"
|
|
30
|
+
- "docker"
|
|
31
|
+
- "dockerfile"
|
|
32
|
+
- "devops"
|
|
33
|
+
- "github actions"
|
|
34
|
+
- "cấu hình ci/cd"
|
|
35
|
+
- "containerize"
|
|
36
|
+
|
|
32
37
|
|
|
33
38
|
# ── V8: References ─────────────────────────────────────────
|
|
34
39
|
workflow: feature-delivery
|
|
@@ -93,7 +98,7 @@ latency: medium
|
|
|
93
98
|
risk: high
|
|
94
99
|
side_effects: edit_files
|
|
95
100
|
produces: [report, plan, code]
|
|
96
|
-
consumes: [user-description]
|
|
101
|
+
consumes: [user-description, source-code]
|
|
97
102
|
|
|
98
103
|
token_budget:
|
|
99
104
|
max_files_read: 5
|
|
@@ -101,484 +106,93 @@ token_budget:
|
|
|
101
106
|
max_shell_commands: 2
|
|
102
107
|
stop_early: true
|
|
103
108
|
|
|
104
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
109
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
105
110
|
---
|
|
106
111
|
|
|
107
|
-
# qk-devops-platform — Platform Engineer
|
|
112
|
+
# qk-devops-platform — Platform & CI/CD Engineer
|
|
108
113
|
|
|
109
114
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
110
115
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
114
|
-
- 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:
|
|
115
|
-
- **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.
|
|
116
|
-
- **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.
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
121
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
122
|
-
bắt buộc tra cứu:
|
|
123
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
124
|
-
|
|
125
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
126
|
-
- Architecture
|
|
127
|
-
- Hard Bug
|
|
128
|
-
- Convention
|
|
129
|
-
- Pattern
|
|
130
|
-
- Tech Debt Pattern
|
|
131
|
-
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: quy trình CI/CD pipeline, rollback strategy, docker env).
|
|
132
|
-
|
|
133
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
134
|
-
Không được xem Memory là Source of Truth.
|
|
135
|
-
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.
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
140
|
-
- 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:
|
|
141
|
-
- Hard Bug có khả năng tái diễn.
|
|
142
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
143
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
144
|
-
- Quyết định Architecture quan trọng.
|
|
145
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
146
|
-
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: thay đổi runner CI, cấu hình rollback mới).
|
|
147
|
-
|
|
148
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
149
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
150
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
155
|
-
Sau khi hoàn thành task:
|
|
156
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
157
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
158
|
-
- Đề xuất người dùng xem xét.
|
|
159
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
160
|
-
- `/learn`
|
|
161
|
-
- `qk-project-memory`
|
|
162
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
163
|
-
|
|
164
|
-
```
|
|
165
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
169
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
### Ignore (Không đưa vào Memory)
|
|
174
|
-
Không lưu:
|
|
175
|
-
- Trace log của một session đơn lẻ.
|
|
176
|
-
- Temporary debugging data.
|
|
177
|
-
- Output của một lần chạy test/scan.
|
|
178
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
179
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
180
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
181
|
-
- 👉 *Domain Ignore:* Log build tạm thời của CI/CD session.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
### Golden Rule
|
|
186
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
187
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
|
|
194
|
-
- 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:
|
|
195
|
-
- **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.
|
|
196
|
-
- **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.
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
201
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
202
|
-
bắt buộc tra cứu:
|
|
203
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
204
|
-
|
|
205
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
206
|
-
- Architecture
|
|
207
|
-
- Hard Bug
|
|
208
|
-
- Convention
|
|
209
|
-
- Pattern
|
|
210
|
-
- Tech Debt Pattern
|
|
211
|
-
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: quy trình CI/CD pipeline, rollback strategy, docker env).
|
|
212
|
-
|
|
213
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
214
|
-
Không được xem Memory là Source of Truth.
|
|
215
|
-
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.
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
220
|
-
- 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:
|
|
221
|
-
- Hard Bug có khả năng tái diễn.
|
|
222
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
223
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
224
|
-
- Quyết định Architecture quan trọng.
|
|
225
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
226
|
-
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: thay đổi runner CI, cấu hình rollback mới).
|
|
227
|
-
|
|
228
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
229
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
230
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
235
|
-
Sau khi hoàn thành task:
|
|
236
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
237
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
238
|
-
- Đề xuất người dùng xem xét.
|
|
239
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
240
|
-
- `/learn`
|
|
241
|
-
- `qk-project-memory`
|
|
242
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
243
|
-
|
|
244
|
-
```
|
|
245
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
249
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
### Ignore (Không đưa vào Memory)
|
|
254
|
-
Không lưu:
|
|
255
|
-
- Trace log của một session đơn lẻ.
|
|
256
|
-
- Temporary debugging data.
|
|
257
|
-
- Output của một lần chạy test/scan.
|
|
258
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
259
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
260
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
261
|
-
- 👉 *Domain Ignore:* Log build tạm thời của CI/CD session.
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
|
|
265
|
-
### Golden Rule
|
|
266
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
267
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
274
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
275
|
-
bắt buộc tra cứu:
|
|
276
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
277
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
278
|
-
|
|
279
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
280
|
-
- Architecture
|
|
281
|
-
- Hard Bug
|
|
282
|
-
- Convention
|
|
283
|
-
- Pattern
|
|
284
|
-
- Tech Debt Pattern
|
|
285
|
-
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: quy trình CI/CD pipeline, rollback strategy, docker env).
|
|
286
|
-
|
|
287
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
288
|
-
Không được xem Memory là Source of Truth.
|
|
289
|
-
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.
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
294
|
-
- 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:
|
|
295
|
-
- Hard Bug có khả năng tái diễn.
|
|
296
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
297
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
298
|
-
- Quyết định Architecture quan trọng.
|
|
299
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
300
|
-
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: thay đổi runner CI, cấu hình rollback mới).
|
|
301
|
-
|
|
302
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
303
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
304
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
309
|
-
Sau khi hoàn thành task:
|
|
310
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
311
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
312
|
-
- Đề xuất người dùng xem xét.
|
|
313
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
314
|
-
- `/learn`
|
|
315
|
-
- `qk-project-memory`
|
|
316
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
317
|
-
|
|
318
|
-
```
|
|
319
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
323
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
324
|
-
|
|
325
|
-
---
|
|
326
|
-
|
|
327
|
-
### Ignore (Không đưa vào Memory)
|
|
328
|
-
Không lưu:
|
|
329
|
-
- Trace log của một session đơn lẻ.
|
|
330
|
-
- Temporary debugging data.
|
|
331
|
-
- Output của một lần chạy test/scan.
|
|
332
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
333
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
334
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
335
|
-
- 👉 *Domain Ignore:* Log build tạm thời của CI/CD session.
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
### Golden Rule
|
|
340
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
341
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
347
|
-
- 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:
|
|
348
|
-
- Hard Bug có khả năng tái diễn.
|
|
349
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
350
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
351
|
-
- Quyết định Architecture quan trọng.
|
|
352
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
353
|
-
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: thay đổi runner CI, cấu hình rollback mới).
|
|
354
|
-
|
|
355
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
356
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
357
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
358
|
-
|
|
359
|
-
---
|
|
360
|
-
|
|
361
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
362
|
-
Sau khi hoàn thành task:
|
|
363
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
364
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
365
|
-
- Đề xuất người dùng xem xét.
|
|
366
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
367
|
-
- `/learn`
|
|
368
|
-
- `qk-project-memory`
|
|
369
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
370
|
-
|
|
371
|
-
```
|
|
372
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
376
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
377
|
-
|
|
378
|
-
---
|
|
379
|
-
|
|
380
|
-
### Ignore (Không đưa vào Memory)
|
|
381
|
-
Không lưu:
|
|
382
|
-
- Trace log của một session đơn lẻ.
|
|
383
|
-
- Temporary debugging data.
|
|
384
|
-
- Output của một lần chạy test/scan.
|
|
385
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
386
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
387
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
388
|
-
- 👉 *Domain Ignore:* Log build tạm thời của CI/CD session.
|
|
389
|
-
|
|
390
|
-
---
|
|
391
|
-
|
|
392
|
-
### Golden Rule
|
|
393
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
394
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
---
|
|
398
|
-
|
|
399
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
400
|
-
- 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:
|
|
401
|
-
- Hard Bug có khả năng tái diễn.
|
|
402
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
403
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
404
|
-
- Quyết định Architecture quan trọng.
|
|
405
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
406
|
-
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: thay đổi runner CI, cấu hình rollback mới).
|
|
407
|
-
|
|
408
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
409
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
410
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
411
|
-
|
|
412
|
-
---
|
|
413
|
-
|
|
414
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
415
|
-
Sau khi hoàn thành task:
|
|
416
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
417
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
418
|
-
- Đề xuất người dùng xem xét.
|
|
419
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
420
|
-
- `/learn`
|
|
421
|
-
- `qk-project-memory`
|
|
422
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
423
|
-
|
|
424
|
-
```
|
|
425
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
429
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
430
|
-
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
### Ignore (Không đưa vào Memory)
|
|
434
|
-
Không lưu:
|
|
435
|
-
- Trace log của một session đơn lẻ.
|
|
436
|
-
- Temporary debugging data.
|
|
437
|
-
- Output của một lần chạy test/scan.
|
|
438
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
439
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
440
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
441
|
-
- 👉 *Domain Ignore:* Log build tạm thời của CI/CD session.
|
|
442
|
-
|
|
443
|
-
---
|
|
444
|
-
|
|
445
|
-
### Golden Rule
|
|
446
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
447
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
448
|
-
|
|
449
|
-
---
|
|
450
|
-
---
|
|
451
|
-
---
|
|
452
|
-
---
|
|
453
|
-
|
|
454
|
-
## Preconditions
|
|
455
|
-
- [ ] Requirements cho môi trường triển khai đã có sẵn.
|
|
116
|
+
Chịu trách nhiệm thiết kế và cấu hình toàn diện hạ tầng CI/CD, Containerization (Docker), quản lý biến môi trường an toàn và kiến trúc triển khai với **chiến lược Rollback bắt buộc cho mọi thay đổi**.
|
|
456
117
|
|
|
457
|
-
|
|
458
|
-
- Thiết kế và thiết lập luồng CI/CD (GitHub Actions, GitLab CI, v.v.).
|
|
459
|
-
- Xây dựng kiến trúc deployment, quản lý các container (Docker, Kubernetes).
|
|
460
|
-
- Đưa ra chiến lược Rollback an toàn khi có sự cố.
|
|
461
|
-
- Quản lý và phân tách các môi trường (Dev, Staging, Prod).
|
|
462
|
-
- **Bắt buộc tuân thủ R-SEC-04: Mọi secrets/credentials trong CI/CD phải được inject qua biến môi trường an toàn (Github Secrets/Vault), KHÔNG BAO GIỜ hardcode.**
|
|
463
|
-
- KHÔNG thay thế `qk-production-release` (đóng gói và release app), skill này quản lý *hạ tầng và quy trình* bên dưới việc release đó.
|
|
464
|
-
|
|
465
|
-
## Non-Goals
|
|
466
|
-
- ❌ Provide implementation outside of DevOps & CI/CD scope
|
|
467
|
-
- ❌ Override explicit user directives without explanation
|
|
468
|
-
- ❌ Guess ambiguous requirements without asking
|
|
469
|
-
|
|
470
|
-
## Priority Order
|
|
471
|
-
|
|
472
|
-
| Priority | Task | Skip Threshold |
|
|
473
|
-
|----------|------|----------------|
|
|
474
|
-
| P1 | Core DevOps & CI/CD analysis and decision making | Never |
|
|
475
|
-
| P2 | Validation of existing patterns | Budget < 30% |
|
|
476
|
-
| P3 | Detailed documentation generation | Budget < 50% |
|
|
477
|
-
| P4 | Edge case exploration | Budget < 70% |
|
|
478
|
-
|
|
479
|
-
## Workflow
|
|
480
|
-
|
|
481
|
-
### Phase 1 — Context Loading
|
|
482
|
-
**Steps:**
|
|
483
|
-
1. Read existing configuration and requirements related to DevOps & CI/CD.
|
|
484
|
-
2. Check for missing preconditions.
|
|
485
|
-
|
|
486
|
-
**Decision:**
|
|
487
|
-
```
|
|
488
|
-
IF context is clear
|
|
489
|
-
→ Confidence: HIGH → go to Phase 2
|
|
490
|
-
ELSE
|
|
491
|
-
→ EXIT: BLOCKED — ask user
|
|
492
|
-
```
|
|
118
|
+
---
|
|
493
119
|
|
|
494
|
-
|
|
495
|
-
**Steps:**
|
|
496
|
-
1. Analyze the current state against DevOps & CI/CD best practices.
|
|
497
|
-
2. Formulate strategy or audit report based on findings.
|
|
120
|
+
## Preconditions
|
|
498
121
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
122
|
+
Trước khi thiết lập hoặc thay đổi cấu hình hạ tầng, AI BẮT BUỘC kiểm tra:
|
|
123
|
+
|
|
124
|
+
- [ ] Xác định nền tảng CI/CD (GitHub Actions, GitLab CI, Bitbucket Pipelines) và môi trường runtime (Docker, Kubernetes, AWS, Vercel).
|
|
125
|
+
- [ ] Xác định chiến lược secret management (GitHub Secrets, HashiCorp Vault, AWS SSM) — tuyệt đối không hardcode credentials.
|
|
126
|
+
- [ ] Xác định chiến lược Rollback (Revert commit, container tag rollback, Blue/Green traffic switch).
|
|
127
|
+
- [ ] Nếu không có phương án rollback hoặc phát hiện secret bị lộ trong file cấu hình:
|
|
128
|
+
→ **EXIT: BLOCKED**
|
|
129
|
+
→ Từ chối tạo cấu hình và yêu cầu user thiết lập secret an toàn qua secret manager.
|
|
506
130
|
|
|
507
|
-
|
|
508
|
-
**Steps:**
|
|
509
|
-
1. Generate final report or configuration.
|
|
510
|
-
2. Prepare handoff data for subsequent skills.
|
|
131
|
+
---
|
|
511
132
|
|
|
512
|
-
##
|
|
133
|
+
## Scope
|
|
513
134
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
135
|
+
✅ Skill này làm:
|
|
136
|
+
- Viết multi-stage `Dockerfile` tối ưu kích thước image, bảo mật non-root user và layer caching.
|
|
137
|
+
- Tạo workflow pipelines CI/CD: Linting, Unit Testing, Security scanning (Trivy/Snyk), Build & Deploy.
|
|
138
|
+
- Thiết lập quản lý cấu hình đa môi trường (Development, Staging, Production).
|
|
139
|
+
- Cấu hình Healthcheck probes (`livenessProbe`, `readinessProbe`) và Graceful shutdown.
|
|
140
|
+
- Xây dựng Runbook khôi phục nhanh (Rollback Runbook) tự động hoặc 1-click.
|
|
519
141
|
|
|
520
|
-
|
|
142
|
+
❌ Skill này KHÔNG làm:
|
|
143
|
+
- Thẩm định cổng release production cuối cùng (→ `qk-production-release`).
|
|
144
|
+
- Viết application code / API logic bên trong ứng dụng.
|
|
145
|
+
- Quản trị tài chính hoặc thanh toán chi phí Cloud.
|
|
521
146
|
|
|
522
|
-
|
|
523
|
-
|-------|-----------|
|
|
524
|
-
| CRITICAL | Severe violation of DevOps & CI/CD principles |
|
|
525
|
-
| HIGH | Significant risk or technical debt |
|
|
526
|
-
| MEDIUM | Suboptimal pattern but functional |
|
|
527
|
-
| LOW | Minor style or documentation issue |
|
|
147
|
+
---
|
|
528
148
|
|
|
529
|
-
##
|
|
149
|
+
## Execution Steps
|
|
530
150
|
|
|
151
|
+
### Step 1 — Infrastructure & Dependency Analysis
|
|
531
152
|
```
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
153
|
+
Inputs: Yêu cầu từ user, Manifests (package.json, requirements.txt, etc.)
|
|
154
|
+
Actions:
|
|
155
|
+
- Xác định phiên bản runtime chuẩn (Node.js, Python, Go, Java).
|
|
156
|
+
- Phân tích các bước build: compile assets, install production-only dependencies.
|
|
157
|
+
Output: Deployment Architecture Blueprint
|
|
536
158
|
```
|
|
537
159
|
|
|
538
|
-
|
|
160
|
+
### Step 2 — Containerization (Multi-stage Dockerfile)
|
|
539
161
|
```
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
162
|
+
Inputs: Blueprint
|
|
163
|
+
Actions:
|
|
164
|
+
- Thiết kế Stage 1 (Builder): Cài đặt devDependencies, build artifacts.
|
|
165
|
+
- Thiết kế Stage 2 (Runner): Copy minimal artifacts, chạy dưới non-root user (USER node / appuser).
|
|
166
|
+
- Thêm `.dockerignore` để loại trừ node_modules, `.git`, `.env`.
|
|
167
|
+
Output: Dockerfile & .dockerignore
|
|
544
168
|
```
|
|
545
169
|
|
|
546
|
-
|
|
547
|
-
|
|
170
|
+
### Step 3 — CI/CD Pipeline Automation
|
|
548
171
|
```
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
Recommended Assumptions: none
|
|
172
|
+
Inputs: CI platform (.github/workflows)
|
|
173
|
+
Actions:
|
|
174
|
+
- Thiết lập trigger hợp lý (push on main, PR to dev).
|
|
175
|
+
- Tích hợp caching cho package managers (npm/pnpm/pip cache).
|
|
176
|
+
- Gắn các bước kiểm tra chất lượng tự động: Lint -> Test -> Security Scan -> Build Image.
|
|
177
|
+
Output: Pipeline YAML configuration
|
|
556
178
|
```
|
|
557
179
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
### Consumes
|
|
561
|
-
```json
|
|
562
|
-
{
|
|
563
|
-
"from": "user or qk-orchestrator",
|
|
564
|
-
"required_fields": ["context"],
|
|
565
|
-
"optional_fields": ["existing_config"]
|
|
566
|
-
}
|
|
180
|
+
### Step 4 — Verification & Rollback Strategy Verification
|
|
567
181
|
```
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
"output_fields": ["strategy_report", "exit_code"]
|
|
574
|
-
}
|
|
182
|
+
Inputs: Pipeline & Dockerfile
|
|
183
|
+
Actions:
|
|
184
|
+
- Kiểm tra cú pháp YAML linter.
|
|
185
|
+
- Xác nhận lệnh hoặc cơ chế revert khi pipeline deploy thất bại.
|
|
186
|
+
Exit: SUCCESS
|
|
575
187
|
```
|
|
576
188
|
|
|
577
|
-
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Prompt Template
|
|
578
192
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
193
|
+
```
|
|
194
|
+
Hạ tầng mục tiêu: [Docker / GitHub Actions / Kubernetes / AWS / Vercel]
|
|
195
|
+
Môi trường: [Staging / Production / Preview environments]
|
|
196
|
+
Yêu cầu: [Tối ưu Dockerfile / Tạo pipeline CI test+build / Cấu hình auto-deploy]
|
|
197
|
+
Ràng buộc: [Không dùng root user, image size < 200MB, secrets qua Vault]
|
|
198
|
+
```
|