ai-developer-skill-os 9.3.1 → 10.2.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 (258) hide show
  1. package/.agents/AGENTS.md +73 -40
  2. package/.agents/DEV_PROFILE.md +36 -2
  3. package/.agents/LICENSE +21 -21
  4. package/.agents/docs/ARCHITECTURE.md +56 -120
  5. package/.agents/docs/GOVERNANCE.md +3 -3
  6. package/.agents/docs/SPEC.md +137 -60
  7. package/.agents/docs/VERSIONING.md +25 -57
  8. package/.agents/docs/adr/0005-v10-platform-consolidation.md +50 -0
  9. package/.agents/docs/schemas/learning.schema.yml +22 -57
  10. package/.agents/docs/schemas/skill.schema.yml +116 -161
  11. package/.agents/docs/schemas/workflow.schema.yml +51 -26
  12. package/.agents/docs/skill-classification.md +1 -1
  13. package/.agents/registry/graph.json +193 -346
  14. package/.agents/registry/index.yaml +90 -233
  15. package/.agents/rules/coding.md +30 -12
  16. package/.agents/rules/command-safety.md +20 -9
  17. package/.agents/rules/global.md +234 -28
  18. package/.agents/rules/prompt-compiler.md +170 -0
  19. package/.agents/rules/safety.md +1 -1
  20. package/.agents/rules/security.md +1 -1
  21. package/.agents/rules/skill-quality.md +18 -3
  22. package/.agents/skills/_template/SKILL.md +238 -88
  23. package/.agents/skills/qk-api-data-discovery/SKILL.md +456 -0
  24. package/.agents/skills/qk-api-data-discovery/references/bronze-record-format.md +47 -0
  25. package/.agents/skills/qk-api-data-discovery/references/data-contract-yaml.md +72 -0
  26. package/.agents/skills/qk-api-data-discovery/references/discovery-report-template.md +110 -0
  27. package/.agents/skills/qk-backend-data/SKILL.md +339 -0
  28. package/.agents/skills/qk-bug-resolution/SKILL.md +328 -248
  29. package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
  30. package/.agents/skills/qk-code-cleaner/SKILL.md +399 -0
  31. package/.agents/skills/qk-code-review/SKILL.md +320 -247
  32. package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
  33. package/.agents/skills/qk-code-review/references/ai/{v8-schema-validation.md → schema-validation.md} +2 -2
  34. package/.agents/skills/qk-code-review/references/cross-cutting/async-concurrency-patterns.md +515 -515
  35. package/.agents/skills/qk-code-review/references/cross-cutting/error-handling-principles.md +492 -492
  36. package/.agents/skills/qk-code-review/references/cross-cutting/n-plus-one-queries.md +309 -309
  37. package/.agents/skills/qk-code-review/references/cross-cutting/sql-injection-prevention.md +307 -307
  38. package/.agents/skills/qk-code-review/references/cross-cutting/xss-prevention.md +263 -263
  39. package/.agents/skills/qk-code-review/references/languages/angular.md +768 -768
  40. package/.agents/skills/qk-code-review/references/languages/c.md +890 -890
  41. package/.agents/skills/qk-code-review/references/languages/cpp.md +893 -893
  42. package/.agents/skills/qk-code-review/references/languages/css-less-sass.md +661 -661
  43. package/.agents/skills/qk-code-review/references/languages/django.md +985 -985
  44. package/.agents/skills/qk-code-review/references/languages/fastapi.md +580 -580
  45. package/.agents/skills/qk-code-review/references/languages/go.md +993 -993
  46. package/.agents/skills/qk-code-review/references/languages/java.md +409 -409
  47. package/.agents/skills/qk-code-review/references/languages/java8.md +586 -586
  48. package/.agents/skills/qk-code-review/references/languages/kotlin.md +1018 -1018
  49. package/.agents/skills/qk-code-review/references/languages/nestjs.md +593 -593
  50. package/.agents/skills/qk-code-review/references/languages/php.md +684 -684
  51. package/.agents/skills/qk-code-review/references/languages/python.md +1073 -1073
  52. package/.agents/skills/qk-code-review/references/languages/qt.md +757 -757
  53. package/.agents/skills/qk-code-review/references/languages/react.md +871 -871
  54. package/.agents/skills/qk-code-review/references/languages/ruby.md +964 -964
  55. package/.agents/skills/qk-code-review/references/languages/rust.md +846 -846
  56. package/.agents/skills/qk-code-review/references/languages/svelte.md +1064 -1064
  57. package/.agents/skills/qk-code-review/references/languages/swift.md +936 -936
  58. package/.agents/skills/qk-code-review/references/languages/typescript.md +1016 -1016
  59. package/.agents/skills/qk-code-review/references/languages/vue.md +924 -924
  60. package/.agents/skills/qk-code-review/references/languages/zig.md +440 -440
  61. package/.agents/skills/qk-devops-release/SKILL.md +294 -0
  62. package/.agents/skills/qk-feature-delivery/SKILL.md +331 -247
  63. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  64. package/.agents/skills/qk-orchestrator/SKILL.md +286 -152
  65. package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
  66. package/.agents/skills/qk-orchestrator/references/routing-table.md +1 -1
  67. package/.agents/skills/qk-product-spec/SKILL.md +262 -0
  68. package/.agents/skills/qk-prompt-compiler/SKILL.md +444 -0
  69. package/.agents/skills/qk-ui-engineer/SKILL.md +286 -0
  70. package/.agents/workflows/_schema.yml +146 -146
  71. package/.agents/workflows/bug-resolution.yml +155 -121
  72. package/.agents/workflows/code-review.yml +127 -93
  73. package/.agents/workflows/context-discovery.yml +128 -94
  74. package/.agents/workflows/documentation.yml +124 -90
  75. package/.agents/workflows/feature-delivery.yml +158 -124
  76. package/.agents/workflows/production-release.yml +207 -173
  77. package/.agents/workflows/prompt-compilation.yml +126 -0
  78. package/.agents/workflows/refactor.yml +136 -102
  79. package/.agents/workflows/security-audit.yml +149 -115
  80. package/.agents/workflows/shared/quality-gate.yml +3 -1
  81. package/.agents/workflows/skin-governance.yml +149 -115
  82. package/.agents/workflows/spec-driven-development.yml +116 -87
  83. package/CHANGELOG.md +77 -0
  84. package/README.md +125 -205
  85. package/bin/install.js +324 -329
  86. package/package.json +68 -74
  87. package/tooling/build-registry.js +226 -208
  88. package/tooling/run-aar.js +55 -126
  89. package/tooling/sync-versions.js +2 -2
  90. package/tooling/validate-graph.js +100 -87
  91. package/tooling/validate-skills.js +32 -14
  92. package/.agents/README.md +0 -90
  93. package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
  94. package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
  95. package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
  96. package/.agents/docs/MIGRATION-STATUS.md +0 -35
  97. package/.agents/docs/MIGRATION-V8.md +0 -10
  98. package/.agents/docs/ROADMAP-V8.2.md +0 -78
  99. package/.agents/docs/V8-CERTIFICATION.md +0 -27
  100. package/.agents/docs/decisions/ADR-001-v8-migration.md +0 -58
  101. package/.agents/docs/decisions/ADR-002-workflow-separation.md +0 -50
  102. package/.agents/docs/decisions/ADR-003-registry-generated.md +0 -54
  103. package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +0 -27
  104. package/.agents/registry/capability-graph.yml +0 -390
  105. package/.agents/registry/skills-index.yml +0 -305
  106. package/.agents/skills/_template/capability.yaml +0 -34
  107. package/.agents/skills/_template/evals/scorecard.yaml +0 -19
  108. package/.agents/skills/qk-access-policy/SKILL.md +0 -206
  109. package/.agents/skills/qk-access-policy/capability.yaml +0 -23
  110. package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
  111. package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
  112. package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
  113. package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
  114. package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
  115. package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
  116. package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
  117. package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
  118. package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
  119. package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
  120. package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
  121. package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
  122. package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
  123. package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
  124. package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
  125. package/.agents/skills/qk-code-review/capability.yaml +0 -23
  126. package/.agents/skills/qk-context-loader/SKILL.md +0 -198
  127. package/.agents/skills/qk-context-loader/capability.yaml +0 -23
  128. package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
  129. package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
  130. package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
  131. package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
  132. package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
  133. package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
  134. package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
  135. package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
  136. package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
  137. package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
  138. package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
  139. package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
  140. package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
  141. package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
  142. package/.agents/skills/qk-docs/SKILL.md +0 -193
  143. package/.agents/skills/qk-docs/capability.yaml +0 -23
  144. package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
  145. package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
  146. package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
  147. package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
  148. package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
  149. package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
  150. package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
  151. package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
  152. package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
  153. package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
  154. package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
  155. package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
  156. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
  157. package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
  158. package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
  159. package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
  160. package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
  161. package/.agents/skills/qk-help/SKILL.md +0 -107
  162. package/.agents/skills/qk-help/capability.yaml +0 -20
  163. package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
  164. package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
  165. package/.agents/skills/qk-product-specification/SKILL.md +0 -187
  166. package/.agents/skills/qk-product-specification/capability.yaml +0 -27
  167. package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
  168. package/.agents/skills/qk-production-release/SKILL.md +0 -188
  169. package/.agents/skills/qk-production-release/capability.yaml +0 -27
  170. package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
  171. package/.agents/skills/qk-project-audit/SKILL.md +0 -174
  172. package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
  173. package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
  174. package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
  175. package/.agents/skills/qk-project-health/SKILL.md +0 -202
  176. package/.agents/skills/qk-project-health/capability.yaml +0 -23
  177. package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
  178. package/.agents/skills/qk-project-memory/SKILL.md +0 -303
  179. package/.agents/skills/qk-project-memory/capability.yaml +0 -23
  180. package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
  181. package/.agents/skills/qk-refactor/SKILL.md +0 -243
  182. package/.agents/skills/qk-refactor/capability.yaml +0 -26
  183. package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
  184. package/.agents/skills/qk-security-audit/SKILL.md +0 -280
  185. package/.agents/skills/qk-security-audit/capability.yaml +0 -29
  186. package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
  187. package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
  188. package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
  189. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
  190. package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
  191. package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
  192. package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
  193. package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
  194. package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
  195. package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
  196. package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  197. package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
  198. package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
  199. package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
  200. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
  201. package/.agents/skills/qk-ui-builder/references/color.md +0 -115
  202. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
  203. package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
  204. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
  205. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
  206. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
  207. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
  208. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
  209. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
  210. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
  211. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
  212. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
  213. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
  214. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
  215. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
  216. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
  217. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
  218. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
  219. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
  220. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
  221. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
  222. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
  223. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
  224. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
  225. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
  226. package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
  227. package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
  228. package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
  229. package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
  230. package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
  231. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
  232. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
  233. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
  234. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
  235. package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
  236. package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
  237. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
  238. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
  239. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
  240. package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
  241. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
  242. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
  243. package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
  244. package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
  245. package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
  246. package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
  247. package/.agents/skills/qk-upgrade/SKILL.md +0 -301
  248. package/.agents/skills/qk-upgrade/capability.yaml +0 -24
  249. package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
  250. package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
  251. package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
  252. package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
  253. package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
  254. package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
  255. package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
  256. package/.agents/workflows/research.yml +0 -75
  257. package/.agents/workflows/skill-evolution.yml +0 -97
  258. package/tooling/fix-refactor.js +0 -8
@@ -0,0 +1,399 @@
1
+ ---
2
+ name: qk-code-cleaner
3
+ version: 10.2.0
4
+ status: stable
5
+ subtitle: "Refactor & Viết Test"
6
+ description: "Kỹ nghệ Tái cấu trúc (Zero Behavior Change), Nâng cấp thư viện an toàn có Rollback và Xây dựng lưới kiểm thử tự động. Dùng khi: refactor code, tái cấu trúc hàm/file, extract function/hook, clean code, giảm độ phức tạp cyclomatic, nâng cấp dependency package, audit breaking changes, viết unit/integration test — TUYỆT ĐỐI KHÔNG dùng khi chỉ sửa bug đơn lẻ (dùng qk-bug-resolution) hoặc build tính năng mới (dùng qk-feature-delivery)."
7
+ platforms: [antigravity, claude, opencode]
8
+ runtime_version: 1
9
+ tools:
10
+ - filesystem
11
+ - terminal
12
+ rules:
13
+ - global
14
+ - coding-standards
15
+ - safety
16
+ workflow: refactor
17
+ triggers:
18
+ - "refactor"
19
+ - "tái cấu trúc"
20
+ - "tách file quá dài"
21
+ - "extract function"
22
+ - "extract hook"
23
+ - "clean code"
24
+ - "giảm complexity"
25
+ - "nâng cấp thư viện"
26
+ - "upgrade package"
27
+ - "migrate framework"
28
+ - "cập nhật dependency"
29
+ - "viết unit test"
30
+ - "viết test"
31
+ - "integration test"
32
+ - "test strategy"
33
+ ---
34
+
35
+ # qk-code-cleaner — Refactor & Viết Test (Modernization & Test Safety Engine)
36
+
37
+ > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
38
+
39
+ ---
40
+
41
+ ## Memory Workflow
42
+
43
+ ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
44
+ - Trước khi tra cứu hoặc lưu trữ tri thức, BẮT BUỘC kiểm tra sự tồn tại của thư mục `.ai-local/` tại gốc dự án:
45
+ - **Tự động tạo mới:** Nếu `.ai-local/` chưa tồn tại, AI phải tự động tạo cấu trúc thư mục `.ai-local/knowledge/` (và file `index.yaml` nếu cần thiết) cùng `.ai-local/candidates/`. Tuyệt đối không ngưng chạy hay hỏi ý kiến người dùng về thao tác khởi tạo tiêu chuẩn này.
46
+ - **Bảo mật Gitignore:** BẮT BUỘC kiểm tra file `.gitignore` của dự án, nếu chưa có dòng `.ai-local/` thì phải tự động thêm vào để tuyệt đối bảo mật tri thức cá nhân và tránh lộ lọt lên Git.
47
+
48
+ ---
49
+
50
+ ### Pre-flight Retrieve (Trước khi thực thi)
51
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
52
+ bắt buộc tra cứu:
53
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
54
+
55
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
56
+ - Architecture
57
+ - Hard Bug
58
+ - Convention
59
+ - Pattern
60
+ - Tech Debt Pattern
61
+
62
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
63
+ Không được xem Memory là Source of Truth.
64
+ 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.
65
+
66
+ ---
67
+
68
+ ### Learning Flow (AI tự học có kiểm soát)
69
+ - 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:
70
+ - Hard Bug có khả năng tái diễn.
71
+ - Pattern làm việc lặp lại trong dự án.
72
+ - Convention hoặc quy tắc kiến trúc mới.
73
+ - Quyết định Architecture quan trọng.
74
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
75
+
76
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
77
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
78
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
79
+
80
+ ---
81
+
82
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
83
+ Sau khi hoàn thành task:
84
+ - AI đánh giá các Candidate Memory đã tạo.
85
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
86
+ - Đề xuất người dùng xem xét.
87
+ - Gửi yêu cầu phê duyệt thông qua:
88
+ - `/learn`
89
+ - `qk-project-memory`
90
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
91
+
92
+ ```
93
+ .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
94
+ ```
95
+
96
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
97
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
98
+
99
+ ---
100
+
101
+ ### Ignore (Không đưa vào Memory)
102
+ Không lưu:
103
+ - Trace log của một session đơn lẻ.
104
+ - Temporary debugging data.
105
+ - Output của một lần chạy test/scan.
106
+ - Report health tạm thời của một đợt kiểm tra.
107
+ - Lỗi nhỏ chỉ xảy ra một lần.
108
+ - Thông tin không có khả năng tái sử dụng.
109
+
110
+ ---
111
+
112
+ ### Golden Rule
113
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
114
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
115
+
116
+ ---
117
+
118
+ ## 1. Nguyên Tắc Cốt Lõi & Luật Chống Over-Engineering
119
+
120
+ > **Core Principle:** Metrics are signals, not goals. Never refactor code merely to satisfy a metric. Optimize for maintainability, correctness, testability, and minimal risk.
121
+ > **Verification Principle:** PASS is a verified conclusion, never a target. Zero workarounds.
122
+
123
+ ### 🛡️ Anti-Overengineering Rule (BẮT BUỘC TUÂN THỦ)
124
+ - **Cấm trừu tượng hóa quá đà:** Tuyệt đối KHÔNG tự ý tạo Design Patterns phức tạp (Abstract Factory, Decorator, Strategy...), Interfaces tầng tầng lớp lớp, Generic Wrappers, hay Custom Hooks nếu không mang lại lợi ích cụ thể, thực tế và rõ ràng cho việc đọc hiểu hoặc kiểm thử.
125
+ - **Ưu tiên giải pháp tối thiểu:** Luôn chọn sự thay đổi cấu trúc nhỏ nhất (smallest structural change) mà giải quyết được vấn đề bảo trì. 3 dòng code tường minh tốt hơn 30 dòng code pattern trừu tượng.
126
+ - **Không chạm vào code đang chạy tốt:** Nếu một đoạn code dài nhưng mạch lạc, có tính bao đóng tốt và không có yêu cầu thay đổi, KHÔNG ĐƯỢC phép xé nhỏ nó chỉ để chạy theo chỉ tiêu số dòng.
127
+
128
+ ### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
129
+ - Chỉ sửa các file, hàm hoặc package nằm trong phạm vi tái cấu trúc được yêu cầu.
130
+ - **CẤM** reformat hoặc format lại các file lân cận không thuộc scope.
131
+ - **CẤM** đổi tên biến, signature hàm của các module khác ngoài phạm vi.
132
+ - Nếu phát hiện code smell hoặc vấn đề ngoài scope: **Chỉ ghi nhận vào báo cáo**, tuyệt đối không tự ý chạm vào.
133
+
134
+ ### 🛡️ Anti-Fake-Pass Rule (CẤM ÉP PASS ẢO - R-G-14.5)
135
+ - **CẤM** dùng `as any`, `@ts-ignore`, hoặc `@ts-expect-error` để giấu lỗi type sau khi refactor.
136
+ - **CẤM** làm yếu assertions (weakening assertions), xóa test case hoặc skip test đang fail chỉ để test suite xanh.
137
+ - **CẤM** dùng `catch (e) {}` rỗng để nuốt ngoại lệ.
138
+
139
+ ### ⚖️ Verify Before Claim Rule (CHỐNG BỐC PHÉT DỮ LIỆU)
140
+ - **Chạy lệnh trước khi báo cáo:** Tuyệt đối **KHÔNG ĐƯỢC** tuyên bố "Tests pass", "Types clean", "Build successful", hay "Zero behavior change" nếu chưa thực sự thực thi các câu lệnh kiểm chứng trong terminal (`npm test`, `pytest`, `tsc --noEmit`).
141
+ - **Trung thực khi không chạy được:** Nếu môi trường thiếu dependencies, thiếu database test, hoặc lệnh test không khả dụng, AI **BẮT BUỘC** ghi rõ: `"Trạng thái: NOT VERIFIED — Chưa kiểm chứng bằng lệnh thực tế (Cần user verify thủ công)"`. Cấm bịa đặt số lượng test hay kết quả 100% ảo.
142
+
143
+ ---
144
+
145
+ ## 2. Ranh Giới & Tiêu Chí Phân Định (Decision Rules)
146
+
147
+ ### Khi nào CẦN và KHÔNG CẦN can thiệp:
148
+ 1. **File dài (> 300 dòng):**
149
+ - *Hướng dẫn:* File vượt quá 300 dòng **phải được xem xét (reviewed for decomposition)**, nhưng CHỈ BẮT BUỘC TÁCH khi file có quá nhiều trách nhiệm (vi phạm SRP), logic lộn xộn, hoặc khó kiểm thử.
150
+ - *Ngoại lệ:* Schema files, DTOs, configurations, code sinh tự động (generated code), hoặc component có cấu trúc đơn khối rõ ràng thì 400-500 dòng vẫn được phép giữ nguyên.
151
+ 2. **Hàm dài (> 40 dòng) & Nesting sâu (> 3 tầng):**
152
+ - Áp dụng **Guard Clauses (Early Return)** để triệt tiêu các khối `if/else` lồng nhau.
153
+ - Tách các đoạn logic tính toán phức tạp thành các Pure Helper Functions độc lập.
154
+ 3. **Chiến lược Test Pyramid (Target Guideline):**
155
+ - *Định hướng:* Ưu tiên kim tự tháp kiểm thử nghiêng về Unit Tests (chạy nhanh, cô lập), kế đến là Integration Tests, và số ít E2E Tests trọng yếu.
156
+ - *Tính linh hoạt:* Tỷ lệ 70/20/10 là mục tiêu tham chiếu (Guideline), không phải giáo điều bắt buộc. Tùy thuộc vào bản chất dự án (CRUD, Data pipeline hay UI library) mà điều chỉnh tỷ lệ phù hợp.
157
+
158
+ ### Planning Gate & Exceptions:
159
+ - Với tác vụ thay đổi ≥ 2 files hoặc nâng cấp major package, BẮT BUỘC lập `implementation_plan.md` với `RequestFeedback: true` và dừng lại chờ phê duyệt.
160
+ - **Ngoại lệ bỏ qua Planning Gate:**
161
+ - Tái cấu trúc chỉ nằm trong duy nhất 1 file (Single-file refactor).
162
+ - Tinh chỉnh Guard Clauses nhỏ hoặc thêm type annotation đơn giản.
163
+ - Người dùng chỉ định rõ ràng yêu cầu thực thi ngay lập tức.
164
+
165
+ ### Ranh giới chuyển giao (Scope Handoff):
166
+ - ❌ Nếu phát hiện bug logic trong code cũ → Chuyển sang `qk-bug-resolution`.
167
+ - ❌ Nếu cần phát triển tính năng mới → Chuyển sang `qk-feature-delivery`.
168
+
169
+ ---
170
+
171
+ ## 3. Quy Trình Thực Thi Tuần Tự 5 Bước (Sequential Procedure)
172
+
173
+ Mọi tác vụ Tái cấu trúc / Nâng cấp / Viết test BẮT BUỘC tuân thủ đúng thứ tự:
174
+
175
+ ```
176
+ [Bước 1: Baseline Check] ── Chạy test/type hiện có, đo lường hiện trạng trước khi đụng vào code
177
+ │
178
+ ▼
179
+ [Bước 2: Safety Net Harness] ── Nếu module chưa có test, viết Characterization Test bảo vệ hiện trạng
180
+ │
181
+ ▼
182
+ [Bước 3: Planning Gate] ── Nếu sửa ≥ 2 files, tạo plan & chờ duyệt (trừ trường hợp ngoại lệ)
183
+ │
184
+ ▼
185
+ [Bước 4: Incremental Refactor]── Sửa từng bước nhỏ (Surgical), áp dụng Guard Clauses, bump từng pkg
186
+ │
187
+ ▼
188
+ [Bước 5: Verify or Rollback] ── Chạy lại test thật. Nếu FAIL ──► Kích hoạt Failure Protocol (Revert ngay)
189
+ ```
190
+
191
+ ### Chi tiết từng bước:
192
+ - **Bước 1: Baseline Check:** Chạy bộ test hoặc type-check hiện có để biết hệ thống ban đầu xanh hay đỏ. Không refactor trên nền tảng đang bị gãy mà không báo trước cho user.
193
+ - **Bước 2: Safety Net Harness (Lưới an toàn):** Nếu code cũ không có test, hãy tạo một file test nhỏ kiểm chứng các đầu vào - đầu ra quan trọng hiện thời (Characterization Tests) trước khi đổi cấu trúc.
194
+ - **Bước 3: Planning Gate:** Nếu tác vụ thay đổi ≥ 2 files hoặc nâng cấp major package, tạo artifact `implementation_plan.md` với `RequestFeedback: true` theo mẫu ở Mục 5 và dừng lại chờ phê duyệt (trừ ngoại lệ).
195
+ - **Bước 4: Incremental Refactoring:**
196
+ - Tái cấu trúc từng khối nhỏ một. Không sửa đồng loạt nhiều module.
197
+ - Áp dụng Guard Clauses loại bỏ if lồng nhau.
198
+ - **Bước 5: Verification & Zero Behavior Change:**
199
+ - Chạy lại test suite. Đối chiếu đầu ra đảm bảo 100% khớp với baseline.
200
+ - CẤM mọi hành vi ép test pass bằng cách sửa assertion hay ép kiểu bẩn.
201
+
202
+ ---
203
+
204
+ ## 4. Xử Lý Sự Cố & Kế Hoạch Khôi Phục (Failure Path & Rollback)
205
+
206
+ ### 🚨 Khi kiểm thử thất bại (Test Fail) hoặc Behavior bị sai lệch:
207
+ 1. **Dừng ngay lập tức:** Không cố chấp viết thêm code "vá chằng vá đụp" lên đoạn refactor hỏng.
208
+ 2. **Kích hoạt Revert Bước Vừa Làm:**
209
+ ```bash
210
+ # Nếu chỉ sửa 1 file:
211
+ git checkout HEAD -- path/to/file.ts
212
+ # Nếu đã sửa nhiều file trong workspace:
213
+ git restore <các_file_vừa_sửa>
214
+ ```
215
+ 3. **Phân tích Delta (Nguyên nhân thất bại):** Xác định tại sao thay đổi nhỏ đó lại làm đổi behavior (Side-effect ngầm? Mutation ẩn? Thứ tự promise bị đảo lộn?).
216
+ 4. **Hạ quy mô (Step-down):** Thử lại với bước tái cấu trúc nhỏ hơn một nửa. Nếu vẫn không an toàn, báo cáo dừng lại và giữ nguyên code gốc.
217
+
218
+ ### 📦 Khi nâng cấp Package gặp xung đột (Dependency Conflict / Lockfile):
219
+ 1. **Khôi phục ngay:** `git checkout HEAD -- package.json package-lock.json pnpm-lock.yaml`
220
+ 2. **Không ép buộc (No `--force` / `--legacy-peer-deps` bừa bãi):** Tìm hiểu chính xác package nào xung đột peer dependency từ changelog, đề xuất user nâng cấp đồng thời hoặc tìm thư viện thay thế.
221
+
222
+ ---
223
+
224
+ ## 5. Khung Kế Hoạch Chuẩn (Implementation Plan Skeleton)
225
+
226
+ Khi tạo artifact `implementation_plan.md` cho các tác vụ ≥ 2 files:
227
+
228
+ ```markdown
229
+ # Implementation Plan: [Refactor / Upgrade / Testing] - [Tên Module]
230
+
231
+ ## 1. Mục tiêu & Giới hạn phạm vi
232
+ - Mục tiêu: [Cải thiện khả năng đọc / Tách file Service / Thêm unit tests]
233
+ - Cam kết: 100% Zero Behavior Change. Không đổi API contracts hay DB schema.
234
+
235
+ ## 2. Rủi ro & Điểm nhạy cảm
236
+ - [Rủi ro tiềm ẩn, ví dụ: Hàm X có side-effect ngầm, Package Y có breaking change ở v2]
237
+
238
+ ## 3. Các bước thực hiện từng file
239
+ - [ ] [TênFileGốc.ts](file:///<workspace-root>/src/...): Trích xuất logic X sang Helper
240
+ - [ ] [NEW] [TênFileMới.ts](file:///<workspace-root>/src/...): Nhận các pure functions
241
+ - [ ] [TênTest.test.ts](file:///<workspace-root>/tests/...): Chạy kiểm chứng
242
+
243
+ ## 4. Kế hoạch Rollback tức thì
244
+ - Lệnh khôi phục: `git restore src/path/to/files`
245
+ ```
246
+
247
+ ---
248
+
249
+ ## 6. Mẫu Code Đa Ngôn Ngữ Thực Chiến (Guard Clauses)
250
+
251
+ ### TypeScript Pattern:
252
+ ```typescript
253
+ // ❌ Cũ: Lồng ghép sâu, khó đọc
254
+ function processOrder(order: Order | null, user: User | null) {
255
+ if (order) {
256
+ if (user && user.isActive) {
257
+ if (order.items.length > 0) {
258
+ return calculateTotal(order);
259
+ }
260
+ }
261
+ }
262
+ return null;
263
+ }
264
+
265
+ // ✅ Mới: Tường minh, phẳng hóa logic bằng Early Return
266
+ function processOrder(order: Order | null, user: User | null): number | null {
267
+ if (!order || !user) return null;
268
+ if (!user.isActive) return null;
269
+ if (order.items.length === 0) return null;
270
+
271
+ return calculateTotal(order);
272
+ }
273
+ ```
274
+
275
+ ### Python Pattern:
276
+ ```python
277
+ # ❌ Cũ: Nesting lồng nhau
278
+ def calculate_discount(order, customer):
279
+ if order is not None:
280
+ if customer and customer.is_active:
281
+ if order.total_amount > 1000:
282
+ return order.total_amount * 0.1
283
+ return 0.0
284
+
285
+ # ✅ Mới: Guard Clauses đanh thép
286
+ def calculate_discount(order, customer) -> float:
287
+ if not order or not customer or not customer.is_active:
288
+ return 0.0
289
+ if order.total_amount <= 1000:
290
+ return 0.0
291
+
292
+ return order.total_amount * 0.1
293
+ ```
294
+
295
+ ---
296
+
297
+ ## 7. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
298
+
299
+ | Role | Trọng tâm khi Refactor & Viết Test | Hành vi kỹ thuật đặc thù |
300
+ |---|---|---|
301
+ | `frontend` | Tách nhỏ UI component, trích xuất custom hooks, tối ưu re-render | Tách container/presentational, Memoization, component unit test |
302
+ | `backend` | Tách God Service, áp dụng Dependency Injection, chuẩn hóa DTOs | Phân tầng Controller-Service-Repo, Unit test Service với mocked repository |
303
+ | `fullstack` | Đồng bộ hóa contracts, refactor shared types, end-to-end integration | Đồng bộ schemas giữa client/server, viết integration test luồng dữ liệu |
304
+ | `qa` | Thiết kế Test Matrix, tự động hóa regression test suites | Viết test cases biên (boundary analysis), mock scenarios |
305
+ | `data` | Refactor complex SQL queries, module hóa dbt models | Chia nhỏ staging/intermediate/marts models trong dbt, dbt tests |
306
+
307
+ ---
308
+
309
+ ## 8. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
310
+
311
+ ```markdown
312
+ 🧹 Code Cleaner Summary [Role: <role> | Task: <Tên công việc>]
313
+ ─────────────────────────────────────────────────────────────────────
314
+ Trạng thái: [SUCCESS | BLOCKED | FAILED | PARTIAL]
315
+ Phạm vi thực tế: [N files đã chỉnh sửa / tạo mới]
316
+ Cam kết tính năng: ✅ Zero Behavior Change (Hành vi bên ngoài giữ nguyên 100%)
317
+
318
+ Chi tiết cải thiện (Laser Focus):
319
+ • [Loại thay đổi]: [Tên file và chi tiết việc đã làm]
320
+
321
+ Kiểm chứng thực tế (Verify Before Claim):
322
+ • Lệnh test đã chạy: [npm test / pytest / tsc --noEmit / Chưa chạy (Nêu lý do)]
323
+ • Kết quả xác thực: [Pass N/N tests / Types Clean / NOT VERIFIED]
324
+ • Anti-overengineering: ✅ 0 abstraction thừa, giữ giải pháp tối giản nhất
325
+ • Zero Hack: ✅ Không dùng any, @ts-ignore, hay làm yếu test assertion
326
+
327
+ ⚠️ Phương án Rollback nếu cần:
328
+ • Lệnh: `git restore <các-file-đã-sửa>`
329
+ ```
330
+
331
+ ---
332
+
333
+ ## 9. Mô Hình Độ Tin Cậy (Confidence Model)
334
+
335
+ | Level | Condition | Action |
336
+ |-------|-----------|--------|
337
+ | HIGH | Direct evidence available | Proceed |
338
+ | MEDIUM | Some assumptions needed | Note assumptions |
339
+ | LOW | Insufficient evidence | EXIT: BLOCKED |
340
+
341
+ ---
342
+
343
+ ## 10. Thoái Ra Mã (Exit Codes)
344
+
345
+ | Code | Meaning | When |
346
+ |------|---------|------|
347
+ | SUCCESS | Task completed and verified | All acceptance criteria met |
348
+ | PARTIAL | Task done with minor gaps | Some checks skipped |
349
+ | BLOCKED | Missing precondition or info | Ask user |
350
+ | FAILED | Task failed after max retries | Report error |
351
+
352
+ ---
353
+
354
+ ## 11. Bằng Chứng Định Dạng (Evidence Format)
355
+
356
+ ```
357
+ [SEVERITY] path/to/file.ts:LINE
358
+ Reason: [why this matters]
359
+ Confidence: [HIGH|MEDIUM|LOW]
360
+ Fix: [suggestion]
361
+ ```
362
+
363
+ ---
364
+
365
+ ## Platform-Specific Instructions
366
+
367
+ ### Antigravity (Google Gemini)
368
+ - Uses `.agents/AGENTS.md` as entry point
369
+ - Supports Cockpit integration
370
+ - Rewrite absolute paths for global mode
371
+ - `GEMINI.md` copied for global installs
372
+
373
+ ### Claude Code (Anthropic)
374
+ - Reads `.claude/CLAUDE.md` automatically
375
+ - Large context window (~200K tokens)
376
+ - Can handle full skill files without trimming
377
+ - Uses native tool format (Read, Write, Edit, Bash)
378
+
379
+ ### OpenCode (Open Source)
380
+ - Reads `.opencode/config.yaml`
381
+ - Context window ~128K tokens
382
+ - Keep skill files lean when possible
383
+ - Supports custom tool format
384
+
385
+ ---
386
+
387
+ ## Compliance
388
+
389
+ | Check | Status |
390
+ |-------|--------|
391
+ | Runtime Standard | 11/11 |
392
+ | Frontmatter Complete | ✅ |
393
+ | Platforms Field | ✅ |
394
+ | References Valid | ✅ |
395
+ | Decision Trees | PASS |
396
+ | Thresholds Defined | PASS |
397
+ | schema_version | 10.2.0 |
398
+ | runtime_version | 1 |
399
+ | platforms | [antigravity, claude, opencode] |