ai-developer-skill-os 8.3.0 → 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 +74 -21
- package/.agents/registry/graph.json +138 -255
- package/.agents/registry/index.yaml +70 -96
- package/.agents/registry/skills-index.yml +70 -47
- package/.agents/rules/anti-patterns.md +45 -0
- package/.agents/rules/global.md +13 -0
- package/.agents/skills/_template/SKILL.md +127 -2
- package/.agents/skills/_template/capability.yaml +34 -20
- package/.agents/skills/qk-access-policy/SKILL.md +132 -2
- package/.agents/skills/qk-access-policy/capability.yaml +23 -0
- package/.agents/skills/qk-access-policy/evals/scorecard.yaml +36 -0
- package/.agents/skills/qk-agent-observability/SKILL.md +139 -3
- package/.agents/skills/qk-agent-observability/capability.yaml +29 -0
- package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +132 -2
- package/.agents/skills/qk-ai-builder/capability.yaml +23 -0
- package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +30 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +132 -2
- package/.agents/skills/qk-api-lifecycle/capability.yaml +23 -0
- package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +132 -2
- package/.agents/skills/qk-bug-resolution/capability.yaml +25 -0
- package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +30 -0
- package/.agents/skills/qk-code-review/SKILL.md +132 -2
- package/.agents/skills/qk-code-review/capability.yaml +23 -0
- package/.agents/skills/qk-code-review/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-context-loader/SKILL.md +135 -4
- package/.agents/skills/qk-context-loader/capability.yaml +23 -0
- package/.agents/skills/qk-context-loader/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +132 -2
- package/.agents/skills/qk-data-lifecycle/capability.yaml +23 -0
- package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-db-optimizer/SKILL.md +132 -2
- package/.agents/skills/qk-db-optimizer/capability.yaml +22 -0
- package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-design-system-engineering/SKILL.md +132 -2
- package/.agents/skills/qk-design-system-engineering/capability.yaml +25 -0
- package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-devops-platform/SKILL.md +132 -2
- package/.agents/skills/qk-devops-platform/capability.yaml +29 -0
- package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-docs/SKILL.md +132 -2
- package/.agents/skills/qk-docs/capability.yaml +23 -0
- package/.agents/skills/qk-docs/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-engineering-standard/SKILL.md +132 -2
- package/.agents/skills/qk-engineering-standard/capability.yaml +23 -0
- package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-fe-api-integration/SKILL.md +132 -2
- package/.agents/skills/qk-fe-api-integration/capability.yaml +21 -0
- package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +29 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +132 -2
- package/.agents/skills/qk-feature-delivery/capability.yaml +24 -0
- package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-frontend-architecture/SKILL.md +132 -2
- package/.agents/skills/qk-frontend-architecture/capability.yaml +28 -0
- package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-help/SKILL.md +3 -3
- package/.agents/skills/qk-help/capability.yaml +20 -0
- package/.agents/skills/qk-help/evals/scorecard.yaml +13 -0
- package/.agents/skills/qk-orchestrator/SKILL.md +132 -2
- package/.agents/skills/qk-orchestrator/capability.yaml +22 -0
- package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-product-specification/SKILL.md +132 -2
- package/.agents/skills/qk-product-specification/capability.yaml +27 -0
- package/.agents/skills/qk-product-specification/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-production-release/SKILL.md +133 -3
- package/.agents/skills/qk-production-release/capability.yaml +27 -0
- package/.agents/skills/qk-production-release/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +147 -4
- package/.agents/skills/qk-project-bootstrap/capability.yaml +23 -0
- package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +28 -0
- package/.agents/skills/qk-project-health/SKILL.md +132 -2
- package/.agents/skills/qk-project-health/capability.yaml +23 -0
- package/.agents/skills/qk-project-health/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-project-memory/SKILL.md +252 -277
- package/.agents/skills/qk-project-memory/capability.yaml +23 -0
- package/.agents/skills/qk-project-memory/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-refactor/SKILL.md +247 -0
- package/.agents/skills/qk-refactor/capability.yaml +26 -0
- package/.agents/skills/qk-refactor/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-security-audit/SKILL.md +132 -2
- package/.agents/skills/qk-security-audit/capability.yaml +30 -0
- package/.agents/skills/qk-security-audit/evals/scorecard.yaml +27 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +132 -2
- package/.agents/skills/qk-system-evolution/capability.yaml +24 -0
- package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-test-engineering/SKILL.md +132 -2
- package/.agents/skills/qk-test-engineering/capability.yaml +28 -0
- package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +132 -2
- package/.agents/skills/qk-ui-audit/capability.yaml +23 -0
- package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-ui-builder/capability.yaml +29 -0
- 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 +25 -0
- package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +132 -2
- package/.agents/skills/qk-validation-gate/capability.yaml +23 -0
- package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +26 -0
- package/.agents/skills/qk-web-quality-gate/SKILL.md +132 -2
- package/.agents/skills/qk-web-quality-gate/capability.yaml +24 -0
- package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +26 -0
- package/.agents/workflows/production-release.yml +173 -0
- package/CHANGELOG.md +35 -0
- package/README.md +13 -4
- package/bin/install.js +1 -1
- package/package.json +6 -3
- package/tooling/build-registry.js +186 -186
- package/tooling/fix-refactor.js +8 -0
- package/tooling/sync-versions.js +299 -0
- package/tooling/validate-graph.js +87 -87
- package/tooling/validate-skills.js +1 -1
- package/tooling/generate-registry.js +0 -157
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-code-review
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
status: stable
|
|
6
6
|
description: "Elite AI/Code Review System: Kiểm toán, Review code và cấu hình AI với tư duy Architect, áp dụng 4-Phase Review."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
|
-
# ──
|
|
9
|
+
# ── V9: Classification ─────────────────────────────────────
|
|
10
10
|
type: utility
|
|
11
11
|
|
|
12
12
|
intent:
|
|
@@ -95,6 +95,136 @@ Biến quá trình Code Review từ "bắt bẻ" (gatekeeping) thành "chia sẻ
|
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
|
98
|
+
## Memory Workflow
|
|
99
|
+
|
|
100
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
101
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
102
|
+
bắt buộc tra cứu:
|
|
103
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
104
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
105
|
+
|
|
106
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
107
|
+
- Architecture
|
|
108
|
+
- Hard Bug
|
|
109
|
+
- Convention
|
|
110
|
+
- Pattern
|
|
111
|
+
- Tech Debt Pattern
|
|
112
|
+
- 👉 *Domain Focus:* Architecture / Convention / Pattern hiện hành của dự án (Ground Truth để thẩm định).
|
|
113
|
+
|
|
114
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
115
|
+
Không được xem Memory là Source of Truth.
|
|
116
|
+
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.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
121
|
+
- 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:
|
|
122
|
+
- Hard Bug có khả năng tái diễn.
|
|
123
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
124
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
125
|
+
- Quyết định Architecture quan trọng.
|
|
126
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
127
|
+
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
128
|
+
|
|
129
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
130
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
131
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
136
|
+
Sau khi hoàn thành task:
|
|
137
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
138
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
139
|
+
- Đề xuất người dùng xem xét.
|
|
140
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
141
|
+
- `/learn`
|
|
142
|
+
- `qk-project-memory`
|
|
143
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
150
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### Ignore (Không đưa vào Memory)
|
|
155
|
+
Không lưu:
|
|
156
|
+
- Trace log của một session đơn lẻ.
|
|
157
|
+
- Temporary debugging data.
|
|
158
|
+
- Output của một lần chạy test/scan.
|
|
159
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
160
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
161
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
162
|
+
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### Golden Rule
|
|
167
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
168
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
174
|
+
- 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:
|
|
175
|
+
- Hard Bug có khả năng tái diễn.
|
|
176
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
177
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
178
|
+
- Quyết định Architecture quan trọng.
|
|
179
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
180
|
+
- 👉 *Domain Harvest:* Pattern hoặc Convention mới (vd: phát hiện anti-pattern lặp đi lặp lại trong codebase).
|
|
181
|
+
|
|
182
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
183
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
184
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
189
|
+
Sau khi hoàn thành task:
|
|
190
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
191
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
192
|
+
- Đề xuất người dùng xem xét.
|
|
193
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
194
|
+
- `/learn`
|
|
195
|
+
- `qk-project-memory`
|
|
196
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
203
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### Ignore (Không đưa vào Memory)
|
|
208
|
+
Không lưu:
|
|
209
|
+
- Trace log của một session đơn lẻ.
|
|
210
|
+
- Temporary debugging data.
|
|
211
|
+
- Output của một lần chạy test/scan.
|
|
212
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
213
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
214
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
215
|
+
- 👉 *Domain Ignore:* Các góp ý phong cách (formatting/linting) đơn lẻ trong một PR.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### Golden Rule
|
|
220
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
221
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
---
|
|
225
|
+
---
|
|
226
|
+
---
|
|
227
|
+
|
|
98
228
|
## Preconditions
|
|
99
229
|
|
|
100
230
|
- [ ] Xác định rõ đối tượng cần review: Mã nguồn phần mềm (React, Java, etc.) hay Cấu hình AI (Skin, Rules, Workflows).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Auto-generated from SKILL.md frontmatter
|
|
2
|
+
schema_version: 1
|
|
3
|
+
id: "qk-code-review"
|
|
4
|
+
version: "9.0.0"
|
|
5
|
+
description: "Elite AI/Code Review System: Kiểm toán, Review code và cấu hình AI với tư duy Architect, áp dụng 4-Phase Review."
|
|
6
|
+
tools:
|
|
7
|
+
- "filesystem"
|
|
8
|
+
knowledge:
|
|
9
|
+
owns:
|
|
10
|
+
- "code-review-standards"
|
|
11
|
+
- "ai-configuration-review"
|
|
12
|
+
- "feedback-delivery"
|
|
13
|
+
references:
|
|
14
|
+
- "architecture"
|
|
15
|
+
- "security"
|
|
16
|
+
- "anti-patterns"
|
|
17
|
+
eval:
|
|
18
|
+
scorecard: "evals/scorecard.yaml"
|
|
19
|
+
decision_boundary:
|
|
20
|
+
owns:
|
|
21
|
+
- "qk-code-review"
|
|
22
|
+
does_not_own: []
|
|
23
|
+
conflicts_with: []
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: qk-code-review-eval
|
|
2
|
+
description: Đánh giá chất lượng thực thi quy trình Code/AI Review
|
|
3
|
+
version: 9.0.0
|
|
4
|
+
threshold: 85 # Đánh giá tư duy Architect và ngôn ngữ phản hồi
|
|
5
|
+
|
|
6
|
+
metrics:
|
|
7
|
+
- id: structured_review_process
|
|
8
|
+
name: Tuân thủ 4-Phase Review Process
|
|
9
|
+
description: Agent có thực hiện tuần tự và đầy đủ 4 giai đoạn phân tích không?
|
|
10
|
+
weight: 35
|
|
11
|
+
criteria:
|
|
12
|
+
- Tải ngữ cảnh động (Dynamic Context Loading) hợp lý, không tải dư thừa (15đ)
|
|
13
|
+
- Có Review High-level (Kiến trúc, SOLID, R-SEC-04) và Deep-dive (Logic chuyên sâu, Hallucination) (20đ)
|
|
14
|
+
|
|
15
|
+
- id: collaborative_and_tagged_feedback
|
|
16
|
+
name: Ngôn ngữ Hợp tác & Đánh nhãn Severity
|
|
17
|
+
description: Feedback có tính xây dựng và được phân loại đúng mức độ không?
|
|
18
|
+
weight: 40
|
|
19
|
+
criteria:
|
|
20
|
+
- Sử dụng câu hỏi gợi mở, ngôn từ hợp tác thay vì ra lệnh (15đ)
|
|
21
|
+
- Phân loại rõ ràng bằng nhãn `[blocking]`, `[important]`, `[nit]`, `[suggestion]`, `[praise]` (25đ)
|
|
22
|
+
|
|
23
|
+
- id: safe_execution
|
|
24
|
+
name: Không tự ý sửa mã
|
|
25
|
+
description: Agent chỉ review và đưa ra suggestion chứ không tự động thay đổi code?
|
|
26
|
+
weight: 25
|
|
27
|
+
criteria:
|
|
28
|
+
- Đưa ra code diff (Suggested Fixes) để user tham khảo (15đ)
|
|
29
|
+
- Tuyệt đối không tự sửa file (sử dụng replace_file_content) nếu user không yêu cầu (10đ)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-context-loader
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
status: stable
|
|
6
6
|
description: "Tải context và vẽ dependency graph chính xác trước khi code — ngăn hallucination kiến trúc."
|
|
7
7
|
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
8
8
|
|
|
9
|
-
# ──
|
|
9
|
+
# ── V9: Classification ─────────────────────────────────────
|
|
10
10
|
type: utility
|
|
11
11
|
|
|
12
12
|
intent:
|
|
@@ -86,6 +86,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
86
86
|
|
|
87
87
|
> **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
|
|
88
88
|
|
|
89
|
+
## Memory Workflow
|
|
90
|
+
|
|
91
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
92
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
93
|
+
bắt buộc tra cứu:
|
|
94
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
95
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
96
|
+
|
|
97
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
98
|
+
- Architecture
|
|
99
|
+
- Hard Bug
|
|
100
|
+
- Convention
|
|
101
|
+
- Pattern
|
|
102
|
+
- Tech Debt Pattern
|
|
103
|
+
- 👉 *Domain Focus:* Pattern / Architecture (vd: sơ đồ phụ thuộc mô-đun, biểu đồ ngữ cảnh O(1)).
|
|
104
|
+
|
|
105
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
106
|
+
Không được xem Memory là Source of Truth.
|
|
107
|
+
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.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
112
|
+
- 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:
|
|
113
|
+
- Hard Bug có khả năng tái diễn.
|
|
114
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
115
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
116
|
+
- Quyết định Architecture quan trọng.
|
|
117
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
118
|
+
- 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern quan trọng khi ánh xạ dependency.
|
|
119
|
+
|
|
120
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
121
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
122
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
127
|
+
Sau khi hoàn thành task:
|
|
128
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
129
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
130
|
+
- Đề xuất người dùng xem xét.
|
|
131
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
132
|
+
- `/learn`
|
|
133
|
+
- `qk-project-memory`
|
|
134
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
141
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Ignore (Không đưa vào Memory)
|
|
146
|
+
Không lưu:
|
|
147
|
+
- Trace log của một session đơn lẻ.
|
|
148
|
+
- Temporary debugging data.
|
|
149
|
+
- Output của một lần chạy test/scan.
|
|
150
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
151
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
152
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
153
|
+
- 👉 *Domain Ignore:* Cache đồ thị ngữ cảnh tạm thời của một lệnh tìm kiếm.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### Golden Rule
|
|
158
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
159
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
165
|
+
- 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:
|
|
166
|
+
- Hard Bug có khả năng tái diễn.
|
|
167
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
168
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
169
|
+
- Quyết định Architecture quan trọng.
|
|
170
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
171
|
+
- 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern quan trọng khi ánh xạ dependency.
|
|
172
|
+
|
|
173
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
174
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
175
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
180
|
+
Sau khi hoàn thành task:
|
|
181
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
182
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
183
|
+
- Đề xuất người dùng xem xét.
|
|
184
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
185
|
+
- `/learn`
|
|
186
|
+
- `qk-project-memory`
|
|
187
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
194
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### Ignore (Không đưa vào Memory)
|
|
199
|
+
Không lưu:
|
|
200
|
+
- Trace log của một session đơn lẻ.
|
|
201
|
+
- Temporary debugging data.
|
|
202
|
+
- Output của một lần chạy test/scan.
|
|
203
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
204
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
205
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
206
|
+
- 👉 *Domain Ignore:* Cache đồ thị ngữ cảnh tạm thời của một lệnh tìm kiếm.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### Golden Rule
|
|
211
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
212
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
---
|
|
216
|
+
---
|
|
217
|
+
---
|
|
218
|
+
|
|
89
219
|
## Preconditions
|
|
90
220
|
- [ ] Entry point file or module name is specified
|
|
91
221
|
- [ ] Repository is accessible
|
|
@@ -118,10 +248,11 @@ On missing precondition:
|
|
|
118
248
|
|
|
119
249
|
## Workflow
|
|
120
250
|
|
|
121
|
-
### Phase 1 — Entry Point Analysis
|
|
251
|
+
### Phase 1 — V1 Memory Consultation & Entry Point Analysis
|
|
122
252
|
|
|
123
253
|
**Steps:**
|
|
124
|
-
|
|
254
|
+
0. **Pre-flight V1 Memory Check:** Check for `.ai-local/knowledge/index.yaml` or `.agents/knowledge/index.yaml`. If an established architecture fact or module mapping exists in memory (`status: Active`), read it immediately to discover target symbols and entry points in seconds without performing redundant searches.
|
|
255
|
+
1. `grep_search` — search for import/export statements in entry file (only if not already resolved via V1 memory)
|
|
125
256
|
2. `view_file[StartLine:EndLine]` — read import block only (first ~30 lines)
|
|
126
257
|
3. List direct dependencies
|
|
127
258
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Auto-generated from SKILL.md frontmatter
|
|
2
|
+
schema_version: 1
|
|
3
|
+
id: "qk-context-loader"
|
|
4
|
+
version: "9.0.0"
|
|
5
|
+
description: "Tải context và vẽ dependency graph chính xác trước khi code — ngăn hallucination kiến trúc."
|
|
6
|
+
tools:
|
|
7
|
+
- "filesystem"
|
|
8
|
+
- "terminal"
|
|
9
|
+
knowledge:
|
|
10
|
+
owns:
|
|
11
|
+
- "project-context"
|
|
12
|
+
- "architecture-discovery"
|
|
13
|
+
references:
|
|
14
|
+
- "coding"
|
|
15
|
+
- "repository-structure"
|
|
16
|
+
- "anti-patterns"
|
|
17
|
+
eval:
|
|
18
|
+
scorecard: "evals/scorecard.yaml"
|
|
19
|
+
decision_boundary:
|
|
20
|
+
owns:
|
|
21
|
+
- "qk-context-loader"
|
|
22
|
+
does_not_own: []
|
|
23
|
+
conflicts_with: []
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: qk-context-loader-eval
|
|
2
|
+
description: Đánh giá khả năng phân tích kiến trúc và tải context
|
|
3
|
+
version: 9.0.0
|
|
4
|
+
threshold: 85 # Tính chính xác của context là cốt lõi để tránh hallucination
|
|
5
|
+
|
|
6
|
+
metrics:
|
|
7
|
+
- id: accurate_graph_traversal
|
|
8
|
+
name: Phân tích Graph chính xác và giới hạn
|
|
9
|
+
description: Agent có tuân thủ giới hạn chiều sâu và không quét thừa file không?
|
|
10
|
+
weight: 35
|
|
11
|
+
criteria:
|
|
12
|
+
- Quét đúng dependency graph từ entry point (15đ)
|
|
13
|
+
- Tuân thủ giới hạn max depth 3 và max_files_read, không bị tràn (infinite loop) (20đ)
|
|
14
|
+
|
|
15
|
+
- id: risk_assessment
|
|
16
|
+
name: Đánh giá mức độ rủi ro (Risk Assessment)
|
|
17
|
+
description: Agent có nhận diện đúng các module dùng chung (shared) hoặc vi phạm ranh giới không?
|
|
18
|
+
weight: 35
|
|
19
|
+
criteria:
|
|
20
|
+
- Đánh dấu chính xác các file được import nhiều lần là HIGH/CRITICAL risk (20đ)
|
|
21
|
+
- Phát hiện được các file vi phạm cấu trúc (vd: trộn lẫn Server Logic và Client UI) (15đ)
|
|
22
|
+
|
|
23
|
+
- id: strict_json_output
|
|
24
|
+
name: Định dạng Output JSON chuẩn mực
|
|
25
|
+
description: Agent có xuất ra được JSON Schema như yêu cầu để các agent khác đọc không?
|
|
26
|
+
weight: 30
|
|
27
|
+
criteria:
|
|
28
|
+
- Định dạng JSON trả về chứa đầy đủ nodes, imports, exports và risks theo đúng schema (30đ)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
# ── Identity ───────────────────────────────────────────────
|
|
3
3
|
name: qk-data-lifecycle
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
status: stable
|
|
6
6
|
description: "Quản lý Schema, Migrations an toàn — schema freeze → backward-compat migration → cleanup."
|
|
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:
|
|
@@ -86,6 +86,136 @@ exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
|
86
86
|
|
|
87
87
|
---
|
|
88
88
|
|
|
89
|
+
## Memory Workflow
|
|
90
|
+
|
|
91
|
+
### Pre-flight Retrieve (Trước khi thực thi)
|
|
92
|
+
- Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
|
|
93
|
+
bắt buộc tra cứu:
|
|
94
|
+
- `.agents/knowledge/index.yaml` (Shared Project Knowledge)
|
|
95
|
+
- `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
|
|
96
|
+
|
|
97
|
+
- Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
|
|
98
|
+
- Architecture
|
|
99
|
+
- Hard Bug
|
|
100
|
+
- Convention
|
|
101
|
+
- Pattern
|
|
102
|
+
- Tech Debt Pattern
|
|
103
|
+
- 👉 *Domain Focus:* Convention / Architecture (vd: chiến lược migration backward-compatible, quy định FK).
|
|
104
|
+
|
|
105
|
+
- Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
|
|
106
|
+
Không được xem Memory là Source of Truth.
|
|
107
|
+
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.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
112
|
+
- 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:
|
|
113
|
+
- Hard Bug có khả năng tái diễn.
|
|
114
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
115
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
116
|
+
- Quyết định Architecture quan trọng.
|
|
117
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
118
|
+
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: chuẩn index CSDL, quy tắc phân trang mới).
|
|
119
|
+
|
|
120
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
121
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
122
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
127
|
+
Sau khi hoàn thành task:
|
|
128
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
129
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
130
|
+
- Đề xuất người dùng xem xét.
|
|
131
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
132
|
+
- `/learn`
|
|
133
|
+
- `qk-project-memory`
|
|
134
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
141
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Ignore (Không đưa vào Memory)
|
|
146
|
+
Không lưu:
|
|
147
|
+
- Trace log của một session đơn lẻ.
|
|
148
|
+
- Temporary debugging data.
|
|
149
|
+
- Output của một lần chạy test/scan.
|
|
150
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
151
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
152
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
153
|
+
- 👉 *Domain Ignore:* Thao tác thêm trường đơn giản hoặc temporary database fix.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### Golden Rule
|
|
158
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
159
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
### Learning Flow (AI tự học có kiểm soát)
|
|
165
|
+
- 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:
|
|
166
|
+
- Hard Bug có khả năng tái diễn.
|
|
167
|
+
- Pattern làm việc lặp lại trong dự án.
|
|
168
|
+
- Convention hoặc quy tắc kiến trúc mới.
|
|
169
|
+
- Quyết định Architecture quan trọng.
|
|
170
|
+
- Tech Debt Pattern hoặc Code Smell có tính hệ thống.
|
|
171
|
+
- 👉 *Domain Harvest:* Quyết định Architecture quan trọng (vd: chuẩn index CSDL, quy tắc phân trang mới).
|
|
172
|
+
|
|
173
|
+
- Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
|
|
174
|
+
- Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
|
|
175
|
+
- AI không được tự động Promote Candidate Memory thành Project Knowledge.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### Post-flight Harvest (Đề xuất → Phê duyệt)
|
|
180
|
+
Sau khi hoàn thành task:
|
|
181
|
+
- AI đánh giá các Candidate Memory đã tạo.
|
|
182
|
+
- Nếu phát hiện tri thức có giá trị tái sử dụng:
|
|
183
|
+
- Đề xuất người dùng xem xét.
|
|
184
|
+
- Gửi yêu cầu phê duyệt thông qua:
|
|
185
|
+
- `/learn`
|
|
186
|
+
- `qk-project-memory`
|
|
187
|
+
- Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
.ai-local/candidates/ ──(Approve)──> .agents/knowledge/index.yaml
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
- Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
|
|
194
|
+
- Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### Ignore (Không đưa vào Memory)
|
|
199
|
+
Không lưu:
|
|
200
|
+
- Trace log của một session đơn lẻ.
|
|
201
|
+
- Temporary debugging data.
|
|
202
|
+
- Output của một lần chạy test/scan.
|
|
203
|
+
- Report health tạm thời của một đợt kiểm tra.
|
|
204
|
+
- Lỗi nhỏ chỉ xảy ra một lần.
|
|
205
|
+
- Thông tin không có khả năng tái sử dụng.
|
|
206
|
+
- 👉 *Domain Ignore:* Thao tác thêm trường đơn giản hoặc temporary database fix.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### Golden Rule
|
|
211
|
+
> **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
|
|
212
|
+
> **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
---
|
|
216
|
+
---
|
|
217
|
+
---
|
|
218
|
+
|
|
89
219
|
## Preconditions
|
|
90
220
|
- [ ] Existing schema is identified (ORM model files)
|
|
91
221
|
- [ ] Change intent is clear (add field / modify field / drop field)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Auto-generated from SKILL.md frontmatter
|
|
2
|
+
schema_version: 1
|
|
3
|
+
id: "qk-data-lifecycle"
|
|
4
|
+
version: "9.0.0"
|
|
5
|
+
description: "Quản lý Schema, Migrations an toàn — schema freeze → backward-compat migration → cleanup."
|
|
6
|
+
tools:
|
|
7
|
+
- "filesystem"
|
|
8
|
+
- "terminal"
|
|
9
|
+
knowledge:
|
|
10
|
+
owns:
|
|
11
|
+
- "schema"
|
|
12
|
+
- "migrations"
|
|
13
|
+
references:
|
|
14
|
+
- "architecture"
|
|
15
|
+
- "security"
|
|
16
|
+
- "anti-patterns"
|
|
17
|
+
eval:
|
|
18
|
+
scorecard: "evals/scorecard.yaml"
|
|
19
|
+
decision_boundary:
|
|
20
|
+
owns:
|
|
21
|
+
- "qk-data-lifecycle"
|
|
22
|
+
does_not_own: []
|
|
23
|
+
conflicts_with: []
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: qk-data-lifecycle-eval
|
|
2
|
+
description: Đánh giá chất lượng quản lý Schema và an toàn Migration
|
|
3
|
+
version: 9.0.0
|
|
4
|
+
threshold: 90 # Tiêu chuẩn rất cao vì rủi ro mất mát dữ liệu (Data loss) là CRITICAL
|
|
5
|
+
|
|
6
|
+
metrics:
|
|
7
|
+
- id: backward_compatible_migration
|
|
8
|
+
name: Migration tương thích ngược và an toàn
|
|
9
|
+
description: Agent có tạo migration an toàn, tránh phá vỡ dữ liệu đang chạy không?
|
|
10
|
+
weight: 40
|
|
11
|
+
criteria:
|
|
12
|
+
- Không sử dụng các lệnh destructive (DROP COLUMN, RENAME TABLE) một cách trực tiếp mà không qua chiến lược 3-phase (20đ)
|
|
13
|
+
- Các cột mới (add column) phải nullable hoặc có default value (10đ)
|
|
14
|
+
- Luôn định nghĩa hàm rollback `down()` (10đ)
|
|
15
|
+
|
|
16
|
+
- id: pii_and_security
|
|
17
|
+
name: Bảo mật dữ liệu PII (R-SEC-04)
|
|
18
|
+
description: Dữ liệu nhạy cảm có được mã hóa theo yêu cầu không?
|
|
19
|
+
weight: 30
|
|
20
|
+
criteria:
|
|
21
|
+
- Tự động nhận diện và áp dụng cơ chế hashing/encryption cho các cột chứa dữ liệu PII (Personal Identifiable Information) (30đ)
|
|
22
|
+
|
|
23
|
+
- id: layer_separation
|
|
24
|
+
name: Tách biệt Logic và Schema
|
|
25
|
+
description: Schema và truy vấn có được tách biệt khỏi Business Logic không?
|
|
26
|
+
weight: 30
|
|
27
|
+
criteria:
|
|
28
|
+
- Khai báo Schema (Model/Entity) rõ ràng trước khi viết truy vấn (15đ)
|
|
29
|
+
- Repository chỉ chứa truy vấn Database, không chứa Business Logic phức tạp (15đ)
|