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,251 +1,335 @@
1
1
  ---
2
- # ── Identity ───────────────────────────────────────────────
3
- name: qk-feature-delivery
4
- version: 9.2.0
5
- status: stable
6
- description: "Phát triển tính năng mới end-to-end: Requirements → Context → Design → Implement → Self-audit. Dùng skill này khi user nhắc đến: add feature, build new, implement, phát triển tính năng, tạo mới, thêm chức năng — kể cả khi mô tả bằng ngôn ngữ tự nhiên như \"tôi muốn có tính năng X\" hoặc \"làm cho app có thể Y\"."
7
- platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
8
-
9
- # ── V9: Classification ─────────────────────────────────────
10
- type: capability
11
-
12
- intent:
13
- - feature-building
14
- - end-to-end-development
15
- - implementation
16
-
17
- complexity:
18
- level: high
19
- criteria:
20
- files_affected: "5+"
21
- has_behavior_change: true
22
- has_external_dependency: true
23
- has_breaking_change: false
24
-
2
+ name: qk-feature-delivery
3
+ version: 10.2.0
4
+ status: stable
5
+ subtitle: "Build Feature mới"
6
+ description: "Phát triển tính năng mới end-to-end: Thiết lập Contract kiểu dữ liệu, tích hợp gọi API, xử lý trọn vẹn 4 trạng thái UI (Loading/Success/Empty/Error) và tuân thủ YAGNI/SOLID. Dùng khi: add feature, phát triển tính năng mới, tạo mới, build new, thêm chức năng, tích hợp api, fetch data, consume api, bind data, state management — TUYỆT ĐỐI KHÔNG dùng cho việc fix bug (dùng qk-bug-resolution) hoặc dọn dẹp code cũ (dùng qk-code-cleaner)."
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: feature-delivery
25
17
  triggers:
26
18
  - "add feature"
27
- - "build new"
28
- - "implement"
29
- - "phát triển tính năng"
30
- - "tạo mới"
19
+ - "phát triển tính năng mới"
20
+ - "tạo mới tính năng"
21
+ - "build new feature"
31
22
  - "thêm chức năng"
32
-
33
-
34
- selection:
35
- priority: medium
36
- confidence_threshold: 0.85
37
-
38
- # ── V8: References ─────────────────────────────────────────
39
- workflow: feature-delivery
40
-
41
- rules:
42
- - global
43
- - coding
44
- - safety
45
-
46
- tools:
47
- - filesystem
48
- - terminal
49
-
50
- related_skills:
51
- - qk-context-loader
52
- - qk-test-engineering
53
-
54
- knowledge_scope:
55
- owns:
56
- - feature-implementation
57
- - requirement-analysis
58
- references:
59
- - testing
60
- - security
61
- - anti-patterns
62
- - design-system
63
-
64
- # ── V8: Verification ───────────────────────────────────────
65
- verification:
66
- required: true
67
- strategy: feature
68
-
69
- examples: []
70
- learnings: []
71
-
72
- # ── V7 Runtime ─────────────────────────────────────────────
73
- execution_mode: deterministic
74
- cost: high
75
- latency: slow
76
- risk: medium
77
- side_effects: edit_files
78
- produces: [code, report]
79
- consumes: [context-graph, design-md, user-description]
80
-
81
- token_budget:
82
- max_files_read: 5
83
- max_lines_per_read: 150
84
- max_shell_commands: 2
85
- stop_early: true
86
-
87
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
88
- ---
89
-
90
- # qk-feature-delivery — End-to-End Feature Builder
91
-
92
- > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
93
-
94
- Chịu trách nhiệm triển khai tính năng mới end-to-end theo luồng tiêu chuẩn: **Requirements → Context → Design → Implement → Self-audit**. Bảo đảm code viết ra tích hợp mượt mà vào hệ thống hiện hữu, chuẩn theo role và conventions từ `DEV_PROFILE.md`.
95
-
96
- ---
97
-
98
- ## Preconditions
99
-
100
- Trước khi bắt đầu implement bất kỳ tính năng nào, AI BẮT BUỘC kiểm tra:
101
-
102
- - [ ] Đọc `.agents/DEV_PROFILE.md` để lấy role, primary stack, coding conventions và constraints.
103
- - [ ] Xác định scope thay đổi (màn hình, module, schema, API liên quan).
104
- - [ ] Kiểm tra tính rõ ràng của yêu cầu: Có acceptance criteria rõ ràng chưa? Đã rõ input/output chưa?
105
- - [ ] Nếu yêu cầu mơ hồ hoặc có quyết định kiến trúc lớn chưa thống nhất:
106
- → **EXIT: BLOCKED**
107
- → Báo cáo user câu hỏi làm rõ trước khi can thiệp vào mã nguồn.
108
-
109
- ---
110
-
111
- ## Scope
112
-
113
- ✅ Skill này làm:
114
- - Phân tích yêu cầu và định hình kiến trúc tính năng tương thích với codebase.
115
- - Định nghĩa type-safe contracts, schemas và dữ liệu liên quan.
116
- - Triển khai code tính năng hoàn chỉnh qua các tầng (FE UI, BE controller/service, routing).
117
- - Xử lý đầy đủ các trạng thái biên: loading, error, empty data, pagination, boundary conditions.
118
- - Tự kiểm toán (Self-audit) sau khi implement: linting, typecheck, và format code.
119
-
120
- ❌ Skill này KHÔNG làm:
121
- - Sửa lỗi crash phát sinh đột xuất không nằm trong phạm vi feature mới (→ `qk-bug-resolution`).
122
- - Tái cấu trúc quy mô lớn codebase không phục vụ feature (→ `qk-refactor`).
123
- - Chạy đợt audit bảo mật tổng thể toàn dự án (→ `qk-security-audit`).
124
-
125
- ---
126
-
127
- ## Execution Steps
128
-
129
- ### Step 1 — Context Loading & Gap Analysis
130
- ```
131
- Inputs: Yêu cầu tính năng từ user, DEV_PROFILE.md, mã nguồn hiện tại
132
- Actions:
133
- - Khảo sát các modules, components, services hiện có liên quan đến tính năng.
134
- - Lập danh sách các files cần tạo mới và files cần chỉnh sửa.
135
- - Xác định dependency mới (nếu có) và đối chiếu với constraints trong DEV_PROFILE.md.
136
- Output: Feature Implementation Plan
137
- ```
138
-
139
- ### Step 2 — Contract & Architecture Design
140
- ```
141
- Inputs: Feature Implementation Plan
142
- Actions:
143
- - Thiết kế interface/types, DTO, data contracts giữa các tầng.
144
- - Xác định state management và data flow (Client state, Server cache, DB model).
145
- - Dự phòng các kịch bản ngoại lệ (empty data, network failure, unauthorized).
146
- Output: Type definitions & Contract drafts
147
- ```
148
-
149
- ### Step 3 — Incremental Implementation
150
- ```
151
- Inputs: Type definitions, Contract drafts
152
- Actions:
153
- - Viết code theo thứ tự từ lõi (Core/Domain/Model) → Service/Logic → Presentation/UI.
154
- - Tuân thủ quy ước đặt tên (naming conventions) và design system tokens của dự án.
155
- - Không hardcode các giá trị cấu hình, URL hay magic numbers.
156
- Output: Functional implementation
157
- ```
158
-
159
- ### Step 4 — Self-Audit & Quality Gate
160
- ```
161
- Inputs: Modified & Created files
162
- Actions:
163
- - Kiểm tra lint và type checking.
164
- - Rà soát edge cases: null/undefined checks, error boundary handling.
165
- - Đảm bảo không làm hỏng các tính năng cũ lân cận (regressions).
166
- Exit: SUCCESS nếu code pass types/lint và đạt mọi acceptance criteria.
167
- ```
168
-
169
- ---
170
-
171
- ## Prompt Template
172
-
173
- AI đọc `DEV_PROFILE.md` để lấy role + stack. Bạn chỉ cần mô tả **WHAT**, không cần nhắc lại stack.
174
-
175
- ```
176
- Tính năng: [Tên / mục đích tính năng]
177
- Màn hình: [Trang / route / component liên quan — hoặc "mới hoàn toàn"]
178
- Done khi: [User thấy gì / hệ thống làm gì — tiêu chí cụ thể]
179
- Edge cases: [Điều kiện đặc biệt, dữ liệu rỗng, lỗi cần xử lý]
180
- Không được: [Ràng buộc — không đổi API này, không xóa field kia]
181
- ```
182
-
183
- ---
184
-
185
- ### Theo Role — AI sẽ phân tích kỹ thuật như sau:
186
-
187
- **role: fe**
188
- ```
189
- Tính năng: Infinite scroll cho danh sách sản phẩm
190
- Màn hình: /products — ProductList.tsx đã có
191
- Done khi: Scroll đến cuối → tự load thêm 20 sản phẩm, có loading indicator
192
- Edge cases: Hết data → hiện "Đã xem tất cả", lỗi API → hiện retry button
193
- Không được: Không đổi ProductCard component
194
- ```
195
- → AI phân tích: intersection observer vs scroll event, React Query `useInfiniteQuery`,
196
- cache invalidation, skeleton vs spinner, bundle impact của thư viện.
197
-
198
- **role: be**
199
- ```
200
- Tính năng: API pagination cho /products với cursor-based paging
201
- Màn hình: GET /api/products — route đã có nhưng chỉ trả toàn bộ
202
- Done khi: Trả { data, nextCursor, hasMore }, tối đa 20 items/page
203
- Edge cases: cursor không hợp lệ → 400, không có data → { data: [], hasMore: false }
204
- Không được: Không đổi response shape của existing fields
205
- ```
206
- → AI phân tích: cursor vs offset trade-off, index strategy trên DB,
207
- validation middleware, backward compatibility của response schema.
208
-
209
- **role: fullstack**
210
- ```
211
- Tính năng: Thêm chức năng export danh sách đơn hàng ra CSV
212
- Màn hình: /orders — có table hiện tại, cần thêm nút Export
213
- Done khi: Click Export → tải file CSV với đúng cột, chỉ export filtered data
214
- Edge cases: > 10k rows → stream response, không có data → disable button
215
- Không được: Không thêm dependency mới nếu native API đủ dùng
216
- ```
217
- → AI phân tích: FE trigger + progress UX, BE streaming response vs buffer,
218
- type-safe contract giữa FE-BE, memory safety khi dataset lớn.
219
-
220
- **role: data**
221
- ```
222
- Tính năng: Pipeline load daily sales data từ PostgreSQL → BigQuery
223
- Màn hình: DAG mới trong Airflow — incremental load
224
- Done khi: Chạy hàng ngày 2AM, chỉ load data của ngày hôm trước, idempotent
225
- Edge cases: Re-run phải cho kết quả giống nhau, source schema thay đổi → alert
226
- Không được: Không truncate table, chỉ upsert
227
- ```
228
- → AI phân tích: watermark strategy, partition pruning, schema evolution handling,
229
- idempotency key design, data quality assertion trước khi load.
230
-
231
- **role: ai-engineer**
232
- ```
233
- Tính năng: RAG pipeline trả lời câu hỏi từ tài liệu nội bộ
234
- Màn hình: Chat UI mới — /chat route
235
- Done khi: User hỏi → AI trả lời có citation từ đúng document
236
- Edge cases: Câu hỏi ngoài scope → "Tôi không tìm thấy thông tin liên quan"
237
- Không được: Không hallucinate khi không có context
238
- ```
239
- → AI phân tích: chunking strategy, embedding model choice, retrieval (BM25 vs dense),
240
- reranking, context stuffing vs summarization, eval metrics (faithfulness, relevance).
241
-
242
- **role: devops**
243
- ```
244
- Tính năng: CI pipeline tự động chạy test + deploy lên staging khi merge PR
245
- Màn hình: .github/workflows/ — chưa có file nào
246
- Done khi: PR merge → test pass → deploy staging → notify Slack
247
- Edge cases: Test fail → stop pipeline, notify người tạo PR
248
- Không được: Không auto-deploy production
249
- ```
250
- → AI phân tích: workflow triggers, secrets management, caching strategy,
251
- environment isolation, rollback mechanism, notification integration.
23
+ - "tích hợp api"
24
+ - "consume api"
25
+ - "bind data"
26
+ - "state management"
27
+ ---
28
+
29
+ # qk-feature-delivery — Build Feature mới (End-to-End Delivery Engine)
30
+
31
+ > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
32
+
33
+ ---
34
+
35
+ ## Memory Workflow
36
+
37
+ ### 0. Self-Init Protocol (Khởi Tạo Bộ Nhớ Local & Gitignore)
38
+ - 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:
39
+ - **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.
40
+ - **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.
41
+
42
+ ---
43
+
44
+ ### Pre-flight Retrieve (Trước khi thực thi)
45
+ - Trước các task có tính lặp lại, debug, refactor, kiến trúc hoặc rủi ro cao:
46
+ bắt buộc tra cứu:
47
+ - `.ai-local/knowledge/index.yaml` (Private Local Knowledge)
48
+
49
+ - Ưu tiên sử dụng các Knowledge đang có trạng thái `Active` thuộc:
50
+ - Architecture
51
+ - Hard Bug
52
+ - Convention
53
+ - Pattern
54
+ - Tech Debt Pattern
55
+ - 👉 *Domain Focus:* Architecture / Pattern / Convention liên quan đến luồng tính năng hiện tại.
56
+
57
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
58
+ Không được xem Memory là Source of Truth.
59
+ 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.
60
+
61
+ ---
62
+
63
+ ### Learning Flow (AI tự học có kiểm soát)
64
+ - 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:
65
+ - Hard Bug có khả năng tái diễn.
66
+ - Pattern làm việc lặp lại trong dự án.
67
+ - Convention hoặc quy tắc kiến trúc mới.
68
+ - Quyết định Architecture quan trọng.
69
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
70
+ - 👉 *Domain Harvest:* Quyết định Architecture hoặc Pattern mới hình thành khi làm feature.
71
+
72
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
73
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
74
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
75
+
76
+ ---
77
+
78
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
79
+ Sau khi hoàn thành task:
80
+ - AI đánh giá các Candidate Memory đã tạo.
81
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
82
+ - Đề xuất người dùng xem xét.
83
+ - Gửi yêu cầu phê duyệt thông qua:
84
+ - `/learn`
85
+ - `qk-project-memory`
86
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
87
+
88
+ ```
89
+ .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
90
+ ```
91
+
92
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
93
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
94
+
95
+ ---
96
+
97
+ ### Ignore (Không đưa vào Memory)
98
+ Không lưu:
99
+ - Trace log của một session đơn lẻ.
100
+ - Temporary debugging data.
101
+ - Output của một lần chạy test/scan.
102
+ - Report health tạm thời của một đợt kiểm tra.
103
+ - Lỗi nhỏ chỉ xảy ra một lần.
104
+ - Thông tin không có khả năng tái sử dụng.
105
+ - 👉 *Domain Ignore:* Dữ liệu mock phục vụ thử nghiệm tính năng ban đầu.
106
+
107
+ ---
108
+
109
+ ### Golden Rule
110
+ > **AI được phép học, nhưng không được tự quyết định tri thức chính thức.**
111
+ > **AI quan sát → Đề xuất → Con người phê duyệt → Dự án tiến hóa.**
112
+
113
+ ---
114
+
115
+ ## 1. Nguyên Tắc Cốt Lõi & Luật Chống Over-Engineering
116
+
117
+ > **Core Principle:** YAGNI (You Aren't Gonna Need It). Build the simplest, cleanest solution that fully satisfies today's requirement. Do not write tomorrow's abstractions today.
118
+ > **Verification Principle:** PASS is evidence, not an objective. Never claim pass without concrete execution proof.
119
+
120
+ ### 🛡️ Anti-Overengineering Rule (CẤM VẼ VOI)
121
+ - **Không tạo kiến trúc cồng kềnh cho tính năng đơn giản:** Nếu một tính năng chỉ cần 1 endpoint và 1 component, TUYỆT ĐỐI KHÔNG tạo ra cả một hệ thống 5 tầng (không Factory, không Adapter, không 3 lớp Repository trung gian) nếu dự án chưa yêu cầu.
122
+ - **Tận dụng tối đa code có sẵn:** Tái sử dụng các hooks, UI components, và utilities đang chạy tốt trong repo. Tránh viết lại những gì đã tồn tại.
123
+
124
+ ### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
125
+ Chỉ sửa các file, dependencies, cấu hình và code paths thực sự cần thiết trực tiếp cho tính năng được yêu cầu:
126
+ - **CẤM** reformat hoặc format lại các file không liên quan.
127
+ - **CẤM** đổi tên biến, hàm, hoặc file ngoài phạm vi tính năng.
128
+ - **CẤM** tự tiện nâng cấp thư viện hoặc sửa build script lân cận.
129
+ - **CẤM** "tiện tay" refactor hoặc clean up code xung quanh nếu người dùng không yêu cầu.
130
+ - Nếu phát hiện vấn đề hoặc code smell ngoài phạm vi: **Chỉ ghi nhận vào báo cáo tổng kết**, tuyệt đối không tự ý chạm vào.
131
+
132
+ ### ⚖️ Verify Before Claim Rule (XÁC MINH TRƯỚC KHI BÁO CÁO)
133
+ - **Kiểm tra build và types thật:** Phải chạy `tsc --noEmit`, linter, hoặc build check trước khi tuyên bố tính năng hoàn thành.
134
+ - **Phân định rõ bằng chứng (Evidence-Based Status):**
135
+ - `PASS`: Đã chạy lệnh kiểm tra thực tế và kết quả đạt yêu cầu.
136
+ - `FAIL`: Đã chạy và phát hiện lỗi.
137
+ - `BLOCKED`: Không thể chạy do thiếu database/staging/external service.
138
+ - `NOT RUN / PARTIAL`: Chưa chạy lệnh hoặc chỉ mới kiểm tra tĩnh (Cần ghi rõ: *"Trạng thái: Đã bind code logic & types. Cần user test giao diện trực tiếp trên trình duyệt"*).
139
+ - **TUYỆT ĐỐI KHÔNG CHUYỂN BLOCKED/NOT RUN THÀNH PASS!**
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
+ - **Scoped Contract-First Implementation:** Đối với các tính năng có tương tác dữ liệu ngoài, API boundaries, database persistence, hoặc untrusted input: BẮT BUỘC định nghĩa Types/DTOs và Validation Schemas (Zod/Pydantic) trước logic nghiệp vụ. Với UI nội bộ (button, modal, local UI state), không ép buộc sinh schema nếu không có ranh giới dữ liệu.
147
+ - **UI State Rule (Không tạo Empty giả tạo):**
148
+ - **Data-fetching views (Danh sách / màn hình tải dữ liệu):** BẮT BUỘC xử lý đủ 4 trạng thái: `Loading (Skeleton loader)`, `Success (Render data)`, `Empty (Minh họa ngữ cảnh + Nút Call-to-action)`, và `Error (Message lỗi + Nút Thử Lại/Retry)`.
149
+ - **Mutations & Actions (Login, logout, xóa item, upload file, submit form):** Xử lý các trạng thái tương tác phù hợp thực tế: `Idle`, `Submitting/Pending`, `Success`, và `Error`. TUYỆT ĐỐI KHÔNG tạo `Empty state` giả tạo cho các hành động không có ý nghĩa danh sách rỗng.
150
+ - **Planning Gate & Exceptions:** Với tính năng mới ảnh hưởng ≥ 2 files hoặc tác động kiến trúc, BẮT BUỘC lập `implementation_plan.md` với `RequestFeedback: true` và dừng lại chờ phê duyệt trước khi tạo/sửa files.
151
+ - **Ngoại lệ bỏ qua Planning Gate:**
152
+ - Thay đổi chỉ nằm trong đúng 1 file (Single-file change).
153
+ - Chỉnh sửa UI/text đơn giản (Trivial UI/text change).
154
+ - Thay đổi thuần tài liệu (Documentation-only).
155
+ - Người dùng chỉ định rõ ràng yêu cầu thực thi ngay lập tức mà không cần qua gate.
156
+
157
+ ### ❌ Việc skill này TUYỆT ĐỐI KHÔNG làm (Chuyển giao quyền):
158
+ - Điều tra các lỗi crash cũ có sẵn từ trước trong codebase → Chuyển sang `qk-bug-resolution`.
159
+ - Tự tiện thay đổi cấu trúc bảng cơ sở dữ liệu lớn → Chuyển sang `qk-backend-data`.
160
+ - Tái cấu trúc các module cũ không liên quan đến feature → Chuyển sang `qk-code-cleaner`.
161
+
162
+ ---
163
+
164
+ ## 3. Quy Trình Phát Triển 4 Bước Tuần Tự (Sequential Procedure)
165
+
166
+ ```
167
+ [Bước 1: Contract & Plan] ── Định nghĩa Types/Schemas (nếu có API/DB), lập plan (nếu ≥ 2 files)
168
+ │
169
+ ▼
170
+ [Bước 2: Service & Logic] ── Xây dựng API Caller & State Handler (caching chỉ khi cần thiết)
171
+ │
172
+ ▼
173
+ [Bước 3: UI & State Bind] ── Gắn Component, Skeleton (nếu fetching), Action feedback (nếu mutation)
174
+ │
175
+ ▼
176
+ [Bước 4: Verification Gate] ── Chạy Typecheck/Lint thật. Nếu FAIL ──► Kích hoạt Failure Path
177
+ ```
178
+
179
+ ### Chi tiết các bước:
180
+ 1. **Contract & Plan:** Thiết lập interface chuẩn cho request/response hoặc persistence model. Lập kế hoạch các files sẽ tạo mới (nếu đa file).
181
+ 2. **Service & Logic:** Viết hàm gọi API độc lập với component, xử lý lỗi có ngữ cảnh. Chỉ tích hợp caching, state store hoặc optimistic updates khi tính năng hoặc kiến trúc dự án thực sự yêu cầu.
182
+ 3. **UI & State Bind:** Gắn dữ liệu vào JSX/Template. Đảm bảo Skeleton loader không làm nhảy giật layout (chống CLS). Đảm bảo action có loading spinner/disable button chống double-submit.
183
+ 4. **Verification Gate:** Kiểm tra type-check và lint thực tế. Xác minh không vi phạm nguyên tắc YAGNI hay sinh ra God file (> 300 dòng).
184
+
185
+ ---
186
+
187
+ ## 4. Xử Lý Sự Cố Khi Build Gãy & Cấm Ép Pass (Failure Path Protocol)
188
+
189
+ Nếu trong quá trình triển khai gặp lỗi biên dịch, lint, hoặc kiểm thử:
190
+ 1. **Dừng lại ngay (Failure Analysis Gate):** Không tiếp tục viết thêm code nếu tầng Contract hoặc Types đang bị đỏ.
191
+ 2. **Xác định Root Cause:** Đọc call-stack và thông báo lỗi thực tế để tìm nguyên nhân gốc rễ.
192
+ 3. **CẤM CHE GIẤU LỖI (Zero Workarounds):**
193
+ - CẤM dùng `as any` hoặc `@ts-ignore` / `@ts-expect-error` để né lỗi type.
194
+ - CẤM disable linter rule hoặc comment bỏ qua lint.
195
+ - CẤM dùng `catch (e) {}` rỗng để nuốt lỗi cho code khỏi crash.
196
+ - CẤM sửa hoặc làm yếu assertion của test case chỉ để ép pass.
197
+ 4. **Revert có kiểm soát:** Nếu bước làm trước đó làm gãy toàn bộ build của dự án:
198
+ ```bash
199
+ git restore <các_file_vừa_tạo_hoặc_sửa>
200
+ ```
201
+ 5. **Báo cáo Blocked:** Nếu thiếu endpoint từ phía backend hoặc thiếu dữ liệu bắt buộc từ 3rd party, dừng lại và thông báo rõ contract bị thiếu cho user với trạng thái `Status: BLOCKED`.
202
+
203
+ ---
204
+
205
+ ## 5. Mẫu Kế Hoạch Chuẩn (Implementation Plan Skeleton)
206
+
207
+ Khi khởi tạo `implementation_plan.md`:
208
+
209
+ ```markdown
210
+ # Implementation Plan: [Tên Tính Năng Mới]
211
+
212
+ ## 1. Yêu cầu & Trải nghiệm người dùng
213
+ - Tính năng: [Mô tả ngắn gọn giá trị mang lại]
214
+ - Điểm chạm UI: [Vị trí màn hình / nút bấm mới]
215
+
216
+ ## 2. Hợp đồng dữ liệu (API / Boundary Contract)
217
+ - Endpoint: `POST /api/v1/orders` (hoặc N/A nếu thuần UI)
218
+ - Input Schema: `{ items: Array<{ id: string, quantity: number }> }`
219
+ - Output Schema: `{ orderId: string, totalAmount: number, status: string }`
220
+
221
+ ## 3. Danh sách files sẽ thay đổi (Laser Focus)
222
+ - [ ] [NEW] [types.ts](file:///<workspace-root>/src/types/...): Khai báo models & Schema
223
+ - [ ] [NEW] [useOrderService.ts](file:///<workspace-root>/src/services/...): API caller
224
+ - [ ] [NEW] [OrderForm.tsx](file:///<workspace-root>/src/components/...): Component UI
225
+
226
+ ## 4. Kiểm soát trạng thái UI
227
+ - Data Fetching: Loading (Skeleton) | Success | Empty (CTA) | Error (Retry)
228
+ - Hoặc Mutation: Idle | Submitting (Spinner) | Success (Redirect/Toast) | Error (Alert)
229
+ ```
230
+
231
+ ---
232
+
233
+ ## 6. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
234
+
235
+ | Role | Trọng tâm khi Build Feature | Hành vi kỹ thuật đặc thù |
236
+ |---|---|---|
237
+ | `frontend` | Component hierarchy, Accessibility, responsive layout, interaction feedback | Tạo custom hook quản lý state, tái sử dụng component có sẵn, skeleton loader |
238
+ | `backend` | API route handler, controller, business domain service, query DB | Áp dụng input validation middleware, dependency injection, unit test service |
239
+ | `fullstack` | Đồng bộ 100% từ Database đến giao diện người dùng | Tạo migration nhỏ (nếu cần), tạo endpoint, sinh types, bind vào UI component |
240
+ | `data` | Ingestion job mới, schema validation, data pipeline task | Tạo incremental dbt model, thêm schema test trong `.yml`, SLA logging |
241
+ | `devops` | Cấu hình biến môi trường mới, service connection, helm values | Cập nhật `.env.example`, thêm secret config, healthcheck endpoint |
242
+
243
+ ---
244
+
245
+ ## 7. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
246
+
247
+ ```markdown
248
+ 🚀 Feature Delivery Summary [Role: <role> | Feature: <Tên tính năng>]
249
+ ─────────────────────────────────────────────────────────────────────
250
+ Phạm vi thực tế: [N files created / modified]
251
+ Trạng thái: [Hoàn thành sẵn sàng test | Cần cấu hình thêm env | BLOCKED]
252
+
253
+ Các tệp mã nguồn mới/sửa đổi:
254
+ • [NEW] [TênFile.tsx](file:///<workspace-root>/path): [Mô tả vai trò]
255
+
256
+ Kiểm soát trạng thái giao diện:
257
+ • Fetching: [Loading / Success / Empty / Error] hoặc [N/A]
258
+ • Mutation: [Idle / Submitting / Success / Error] hoặc [N/A]
259
+
260
+ Kiểm chứng thực tế (Verify Before Claim):
261
+ • Type-check: [tsc Clean / mypy Pass / Chưa chạy (Nêu lý do)]
262
+ • Lint check: [0 errors / Chưa chạy]
263
+ • YAGNI: ✅ Giữ giải pháp tối giản, không sinh abstraction thừa
264
+ • Zero Hack: ✅ Không dùng any, @ts-ignore, hay silent catch
265
+ ```
266
+
267
+ ---
268
+
269
+ ## 8. Mô Hình Độ Tin Cậy (Confidence Model)
270
+
271
+ | Level | Condition | Action |
272
+ |-------|-----------|--------|
273
+ | HIGH | Direct evidence available | Proceed |
274
+ | MEDIUM | Some assumptions needed | Note assumptions |
275
+ | LOW | Insufficient evidence | EXIT: BLOCKED |
276
+
277
+ ---
278
+
279
+ ## 9. Thoái Ra Mã (Exit Codes)
280
+
281
+ | Code | Meaning | When |
282
+ |------|---------|------|
283
+ | SUCCESS | Task completed and verified | All acceptance criteria met |
284
+ | PARTIAL | Task done with minor gaps | Some checks skipped |
285
+ | BLOCKED | Missing precondition or info | Ask user |
286
+ | FAILED | Task failed after max retries | Report error |
287
+
288
+ ---
289
+
290
+ ## 10. Bằng Chứng Định Dạng (Evidence Format)
291
+
292
+ ```
293
+ [SEVERITY] path/to/file.ts:LINE
294
+ Reason: [why this matters]
295
+ Confidence: [HIGH|MEDIUM|LOW]
296
+ Fix: [suggestion]
297
+ ```
298
+
299
+ ---
300
+
301
+ ## Platform-Specific Instructions
302
+
303
+ ### Antigravity (Google Gemini)
304
+ - Uses `.agents/AGENTS.md` as entry point
305
+ - Supports Cockpit integration
306
+ - Rewrite absolute paths for global mode
307
+ - `GEMINI.md` copied for global installs
308
+
309
+ ### Claude Code (Anthropic)
310
+ - Reads `.claude/CLAUDE.md` automatically
311
+ - Large context window (~200K tokens)
312
+ - Can handle full skill files without trimming
313
+ - Uses native tool format (Read, Write, Edit, Bash)
314
+
315
+ ### OpenCode (Open Source)
316
+ - Reads `.opencode/config.yaml`
317
+ - Context window ~128K tokens
318
+ - Keep skill files lean when possible
319
+ - Supports custom tool format
320
+
321
+ ---
322
+
323
+ ## Compliance
324
+
325
+ | Check | Status |
326
+ |-------|--------|
327
+ | Runtime Standard | 11/11 |
328
+ | Frontmatter Complete | ✅ |
329
+ | Platforms Field | ✅ |
330
+ | References Valid | ✅ |
331
+ | Decision Trees | PASS |
332
+ | Thresholds Defined | PASS |
333
+ | schema_version | 10.2.0 |
334
+ | runtime_version | 1 |
335
+ | platforms | [antigravity, claude, opencode] |
@@ -1,6 +1,6 @@
1
1
  name: qk-feature-delivery-eval
2
2
  description: Đánh giá quy trình phát triển tính năng mới (End-to-End)
3
- version: 9.1.0
3
+ version: 10.2.0
4
4
  threshold: 85 # Tính năng mới phải đáp ứng các tiêu chuẩn khắt khe trước khi hoàn thành
5
5
 
6
6
  metrics: