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.
Files changed (63) hide show
  1. package/.agents/AGENTS.md +139 -42
  2. package/.agents/DEV_PROFILE.md +95 -0
  3. package/.agents/registry/capability-graph.yml +171 -334
  4. package/.agents/registry/graph.json +37 -19
  5. package/.agents/registry/index.yaml +59 -13
  6. package/.agents/registry/skills-index.yml +204 -447
  7. package/.agents/rules/coding.md +23 -0
  8. package/.agents/rules/global.md +44 -30
  9. package/.agents/skills/_template/SKILL.md +2 -377
  10. package/.agents/skills/qk-access-policy/SKILL.md +98 -473
  11. package/.agents/skills/qk-agent-observability/SKILL.md +3 -439
  12. package/.agents/skills/qk-ai-builder/SKILL.md +132 -565
  13. package/.agents/skills/qk-api-consumer/SKILL.md +256 -0
  14. package/.agents/skills/qk-api-consumer/capability.yaml +21 -0
  15. package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +29 -0
  16. package/.agents/skills/qk-api-lifecycle/SKILL.md +133 -456
  17. package/.agents/skills/qk-bug-resolution/SKILL.md +128 -561
  18. package/.agents/skills/qk-code-review/SKILL.md +142 -420
  19. package/.agents/skills/qk-context-loader/SKILL.md +99 -471
  20. package/.agents/skills/qk-data-engineer/SKILL.md +119 -340
  21. package/.agents/skills/qk-data-lifecycle/SKILL.md +89 -488
  22. package/.agents/skills/qk-db-optimizer/SKILL.md +102 -488
  23. package/.agents/skills/qk-design-system-engineering/SKILL.md +76 -461
  24. package/.agents/skills/qk-devops-platform/SKILL.md +77 -463
  25. package/.agents/skills/qk-docs/SKILL.md +88 -494
  26. package/.agents/skills/qk-engineering-standard/SKILL.md +4 -588
  27. package/.agents/skills/qk-fe-api-integration/SKILL.md +343 -343
  28. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -29
  29. package/.agents/skills/qk-feature-delivery/SKILL.md +137 -445
  30. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  31. package/.agents/skills/qk-frontend-architecture/SKILL.md +5 -479
  32. package/.agents/skills/qk-help/evals/scorecard.yaml +13 -13
  33. package/.agents/skills/qk-orchestrator/SKILL.md +63 -502
  34. package/.agents/skills/qk-orchestrator/references/routing-table.md +10 -14
  35. package/.agents/skills/qk-product-specification/SKILL.md +70 -479
  36. package/.agents/skills/qk-production-release/SKILL.md +80 -537
  37. package/.agents/skills/qk-project-audit/SKILL.md +174 -0
  38. package/.agents/skills/qk-project-bootstrap/SKILL.md +243 -471
  39. package/.agents/skills/qk-project-health/SKILL.md +97 -496
  40. package/.agents/skills/qk-project-memory/SKILL.md +76 -21
  41. package/.agents/skills/qk-refactor/SKILL.md +167 -384
  42. package/.agents/skills/qk-security-audit/SKILL.md +141 -463
  43. package/.agents/skills/qk-security-audit/capability.yaml +1 -2
  44. package/.agents/skills/qk-system-evolution/SKILL.md +343 -343
  45. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -26
  46. package/.agents/skills/qk-test-engineering/SKILL.md +119 -509
  47. package/.agents/skills/qk-ui-audit/SKILL.md +73 -537
  48. package/.agents/skills/qk-ui-builder/SKILL.md +521 -482
  49. package/.agents/skills/qk-ui-system-builder/SKILL.md +68 -514
  50. package/.agents/skills/qk-upgrade/SKILL.md +301 -0
  51. package/.agents/skills/qk-upgrade/capability.yaml +24 -0
  52. package/.agents/skills/qk-upgrade/evals/scorecard.yaml +26 -0
  53. package/.agents/skills/qk-validation-gate/SKILL.md +4 -603
  54. package/.agents/skills/qk-web-quality-gate/SKILL.md +85 -463
  55. package/.agents/workflows/bug-resolution.yml +6 -6
  56. package/.agents/workflows/context-discovery.yml +94 -0
  57. package/.agents/workflows/feature-delivery.yml +8 -4
  58. package/.agents/workflows/refactor.yml +6 -3
  59. package/.agents/workflows/shared/quality-gate.yml +94 -0
  60. package/.agents/workflows/skin-governance.yml +115 -0
  61. package/README.md +152 -67
  62. package/package.json +2 -2
  63. package/tooling/build-registry.js +30 -8
@@ -13,11 +13,10 @@
13
13
  | tính năng, feature, thêm, mới, add, implement, xây dựng | `qk-feature-delivery` | `qk-context-loader` first |
14
14
  | UI, giao diện, design, component, layout, màn hình, hiển thị | `qk-ui-builder` | DESIGN.md check |
15
15
  | slow, chậm, query, index, N+1, performance DB, tối ưu DB | `qk-db-optimizer` | `qk-context-loader` first |
16
- | deploy, release, production, CI/CD, build, xuất bản | `qk-production-release` | `qk-validation-gate` first |
16
+ | deploy, release, production, CI/CD, build, xuất bản | `qk-production-release` | verify step first |
17
17
  | schema, migration, database, table, model, ORM | `qk-data-lifecycle` | `qk-context-loader` first |
18
- | refactor, clean, SOLID, DRY, code quality, tái cấu trúc | `qk-engineering-standard` | direct |
19
- | test, lint, validate, check quality, kiểm tra | `qk-validation-gate` | direct |
20
- | upgrade, update thư viện, migrate library, nâng version | `qk-system-evolution` | direct |
18
+ | refactor, clean code, tách file, reduce complexity, tái cấu trúc | `qk-refactor` | direct |
19
+ | upgrade, update thư viện, migrate library, nâng version | `qk-upgrade` | direct |
21
20
  | docs, documentation, README, comment, tài liệu | `qk-docs` | direct |
22
21
  | API, endpoint, route, contract, swagger | `qk-api-lifecycle` | `qk-context-loader` first |
23
22
  | access, role, permission, RBAC, phân quyền | `qk-access-policy` | direct |
@@ -25,22 +24,19 @@
25
24
  | design system, token, CSS variable, design tokens | `qk-ui-system-builder` | DESIGN.md check |
26
25
  | project audit, health, tech debt, kiểm toán dự án | `qk-project-health` | direct |
27
26
  | new project, bootstrap, init, khởi tạo dự án | `qk-project-bootstrap` | direct |
28
- | consume API, tích hợp API backend, gọi API từ FE | `qk-fe-api-integration` | `qk-context-loader` first |
27
+ | consume API, tích hợp API backend, gọi API từ FE | `qk-api-consumer` | `qk-context-loader` first |
29
28
  | UI audit, kiểm tra giao diện, anti-slop check | `qk-ui-audit` | DESIGN.md check |
30
- | metrics, telemetry, trace, agent observability, mô hình lỗi | `qk-agent-observability` | direct |
31
29
  | review code, kiểm toán, code review, PR | `qk-code-review` | direct |
32
30
  | graph, dependency, context, đọc hiểu architecture | `qk-context-loader` | direct |
33
31
  | design system rules, tokens structure, governance | `qk-design-system-engineering` | direct |
34
32
  | CI/CD, devops, pipeline, infrastructure, deployment strategy | `qk-devops-platform` | direct |
35
- | frontend architecture, file placement, routing strategy | `qk-frontend-architecture` | direct |
36
- | help, list skills, danh sách, trợ giúp | `qk-help` | direct |
33
+ | help, list skills, danh sách, trợ giúp | `qk-orchestrator` | direct |
37
34
  | orchestrate, định tuyến, phân loại yêu cầu | `qk-orchestrator` | direct |
38
35
  | product spec, requirement, tiêu chí chấp nhận | `qk-product-specification` | direct |
39
36
  | security, vulnerability scan, secret, OWASP | `qk-security-audit` | direct |
40
37
  | test strategy, mock, coverage, e2e, unit test | `qk-test-engineering` | direct |
41
38
  | web performance, accessibility, SEO, lighthouse | `qk-web-quality-gate` | direct |
42
39
  | memory, context, recall, lưu ngữ cảnh | `qk-project-memory` | direct |
43
- | security, policy, authorization, bảo mật | `qk-access-policy` | direct |
44
40
 
45
41
  ---
46
42
 
@@ -51,14 +47,14 @@
51
47
  1. Check DESIGN.md exists (qk-project-bootstrap if missing)
52
48
  2. [Optional] qk-ui-audit — audit existing UI
53
49
  3. qk-ui-builder OR qk-feature-delivery (UI part)
54
- 4. qk-validation-gate — lint + type check
50
+ 4. Verification step (quality gate — lint + type check)
55
51
  ```
56
52
 
57
53
  ### Logic/Feature Pipeline
58
54
  ```
59
55
  1. qk-context-loader — build dependency graph
60
56
  2. qk-feature-delivery — implement
61
- 3. qk-validation-gate — test + lint
57
+ 3. Verification step (quality gate — test + lint)
62
58
  4. [Optional] qk-production-release
63
59
  ```
64
60
 
@@ -66,12 +62,12 @@
66
62
  ```
67
63
  1. qk-context-loader — map schema dependencies
68
64
  2. qk-data-lifecycle (schema) OR qk-db-optimizer (performance)
69
- 3. qk-validation-gate — run migration tests
65
+ 3. Verification step (quality gate — run migration tests)
70
66
  ```
71
67
 
72
68
  ### Release Pipeline
73
69
  ```
74
- 1. qk-validation-gate — full test suite
70
+ 1. Verification step (quality gate — full test suite)
75
71
  2. qk-production-release — build + security gate
76
72
  ```
77
73
 
@@ -84,7 +80,7 @@ When 2+ skills match:
84
80
  | Situation | Resolution |
85
81
  |-----------|------------|
86
82
  | "fix" + UI component | `qk-bug-resolution` (fix takes priority over design) |
87
- | "refactor" + API | `qk-engineering-standard` if code quality focus, `qk-api-lifecycle` if contract change |
83
+ | "refactor" + API | `qk-refactor` if code quality focus, `qk-api-lifecycle` if contract change |
88
84
  | "add feature" + DB | Route `qk-feature-delivery` with `qk-data-lifecycle` in pipeline |
89
85
  | "optimize" without context | Ask: "DB performance or code quality?" |
90
86
 
@@ -1,9 +1,9 @@
1
- ---
1
+ ---
2
2
  # ── Identity ───────────────────────────────────────────────
3
3
  name: qk-product-specification
4
- version: 9.1.0
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
- - "ý tưởng sản phẩm"
30
- - "acceptance criteria"
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,482 +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
- ## Memory Workflow
126
-
127
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
128
- - 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:
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
- ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
208
- - 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:
209
- - **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.
210
- - **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.
211
-
212
- ---
213
-
214
- ### Pre-flight Retrieve (Trước khi thực thi)
215
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
216
- bắt buộc tra cứu:
217
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
218
-
219
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
220
- - Architecture
221
- - Hard Bug
222
- - Convention
223
- - Pattern
224
- - Tech Debt Pattern
225
- - 👉 *Domain Focus:* Convention / Pattern (vd: định dạng Acceptance Criteria, cấu trúc PRD).
226
-
227
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
228
- Không được xem Memory là Source of Truth.
229
- 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.
230
-
231
- ---
232
-
233
- ### Learning Flow (AI tự học có kiểm soát)
234
- - 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:
235
- - Hard Bug có khả năng tái diễn.
236
- - Pattern làm việc lặp lại trong dự án.
237
- - Convention hoặc quy tắc kiến trúc mới.
238
- - Quyết định Architecture quan trọng.
239
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
240
- - 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
241
-
242
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
243
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
244
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
245
-
246
- ---
247
-
248
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
249
- Sau khi hoàn thành task:
250
- - AI đánh giá các Candidate Memory đã tạo.
251
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
252
- - Đề xuất người dùng xem xét.
253
- - Gửi yêu cầu phê duyệt thông qua:
254
- - `/learn`
255
- - `qk-project-memory`
256
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
257
-
258
- ```
259
- .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
260
- ```
261
-
262
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
263
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
264
-
265
- ---
266
-
267
- ### Ignore (Không đưa vào Memory)
268
- Không lưu:
269
- - Trace log của một session đơn lẻ.
270
- - Temporary debugging data.
271
- - Output của một lần chạy test/scan.
272
- - Report health tạm thời của một đợt kiểm tra.
273
- - Lỗi nhỏ chỉ xảy ra một lần.
274
- - Thông tin không có khả năng tái sử dụng.
275
- - 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
276
-
277
- ---
278
-
279
- ### Golden Rule
280
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
281
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
282
-
283
- ---
284
-
285
-
286
-
287
- ### Pre-flight Retrieve (Trước khi thực thi)
288
- - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
289
- bắt buộc tra cứu:
290
- - `.agents/knowledge/index.yaml` (Shared Project Knowledge)
291
- - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
292
-
293
- - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
294
- - Architecture
295
- - Hard Bug
296
- - Convention
297
- - Pattern
298
- - Tech Debt Pattern
299
- - 👉 *Domain Focus:* Convention / Pattern (vd: định dạng Acceptance Criteria, cấu trúc PRD).
300
-
301
- - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
302
- Không được xem Memory là Source of Truth.
303
- 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.
304
-
305
- ---
306
-
307
- ### Learning Flow (AI tự học có kiểm soát)
308
- - 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:
309
- - Hard Bug có khả năng tái diễn.
310
- - Pattern làm việc lặp lại trong dự án.
311
- - Convention hoặc quy tắc kiến trúc mới.
312
- - Quyết định Architecture quan trọng.
313
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
314
- - 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
315
-
316
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
317
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
318
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
319
-
320
- ---
321
-
322
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
323
- Sau khi hoàn thành task:
324
- - AI đánh giá các Candidate Memory đã tạo.
325
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
326
- - Đề xuất người dùng xem xét.
327
- - Gửi yêu cầu phê duyệt thông qua:
328
- - `/learn`
329
- - `qk-project-memory`
330
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
331
-
332
- ```
333
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
334
- ```
335
-
336
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
337
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
338
-
339
- ---
340
-
341
- ### Ignore (Không đưa vào Memory)
342
- Không lưu:
343
- - Trace log của một session đơn lẻ.
344
- - Temporary debugging data.
345
- - Output của một lần chạy test/scan.
346
- - Report health tạm thời của một đợt kiểm tra.
347
- - Lỗi nhỏ chỉ xảy ra một lần.
348
- - Thông tin không có khả năng tái sử dụng.
349
- - 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
350
-
351
- ---
352
-
353
- ### Golden Rule
354
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
355
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
356
-
357
- ---
358
- ---
359
-
360
- ### Learning Flow (AI tự học có kiểm soát)
361
- - 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:
362
- - Hard Bug có khả năng tái diễn.
363
- - Pattern làm việc lặp lại trong dự án.
364
- - Convention hoặc quy tắc kiến trúc mới.
365
- - Quyết định Architecture quan trọng.
366
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
367
- - 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
368
-
369
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
370
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
371
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
372
-
373
- ---
374
-
375
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
376
- Sau khi hoàn thành task:
377
- - AI đánh giá các Candidate Memory đã tạo.
378
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
379
- - Đề xuất người dùng xem xét.
380
- - Gửi yêu cầu phê duyệt thông qua:
381
- - `/learn`
382
- - `qk-project-memory`
383
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
384
-
385
- ```
386
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
387
- ```
388
-
389
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
390
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
391
-
392
- ---
393
-
394
- ### Ignore (Không đưa vào Memory)
395
- Không lưu:
396
- - Trace log của một session đơn lẻ.
397
- - Temporary debugging data.
398
- - Output của một lần chạy test/scan.
399
- - Report health tạm thời của một đợt kiểm tra.
400
- - Lỗi nhỏ chỉ xảy ra một lần.
401
- - Thông tin không có khả năng tái sử dụng.
402
- - 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
403
-
404
- ---
405
-
406
- ### Golden Rule
407
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
408
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
409
-
410
- ---
411
- ---
412
-
413
- ### Learning Flow (AI tự học có kiểm soát)
414
- - 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:
415
- - Hard Bug có khả năng tái diễn.
416
- - Pattern làm việc lặp lại trong dự án.
417
- - Convention hoặc quy tắc kiến trúc mới.
418
- - Quyết định Architecture quan trọng.
419
- - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
420
- - 👉 *Domain Harvest:* Thỏa thuận Product Spec hoặc cấu trúc requirement mới.
421
-
422
- - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
423
- - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
424
- - AI không được tự động Promote Candidate Memory thành Project Knowledge.
425
-
426
- ---
427
-
428
- ### Post-flight Harvest (Đề xuất → Phê duyệt)
429
- Sau khi hoàn thành task:
430
- - AI đánh giá các Candidate Memory đã tạo.
431
- - Nếu phát hiện tri thức có giá trị tái sử dụng:
432
- - Đề xuất người dùng xem xét.
433
- - Gửi yêu cầu phê duyệt thông qua:
434
- - `/learn`
435
- - `qk-project-memory`
436
- - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
437
-
438
- ```
439
- .ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
440
- ```
441
-
442
- - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
443
- - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
444
-
445
- ---
446
-
447
- ### Ignore (Không đưa vào Memory)
448
- Không lưu:
449
- - Trace log của một session đơn lẻ.
450
- - Temporary debugging data.
451
- - Output của một lần chạy test/scan.
452
- - Report health tạm thời của một đợt kiểm tra.
453
- - Lỗi nhỏ chỉ xảy ra một lần.
454
- - Thông tin không có khả năng tái sử dụng.
455
- - 👉 *Domain Ignore:* Ghi chú thảo luận ý tưởng thô ban đầu.
456
-
457
- ---
458
-
459
- ### Golden Rule
460
- > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
461
- > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
462
-
463
- ---
464
- ---
465
- ---
466
- ---
467
-
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
+
468
111
  ## Preconditions
469
- - [ ] Tuân thủ workflow `spec-driven-development`.
470
112
 
471
- ## Scope
472
- - Tiếp nhận Idea ban đầu từ user, thực hiện phân tích yêu cầu (Requirement Analysis).
473
- - Xác định và làm rõ ranh giới của tính năng.
474
- - 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).**
475
- - Đó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:
476
114
 
477
- ## Non-Goals
478
- - Provide implementation outside of Product Thinking & Requirements scope
479
- - Override explicit user directives without explanation
480
- - Guess ambiguous requirements without asking
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.
481
121
 
482
- ## Priority Order
122
+ ---
483
123
 
484
- | Priority | Task | Skip Threshold |
485
- |----------|------|----------------|
486
- | P1 | Core Product Thinking & Requirements analysis and decision making | Never |
487
- | P2 | Validation of existing patterns | Budget < 30% |
488
- | P3 | Detailed documentation generation | Budget < 50% |
489
- | P4 | Edge case exploration | Budget < 70% |
124
+ ## Scope
490
125
 
491
- ## Workflow
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).
492
132
 
493
- ### Phase 1 Context Loading
494
- **Steps:**
495
- 1. Read existing configuration and requirements related to Product Thinking & Requirements.
496
- 2. Check for missing preconditions.
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`).
497
137
 
498
- **Decision:**
499
- ```
500
- IF context is clear
501
- → Confidence: HIGH → go to Phase 2
502
- ELSE
503
- → EXIT: BLOCKED — ask user
504
- ```
138
+ ---
505
139
 
506
- ### Phase 2 — Analysis & Strategy
507
- **Steps:**
508
- 1. Analyze the current state against Product Thinking & Requirements best practices.
509
- 2. Formulate strategy or audit report based on findings.
140
+ ## Execution Steps
510
141
 
511
- **Decision:**
142
+ ### Step 1 — Problem Framing & Persona Identification
512
143
  ```
513
- IF strategy/audit is complete
514
- → Confidence: HIGH → go to Phase 3
515
- ELSE IF minor gaps exist
516
- Confidence: MEDIUM proceed with assumptions noted
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
517
149
  ```
518
150
 
519
- ### Phase 3Finalization
520
- **Steps:**
521
- 1. Generate final report or configuration.
522
- 2. Prepare handoff data for subsequent skills.
523
-
524
- ## Confidence Model
525
-
526
- | Level | Condition | Action |
527
- |-------|-----------|--------|
528
- | HIGH | All preconditions met, context fully understood | Proceed directly |
529
- | MEDIUM | Some context missing but safe defaults exist | Proceed and note assumptions |
530
- | LOW | Core requirements missing | EXIT: BLOCKED |
531
-
532
- ## Severity (for findings)
533
-
534
- | Level | Definition |
535
- |-------|-----------|
536
- | CRITICAL | Severe violation of Product Thinking & Requirements principles |
537
- | HIGH | Significant risk or technical debt |
538
- | MEDIUM | Suboptimal pattern but functional |
539
- | LOW | Minor style or documentation issue |
540
-
541
- ## Evidence Format
542
-
151
+ ### Step 2Story Mapping & Scope Boundary
543
152
  ```
544
- [SEVERITY] Context/File
545
- Issue: [what was found]
546
- Confidence: HIGH
547
- Recommendation: [actionable advice]
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
548
158
  ```
549
159
 
550
- ## Retry Policy
160
+ ### Step 3 — Acceptance Criteria & Edge Cases Definition
551
161
  ```
552
- Task fails due to missing context
553
- └─ Ask user for clarification
554
- ├─ Provided Retry Phase 1
555
- └─ Not provided EXIT: BLOCKED
162
+ Inputs: User stories
163
+ Actions:
164
+ - Viết Acceptance Criteria 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
556
167
  ```
557
168
 
558
- ## Escalation Rules
559
-
169
+ ### Step 4 — Technical Blueprint Hand-off
560
170
  ```
561
- BLOCKED: Missing critical context for Product Thinking & Requirements
562
- Missing:
563
- - [Specific requirement]
564
- Questions:
565
- 1. Bạn có thể cung cấp thêm thông tin về yêu cầu này không?
566
- 2. Mục tiêu chính của bạn là gì?
567
- 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
568
176
  ```
569
177
 
570
- ## Handoff Contract
178
+ ---
571
179
 
572
- ### Consumes
573
- ```json
574
- {
575
- "from": "user or qk-orchestrator",
576
- "required_fields": ["context"],
577
- "optional_fields": ["existing_config"]
578
- }
579
- ```
180
+ ## Prompt Template
580
181
 
581
- ### Produces
582
- ```json
583
- {
584
- "to": "user or downstream skill",
585
- "output_fields": ["strategy_report", "exit_code"]
586
- }
587
182
  ```
588
-
589
- ## Exit Codes
590
-
591
- | Code | Meaning | When |
592
- |------|---------|------|
593
- | SUCCESS | Product Thinking & Requirements task completed successfully | Strategy/audit generated |
594
- | PARTIAL | Task completed with assumptions | Medium confidence |
595
- | BLOCKED | Missing context | Cannot proceed |
596
- | 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
+ ```