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
@@ -1,257 +1,337 @@
1
1
  ---
2
- # ── Identity ───────────────────────────────────────────────
3
- name: qk-bug-resolution
4
- version: 9.2.0
5
- status: stable
6
- description: "Sửa lỗi (bugs) bằng chu trình khép kín: Observe → Hypothesize → Evidence → Fix → Verify. Dùng skill này khi user nhắc đến: fix bug, sửa lỗi, crash, error, exception, not working, bị lỗi, debug — kể cả khi chỉ paste stack trace hoặc mô tả triệu chứng mà không nói rõ là \"bug\"."
7
- platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
-
9
- # ── V9: Classification ─────────────────────────────────────
10
- type: capability
11
-
12
- intent:
13
- - bug-fixing
14
- - debugging
15
- - error-resolution
16
-
17
- complexity:
18
- level: medium
19
- criteria:
20
- files_affected: "2-5"
21
- has_behavior_change: true
22
- has_external_dependency: false
23
- has_breaking_change: false
24
-
2
+ name: qk-bug-resolution
3
+ version: 10.2.0
4
+ status: stable
5
+ subtitle: "Debug & Fix Bug"
6
+ description: "Chẩn đoán nguyên nhân gốc rễ và khắc phục lỗi mã nguồn theo chu trình khép kín 4 bước (Triangulate → Root-Cause → Surgical Fix → Regression Shield). Dùng khi: fix bug, sửa lỗi, crash, error, exception, trace lỗi, điều tra nguyên nhân bug, not working, màn hình trắng, lỗi logic — TUYỆT ĐỐI KHÔNG dùng khi cần tái cấu trúc lớn (dùng qk-code-cleaner) hoặc làm 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: bug-resolution
25
17
  triggers:
26
18
  - "fix bug"
27
19
  - "sửa lỗi"
28
20
  - "crash"
29
21
  - "error"
30
22
  - "exception"
23
+ - "trace lỗi"
24
+ - "điều tra nguyên nhân bug"
25
+ - "debug lỗi"
31
26
  - "not working"
32
27
  - "bị lỗi"
33
- - "debug"
34
-
35
-
36
- selection:
37
- priority: high
38
- confidence_threshold: 0.65
39
-
40
- # ── V8: References ─────────────────────────────────────────
41
- workflow: bug-resolution
42
-
43
- rules:
44
- - global
45
- - coding
46
-
47
- tools:
48
- - filesystem
49
- - terminal
50
-
51
- related_skills:
52
- - qk-context-loader
53
- - qk-test-engineering
54
-
55
- knowledge_scope:
56
- owns:
57
- - bug-diagnosis
58
- - fix-strategies
59
- - root-cause-analysis
60
- references:
61
- - testing
62
- - language-specific-features
63
- - security
64
- - anti-patterns
65
-
66
- # ── V8: Verification ───────────────────────────────────────
67
- verification:
68
- required: true
69
- strategy: bug-fix
70
-
71
- examples: []
72
- learnings: []
73
-
74
- # ── V7 Runtime ─────────────────────────────────────────────
75
- execution_mode: deterministic
76
- cost: medium
77
- latency: medium
78
- risk: medium
79
- side_effects: edit_files
80
- produces: [code, report]
81
- consumes: [stack-trace, error-message, user-description, context-graph]
82
-
83
- token_budget:
84
- max_files_read: 3
85
- max_lines_per_read: 150
86
- max_shell_commands: 2
87
- stop_early: true
88
-
89
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
90
- ---
91
-
92
- # qk-bug-resolution — Diagnose & Repair
93
-
94
- > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
95
-
96
- Chịu trách nhiệm chẩn đoán và khắc phục lỗi mã nguồn theo chu trình khép kín: **Observe (Quan sát) → Hypothesize (Giả thuyết) → Evidence (Bằng chứng) → Fix (Sửa chữa) → Verify (Xác thực)**. Tuyệt đối không đoán mò hoặc áp dụng "quick-hack" làm che giấu lỗi gốc.
97
-
98
- ---
99
-
100
- ## Preconditions
101
-
102
- Trước khi sửa bất kỳ dòng code nào, AI BẮT BUỘC kiểm tra:
103
-
104
- - [ ] Thu thập đầy đủ triệu chứng lỗi: error message, stack trace, hoặc mô tả hành vi sai lệch (reproduction steps).
105
- - [ ] Xác định file/hàm nghi vấn và đọc source code thực tế.
106
- - [ ] Tái hiện hoặc tìm được bằng chứng trực tiếp xác nhận nguyên nhân gốc (root cause).
107
- - [ ] Nếu không có đủ thông tin hoặc không thể xác định được nguyên nhân:
108
- → **EXIT: BLOCKED**
109
- → Báo cáo user yêu cầu bổ sung context, logs hoặc reproduction steps.
110
-
111
- ---
112
-
113
- ## Scope
114
-
115
- ✅ Skill này làm:
116
- - Phân tích stack traces, server logs, console errors.
117
- - Điều tra nguyên nhân gốc rễ (Root Cause Analysis) tại tầng logic, type mismatch, hoặc concurrency.
118
- - Đưa ra giải pháp khắc phục triệt để (surgical fix) nhắm đúng nguyên nhân gốc.
119
- - Thêm hoặc cập nhật test cases để tái hiện bug và ngăn chặn hiện tượng hồi quy (regression).
120
- - Bảo toàn hành vi ban đầu của các tính năng không liên quan.
121
-
122
- ❌ Skill này KHÔNG làm:
123
- - Viết lại toàn bộ module hoặc đổi kiến trúc lớn chỉ để sửa 1 bug (→ `qk-refactor`).
124
- - Xây dựng thêm tính năng mới chưa từng tồn tại (→ `qk-feature-delivery`).
125
- - Tự động thay đổi DB schema nếu chưa đánh giá tính tương thích ngược (→ `qk-data-lifecycle`).
126
-
127
- ---
128
-
129
- ## Execution Steps
130
-
131
- ### Step 1 — Observe & Reproduce
132
- ```
133
- Inputs: Error logs, Stack trace, Mô tả từ user
134
- Actions:
135
- - Phân tích vị trí file, dòng code gây lỗi.
136
- - Xác định điều kiện biên (edge cases) hoặc trạng thái dữ liệu kích hoạt bug.
137
- Output: Symptom breakdown & Target files
138
- ```
139
-
140
- ### Step 2 — Hypothesize & Evidence Gathering
141
- ```
142
- Inputs: Target code, Runtime environment
143
- Actions:
144
- - Đặt giả thuyết về nguyên nhân cốt lõi (null pointer, race condition, state mutation, network failure).
145
- - Đọc code liên quan để kiểm chứng giả thuyết (xem callers, callees, data flow).
146
- Exit: BLOCKED nếu giả thuyết không có bằng chứng logic chứng minh.
147
- ```
148
-
149
- ### Step 3 — Surgical Fix
150
- ```
151
- Inputs: Verified root cause
152
- Actions:
153
- - Sửa lỗi chính xác tại nơi phát sinh (surgical modification).
154
- - Đảm bảo xử lý triệt để các edge cases liên đới.
155
- - Giữ nguyên coding style và quy ước hiện hữu của dự án.
156
- Output: Targeted code fix
157
- ```
158
-
159
- ### Step 4 — Verify & Prevent Regression
160
- ```
161
- Inputs: Targeted code fix
162
- Actions:
163
- - Kiểm tra xem lỗi đã được khắc phục hoàn toàn chưa.
164
- - Chạy linter, typecheck và unit tests liên quan.
165
- - Đề xuất hoặc viết regression test để đảm bảo lỗi không tái diễn.
166
- Exit: SUCCESS nếu verification pass và không phát sinh side effects.
167
- ```
168
-
169
- ---
170
-
171
- ## Prompt Template
172
-
173
- AI đọc `DEV_PROFILE.md` để biết stack. Paste đúng error — AI sẽ đọc code, không đoán mò.
174
-
175
- ```
176
- Lỗi: [Error message / stack trace đầy đủ — paste nguyên văn]
177
- Xảy ra khi: [Thao tác / điều kiện / input nào trigger lỗi]
178
- Tần suất: [Luôn luôn / đôi khi / chỉ trên production / chỉ với user X]
179
- File nghi ngờ: [Đường dẫn nếu biết]
180
- Đã thử: [Những gì đã làm — để AI không lặp lại]
181
- ```
182
-
183
- ---
184
-
185
- ### Theo Role — AI điều tra theo chiều sâu khác nhau:
186
-
187
- **role: fe**
188
- ```
189
- Lỗi: Uncaught TypeError: Cannot read properties of null (reading 'userId')
190
- at ProfileCard.tsx:47
191
- Xảy ra khi: Vào /profile sau khi logout rồi login lại bằng account khác
192
- Tần suất: Luôn luôn reproduce được
193
- File nghi ngờ: src/components/ProfileCard.tsx, src/store/authStore.ts
194
- Đã thử: Thêm null check ở line 47 nhưng lỗi chuyển sang line 52
195
- ```
196
- → AI điều tra: stale state trong Zustand/Redux khi re-login, component lifecycle
197
- vs store reset timing, race condition giữa auth state và component render.
198
-
199
- **role: be**
200
- ```
201
- Lỗi: PrismaClientKnownRequestError: Unique constraint failed on field `email`
202
- at POST /api/auth/register — status 500 thay vì 409
203
- Xảy ra khi: Register với email đã tồn tại
204
- Tần suất: Luôn luôn
205
- File nghi ngờ: src/routes/auth/register.ts
206
- Đã thử: Chưa thử gì, mới phát hiện
207
- ```
208
- → AI điều tra: missing error type guard cho Prisma errors, HTTP status code mapping,
209
- idempotency của endpoint, có nên check trước (findUnique) hay catch lỗi.
210
-
211
- **role: fullstack**
212
- ```
213
- Lỗi: Optimistic update trên FE hiện sai data, sau 2s mới sync về đúng
214
- Xảy ra khi: Xóa item trong danh sách → item biến mất → reload lại → item vẫn còn
215
- Tần suất: Chỉ xảy ra khi network chậm (> 1s)
216
- File nghi ngờ: FE: useDeleteItem.ts / BE: DELETE /api/items/:id
217
- Đã thử: Đã kiểm tra BE trả 200 đúng
218
- ```
219
- → AI điều tra: React Query mutation onMutate/onError/onSettled sequence,
220
- cache invalidation timing, BE rollback khi constraint violation,
221
- contract mismatch giữa FE optimistic state và BE response.
222
-
223
- **role: data**
224
- ```
225
- Lỗi: DuplicateKeyError trên BigQuery sau khi re-run DAG ngày 2024-01-15
226
- Job: daily_sales_load — task: load_to_bq
227
- Xảy ra khi: Manual re-run sau khi pipeline fail giữa chừng
228
- Tần suất: Mỗi lần re-run partial load
229
- File nghi ngờ: dags/daily_sales_load.py, transforms/sales_transform.sql
230
- Đã thử: Xóa data ngày đó trên BQ rồi re-run — OK, nhưng không scalable
231
- ```
232
- → AI điều tra: idempotency gap (thiếu MERGE/UPSERT), partition-based delete trước load,
233
- task atomicity design, watermark checkpoint bị reset sai.
234
-
235
- **role: ai-engineer**
236
- ```
237
- Lỗi: RAG trả lời sai — cite đúng document nhưng nội dung không liên quan
238
- Xảy ra khi: Câu hỏi có nhiều từ khóa overlap với nhiều document khác nhau
239
- Tần suất: ~30% queries liên quan đến chủ đề "pricing"
240
- File nghi ngờ: retrieval/vector_search.py, prompts/rag_system.txt
241
- Đã thử: Tăng top_k từ 3 lên 5 — không cải thiện
242
- ```
243
- → AI điều tra: embedding model semantic mismatch, chunk boundary cắt mất context,
244
- thiếu reranking layer, system prompt không enforce grounding,
245
- cần hybrid search (BM25 + dense) cho domain-specific terms.
246
-
247
- **role: devops**
248
- ```
249
- Lỗi: GitHub Actions deploy job fail: "Error: EACCES: permission denied, open '/app/logs'"
250
- Stage: production — chỉ xảy ra sau khi update Docker base image
251
- Xảy ra khi: Deploy lên production container
252
- Tần suất: 100% sau khi merge PR #247
253
- File nghi ngờ: Dockerfile, docker-compose.prod.yml, .github/workflows/deploy.yml
254
- Đã thử: Revert base image — OK, nhưng cần base image mới để patch CVE
255
- ```
256
- → AI điều tra: USER directive trong Dockerfile thay đổi giữa image versions,
257
- volume mount permission, non-root user setup, security vs functionality trade-off.
28
+ - "màn hình trắng"
29
+ - "lỗi 500"
30
+ ---
31
+
32
+ # qk-bug-resolution — Debug & Fix Bug (Surgical Root-Cause Engine)
33
+
34
+ > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
35
+
36
+ ---
37
+
38
+ ## Memory Workflow
39
+
40
+ ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
41
+ - 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:
42
+ - **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.
43
+ - **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.
44
+
45
+ ---
46
+
47
+ ### Pre-flight Retrieve (Trước khi thực thi)
48
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
49
+ bắt buộc tra cứu:
50
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
51
+
52
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
53
+ - Architecture
54
+ - Hard Bug
55
+ - Convention
56
+ - Pattern
57
+ - Tech Debt Pattern
58
+ - 👉 *Domain Focus:* Hard Bug (vd: lỗi memory leak, race condition, lỗi thư viện tương tự từng gặp).
59
+
60
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
61
+ Không được xem Memory là Source of Truth.
62
+ 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.
63
+
64
+ ---
65
+
66
+ ### Learning Flow (AI tự học có kiểm soát)
67
+ - 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:
68
+ - Hard Bug có khả năng tái diễn.
69
+ - Pattern làm việc lặp lại trong dự án.
70
+ - Convention hoặc quy tắc kiến trúc mới.
71
+ - Quyết định Architecture quan trọng.
72
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
73
+ - 👉 *Domain Harvest:* Hard Bug mới có khả năng tái diễn (vd: nguyên nhân sâu xa của crash/leak để phòng ngừa).
74
+
75
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
76
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
77
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
78
+
79
+ ---
80
+
81
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
82
+ Sau khi hoàn thành task:
83
+ - AI đánh giá các Candidate Memory đã tạo.
84
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
85
+ - Đề xuất người dùng xem xét.
86
+ - Gửi yêu cầu phê duyệt thông qua:
87
+ - `/learn`
88
+ - `qk-project-memory`
89
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
90
+
91
+ ```
92
+ .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
93
+ ```
94
+
95
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
96
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
97
+
98
+ ---
99
+
100
+ ### Ignore (Không đưa vào Memory)
101
+ Không lưu:
102
+ - Trace log của một session đơn lẻ.
103
+ - Temporary debugging data.
104
+ - Output của một lần chạy test/scan.
105
+ - Report health tạm thời của một đợt kiểm tra.
106
+ - Lỗi nhỏ chỉ xảy ra một lần.
107
+ - Thông tin không có khả năng tái sử dụng.
108
+ - 👉 *Domain Ignore:* Lỗi nhỏ chỉ xảy ra một lần (vd: typo, quên import, thiếu ngoặc đơn giản).
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:** A bug fix must be surgical, evidence-based, and minimal. Never guess. Never refactor surrounding code during a bug fix.
121
+ > **Verification Principle:** PASS is a verified conclusion, never a target. Zero workarounds.
122
+
123
+ ### 🛡️ Anti-Overengineering Rule (CẤM SỬA LAN MAN)
124
+ - **Tối thiểu hóa Diff (Minimal Diff):** Chỉ sửa đúng dòng code hoặc biểu thức gây ra lỗi. Tuyệt đối KHÔNG nhân cơ hội sửa bug để "tiện tay" đổi tên biến xung quanh, format lại cả file, hay viết lại cả hàm.
125
+ - **Không thay đổi kiến trúc trong bản vá:** Nếu phát hiện kiến trúc cũ xấu, giải quyết dứt điểm bug trước bằng một bản vá an toàn (Surgical Guard), sau đó đề xuất người dùng chạy `qk-code-cleaner` sau. Cấm trộn lẫn việc fix bug và việc refactor vào cùng một lần sửa.
126
+
127
+ ### 🔒 No Unrelated Changes Rule (CẤM CHẠM CODE NGOÀI)
128
+ - Tuyệt đối không sửa các file ngoài call-path của bug.
129
+ - Tuyệt đối không tự tiện nâng cấp thư viện lân cận.
130
+ - 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ự sửa.
131
+
132
+ ### 🛡️ Anti-Fake-Pass Rule (CẤM ÉP PASS ẢO - R-G-14.5)
133
+ - **CẤM** dùng `as any`, `@ts-ignore`, `@ts-expect-error` để che giấu crash hoặc lỗi type.
134
+ - **CẤM** dùng `catch (e) {}` rỗng nuốt exception để code không crash bề mặt.
135
+ - **CẤM** sửa expected assertions trong unit test để lừa test runner chuyển từ đỏ sang xanh.
136
+
137
+ ### ⚖️ Verify Before Claim Rule (XÁC MINH TRƯỚC KHI TUYÊN BỐ)
138
+ - **Cấm tuyên bố đã sửa xong nếu chưa kiểm chứng:** Nếu có test runner hoặc script tái hiện, BẮT BUỘC phải chạy lệnh để chứng minh lỗi đã biến mất.
139
+ - **Báo cáo trung thực:** Nếu không thể chạy môi trường (thiếu DB, thiếu API 3rd party), AI phải ghi rõ: `"Trạng thái: NOT VERIFIED — Đã vá theo bằng chứng tĩnh, chưa thể chạy test tự động. Cần user test tay theo kịch bản dưới đây"`.
140
+
141
+ ---
142
+
143
+ ## 2. Ranh Giới & Phạm Vi Kỹ Thuật (Hard Boundaries)
144
+
145
+ ### ✅ Việc skill này BẮT BUỘC làm:
146
+ - Thu thập và phân tích trực tiếp stack trace, logs, và file mã nguồn xung quanh call-stack.
147
+ - Tìm ra nguyên nhân gốc (Root Cause) bằng chứng cứ trong code thực tế, không dừng ở triệu chứng bề mặt.
148
+ - Phân loại chính xác: Logic Error, State Mutation, Boundary Condition, Type/Schema Mismatch, Race Condition, hoặc Unhandled Exception.
149
+ - Viết bản vá phẫu thuật (Surgical Fix) có tính phòng thủ (null-safety, boundary guard).
150
+ - Tạo hoặc cập nhật regression test để khóa lỗi vĩnh viễn (nếu repo có test framework).
151
+
152
+ ### ❌ Việc skill này TUYỆT ĐỐI KHÔNG làm (Chuyển giao quyền):
153
+ - Tái cấu trúc cả module vì chê code xấu → Chuyển sang `qk-code-cleaner`.
154
+ - Thêm tính năng mới chưa từng có trong spec → Chuyển sang `qk-feature-delivery`.
155
+ - Thay đổi cấu trúc cơ sở dữ liệu lớn → Chuyển sang `qk-backend-data`.
156
+
157
+ ---
158
+
159
+ ## 3. Quy Trình Khép Kín 4 Bước (Sequential Procedure)
160
+
161
+ ```
162
+ [Bước 1: Triangulate] ── Đọc log/trace, mở file thực tế quanh điểm crash, khoanh vùng phạm vi
163
+ │
164
+ ▼
165
+ [Bước 2: Root-Cause] ── Trả lời 5 câu hỏi gốc rễ (R-G-14.1). Nếu thiếu chứng cứ ──► BLOCKED
166
+ │
167
+ ▼
168
+ [Bước 3: Surgical Fix] ── Viết bản vá tối thiểu, defensive programming, không chạm code ngoài
169
+ │
170
+ ▼
171
+ [Bước 4: Verify & Test] ── Chạy test xác thực thực tế. Nếu FAIL ──► Kích hoạt Failure Path
172
+ ```
173
+
174
+ ### Chi tiết các bước:
175
+ 1. **Triangulate (Khoanh vùng):** Mở file chứa dòng lỗi, đọc tối thiểu 30–50 dòng xung quanh để hiểu ngữ cảnh.
176
+ 2. **Root-Cause Gate (R-G-14.1):** Bắt buộc trả lời 5 câu hỏi trước khi sửa:
177
+ - 1. Vấn đề quan sát được là gì?
178
+ - 2. Lỗi xảy ra ở đâu (file & line)?
179
+ - 3. Luồng code nào dẫn tới lỗi?
180
+ - 4. Nguyên nhân gốc rễ là gì?
181
+ - 5. Vì sao bản vá đề xuất sẽ triệt tiêu nguyên nhân gốc rễ này?
182
+ *(Nếu không xác định được với đầy đủ bằng chứng: Chuyển trạng thái `Status: BLOCKED`)*.
183
+ 3. **Surgical Fix:** Vá lỗi tại điểm phát sinh hoặc thêm Guard Clause phòng ngự. Đảm bảo optional chaining `?.`, fallback an toàn.
184
+ 4. **Verification:** Chạy test hoặc kiểm tra call-sites để đảm bảo các nơi khác gọi hàm này không bị ảnh hưởng.
185
+
186
+ ---
187
+
188
+ ## 4. Xử Lý Sự Cố Khi Bản Vá Thất Bại (Failure Path Protocol)
189
+
190
+ Nếu sau khi áp dụng bản vá mà lỗi vẫn còn hoặc sinh ra lỗi mới (Regression):
191
+ 1. **Revert ngay bản vá vừa làm:**
192
+ ```bash
193
+ git checkout HEAD -- path/to/failed_fix_file
194
+ ```
195
+ 2. **Hủy bỏ giả thuyết cũ:** Không cố chấp chắp vá thêm code. Việc test fail chứng tỏ giả thuyết về nguyên nhân gốc đã SAI.
196
+ 3. **Hình thành giả thuyết mới:** Đọc kỹ thông báo lỗi mới xuất hiện để tìm nguyên nhân thực sự sâu hơn (ví dụ: lỗi không nằm ở controller mà nằm ở transformer dữ liệu trước đó).
197
+ 4. **Giới hạn 2 lần thử:** Nếu sau 2 lần vá vẫn không hết lỗi, AI BẮT BUỘC dừng lại, giữ nguyên trạng thái ban đầu và báo cáo chi tiết các giả thuyết đã thử để xin thêm log từ người dùng với trạng thái `Status: BLOCKED`.
198
+
199
+ ---
200
+
201
+ ## 5. Ví Dụ Bản Vá Phẫu Thuật Đa Ngôn Ngữ
202
+
203
+ ### TypeScript / JavaScript:
204
+ ```typescript
205
+ // ❌ Trước khi sửa: TypeError: Cannot read properties of undefined (reading 'address')
206
+ function getUserCity(user: UserResponse) {
207
+ return user.profile.address.city;
208
+ }
209
+
210
+ // ✅ Bản vá tối thiểu (Surgical Fix) có Null-Safety & Fallback:
211
+ function getUserCity(user: UserResponse | null | undefined): string {
212
+ return user?.profile?.address?.city ?? "Unknown";
213
+ }
214
+ ```
215
+
216
+ ### Python:
217
+ ```python
218
+ # ❌ Trước khi sửa: KeyError hoặc NoneType error khi item không có 'price'
219
+ def calculate_subtotal(items):
220
+ return sum(item["price"] * item["quantity"] for item in items)
221
+
222
+ # ✅ Bản vá tối thiểu (Surgical Fix) phòng thủ với dict.get() và type guard:
223
+ def calculate_subtotal(items) -> float:
224
+ if not items:
225
+ return 0.0
226
+ return sum(
227
+ float(item.get("price", 0.0)) * int(item.get("quantity", 1))
228
+ for item in items
229
+ if isinstance(item, dict)
230
+ )
231
+ ```
232
+
233
+ ---
234
+
235
+ ## 6. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
236
+
237
+ | Role | Trọng tâm khi Debug & Fix Bug | Hành vi kỹ thuật đặc thù |
238
+ |---|---|---|
239
+ | `frontend` | UI lifecycle, re-rendering, event propagation, API response binding | Kiểm tra network mock, hook dependency array, conditional rendering |
240
+ | `backend` | Transaction rollback, auth middleware, input validation, SQL exception | Kiểm tra query logging, DB connection pool, Zod validation, error status |
241
+ | `fullstack` | Hợp đồng giao tiếp FE-BE, serialization, cookie/session, sync state | Kiểm tra shared types, request payload vs response schema, CORS |
242
+ | `data` | Data corruption, schema drift, null trong pipeline, OOM | Kiểm tra partition path, dbt logs, data quality assertion, idempotency |
243
+ | `devops` | CrashLoopBackOff, memory leak, missing env secret, port conflict | Kiểm tra container logs, Docker healthcheck, ingress/proxy headers |
244
+ | `qa` | Tạo test case tái hiện (Repro step), edge-case boundary verification | Viết automated reproduction script, kiểm tra cross-browser |
245
+
246
+ ---
247
+
248
+ ## 7. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
249
+
250
+ ```markdown
251
+ 🔧 Bug Resolution Summary [Role: <role> | Type: <Dạng lỗi>]
252
+ ─────────────────────────────────────────────────────────────────────
253
+ Trạng thái: [SUCCESS | BLOCKED | FAILED | PARTIAL]
254
+ Triệu chứng ban đầu: [Mô tả ngắn gọn lỗi gặp phải và thông báo lỗi]
255
+ Nguyên nhân gốc rễ: [Cơ chế chính xác gây ra lỗi trong mã nguồn]
256
+
257
+ Vị trí đã can thiệp phẫu thuật (Laser Focus):
258
+ ✅ [FIX] [TênFile.ts:L42](file:///<workspace-root>/path/to/file.ts#L42-L48): [Mô tả bản vá ngắn gọn]
259
+
260
+ Kiểm chứng thực tế (Verify Before Claim):
261
+ • Chạy lệnh kiểm thử: [Đã chạy: `npm test path/to/test` | Chưa chạy (Lý do môi trường)]
262
+ • Kết quả kiểm tra: [Pass | Regression test đã bổ sung | Cần user test tay]
263
+ • Tác động phụ: ✅ Đã rà soát N call-sites, 0 side-effect
264
+
265
+ 📋 Kịch bản test tay dành cho người dùng:
266
+ 1. [Thao tác cụ thể để kích hoạt lại luồng và xác nhận lỗi đã hết]
267
+ ```
268
+
269
+ ---
270
+
271
+ ## 8. Mô Hình Độ Tin Cậy (Confidence Model)
272
+
273
+ | Level | Condition | Action |
274
+ |-------|-----------|--------|
275
+ | HIGH | Direct evidence available | Proceed |
276
+ | MEDIUM | Some assumptions needed | Note assumptions |
277
+ | LOW | Insufficient evidence | EXIT: BLOCKED |
278
+
279
+ ---
280
+
281
+ ## 9. Thoái Ra Mã (Exit Codes)
282
+
283
+ | Code | Meaning | When |
284
+ |------|---------|------|
285
+ | SUCCESS | Task completed and verified | All acceptance criteria met |
286
+ | PARTIAL | Task done with minor gaps | Some checks skipped |
287
+ | BLOCKED | Missing precondition or info | Ask user |
288
+ | FAILED | Task failed after max retries | Report error |
289
+
290
+ ---
291
+
292
+ ## 10. Bằng Chứng Định Dạng (Evidence Format)
293
+
294
+ ```
295
+ [SEVERITY] path/to/file.ts:LINE
296
+ Reason: [why this matters]
297
+ Confidence: [HIGH|MEDIUM|LOW]
298
+ Fix: [suggestion]
299
+ ```
300
+
301
+ ---
302
+
303
+ ## Platform-Specific Instructions
304
+
305
+ ### Antigravity (Google Gemini)
306
+ - Uses `.agents/AGENTS.md` as entry point
307
+ - Supports Cockpit integration
308
+ - Rewrite absolute paths for global mode
309
+ - `GEMINI.md` copied for global installs
310
+
311
+ ### Claude Code (Anthropic)
312
+ - Reads `.claude/CLAUDE.md` automatically
313
+ - Large context window (~200K tokens)
314
+ - Can handle full skill files without trimming
315
+ - Uses native tool format (Read, Write, Edit, Bash)
316
+
317
+ ### OpenCode (Open Source)
318
+ - Reads `.opencode/config.yaml`
319
+ - Context window ~128K tokens
320
+ - Keep skill files lean when possible
321
+ - Supports custom tool format
322
+
323
+ ---
324
+
325
+ ## Compliance
326
+
327
+ | Check | Status |
328
+ |-------|--------|
329
+ | Runtime Standard | 11/11 |
330
+ | Frontmatter Complete | ✅ |
331
+ | Platforms Field | ✅ |
332
+ | References Valid | ✅ |
333
+ | Decision Trees | PASS |
334
+ | Thresholds Defined | PASS |
335
+ | schema_version | 10.2.0 |
336
+ | runtime_version | 1 |
337
+ | platforms | [antigravity, claude, opencode] |
@@ -1,6 +1,6 @@
1
1
  name: qk-bug-resolution-eval
2
2
  description: Đánh giá chất lượng quy trình sửa lỗi (Bug Resolution)
3
- version: 9.1.0
3
+ version: 10.2.0
4
4
  threshold: 85 # Quy trình sửa lỗi cần bằng chứng rõ ràng và sửa đúng trọng tâm
5
5
 
6
6
  metrics: