ai-developer-skill-os 9.1.1 → 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 +52 -18
- package/.agents/registry/index.yaml +66 -12
- 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 -300
- package/.agents/skills/qk-access-policy/SKILL.md +98 -393
- package/.agents/skills/qk-agent-observability/SKILL.md +3 -359
- package/.agents/skills/qk-ai-builder/SKILL.md +132 -485
- 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 -376
- package/.agents/skills/qk-bug-resolution/SKILL.md +128 -481
- package/.agents/skills/qk-code-review/SKILL.md +142 -340
- package/.agents/skills/qk-context-loader/SKILL.md +99 -391
- package/.agents/skills/qk-data-engineer/SKILL.md +253 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +89 -408
- package/.agents/skills/qk-db-optimizer/SKILL.md +102 -408
- package/.agents/skills/qk-design-system-engineering/SKILL.md +76 -381
- package/.agents/skills/qk-devops-platform/SKILL.md +77 -383
- package/.agents/skills/qk-docs/SKILL.md +88 -414
- package/.agents/skills/qk-engineering-standard/SKILL.md +4 -508
- package/.agents/skills/qk-fe-api-integration/SKILL.md +343 -263
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -29
- package/.agents/skills/qk-feature-delivery/SKILL.md +137 -365
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-frontend-architecture/SKILL.md +5 -399
- package/.agents/skills/qk-help/evals/scorecard.yaml +13 -13
- package/.agents/skills/qk-orchestrator/SKILL.md +63 -422
- package/.agents/skills/qk-orchestrator/references/routing-table.md +10 -14
- package/.agents/skills/qk-product-specification/SKILL.md +70 -399
- package/.agents/skills/qk-production-release/SKILL.md +80 -457
- package/.agents/skills/qk-project-audit/SKILL.md +174 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +244 -392
- package/.agents/skills/qk-project-health/SKILL.md +97 -416
- package/.agents/skills/qk-project-memory/SKILL.md +76 -21
- package/.agents/skills/qk-refactor/SKILL.md +167 -304
- package/.agents/skills/qk-security-audit/SKILL.md +141 -383
- package/.agents/skills/qk-security-audit/capability.yaml +1 -2
- package/.agents/skills/qk-system-evolution/SKILL.md +343 -263
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -26
- package/.agents/skills/qk-test-engineering/SKILL.md +119 -429
- package/.agents/skills/qk-ui-audit/SKILL.md +73 -457
- package/.agents/skills/qk-ui-builder/SKILL.md +521 -482
- package/.agents/skills/qk-ui-system-builder/SKILL.md +68 -434
- 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 -523
- package/.agents/skills/qk-web-quality-gate/SKILL.md +85 -383
- 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-product-specification
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
status: experimental
|
|
6
|
-
description: "Product thinking (Idea → Requirement → Acceptance criteria → Technical spec)."
|
|
6
|
+
description: "Product thinking (Idea → Requirement → Acceptance criteria → Technical spec). Dùng skill này khi user nhắc đến: viết spec, phân tích yêu cầu, acceptance criteria, prd, đặc tả kỹ thuật, user story, làm rõ yêu cầu — kể cả khi chỉ nói 'tôi có ý tưởng làm tính năng X'."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
9
|
# ── V9: Classification ─────────────────────────────────────
|
|
@@ -23,11 +23,15 @@ complexity:
|
|
|
23
23
|
has_external_dependency: false
|
|
24
24
|
has_breaking_change: false
|
|
25
25
|
|
|
26
|
-
triggers:
|
|
27
|
-
- "viết spec"
|
|
28
|
-
- "phân tích yêu cầu"
|
|
29
|
-
- "
|
|
30
|
-
- "
|
|
26
|
+
triggers:
|
|
27
|
+
- "viết spec"
|
|
28
|
+
- "phân tích yêu cầu"
|
|
29
|
+
- "acceptance criteria"
|
|
30
|
+
- "prd"
|
|
31
|
+
- "đặc tả kỹ thuật"
|
|
32
|
+
- "user story"
|
|
33
|
+
- "làm rõ yêu cầu"
|
|
34
|
+
|
|
31
35
|
|
|
32
36
|
# ── V8: References ─────────────────────────────────────────
|
|
33
37
|
workflow: spec-driven-development
|
|
@@ -71,28 +75,6 @@ verification:
|
|
|
71
75
|
required: true
|
|
72
76
|
strategy: feature
|
|
73
77
|
|
|
74
|
-
lifecycle:
|
|
75
|
-
promotion_gate:
|
|
76
|
-
requirements:
|
|
77
|
-
tests:
|
|
78
|
-
minimum_pass_rate: 0.95
|
|
79
|
-
usage:
|
|
80
|
-
minimum_runs: 20
|
|
81
|
-
conflicts:
|
|
82
|
-
zero_boundary_violation: true
|
|
83
|
-
evidence:
|
|
84
|
-
required:
|
|
85
|
-
- evaluation_report
|
|
86
|
-
- usage_history
|
|
87
|
-
- boundary_audit
|
|
88
|
-
demotion_gate:
|
|
89
|
-
triggers:
|
|
90
|
-
- repeated_failure
|
|
91
|
-
- boundary_violation
|
|
92
|
-
- outdated_reference
|
|
93
|
-
action:
|
|
94
|
-
change_status: "stable -> experimental"
|
|
95
|
-
|
|
96
78
|
selection:
|
|
97
79
|
priority: medium
|
|
98
80
|
confidence_threshold: 0.80
|
|
@@ -115,402 +97,91 @@ token_budget:
|
|
|
115
97
|
max_shell_commands: 0
|
|
116
98
|
stop_early: true
|
|
117
99
|
|
|
118
|
-
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
100
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
119
101
|
---
|
|
120
102
|
|
|
121
|
-
# qk-product-specification — Product Specifier
|
|
103
|
+
# qk-product-specification — Product & Technical Specifier
|
|
122
104
|
|
|
123
105
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
124
106
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
- **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.
|
|
130
|
-
- **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.
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
135
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
136
|
-
bắt buộc tra cứu:
|
|
137
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
138
|
-
|
|
139
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
140
|
-
- Architecture
|
|
141
|
-
- Hard Bug
|
|
142
|
-
- Convention
|
|
143
|
-
- Pattern
|
|
144
|
-
- Tech Debt Pattern
|
|
145
|
-
- 👉 *Domain Focus:* Convention / Pattern (vd: định dạng Acceptance Criteria, cấu trúc PRD).
|
|
146
|
-
|
|
147
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
148
|
-
Không được xem Memory là Source of Truth.
|
|
149
|
-
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.
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
154
|
-
- 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:
|
|
155
|
-
- Hard Bug có khả năng tái diễn.
|
|
156
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
157
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
158
|
-
- Quyết định Architecture quan trọng.
|
|
159
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
160
|
-
- 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
|
|
161
|
-
|
|
162
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
163
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
164
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
169
|
-
Sau khi hoàn thành task:
|
|
170
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
171
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
172
|
-
- Đề xuất người dùng xem xét.
|
|
173
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
174
|
-
- `/learn`
|
|
175
|
-
- `qk-project-memory`
|
|
176
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
.ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
183
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
### Ignore (Không đưa vào Memory)
|
|
188
|
-
Không lưu:
|
|
189
|
-
- Trace log của một session đơn lẻ.
|
|
190
|
-
- Temporary debugging data.
|
|
191
|
-
- Output của một lần chạy test/scan.
|
|
192
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
193
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
194
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
195
|
-
- 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
### Golden Rule
|
|
200
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
201
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
### Pre-flight Retrieve (Trước khi thực thi)
|
|
208
|
-
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
209
|
-
bắt buộc tra cứu:
|
|
210
|
-
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
211
|
-
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
212
|
-
|
|
213
|
-
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
214
|
-
- Architecture
|
|
215
|
-
- Hard Bug
|
|
216
|
-
- Convention
|
|
217
|
-
- Pattern
|
|
218
|
-
- Tech Debt Pattern
|
|
219
|
-
- 👉 *Domain Focus:* Convention / Pattern (vd: định dạng Acceptance Criteria, cấu trúc PRD).
|
|
220
|
-
|
|
221
|
-
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
222
|
-
Không được xem Memory là Source of Truth.
|
|
223
|
-
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.
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
228
|
-
- 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:
|
|
229
|
-
- Hard Bug có khả năng tái diễn.
|
|
230
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
231
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
232
|
-
- Quyết định Architecture quan trọng.
|
|
233
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
234
|
-
- 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
|
|
235
|
-
|
|
236
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
237
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
238
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
243
|
-
Sau khi hoàn thành task:
|
|
244
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
245
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
246
|
-
- Đề xuất người dùng xem xét.
|
|
247
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
248
|
-
- `/learn`
|
|
249
|
-
- `qk-project-memory`
|
|
250
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
251
|
-
|
|
252
|
-
```
|
|
253
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
257
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
### Ignore (Không đưa vào Memory)
|
|
262
|
-
Không lưu:
|
|
263
|
-
- Trace log của một session đơn lẻ.
|
|
264
|
-
- Temporary debugging data.
|
|
265
|
-
- Output của một lần chạy test/scan.
|
|
266
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
267
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
268
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
269
|
-
- 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
### Golden Rule
|
|
274
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
275
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
276
|
-
|
|
277
|
-
---
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
281
|
-
- 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:
|
|
282
|
-
- Hard Bug có khả năng tái diễn.
|
|
283
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
284
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
285
|
-
- Quyết định Architecture quan trọng.
|
|
286
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
287
|
-
- 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
|
|
288
|
-
|
|
289
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
290
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
291
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
296
|
-
Sau khi hoàn thành task:
|
|
297
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
298
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
299
|
-
- Đề xuất người dùng xem xét.
|
|
300
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
301
|
-
- `/learn`
|
|
302
|
-
- `qk-project-memory`
|
|
303
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
304
|
-
|
|
305
|
-
```
|
|
306
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
310
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
311
|
-
|
|
312
|
-
---
|
|
313
|
-
|
|
314
|
-
### Ignore (Không đưa vào Memory)
|
|
315
|
-
Không lưu:
|
|
316
|
-
- Trace log của một session đơn lẻ.
|
|
317
|
-
- Temporary debugging data.
|
|
318
|
-
- Output của một lần chạy test/scan.
|
|
319
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
320
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
321
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
322
|
-
- 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
### Golden Rule
|
|
327
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
328
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
### Learning Flow (AI tự học có kiểm soát)
|
|
334
|
-
- 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:
|
|
335
|
-
- Hard Bug có khả năng tái diễn.
|
|
336
|
-
- Pattern làm việc lặp lại trong dự án.
|
|
337
|
-
- Convention hoặc quy tắc kiến trúc mới.
|
|
338
|
-
- Quyết định Architecture quan trọng.
|
|
339
|
-
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
340
|
-
- 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
|
|
341
|
-
|
|
342
|
-
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
343
|
-
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
344
|
-
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
345
|
-
|
|
346
|
-
---
|
|
347
|
-
|
|
348
|
-
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
349
|
-
Sau khi hoàn thành task:
|
|
350
|
-
- AI đánh giá các Candidate Memory đã tạo.
|
|
351
|
-
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
352
|
-
- Đề xuất người dùng xem xét.
|
|
353
|
-
- Gửi yêu cầu phê duyệt thông qua:
|
|
354
|
-
- `/learn`
|
|
355
|
-
- `qk-project-memory`
|
|
356
|
-
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
357
|
-
|
|
358
|
-
```
|
|
359
|
-
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
363
|
-
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
364
|
-
|
|
365
|
-
---
|
|
366
|
-
|
|
367
|
-
### Ignore (Không đưa vào Memory)
|
|
368
|
-
Không lưu:
|
|
369
|
-
- Trace log của một session đơn lẻ.
|
|
370
|
-
- Temporary debugging data.
|
|
371
|
-
- Output của một lần chạy test/scan.
|
|
372
|
-
- Report health tạm thời của một đợt kiểm tra.
|
|
373
|
-
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
374
|
-
- Thông tin không có khả năng tái sử dụng.
|
|
375
|
-
- 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
### Golden Rule
|
|
380
|
-
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
381
|
-
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
382
|
-
|
|
383
|
-
---
|
|
384
|
-
---
|
|
385
|
-
---
|
|
386
|
-
---
|
|
387
|
-
|
|
107
|
+
Chịu trách nhiệm chuyển hóa các ý tưởng kinh doanh còn mơ hồ thành bản đặc tả kỹ thuật chi tiết (Technical Specification & PRD) hoàn chỉnh: **User Problem → User Stories → Acceptance Criteria (Given-When-Then) → Technical Constraints & Edge Cases**.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
388
111
|
## Preconditions
|
|
389
|
-
- [ ] Tuân thủ workflow `spec-driven-development`.
|
|
390
112
|
|
|
391
|
-
|
|
392
|
-
- Tiếp nhận Idea ban đầu từ user, thực hiện phân tích yêu cầu (Requirement Analysis).
|
|
393
|
-
- Xác định và làm rõ ranh giới của tính năng.
|
|
394
|
-
- Lên danh sách Acceptance Criteria (Tiêu chí nghiệm thu). **BẮT BUỘC có Security Acceptance Criteria để phòng ngừa rủi ro theo R-SEC-04 (Zero-Trust).**
|
|
395
|
-
- Đóng gói thành Technical Spec (đặc tả kỹ thuật) để chuẩn bị cho quá trình code (Plan & Implementation).
|
|
113
|
+
Trước khi viết đặc tả kỹ thuật, AI BẮT BUỘC kiểm tra:
|
|
396
114
|
|
|
397
|
-
|
|
398
|
-
-
|
|
399
|
-
-
|
|
400
|
-
-
|
|
115
|
+
- [ ] Xác định đối tượng người dùng cuối (User persona) và bài toán kinh doanh cần giải quyết.
|
|
116
|
+
- [ ] Đọc `.agents/DEV_PROFILE.md` để hiểu kiến trúc tổng quan và các ràng buộc công nghệ sẵn có.
|
|
117
|
+
- [ ] Kiểm tra xem ý tưởng có mục tiêu đầu ra (Success metric / KPI) cụ thể chưa.
|
|
118
|
+
- [ ] Nếu ý tưởng hoàn toàn không có mục đích sử dụng rõ ràng:
|
|
119
|
+
→ **EXIT: BLOCKED**
|
|
120
|
+
→ Báo cáo user câu hỏi định hình mục tiêu trước khi lập tài liệu spec.
|
|
401
121
|
|
|
402
|
-
|
|
122
|
+
---
|
|
403
123
|
|
|
404
|
-
|
|
405
|
-
|----------|------|----------------|
|
|
406
|
-
| P1 | Core Product Thinking & Requirements analysis and decision making | Never |
|
|
407
|
-
| P2 | Validation of existing patterns | Budget < 30% |
|
|
408
|
-
| P3 | Detailed documentation generation | Budget < 50% |
|
|
409
|
-
| P4 | Edge case exploration | Budget < 70% |
|
|
124
|
+
## Scope
|
|
410
125
|
|
|
411
|
-
|
|
126
|
+
✅ Skill này làm:
|
|
127
|
+
- Viết User Stories theo chuẩn: "As a [role], I want to [action], so that [benefit]".
|
|
128
|
+
- Thiết lập Acceptance Criteria (AC) theo định dạng BDD Given/When/Then.
|
|
129
|
+
- Liệt kê Edge Cases, Empty States, Error States, Permission constraints.
|
|
130
|
+
- Phác thảo Data Model sơ bộ và các API endpoints cần có để phục vụ kỹ sư triển khai.
|
|
131
|
+
- Chế độ hoạt động: **Read-Only / Documentation Output** (không can thiệp vào code).
|
|
412
132
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
133
|
+
❌ Skill này KHÔNG làm:
|
|
134
|
+
- Trực tiếp triển khai mã nguồn (→ chuyển giao cho `qk-feature-delivery`).
|
|
135
|
+
- Nghiên cứu thị trường sâu, định giá sản phẩm (Pricing) hay marketing strategy.
|
|
136
|
+
- Thiết kế UI Mockup chi tiết (→ `qk-ui-builder`).
|
|
417
137
|
|
|
418
|
-
|
|
419
|
-
```
|
|
420
|
-
IF context is clear
|
|
421
|
-
→ Confidence: HIGH → go to Phase 2
|
|
422
|
-
ELSE
|
|
423
|
-
→ EXIT: BLOCKED — ask user
|
|
424
|
-
```
|
|
138
|
+
---
|
|
425
139
|
|
|
426
|
-
|
|
427
|
-
**Steps:**
|
|
428
|
-
1. Analyze the current state against Product Thinking & Requirements best practices.
|
|
429
|
-
2. Formulate strategy or audit report based on findings.
|
|
140
|
+
## Execution Steps
|
|
430
141
|
|
|
431
|
-
|
|
142
|
+
### Step 1 — Problem Framing & Persona Identification
|
|
432
143
|
```
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
144
|
+
Inputs: Ý tưởng thô từ user
|
|
145
|
+
Actions:
|
|
146
|
+
- Xác định ai là người hưởng lợi trực tiếp từ tính năng.
|
|
147
|
+
- Phân tách bài toán cốt lõi (Core problem) khỏi các mong muốn phụ (Nice-to-haves).
|
|
148
|
+
Output: Problem statement & User personas
|
|
437
149
|
```
|
|
438
150
|
|
|
439
|
-
###
|
|
440
|
-
**Steps:**
|
|
441
|
-
1. Generate final report or configuration.
|
|
442
|
-
2. Prepare handoff data for subsequent skills.
|
|
443
|
-
|
|
444
|
-
## Confidence Model
|
|
445
|
-
|
|
446
|
-
| Level | Condition | Action |
|
|
447
|
-
|-------|-----------|--------|
|
|
448
|
-
| HIGH | All preconditions met, context fully understood | Proceed directly |
|
|
449
|
-
| MEDIUM | Some context missing but safe defaults exist | Proceed and note assumptions |
|
|
450
|
-
| LOW | Core requirements missing | EXIT: BLOCKED |
|
|
451
|
-
|
|
452
|
-
## Severity (for findings)
|
|
453
|
-
|
|
454
|
-
| Level | Definition |
|
|
455
|
-
|-------|-----------|
|
|
456
|
-
| CRITICAL | Severe violation of Product Thinking & Requirements principles |
|
|
457
|
-
| HIGH | Significant risk or technical debt |
|
|
458
|
-
| MEDIUM | Suboptimal pattern but functional |
|
|
459
|
-
| LOW | Minor style or documentation issue |
|
|
460
|
-
|
|
461
|
-
## Evidence Format
|
|
462
|
-
|
|
151
|
+
### Step 2 — Story Mapping & Scope Boundary
|
|
463
152
|
```
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
153
|
+
Inputs: Problem statement
|
|
154
|
+
Actions:
|
|
155
|
+
- Chia nhỏ tính năng thành các User Stories độc lập, có thể bàn giao trong từng sprint.
|
|
156
|
+
- Phân loại rõ ràng: In-Scope (Làm ngay) vs Out-of-Scope (Giai đoạn sau).
|
|
157
|
+
Output: User stories & Scope fence
|
|
468
158
|
```
|
|
469
159
|
|
|
470
|
-
|
|
160
|
+
### Step 3 — Acceptance Criteria & Edge Cases Definition
|
|
471
161
|
```
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
162
|
+
Inputs: User stories
|
|
163
|
+
Actions:
|
|
164
|
+
- Viết Acceptance Criteria rõ ràng cho từng story (Given/When/Then).
|
|
165
|
+
- Định nghĩa các trường hợp biên: Dữ liệu quá lớn, mất mạng, token hết hạn, quyền truy cập bị từ chối.
|
|
166
|
+
Output: Verification criteria
|
|
476
167
|
```
|
|
477
168
|
|
|
478
|
-
|
|
479
|
-
|
|
169
|
+
### Step 4 — Technical Blueprint Hand-off
|
|
480
170
|
```
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
2. Mục tiêu chính của bạn là gì?
|
|
487
|
-
Recommended Assumptions: none
|
|
171
|
+
Inputs: Stories, AC, DEV_PROFILE.md
|
|
172
|
+
Actions:
|
|
173
|
+
- Phác thảo kiến trúc kỹ thuật dự kiến: Entity fields, API route patterns.
|
|
174
|
+
- Tổng hợp thành file markdown đặc tả (Spec Markdown Document) sẵn sàng chuyển giao cho kỹ sư.
|
|
175
|
+
Exit: SUCCESS
|
|
488
176
|
```
|
|
489
177
|
|
|
490
|
-
|
|
178
|
+
---
|
|
491
179
|
|
|
492
|
-
|
|
493
|
-
```json
|
|
494
|
-
{
|
|
495
|
-
"from": "user or qk-orchestrator",
|
|
496
|
-
"required_fields": ["context"],
|
|
497
|
-
"optional_fields": ["existing_config"]
|
|
498
|
-
}
|
|
499
|
-
```
|
|
180
|
+
## Prompt Template
|
|
500
181
|
|
|
501
|
-
### Produces
|
|
502
|
-
```json
|
|
503
|
-
{
|
|
504
|
-
"to": "user or downstream skill",
|
|
505
|
-
"output_fields": ["strategy_report", "exit_code"]
|
|
506
|
-
}
|
|
507
182
|
```
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
| SUCCESS | Product Thinking & Requirements task completed successfully | Strategy/audit generated |
|
|
514
|
-
| PARTIAL | Task completed with assumptions | Medium confidence |
|
|
515
|
-
| BLOCKED | Missing context | Cannot proceed |
|
|
516
|
-
| FAILED | Critical conflict or error | Unresolvable constraint |
|
|
183
|
+
Ý tưởng: [Mô tả tính năng hoặc ý tưởng của bạn]
|
|
184
|
+
Đối tượng: [Ai sẽ dùng tính năng này — admin / user thông thường / khách vãng lai]
|
|
185
|
+
Mục đích: [Giải quyết vấn đề gì, mang lại giá trị gì]
|
|
186
|
+
Ràng buộc: [Thời hạn, không được đụng vào phần nào của hệ thống]
|
|
187
|
+
```
|