ai-developer-skill-os 8.3.1 → 9.0.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 +21 -0
- package/.agents/registry/capability-graph.yml +13 -2
- package/.agents/registry/graph.json +33 -33
- package/.agents/registry/index.yaml +33 -33
- package/.agents/rules/global.md +13 -0
- package/.agents/skills/_template/SKILL.md +127 -2
- package/.agents/skills/_template/capability.yaml +1 -1
- package/.agents/skills/qk-access-policy/SKILL.md +132 -2
- package/.agents/skills/qk-access-policy/capability.yaml +1 -1
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-agent-observability/SKILL.md +137 -1
- package/.agents/skills/qk-agent-observability/capability.yaml +1 -1
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-ai-builder/SKILL.md +132 -2
- package/.agents/skills/qk-ai-builder/capability.yaml +1 -1
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-api-lifecycle/SKILL.md +132 -2
- package/.agents/skills/qk-api-lifecycle/capability.yaml +1 -1
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-bug-resolution/SKILL.md +132 -2
- package/.agents/skills/qk-bug-resolution/capability.yaml +1 -1
- package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-code-review/SKILL.md +132 -2
- package/.agents/skills/qk-code-review/capability.yaml +1 -1
- package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-context-loader/SKILL.md +135 -4
- package/.agents/skills/qk-context-loader/capability.yaml +1 -1
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-data-lifecycle/SKILL.md +132 -2
- package/.agents/skills/qk-data-lifecycle/capability.yaml +1 -1
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-db-optimizer/SKILL.md +132 -2
- package/.agents/skills/qk-db-optimizer/capability.yaml +1 -1
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-design-system-engineering/SKILL.md +132 -2
- package/.agents/skills/qk-design-system-engineering/capability.yaml +1 -1
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-devops-platform/SKILL.md +132 -2
- package/.agents/skills/qk-devops-platform/capability.yaml +1 -1
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-docs/SKILL.md +132 -2
- package/.agents/skills/qk-docs/capability.yaml +1 -1
- package/.agents/skills/qk-docs/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-engineering-standard/SKILL.md +132 -2
- package/.agents/skills/qk-engineering-standard/capability.yaml +1 -1
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +3 -3
- package/.agents/skills/qk-fe-api-integration/SKILL.md +132 -2
- package/.agents/skills/qk-fe-api-integration/capability.yaml +1 -1
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-feature-delivery/SKILL.md +132 -2
- package/.agents/skills/qk-feature-delivery/capability.yaml +1 -1
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-frontend-architecture/SKILL.md +132 -2
- package/.agents/skills/qk-frontend-architecture/capability.yaml +1 -1
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-help/SKILL.md +2 -2
- package/.agents/skills/qk-help/capability.yaml +1 -1
- package/.agents/skills/qk-help/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-orchestrator/SKILL.md +132 -2
- package/.agents/skills/qk-orchestrator/capability.yaml +1 -1
- package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-product-specification/SKILL.md +132 -2
- package/.agents/skills/qk-product-specification/capability.yaml +1 -1
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-production-release/SKILL.md +132 -2
- package/.agents/skills/qk-production-release/capability.yaml +1 -1
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-project-bootstrap/SKILL.md +147 -4
- package/.agents/skills/qk-project-bootstrap/capability.yaml +1 -1
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-project-health/SKILL.md +132 -2
- package/.agents/skills/qk-project-health/capability.yaml +1 -1
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-project-memory/SKILL.md +252 -277
- package/.agents/skills/qk-project-memory/capability.yaml +1 -1
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-refactor/SKILL.md +131 -1
- package/.agents/skills/qk-refactor/capability.yaml +1 -1
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-security-audit/SKILL.md +132 -2
- package/.agents/skills/qk-security-audit/capability.yaml +1 -1
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-system-evolution/SKILL.md +132 -2
- package/.agents/skills/qk-system-evolution/capability.yaml +1 -1
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-test-engineering/SKILL.md +132 -2
- package/.agents/skills/qk-test-engineering/capability.yaml +1 -1
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-ui-audit/SKILL.md +132 -2
- package/.agents/skills/qk-ui-audit/capability.yaml +1 -1
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-ui-builder/capability.yaml +1 -1
- package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +132 -2
- package/.agents/skills/qk-ui-system-builder/capability.yaml +1 -1
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-validation-gate/SKILL.md +132 -2
- package/.agents/skills/qk-validation-gate/capability.yaml +1 -1
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +1 -1
- package/.agents/skills/qk-web-quality-gate/SKILL.md +132 -2
- package/.agents/skills/qk-web-quality-gate/capability.yaml +1 -1
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +2 -2
- package/CHANGELOG.md +8 -0
- package/README.md +13 -4
- package/package.json +4 -3
- package/tooling/sync-versions.js +256 -6
- package/tooling/validate-skills.js +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qk-refactor
|
|
3
|
-
version:
|
|
3
|
+
version: 9.0.0
|
|
4
4
|
status: stable
|
|
5
5
|
description: "Tái cấu trúc và dọn dẹp mã nguồn để dễ bảo trì hơn mà không làm thay đổi logic hoạt động bên ngoài."
|
|
6
6
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
@@ -83,6 +83,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
83
83
|
|
|
84
84
|
> Language rule: Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
85
85
|
|
|
86
|
+
## Memory Workflow
|
|
87
|
+
|
|
88
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
89
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
90
|
+
bắt buộc tra cứu:
|
|
91
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
92
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
93
|
+
|
|
94
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
95
|
+
- Architecture
|
|
96
|
+
- Hard Bug
|
|
97
|
+
- Convention
|
|
98
|
+
- Pattern
|
|
99
|
+
- Tech Debt Pattern
|
|
100
|
+
- 👉 *Domain Focus:* Pattern / Convention (vd: chiến lược tách file anti-slop, bảo toàn public contract).
|
|
101
|
+
|
|
102
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
103
|
+
Không được xem Memory là Source of Truth.
|
|
104
|
+
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.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
109
|
+
- 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:
|
|
110
|
+
- Hard Bug có khả năng tái diễn.
|
|
111
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
112
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
113
|
+
- Quyết định Architecture quan trọng.
|
|
114
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
115
|
+
- 👉 *Domain Harvest:* Pattern tái cấu trúc mã nguồn hiệu quả (vd: bẻ gẫy god-file thành module O(1)).
|
|
116
|
+
|
|
117
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
118
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
119
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
124
|
+
Sau khi hoàn thành task:
|
|
125
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
126
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
127
|
+
- Đề xuất người dùng xem xét.
|
|
128
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
129
|
+
- `/learn`
|
|
130
|
+
- `qk-project-memory`
|
|
131
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
138
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### Ignore (Không đưa vào Memory)
|
|
143
|
+
Không lưu:
|
|
144
|
+
- Trace log của một session đơn lẻ.
|
|
145
|
+
- Temporary debugging data.
|
|
146
|
+
- Output của một lần chạy test/scan.
|
|
147
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
148
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
149
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
150
|
+
- 👉 *Domain Ignore:* Các thao tác đổi tên biến (rename) hoặc format đơn giản.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### Golden Rule
|
|
155
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
156
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
162
|
+
- 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:
|
|
163
|
+
- Hard Bug có khả năng tái diễn.
|
|
164
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
165
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
166
|
+
- Quyết định Architecture quan trọng.
|
|
167
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
168
|
+
- 👉 *Domain Harvest:* Pattern tái cấu trúc mã nguồn hiệu quả (vd: bẻ gẫy god-file thành module O(1)).
|
|
169
|
+
|
|
170
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
171
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
172
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
177
|
+
Sau khi hoàn thành task:
|
|
178
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
179
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
180
|
+
- Đề xuất người dùng xem xét.
|
|
181
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
182
|
+
- `/learn`
|
|
183
|
+
- `qk-project-memory`
|
|
184
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
191
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
### Ignore (Không đưa vào Memory)
|
|
196
|
+
Không lưu:
|
|
197
|
+
- Trace log của một session đơn lẻ.
|
|
198
|
+
- Temporary debugging data.
|
|
199
|
+
- Output của một lần chạy test/scan.
|
|
200
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
201
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
202
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
203
|
+
- 👉 *Domain Ignore:* Các thao tác đổi tên biến (rename) hoặc format đơn giản.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### Golden Rule
|
|
208
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
209
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
---
|
|
213
|
+
---
|
|
214
|
+
---
|
|
215
|
+
|
|
86
216
|
## Preconditions
|
|
87
217
|
- [ ] Target file(s) or module(s) are specified
|
|
88
218
|
- [ ] Tests exist for the target code (or can be created)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-security-audit
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
status: experimental
|
|
6
6
|
description: "Security audit (OWASP, dependency security, secret detection, permission model)."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
|
-
# ──
|
|
9
|
+
# ── V9: Classification ─────────────────────────────────────
|
|
10
10
|
type: capability
|
|
11
11
|
|
|
12
12
|
intent:
|
|
@@ -125,6 +125,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
125
125
|
|
|
126
126
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
127
127
|
|
|
128
|
+
## Memory Workflow
|
|
129
|
+
|
|
130
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
131
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
132
|
+
bắt buộc tra cứu:
|
|
133
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
134
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
135
|
+
|
|
136
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
137
|
+
- Architecture
|
|
138
|
+
- Hard Bug
|
|
139
|
+
- Convention
|
|
140
|
+
- Pattern
|
|
141
|
+
- Tech Debt Pattern
|
|
142
|
+
- 👉 *Domain Focus:* Hard Bug / Architecture (vd: lỗ hổng OWASP, lộ rò rỉ secret, quy chuẩn Zero-Trust R-SEC-04).
|
|
143
|
+
|
|
144
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
145
|
+
Không được xem Memory là Source of Truth.
|
|
146
|
+
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.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
151
|
+
- 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:
|
|
152
|
+
- Hard Bug có khả năng tái diễn.
|
|
153
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
154
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
155
|
+
- Quyết định Architecture quan trọng.
|
|
156
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
157
|
+
- 👉 *Domain Harvest:* Lỗ hổng bảo mật mới phát hiện (Hard Bug) hoặc chính sách an toàn mới.
|
|
158
|
+
|
|
159
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
160
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
161
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
166
|
+
Sau khi hoàn thành task:
|
|
167
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
168
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
169
|
+
- Đề xuất người dùng xem xét.
|
|
170
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
171
|
+
- `/learn`
|
|
172
|
+
- `qk-project-memory`
|
|
173
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
180
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
### Ignore (Không đưa vào Memory)
|
|
185
|
+
Không lưu:
|
|
186
|
+
- Trace log của một session đơn lẻ.
|
|
187
|
+
- Temporary debugging data.
|
|
188
|
+
- Output của một lần chạy test/scan.
|
|
189
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
190
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
191
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
192
|
+
- 👉 *Domain Ignore:* Cảnh báo scanner giả (false positive) đã xác thực.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
### Golden Rule
|
|
197
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
198
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
204
|
+
- 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:
|
|
205
|
+
- Hard Bug có khả năng tái diễn.
|
|
206
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
207
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
208
|
+
- Quyết định Architecture quan trọng.
|
|
209
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
210
|
+
- 👉 *Domain Harvest:* Lỗ hổng bảo mật mới phát hiện (Hard Bug) hoặc chính sách an toàn mới.
|
|
211
|
+
|
|
212
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
213
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
214
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
219
|
+
Sau khi hoàn thành task:
|
|
220
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
221
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
222
|
+
- Đề xuất người dùng xem xét.
|
|
223
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
224
|
+
- `/learn`
|
|
225
|
+
- `qk-project-memory`
|
|
226
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
233
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
### Ignore (Không đưa vào Memory)
|
|
238
|
+
Không lưu:
|
|
239
|
+
- Trace log của một session đơn lẻ.
|
|
240
|
+
- Temporary debugging data.
|
|
241
|
+
- Output của một lần chạy test/scan.
|
|
242
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
243
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
244
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
245
|
+
- 👉 *Domain Ignore:* Cảnh báo scanner giả (false positive) đã xác thực.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### Golden Rule
|
|
250
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
251
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
---
|
|
255
|
+
---
|
|
256
|
+
---
|
|
257
|
+
|
|
128
258
|
## Preconditions
|
|
129
259
|
- [ ] Tuân thủ `security.md`.
|
|
130
260
|
- [ ] Xác định phạm vi codebase cần audit.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-system-evolution
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
status: stable
|
|
6
6
|
description: "Nâng cấp thư viện/framework an toàn với rollback plan bắt buộc — incremental, không big-bang."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
|
-
# ──
|
|
9
|
+
# ── V9: Classification ─────────────────────────────────────
|
|
10
10
|
type: capability
|
|
11
11
|
|
|
12
12
|
intent:
|
|
@@ -87,6 +87,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
87
87
|
|
|
88
88
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
89
89
|
|
|
90
|
+
## Memory Workflow
|
|
91
|
+
|
|
92
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
93
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
94
|
+
bắt buộc tra cứu:
|
|
95
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
96
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
97
|
+
|
|
98
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
99
|
+
- Architecture
|
|
100
|
+
- Hard Bug
|
|
101
|
+
- Convention
|
|
102
|
+
- Pattern
|
|
103
|
+
- Tech Debt Pattern
|
|
104
|
+
- 👉 *Domain Focus:* Architecture / Hard Bug (vd: kế hoạch nâng cấp thư viện incremental, breaking changes).
|
|
105
|
+
|
|
106
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
107
|
+
Không được xem Memory là Source of Truth.
|
|
108
|
+
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.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
113
|
+
- 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:
|
|
114
|
+
- Hard Bug có khả năng tái diễn.
|
|
115
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
116
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
117
|
+
- Quyết định Architecture quan trọng.
|
|
118
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
119
|
+
- 👉 *Domain Harvest:* Kinh nghiệm xử lý xung đột dependency hoặc bài học downgrade/rollback.
|
|
120
|
+
|
|
121
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
122
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
123
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
128
|
+
Sau khi hoàn thành task:
|
|
129
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
130
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
131
|
+
- Đề xuất người dùng xem xét.
|
|
132
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
133
|
+
- `/learn`
|
|
134
|
+
- `qk-project-memory`
|
|
135
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
142
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### Ignore (Không đưa vào Memory)
|
|
147
|
+
Không lưu:
|
|
148
|
+
- Trace log của một session đơn lẻ.
|
|
149
|
+
- Temporary debugging data.
|
|
150
|
+
- Output của một lần chạy test/scan.
|
|
151
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
152
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
153
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
154
|
+
- 👉 *Domain Ignore:* Lockfile changes tạm thời trong local cache.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### Golden Rule
|
|
159
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
160
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
166
|
+
- 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:
|
|
167
|
+
- Hard Bug có khả năng tái diễn.
|
|
168
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
169
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
170
|
+
- Quyết định Architecture quan trọng.
|
|
171
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
172
|
+
- 👉 *Domain Harvest:* Kinh nghiệm xử lý xung đột dependency hoặc bài học downgrade/rollback.
|
|
173
|
+
|
|
174
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
175
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
176
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
181
|
+
Sau khi hoàn thành task:
|
|
182
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
183
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
184
|
+
- Đề xuất người dùng xem xét.
|
|
185
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
186
|
+
- `/learn`
|
|
187
|
+
- `qk-project-memory`
|
|
188
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
195
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
### Ignore (Không đưa vào Memory)
|
|
200
|
+
Không lưu:
|
|
201
|
+
- Trace log của một session đơn lẻ.
|
|
202
|
+
- Temporary debugging data.
|
|
203
|
+
- Output của một lần chạy test/scan.
|
|
204
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
205
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
206
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
207
|
+
- 👉 *Domain Ignore:* Lockfile changes tạm thời trong local cache.
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### Golden Rule
|
|
212
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
213
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
---
|
|
217
|
+
---
|
|
218
|
+
---
|
|
219
|
+
|
|
90
220
|
## Preconditions
|
|
91
221
|
- [ ] Current version and target version are specified
|
|
92
222
|
- [ ] Rollback strategy is defined (git tag OR package-lock.json snapshot)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-test-engineering
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
status: experimental
|
|
6
6
|
description: "Công cụ quyết định chiến lược kiểm thử (Unit, Integration, E2E, Coverage, Regression, Mock)."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
|
-
# ──
|
|
9
|
+
# ── V9: Classification ─────────────────────────────────────
|
|
10
10
|
type: capability
|
|
11
11
|
|
|
12
12
|
intent:
|
|
@@ -129,6 +129,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
129
129
|
|
|
130
130
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
131
131
|
|
|
132
|
+
## Memory Workflow
|
|
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
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
138
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
139
|
+
|
|
140
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
141
|
+
- Architecture
|
|
142
|
+
- Hard Bug
|
|
143
|
+
- Convention
|
|
144
|
+
- Pattern
|
|
145
|
+
- Tech Debt Pattern
|
|
146
|
+
- 👉 *Domain Focus:* Convention / Pattern (vd: chiến lược Test Pyramid, mock provider Vitest/Jest, boundary test).
|
|
147
|
+
|
|
148
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
149
|
+
Không được xem Memory là Source of Truth.
|
|
150
|
+
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.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
155
|
+
- 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:
|
|
156
|
+
- Hard Bug có khả năng tái diễn.
|
|
157
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
158
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
159
|
+
- Quyết định Architecture quan trọng.
|
|
160
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
161
|
+
- 👉 *Domain Harvest:* Pattern viết mock/stub mới hoặc chiến lược fixture dự án.
|
|
162
|
+
|
|
163
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
164
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
165
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
170
|
+
Sau khi hoàn thành task:
|
|
171
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
172
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
173
|
+
- Đề xuất người dùng xem xét.
|
|
174
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
175
|
+
- `/learn`
|
|
176
|
+
- `qk-project-memory`
|
|
177
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
184
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### Ignore (Không đưa vào Memory)
|
|
189
|
+
Không lưu:
|
|
190
|
+
- Trace log của một session đơn lẻ.
|
|
191
|
+
- Temporary debugging data.
|
|
192
|
+
- Output của một lần chạy test/scan.
|
|
193
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
194
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
195
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
196
|
+
- 👉 *Domain Ignore:* File coverage nháp sinh ra trong quá trình chạy test.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### Golden Rule
|
|
201
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
202
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
208
|
+
- 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:
|
|
209
|
+
- Hard Bug có khả năng tái diễn.
|
|
210
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
211
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
212
|
+
- Quyết định Architecture quan trọng.
|
|
213
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
214
|
+
- 👉 *Domain Harvest:* Pattern viết mock/stub mới hoặc chiến lược fixture dự án.
|
|
215
|
+
|
|
216
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
217
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
218
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
223
|
+
Sau khi hoàn thành task:
|
|
224
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
225
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
226
|
+
- Đề xuất người dùng xem xét.
|
|
227
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
228
|
+
- `/learn`
|
|
229
|
+
- `qk-project-memory`
|
|
230
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
237
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
### Ignore (Không đưa vào Memory)
|
|
242
|
+
Không lưu:
|
|
243
|
+
- Trace log của một session đơn lẻ.
|
|
244
|
+
- Temporary debugging data.
|
|
245
|
+
- Output của một lần chạy test/scan.
|
|
246
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
247
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
248
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
249
|
+
- 👉 *Domain Ignore:* File coverage nháp sinh ra trong quá trình chạy test.
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
### Golden Rule
|
|
254
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
255
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
---
|
|
259
|
+
---
|
|
260
|
+
---
|
|
261
|
+
|
|
132
262
|
## Preconditions
|
|
133
263
|
- [ ] Có code hoặc requirement rõ ràng cần kiểm thử.
|
|
134
264
|
|