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.
Files changed (107) hide show
  1. package/.agents/AGENTS.md +21 -0
  2. package/.agents/registry/capability-graph.yml +13 -2
  3. package/.agents/registry/graph.json +33 -33
  4. package/.agents/registry/index.yaml +33 -33
  5. package/.agents/rules/global.md +13 -0
  6. package/.agents/skills/_template/SKILL.md +127 -2
  7. package/.agents/skills/_template/capability.yaml +1 -1
  8. package/.agents/skills/qk-access-policy/SKILL.md +132 -2
  9. package/.agents/skills/qk-access-policy/capability.yaml +1 -1
  10. package/.agents/skills/qk-access-policy/evals/scorecard.yaml +1 -1
  11. package/.agents/skills/qk-agent-observability/SKILL.md +137 -1
  12. package/.agents/skills/qk-agent-observability/capability.yaml +1 -1
  13. package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +1 -1
  14. package/.agents/skills/qk-ai-builder/SKILL.md +132 -2
  15. package/.agents/skills/qk-ai-builder/capability.yaml +1 -1
  16. package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +1 -1
  17. package/.agents/skills/qk-api-lifecycle/SKILL.md +132 -2
  18. package/.agents/skills/qk-api-lifecycle/capability.yaml +1 -1
  19. package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +1 -1
  20. package/.agents/skills/qk-bug-resolution/SKILL.md +132 -2
  21. package/.agents/skills/qk-bug-resolution/capability.yaml +1 -1
  22. package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
  23. package/.agents/skills/qk-code-review/SKILL.md +132 -2
  24. package/.agents/skills/qk-code-review/capability.yaml +1 -1
  25. package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
  26. package/.agents/skills/qk-context-loader/SKILL.md +135 -4
  27. package/.agents/skills/qk-context-loader/capability.yaml +1 -1
  28. package/.agents/skills/qk-context-loader/evals/scorecard.yaml +1 -1
  29. package/.agents/skills/qk-data-lifecycle/SKILL.md +132 -2
  30. package/.agents/skills/qk-data-lifecycle/capability.yaml +1 -1
  31. package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +1 -1
  32. package/.agents/skills/qk-db-optimizer/SKILL.md +132 -2
  33. package/.agents/skills/qk-db-optimizer/capability.yaml +1 -1
  34. package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +1 -1
  35. package/.agents/skills/qk-design-system-engineering/SKILL.md +132 -2
  36. package/.agents/skills/qk-design-system-engineering/capability.yaml +1 -1
  37. package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +1 -1
  38. package/.agents/skills/qk-devops-platform/SKILL.md +132 -2
  39. package/.agents/skills/qk-devops-platform/capability.yaml +1 -1
  40. package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +1 -1
  41. package/.agents/skills/qk-docs/SKILL.md +132 -2
  42. package/.agents/skills/qk-docs/capability.yaml +1 -1
  43. package/.agents/skills/qk-docs/evals/scorecard.yaml +1 -1
  44. package/.agents/skills/qk-engineering-standard/SKILL.md +132 -2
  45. package/.agents/skills/qk-engineering-standard/capability.yaml +1 -1
  46. package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +3 -3
  47. package/.agents/skills/qk-fe-api-integration/SKILL.md +132 -2
  48. package/.agents/skills/qk-fe-api-integration/capability.yaml +1 -1
  49. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +1 -1
  50. package/.agents/skills/qk-feature-delivery/SKILL.md +132 -2
  51. package/.agents/skills/qk-feature-delivery/capability.yaml +1 -1
  52. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  53. package/.agents/skills/qk-frontend-architecture/SKILL.md +132 -2
  54. package/.agents/skills/qk-frontend-architecture/capability.yaml +1 -1
  55. package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +1 -1
  56. package/.agents/skills/qk-help/SKILL.md +2 -2
  57. package/.agents/skills/qk-help/capability.yaml +1 -1
  58. package/.agents/skills/qk-help/evals/scorecard.yaml +1 -1
  59. package/.agents/skills/qk-orchestrator/SKILL.md +132 -2
  60. package/.agents/skills/qk-orchestrator/capability.yaml +1 -1
  61. package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
  62. package/.agents/skills/qk-product-specification/SKILL.md +132 -2
  63. package/.agents/skills/qk-product-specification/capability.yaml +1 -1
  64. package/.agents/skills/qk-product-specification/evals/scorecard.yaml +1 -1
  65. package/.agents/skills/qk-production-release/SKILL.md +132 -2
  66. package/.agents/skills/qk-production-release/capability.yaml +1 -1
  67. package/.agents/skills/qk-production-release/evals/scorecard.yaml +1 -1
  68. package/.agents/skills/qk-project-bootstrap/SKILL.md +147 -4
  69. package/.agents/skills/qk-project-bootstrap/capability.yaml +1 -1
  70. package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +1 -1
  71. package/.agents/skills/qk-project-health/SKILL.md +132 -2
  72. package/.agents/skills/qk-project-health/capability.yaml +1 -1
  73. package/.agents/skills/qk-project-health/evals/scorecard.yaml +1 -1
  74. package/.agents/skills/qk-project-memory/SKILL.md +252 -277
  75. package/.agents/skills/qk-project-memory/capability.yaml +1 -1
  76. package/.agents/skills/qk-project-memory/evals/scorecard.yaml +1 -1
  77. package/.agents/skills/qk-refactor/SKILL.md +131 -1
  78. package/.agents/skills/qk-refactor/capability.yaml +1 -1
  79. package/.agents/skills/qk-refactor/evals/scorecard.yaml +1 -1
  80. package/.agents/skills/qk-security-audit/SKILL.md +132 -2
  81. package/.agents/skills/qk-security-audit/capability.yaml +1 -1
  82. package/.agents/skills/qk-security-audit/evals/scorecard.yaml +1 -1
  83. package/.agents/skills/qk-system-evolution/SKILL.md +132 -2
  84. package/.agents/skills/qk-system-evolution/capability.yaml +1 -1
  85. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +1 -1
  86. package/.agents/skills/qk-test-engineering/SKILL.md +132 -2
  87. package/.agents/skills/qk-test-engineering/capability.yaml +1 -1
  88. package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +1 -1
  89. package/.agents/skills/qk-ui-audit/SKILL.md +132 -2
  90. package/.agents/skills/qk-ui-audit/capability.yaml +1 -1
  91. package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +1 -1
  92. package/.agents/skills/qk-ui-builder/capability.yaml +1 -1
  93. package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +26 -0
  94. package/.agents/skills/qk-ui-system-builder/SKILL.md +132 -2
  95. package/.agents/skills/qk-ui-system-builder/capability.yaml +1 -1
  96. package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +1 -1
  97. package/.agents/skills/qk-validation-gate/SKILL.md +132 -2
  98. package/.agents/skills/qk-validation-gate/capability.yaml +1 -1
  99. package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +1 -1
  100. package/.agents/skills/qk-web-quality-gate/SKILL.md +132 -2
  101. package/.agents/skills/qk-web-quality-gate/capability.yaml +1 -1
  102. package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +2 -2
  103. package/CHANGELOG.md +8 -0
  104. package/README.md +13 -4
  105. package/package.json +4 -3
  106. package/tooling/sync-versions.js +256 -6
  107. package/tooling/validate-skills.js +1 -1
@@ -1,277 +1,252 @@
1
- ---
2
- # ── Identity ───────────────────────────────────────────────
3
- name: qk-project-memory
4
- version: 8.3.1
5
- status: stable
6
- description: "Lưu trữ truy xuất ngữ cảnh dự án dài hạnchỉ lưu fact đã xác minh, không lưu giả thuyết."
7
- platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
-
9
- # ── V8: Classification ─────────────────────────────────────
10
- type: utility
11
-
12
- intent:
13
- - context-management
14
- - knowledge-retrieval
15
-
16
- complexity:
17
- level: medium
18
- criteria:
19
- files_affected: "1-2"
20
- has_behavior_change: false
21
- has_external_dependency: false
22
- has_breaking_change: false
23
-
24
- triggers:
25
- - "lưu context"
26
- - "nhớ lại"
27
- - "project memory"
28
- - "lưu vào bộ nhớ"
29
- - "tìm lại fact"
30
-
31
- # ── V8: References ─────────────────────────────────────────
32
- workflow: documentation
33
-
34
- rules:
35
- - global
36
- - coding
37
-
38
- tools:
39
- - filesystem
40
- - terminal
41
-
42
- related_skills:
43
- - qk-engineering-standard
44
-
45
- knowledge_scope:
46
- owns:
47
- - project-facts
48
- - verified-context
49
- references:
50
- - architecture
51
- - security
52
- - anti-patterns
53
-
54
- # ── V8: Verification ───────────────────────────────────────
55
- verification:
56
- required: true
57
- strategy: review
58
-
59
- selection:
60
- priority: medium
61
- confidence_threshold: 0.75
62
-
63
- examples: []
64
- learnings: []
65
-
66
- # ── V7 Runtime ─────────────────────────────────────────────
67
- execution_mode: deterministic
68
- cost: low
69
- latency: fast
70
- risk: low
71
- side_effects: edit_files
72
- produces: [plan]
73
- consumes: [source-code, context-graph]
74
-
75
- token_budget:
76
- max_files_read: 2
77
- max_lines_per_read: 100
78
- max_shell_commands: 0
79
- stop_early: true
80
-
81
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
82
- ---
83
-
84
- # qk-project-memory — Long-Term Context Store
85
-
86
- > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
87
-
88
- ---
89
-
90
- ## Preconditions
91
- - [ ] Project has a `.agents/memory/` directory OR user confirms creation
92
-
93
- ---
94
-
95
- ## Scope
96
- - Store verified facts about project (architecture, decisions, patterns)
97
- - Retrieve facts for current session context
98
- - ✅ Invalidate stale entries when code changes
99
-
100
- ## Non-Goals
101
- - Store assumptions or unverified hypotheses
102
- - ❌ Overwrite architectural rules without explicit user consent
103
- - Store sensitive data (env vars, secrets). **Tuyệt đối cấm lưu trữ PII, API Keys, raw JWTs, hoặc các bad practices vi phạm R-C-09 vào bộ nhớ dài hạn.**
104
-
105
- ---
106
-
107
- ## Memory Schema (Required Format)
108
-
109
- ```json
110
- {
111
- "id": "mem_[timestamp]",
112
- "category": "architecture|pattern|decision|warning|preference",
113
- "fact": "[Verified, specific statement]",
114
- "evidence": "path/to/file.ts:LINE",
115
- "confidence": "HIGH|MEDIUM",
116
- "created_at": "ISO8601",
117
- "expires_at": "ISO8601 OR null (permanent)",
118
- "tags": ["auth", "database", "api"]
119
- }
120
- ```
121
-
122
- ---
123
-
124
- ## Storage Path
125
- ```
126
- .agents/memory/
127
- ├── architecture.json # System architecture facts
128
- ├── patterns.json # Established code patterns
129
- ├── decisions.json # Technical decisions made
130
- └── warnings.json # Known risks or debt items
131
- ```
132
-
133
- ---
134
-
135
- ## [MEMORIZE] Workflow
136
- 1. Verify fact against actual codebase (grep_search or view_file)
137
- 2. Confirm confidence is HIGH or MEDIUM
138
- 3. Write to appropriate `.agents/memory/[category].json` file
139
-
140
- **Decision:** `IF confidence is LOW → do NOT store — collect more evidence`
141
-
142
- ## [RECALL] Workflow
143
- 1. Read relevant memory file
144
- 2. Check `expires_at` — skip stale entries
145
- 3. Return matching facts with their evidence references
146
-
147
- ---
148
-
149
- ## Exit Codes
150
- | Code | Meaning | When |
151
- |------|---------|------|
152
- | SUCCESS | Fact stored/retrieved with verified evidence | HIGH/MEDIUM confidence |
153
- | PARTIAL | Fact stored but evidence is indirect (MEDIUM confidence) | Indirect source |
154
- | BLOCKED | Cannot verify fact against codebase | No evidence available |
155
- | FAILED | Memory file corrupted or schema mismatch | Structural error |
156
-
157
- ---
158
-
159
- ## Confidence Model
160
- | Level | Condition | Action |
161
- |-------|-----------|--------|
162
- | HIGH | Fact directly read from code (grep_search returned file:line) | Store immediately |
163
- | MEDIUM | Fact inferred from patterns (not direct file reference) | Store with note: "inferred" |
164
- | LOW | Assumption without code evidence | Do NOT store — collect more evidence first |
165
-
166
- ---
167
-
168
- ## Severity
169
- | Level | Definition | Example |
170
- |-------|-----------|----------|
171
- | CRITICAL | Storing incorrect architectural fact misleads all future work | Wrong auth pattern stored |
172
- | HIGH | Storing stale fact that conflicts with current code | Outdated API path remembered |
173
- | MEDIUM | Missing important fact causing repeated re-discovery | Auth pattern unknown |
174
- | LOW | Memory file not organized by category | All facts in one file |
175
-
176
- ---
177
-
178
- ## Evidence Format
179
- ```
180
- [CONFIDENCE] path/to/file.ts:LINE
181
- Fact: [what was stored]
182
- Category: [architecture|pattern|decision|warning|preference]
183
- Expires: [ISO8601 date | null]
184
- ```
185
-
186
- ---
187
-
188
- ## Retry Policy
189
- ```
190
- Fact unverifiable
191
- └─ Read 1 more file for evidence
192
- ├─ Evidence found upgrade to MEDIUM/HIGH store
193
- └─ Still unverifiable → do NOT store
194
- └─ Do NOT retry more than 1 additional evidence read
195
- ```
196
-
197
- ---
198
-
199
- ## Escalation Rules
200
- ```
201
- BLOCKED: Cannot verify fact against codebase
202
- Missing:
203
- - Access to relevant source file
204
- - Or explicit user confirmation
205
- Questions:
206
- 1. Bạn có thể xác nhận: [fact statement] là đúng không?
207
- Recommended Assumptions:
208
- - Do NOT store until confirmed
209
- ```
210
-
211
- ---
212
-
213
- ## Handoff Contract
214
- ### Consumes
215
- ```json
216
- {
217
- "from": "user or any skill",
218
- "required_fields": ["fact_statement"],
219
- "optional_fields": ["evidence_location", "expiry_date", "category"]
220
- }
221
- ```
222
- ### Produces
223
- ```json
224
- {
225
- "to": "any downstream skill",
226
- "output_fields": ["recalled_facts", "confidence_levels", "evidence_refs", "exit_code"]
227
- }
228
- ```
229
-
230
- ---
231
-
232
- ## UI Diversification Memory
233
-
234
- ### Purpose
235
- Prevent UI template repetition across project builds. Inspired by Hallmark's `.hallmark/log.json`.
236
-
237
- ### Storage Path
238
- ```
239
- .agents/memory/
240
- ├── architecture.json
241
- ├── patterns.json
242
- ├── decisions.json
243
- ├── warnings.json
244
- └── ui-diversification.json # NEW: UI build history
245
- ```
246
-
247
- ### Schema
248
- ```json
249
- {
250
- "id": "ui_[timestamp]",
251
- "category": "ui-diversification",
252
- "fact": "Built [component] with [theme] theme and [macrostructure] macrostructure",
253
- "evidence": "path/to/component.tsx",
254
- "confidence": "HIGH",
255
- "created_at": "ISO8601",
256
- "expires_at": null,
257
- "tags": ["theme", "macrostructure", "component"]
258
- }
259
- ```
260
-
261
- ### Rule
262
- **No two consecutive UI builds in the same project may share the same theme + macrostructure combination.**
263
-
264
- When `qk-ui-builder` runs:
265
- 1. Read `.agents/memory/ui-diversification.json` (if exists)
266
- 2. Get last entry's theme + macrostructure
267
- 3. Pick different combination for current build
268
- 4. After build, append new entry to `ui-diversification.json`
269
-
270
- ### Enforcement
271
- If user requests same theme/macrostructure as last build:
272
- - Note the conflict in output
273
- - Recommend alternative
274
- - Proceed only if user explicitly overrides
275
-
276
- ---
277
-
1
+ ---
2
+ # ── Identity ───────────────────────────────────────────────
3
+ name: qk-project-memory
4
+ version: 9.0.0
5
+ status: stable
6
+ description: "Quản trị Tri thức Bộ nhớ dự án V1 (Dual-Mode Shared/Private) Quản như source code: đơn giản, thể review, cập nhật và luôn có con người phê duyệt."
7
+ platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
+
9
+ # ── V9: Classification ─────────────────────────────────────
10
+ type: utility
11
+
12
+ intent:
13
+ - context-management
14
+ - knowledge-retrieval
15
+ - project-learning
16
+
17
+ complexity:
18
+ level: medium
19
+ criteria:
20
+ files_affected: "1-2"
21
+ has_behavior_change: false
22
+ has_external_dependency: false
23
+ has_breaking_change: false
24
+
25
+ triggers:
26
+ - "lưu context"
27
+ - "nhớ lại"
28
+ - "project memory"
29
+ - "lưu vào bộ nhớ"
30
+ - "tìm lại fact"
31
+ - "/learn"
32
+
33
+ # ── V9: References ─────────────────────────────────────────
34
+ workflow: documentation
35
+
36
+ rules:
37
+ - global
38
+ - coding
39
+
40
+ tools:
41
+ - filesystem
42
+
43
+ related_skills:
44
+ - qk-context-loader
45
+ - qk-engineering-standard
46
+
47
+ knowledge_scope:
48
+ owns:
49
+ - project-facts
50
+ - verified-context
51
+ - patterns
52
+ - hard-bugs
53
+ references:
54
+ - architecture
55
+ - convention
56
+ - pattern
57
+ - hard-bug
58
+
59
+ # ── V9: Verification ───────────────────────────────────────
60
+ verification:
61
+ required: true
62
+ strategy: human-approval
63
+
64
+ selection:
65
+ priority: high
66
+ confidence_threshold: 1.0
67
+
68
+ examples: []
69
+ learnings: []
70
+
71
+ # ── Runtime ─────────────────────────────────────────────
72
+ execution_mode: deterministic
73
+ cost: low
74
+ latency: fast
75
+ risk: low
76
+ side_effects: edit_files
77
+ produces: [knowledge-update]
78
+ consumes: [source-code, task-outcome]
79
+
80
+ token_budget:
81
+ max_files_read: 2
82
+ max_lines_per_read: 150
83
+ max_shell_commands: 0
84
+ stop_early: true
85
+
86
+ exit_codes: [SUCCESS, BLOCKED, DISMISSED, FAILED]
87
+ ---
88
+
89
+ # qk-project-memory — Project Knowledge Management V1
90
+
91
+ > **Kim chỉ nam tối thượng:** *"Knowledge phải được quản giống như source code: đơn giản, có thể xem xét (review), có thể cập nhật, có thể loại bỏ và luôn có con người chịu trách nhiệm phê duyệt."*
92
+ >
93
+ > **Nguyên tắc định hướng:**
94
+ > - **Đơn giản hơn > Thông minh hơn:** Mọi tính năng chỉ phục vụ 2 mục tiêu: giúp AI mở đúng file nhanh hơn, hoặc tránh lặp lại một lỗi đã trả giá đắt.
95
+ > - **Navigator, NOT Source of Truth:** Memory chỉ dùng để giảm thời gian tìm kiếm, không thay thế việc đọc mã nguồn hiện tại.
96
+ > - **Tài liệu Kỹ Thuật:** `AGENTS.md` `index.yaml` là tài liệu kỹ thuật của dự án, tuyệt đối KHÔNG phải nhật ký hội thoại của AI ("Hôm nay AI đã...", "User bảo...").
97
+ > - **AI Đề xuất -> Con người Phê duyệt:** AI không tự học ngầm, AI tóm tắt và đề xuất để lập trình viên chốt duyệt.
98
+
99
+ ---
100
+
101
+ ## 1. Hai Chế Độ Lưu Trữ (Dual-Mode Design)
102
+
103
+ Tùy thuộc vào nhu cầu bảo mật hay làm việc nhóm, V1 hỗ trợ 2 chế độ (Mode):
104
+
105
+ ### Mode 1: Private Mode (Mặc định cho cá nhân)
106
+ ```text
107
+ .ai-local/
108
+ ├── AGENTS.md ──> Bản đồ dự án (< 100 dòng)
109
+ └── knowledge/
110
+ └── index.yaml ──> Kho tri thức 4 lĩnh vực
111
+ ```
112
+ - **Bảo mật tuyệt đối:** Thư mục `.ai-local/` BẮT BUỘC được định danh trong `.gitignore` của dự án (hoặc Global Git Ignore). Tri thức nằm trọn trên máy lập trình viên dùng Skin, không đẩy lên Git.
113
+
114
+ ### Mode 2: Shared Mode (Dành cho Team & CI/CD)
115
+ ```text
116
+ .agents/
117
+ ├── AGENTS.md ──> Bản đồ dự án (< 100 dòng)
118
+ └── knowledge/
119
+ └── index.yaml ──> Kho tri thức 4 lĩnh vực
120
+ ```
121
+ - **Đồng bộ toàn đội:** Thư mục `.agents/` được commit, tạo Pull Request (PR), team review và merge vào codebase như source code. Ai clone dự án về đều nhận trọn vẹn tri thức tái sử dụng.
122
+
123
+ ---
124
+
125
+ ## 2. Tiêu Chuẩn File 1: `AGENTS.md` (Bản Đồ Dự Án)
126
+
127
+ - **Giới hạn cứng:** Tuyệt đối không vượt quá **100 dòng** (được parse trong < 5 giây).
128
+ - **Quy tắc Quick Actions:** KHÔNG ghi đường dẫn file cụ thể nếu chưa ổn định để tránh gãy link khi refactor. Nhỏ gọn trỏ tới từ khóa tra cứu trong `index.yaml`.
129
+
130
+ ### Mẫu Chuẩn `AGENTS.md`:
131
+ ```markdown
132
+ > [!IMPORTANT]
133
+ > **MEMORY NAVIGATOR:** Memory chỉ dùng để giảm thời gian tìm kiếm, không thay thế việc đọc mã nguồn hiện tại.
134
+
135
+ # Architecture (~15 dòng)
136
+ - Framework: React + TypeScript + TanStack Router
137
+ - State/Data: Axios Instance wrapper tại `src/services/httpClient.ts`
138
+ - UI Style: TailwindCSS / Custom Component Library
139
+
140
+ # Folder Map (~20 dòng)
141
+ - `src/routes/`: Cấu hình routing (file-based routing)
142
+ - `src/api/`: Các dịch vụ kết nối endpoint backend
143
+ - `src/components/`: Component sử dụng lại trong toàn dự án
144
+
145
+ # Quick Actions (~30 dòng)
146
+ - Thêm / Sửa Menu -> Tra cứu Pattern "add-menu" trong `knowledge/index.yaml`
147
+ - Xây dựng bảng dữ liệu -> Tra cứu Pattern "data-table" trong `knowledge/index.yaml`
148
+ - Quy tắc gọi API -> Tra cứu Convention "api-wrapper" trong `knowledge/index.yaml`
149
+
150
+ # Agent Rules (~20 dòng)
151
+ 1. Luôn đọc `AGENTS.md` đầu tiên.
152
+ 2. Tra cứu `knowledge/index.yaml` trước khi dùng lệnh tìm kiếm mù toàn dự án.
153
+ 3. Hậu task: Chỉ đề xuất lưu nếu Architecture, Convention, Pattern, hoặc Hard Bug.
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 3. Tiêu Chuẩn File 2: `knowledge/index.yaml` (Kho Tri Thức)
159
+
160
+ ### Quy Tắc Lõi:
161
+ 1. **Chỉ lưu 4 Loại Tri Thức duy nhất:**
162
+ - `Architecture`: Nền tảng cấu trúc lớn.
163
+ - `Convention`: Chuẩn mực viết code bắt buộc.
164
+ - `Pattern`: Quy trình hành động tái sử dụng nhiều bước.
165
+ - `Hard Bug`: Lỗi cực kỳ khó nhằn hoặc tốn nhiều thời gian fix (KHÔNG lưu lỗi typo, CSS lặt vặt, lỗi cú pháp tầm thường).
166
+ 2. **Chỉ lưu Hành Động:** Đổi thẻ `summary` thành `steps` cho Pattern/Convention. AI nhìn là thực thi ngay.
167
+ 3. **Hard Bug Tối Giản 3 Trường:** Chỉ giữ `cause`, `fix`, và `refs`.
168
+ 4. **Lịch Sử An Toàn (Zero-Overwrite):** Khi một tri thức thay đổi hoặc lỗi thời, KHÔNG xóa đè. Chuyển trạng thái (`status`) của cụm cũ từ `Active` sang `Archived`, sau đó chèn cụm mới với trạng thái `Active`.
169
+ 5. **Đường dẫn chuẩn thương mại:** Mọi `refs` bắt buộc dùng đường dẫn tương đối từ Root (`src/...`) và chỉ định tên Biểu tượng (Symbol/Component/Hook name), cấm dùng đường dẫn ổ đĩa tuyệt đối (`C:/...`, `D:/...`).
170
+
171
+ ### Mẫu Chuẩn `index.yaml`:
172
+ ```yaml
173
+ # ==============================================================================
174
+ # KHO TRI THỨC DỰ ÁN V1 (AI SKIN V9 ARCHITECTURE)
175
+ # Lifecycle đơn giản: Active (Đang dùng) -> Archived (Lỗi thời/Lịch sử)
176
+ # ==============================================================================
177
+
178
+ knowledge:
179
+ # --- PATTERN: CÔNG DỤNG LẶP LẠI ---------
180
+ - id: add-menu
181
+ type: Pattern
182
+ status: Active
183
+ tags: [menu, navigation, sidebar, router]
184
+ steps:
185
+ - 1. Cập nhật Sidebar hoặc Router config
186
+ - 2. Khai báo quyền (access permissions) cho menu item mới
187
+ - 3. Áp dụng chuẩn API hook tương ứng
188
+ refs:
189
+ - src/routes/_app.tsx#SidebarNavigation
190
+ - src/config/permissions.ts#UserRoles
191
+
192
+ # --- HARD BUG: CA BỆNH KHÓ NHẰN ---------
193
+ - id: rerender-infinite-loop
194
+ type: Hard Bug
195
+ status: Active
196
+ tags: [react, use-effect, leak]
197
+ cause: "Fetch data trực tiếp bên trong useEffect mà dependency bị thay đổi tham chiếu liên tục"
198
+ fix: "Sử dụng custom hook có sẵn hoặc bọc hàm bằng useCallback trước khi truyền vào useEffect"
199
+ refs:
200
+ - src/hooks/useAutoFetch.ts
201
+
202
+ # --- CONVENTION: QUY BẰNG CẤM HOẶC BẮT BUỘC ---------
203
+ - id: axios-only
204
+ type: Convention
205
+ status: Active
206
+ steps:
207
+ - Cấm tuyệt đối dùng fetch() hay axios mốc rỗng
208
+ - Luôn import httpClient tích hợp sẵn token từ src/services/
209
+ refs:
210
+ - src/services/httpClient.ts
211
+ ```
212
+
213
+ ---
214
+
215
+ ## 4. Quy Trình Trò Chuyện & Thao Tác (The `/learn` Lifecycle)
216
+
217
+ Bất kỳ lúc nào người dùng gõ `/learn`, `./qk-project-memory`, hoặc sau khi hoàn tất một task phức tạp có tham số yêu cầu ghi nhớ, Agent PHẢI tuân thủ theo 4 bước khép kín:
218
+
219
+ ### Bước 1: Trả lời Câu Hỏi Lọc (Filtering Question)
220
+ AI tự hỏi và đối chiếu: *"Task/Sự kiện vừa rồi có thuộc 1 trong 4 loại (Architecture, Convention, Pattern, Hard Bug) và có giá trị giảm thời gian cho task tương lai không?"*
221
+ - Nếu **KHÔNG** (lỗi typo, trang trí CSS, CRUD đơn giản, sửa text): Trả về `DISMISSED: "Không phát hiện tri thức kiến trúc/bug khó giá trị dài hạn. Đã bỏ qua để giữ sạch bộ nhớ."` -> **Dừng lại ngay.**
222
+ - Nếu **CÓ**: Sang Bước 2.
223
+
224
+ ### Bước 2: Chuẩn Bị Bản Đề Xuất (Draft Proposal)
225
+ AI tóm tắt nội dung tri thức dưới chuẩn đinh dạc của `index.yaml` (với 4 loại và trường `steps` / `cause-fix`).
226
+ - Đối chiếu trong `index.yaml` xem có từ khóa/id trùng lặp hay không để chuẩn bị ghi chú `[Mới]` hoặc `[Cập nhật -> Archived cũ]`.
227
+
228
+ ### Bước 3: Phê Duyệt Của Con Người (Human Approval - Bắt Buộc)
229
+ Trình bày rõ trước người dùng trên chat:
230
+ ```markdown
231
+ 💡 [AI Skin Project Memory]: Phát hiện tri thức mới đáng ghi nhớ cho dự án.
232
+ Đề xuất ghi vào `[Mode: .ai-local / .agents]/knowledge/index.yaml`:
233
+
234
+ ... (Nội dung YAML tóm tắt) ...
235
+
236
+ 👉 **Bạn có muốn xác nhận cập nhật tri thức này không? (Đồng ý / Chỉnh sửa / Bỏ qua)**
237
+ ```
238
+
239
+ ### Bước 4: Thực Thi Cập Nhật (Commit)
240
+ - Sau khi được Người dùng xác nhận: Dùng tool (ví dụ `replace_file_content` hoặc `write_to_file`) để chèn thông tin mới vào `index.yaml` (hoặc `AGENTS.md` nếu chỉnh sơ đồ kiến trúc).
241
+ - Báo cáo hoàn tất chu trình Ghi nhớ!
242
+
243
+ ---
244
+
245
+ ## 5. Bảng Exit Codes
246
+
247
+ | Code | Ý Nghĩa | Hành Động Kế Tiếp |
248
+ |------|---------|--------------------|
249
+ | SUCCESS | Đã lưu hoặc đọc tri thức hợp lệ từ `index.yaml` / `AGENTS.md` | Hoàn thành |
250
+ | BLOCKED | Đề xuất tri thức bị Người dùng từ chối (Hoặc thiếu quyền truy xuất file) | Không thay đổi bộ nhớ |
251
+ | DISMISSED | Thao tác không thỏa mãn 4 tiêu chí lọc V1 (Chỉ là typo, css vặt) | Bỏ qua ghi nhớ nhằm sạch hệ thống |
252
+ | FAILED | File bộ nhớ sai định dạng cú pháp YAML hoặc vi phạm giới hạn 100 dòng | Yêu cầu sửa/reset cấu trúc file |
@@ -1,7 +1,7 @@
1
1
  # Auto-generated from SKILL.md frontmatter
2
2
  schema_version: 1
3
3
  id: "qk-project-memory"
4
- version: "8.3.1"
4
+ version: "9.0.0"
5
5
  description: "Lưu trữ và truy xuất ngữ cảnh dự án dài hạn — chỉ lưu fact đã xác minh, không lưu giả thuyết."
6
6
  tools:
7
7
  - "filesystem"
@@ -1,6 +1,6 @@
1
1
  name: qk-project-memory-eval
2
2
  description: Đánh giá quá trình lưu trữ và truy xuất ngữ cảnh dài hạn (Project Memory)
3
- version: 8.3.1
3
+ version: 9.0.0
4
4
  threshold: 85 # Yêu cầu độ chính xác cao khi ghi đè hoặc lưu trữ để tránh ảo giác
5
5
 
6
6
  metrics: