ai-developer-skill-os 9.3.1 → 10.1.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 (185) hide show
  1. package/.agents/AGENTS.md +60 -40
  2. package/.agents/DEV_PROFILE.md +36 -2
  3. package/.agents/registry/graph.json +95 -342
  4. package/.agents/registry/index.yaml +61 -237
  5. package/.agents/rules/coding.md +30 -12
  6. package/.agents/rules/command-safety.md +19 -8
  7. package/.agents/rules/global.md +234 -28
  8. package/.agents/rules/prompt-compiler.md +170 -0
  9. package/.agents/skills/qk-api-data-discovery/SKILL.md +470 -0
  10. package/.agents/skills/qk-backend-data/SKILL.md +190 -0
  11. package/.agents/skills/qk-bug-resolution/SKILL.md +176 -248
  12. package/.agents/skills/qk-code-cleaner/SKILL.md +250 -0
  13. package/.agents/skills/qk-code-review/SKILL.md +126 -247
  14. package/.agents/skills/qk-devops-release/SKILL.md +145 -0
  15. package/.agents/skills/qk-feature-delivery/SKILL.md +179 -247
  16. package/.agents/skills/qk-orchestrator/SKILL.md +100 -151
  17. package/.agents/skills/qk-product-spec/SKILL.md +113 -0
  18. package/.agents/skills/qk-prompt-compiler/SKILL.md +321 -0
  19. package/.agents/skills/qk-ui-engineer/SKILL.md +137 -0
  20. package/.agents/workflows/feature-delivery.yml +1 -1
  21. package/.agents/workflows/production-release.yml +1 -1
  22. package/.agents/workflows/spec-driven-development.yml +109 -87
  23. package/CHANGELOG.md +16 -0
  24. package/README.md +125 -205
  25. package/bin/install.js +337 -329
  26. package/package.json +2 -2
  27. package/.agents/README.md +0 -90
  28. package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
  29. package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
  30. package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
  31. package/.agents/docs/MIGRATION-STATUS.md +0 -35
  32. package/.agents/docs/MIGRATION-V8.md +0 -10
  33. package/.agents/docs/ROADMAP-V8.2.md +0 -78
  34. package/.agents/docs/V8-CERTIFICATION.md +0 -27
  35. package/.agents/skills/qk-access-policy/SKILL.md +0 -206
  36. package/.agents/skills/qk-access-policy/capability.yaml +0 -23
  37. package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
  38. package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
  39. package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
  40. package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
  41. package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
  42. package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
  43. package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
  44. package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
  45. package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
  46. package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
  47. package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
  48. package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
  49. package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
  50. package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
  51. package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
  52. package/.agents/skills/qk-code-review/capability.yaml +0 -23
  53. package/.agents/skills/qk-context-loader/SKILL.md +0 -198
  54. package/.agents/skills/qk-context-loader/capability.yaml +0 -23
  55. package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
  56. package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
  57. package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
  58. package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
  59. package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
  60. package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
  61. package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
  62. package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
  63. package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
  64. package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
  65. package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
  66. package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
  67. package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
  68. package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
  69. package/.agents/skills/qk-docs/SKILL.md +0 -193
  70. package/.agents/skills/qk-docs/capability.yaml +0 -23
  71. package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
  72. package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
  73. package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
  74. package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
  75. package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
  76. package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
  77. package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
  78. package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
  79. package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
  80. package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
  81. package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
  82. package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
  83. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
  84. package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
  85. package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
  86. package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
  87. package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
  88. package/.agents/skills/qk-help/SKILL.md +0 -107
  89. package/.agents/skills/qk-help/capability.yaml +0 -20
  90. package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
  91. package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
  92. package/.agents/skills/qk-product-specification/SKILL.md +0 -187
  93. package/.agents/skills/qk-product-specification/capability.yaml +0 -27
  94. package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
  95. package/.agents/skills/qk-production-release/SKILL.md +0 -188
  96. package/.agents/skills/qk-production-release/capability.yaml +0 -27
  97. package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
  98. package/.agents/skills/qk-project-audit/SKILL.md +0 -174
  99. package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
  100. package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
  101. package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
  102. package/.agents/skills/qk-project-health/SKILL.md +0 -202
  103. package/.agents/skills/qk-project-health/capability.yaml +0 -23
  104. package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
  105. package/.agents/skills/qk-project-memory/SKILL.md +0 -303
  106. package/.agents/skills/qk-project-memory/capability.yaml +0 -23
  107. package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
  108. package/.agents/skills/qk-refactor/SKILL.md +0 -243
  109. package/.agents/skills/qk-refactor/capability.yaml +0 -26
  110. package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
  111. package/.agents/skills/qk-security-audit/SKILL.md +0 -280
  112. package/.agents/skills/qk-security-audit/capability.yaml +0 -29
  113. package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
  114. package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
  115. package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
  116. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
  117. package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
  118. package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
  119. package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
  120. package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
  121. package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
  122. package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
  123. package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  124. package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
  125. package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
  126. package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
  127. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
  128. package/.agents/skills/qk-ui-builder/references/color.md +0 -115
  129. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
  130. package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
  131. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
  132. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
  133. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
  134. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
  135. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
  136. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
  137. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
  138. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
  139. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
  140. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
  141. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
  142. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
  143. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
  144. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
  145. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
  146. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
  147. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
  148. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
  149. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
  150. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
  151. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
  152. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
  153. package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
  154. package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
  155. package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
  156. package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
  157. package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
  158. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
  159. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
  160. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
  161. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
  162. package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
  163. package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
  164. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
  165. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
  166. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
  167. package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
  168. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
  169. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
  170. package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
  171. package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
  172. package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
  173. package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
  174. package/.agents/skills/qk-upgrade/SKILL.md +0 -301
  175. package/.agents/skills/qk-upgrade/capability.yaml +0 -24
  176. package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
  177. package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
  178. package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
  179. package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
  180. package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
  181. package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
  182. package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
  183. package/.agents/workflows/research.yml +0 -75
  184. package/.agents/workflows/skill-evolution.yml +0 -97
  185. package/tooling/fix-refactor.js +0 -8
@@ -0,0 +1,321 @@
1
+ ---
2
+ name: qk-prompt-compiler
3
+ version: 11.1.0
4
+ status: stable
5
+ subtitle: "Cổng Kiểm Soát Hành Vi & Biên Dịch Prompt (Control Plane & Behavioral Gate)"
6
+ description: "Cổng kiểm soát hành vi (Control Plane / Behavioral Gate): Chuyển hóa câu lệnh tự nhiên thành Compiled Execution Prompt minh bạch, bóc tách Prompt Delta, áp dụng 4 lớp cổng chặn (Prompt Quality Gate, Risk Gate R0-R4, Change Budget Gate, Scope Expansion Gate, Evidence Gate CLAIM <= EVIDENCE), quyết định 3 chế độ thực thi (AUTO / CONFIRM / ASK) trước khi đụng vào code. Dùng khi: viết prompt, compile prompt, viết lại prompt, chuẩn hóa prompt, prompt compiler, tối ưu prompt, prompt delta, intent gate."
7
+ tools:
8
+ - filesystem
9
+ - terminal
10
+ rules:
11
+ - global
12
+ - prompt-compiler
13
+ workflow: prompt-compilation
14
+ triggers:
15
+ - "viết prompt"
16
+ - "compile prompt"
17
+ - "viết lại prompt"
18
+ - "chuẩn hóa prompt"
19
+ - "prompt compiler"
20
+ - "tối ưu prompt"
21
+ - "prompt delta"
22
+ - "control plane"
23
+ - "prompt rulebook"
24
+ ---
25
+
26
+ # qk-prompt-compiler v11.1 — Control Plane & Behavioral Gate
27
+
28
+ > **Core Principle:**
29
+ > User speaks naturally. AI converts the request into an explicit, reviewable Execution Prompt before execution.
30
+ >
31
+ > **Core Maxims:**
32
+ > 1. `AI MUST NEVER INCREASE THE USER'S INTENDED SCOPE SILENTLY.`
33
+ > 2. `The AI may increase implementation detail, but must never silently increase business scope, behavioral scope, architectural scope, security scope, data scope, or change budget.`
34
+ >
35
+ > Language rule: Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
36
+
37
+ ---
38
+
39
+ ## 1. Kiến Trúc Toàn Diện Control Plane
40
+
41
+ ```text
42
+ USER REQUEST (Câu lệnh tự nhiên thô)
43
+ │
44
+ ▼
45
+ ┌─────────────┐
46
+ │ UNDERSTAND │ ──► Nhận diện mục tiêu cốt lõi (Actual Goal)
47
+ └──────┬──────┘
48
+ ▼
49
+ ┌─────────────┐
50
+ │ INTERPRET │ ──► Ánh xạ vào Context & DEV_PROFILE.md
51
+ └──────┬──────┘
52
+ ▼
53
+ ┌─────────────┐
54
+ │ COMPILE │ ──► Sinh Compiled Execution Prompt (9 thành phần)
55
+ └──────┬──────┘
56
+ ▼
57
+ ┌──────────────────────┐
58
+ │ PROMPT QUALITY GATE │ ──► Kiểm tra đủ 8 tiêu chí hợp đồng
59
+ └──────────┬───────────┘
60
+ ▼
61
+ ┌──────────────────────┐
62
+ │ SCOPE / RISK GATE │ ──► Đánh giá Complexity (L0–L4) & Risk (R0–R4)
63
+ └──────────┬───────────┘
64
+ ▼
65
+ ┌──────────────────────┐
66
+ │ CHANGE BUDGET GATE │ ──► Khóa ngân sách: Files, Deps, API, DB
67
+ └──────────┬───────────┘
68
+ ▼
69
+ ┌─────────────┐
70
+ │ SHOW DELTA │ ──► Công khai: User Said vs Inferred vs Not Assumed
71
+ └──────┬──────┘
72
+ ▼
73
+ ┌──────────────────────┐
74
+ │ AUTO / CONFIRM / ASK │ ──► Quyết định chế độ hành động
75
+ └──────────┬───────────┘
76
+ ▼
77
+ EXECUTE
78
+ │
79
+ ▼
80
+ SCOPE EXPANSION?
81
+ / \
82
+ NO YES
83
+ │ │
84
+ ▼ ▼
85
+ VALIDATE STOP EXPANSION + RECOMPILE + CONFIRM
86
+ │
87
+ ▼
88
+ EVIDENCE GATE (CLAIM LEVEL <= EVIDENCE LEVEL)
89
+ │
90
+ ▼
91
+ EXECUTION REPORT
92
+ ```
93
+
94
+ ---
95
+
96
+ ## 2. Thứ Bậc Ngữ Cảnh Hóa Biên Dịch (Context-Aware Compilation Hierarchy)
97
+
98
+ Để không gây hiểu lầm rằng "User Request có độ ưu tiên thấp nhất", hệ thống quy định phân tầng nhận thức rõ ràng:
99
+
100
+ ```text
101
+ SYSTEM / PLATFORM RULES
102
+ ↓
103
+ PROJECT RULES
104
+ ↓
105
+ GLOBAL RULES
106
+ ↓
107
+ RELEVANT SKILL
108
+ ↓
109
+ PROJECT CONTEXT / DEV_PROFILE.md
110
+ ↓
111
+ EXISTING ARCHITECTURE & CODE
112
+ ↓
113
+ USER REQUIREMENT ◄── [NGUỒN CHÍNH XÁC ĐỊNH MỤC TIÊU CỐT LÕI (WHAT)]
114
+ ↓
115
+ AI INTERPRETATION
116
+ ↓
117
+ EXECUTION PLAN ◄── [QUY CHUẨN KỸ THUẬT & RANH GIỚI BẢO VỆ (HOW & BOUNDARIES)]
118
+ ```
119
+
120
+ > [!IMPORTANT]
121
+ > **User Requirement** luôn là nguồn sự thật duy nhất xác định **Mục tiêu bạn muốn làm gì (WHAT)**.
122
+ > Các tầng Rules, Profile và Codebase bên trên quyết định **Cách AI được phép thực hiện an toàn (HOW & CONSTRAINTS)** để không phá vỡ dự án.
123
+
124
+ ---
125
+
126
+ ## 3. Phân Cấp Phức Tạp & Rủi Ro (Complexity vs Risk Gate)
127
+
128
+ > **Nguyên tắc vàng:** `Complexity ≠ Risk`. Một thay đổi 1 dòng trong file cấu hình Production (`L1`) có thể mang rủi ro chí mạng (`R4`). Do đó, hai trục này phải được đánh giá độc lập:
129
+
130
+ ### Trục Phức Tạp (Complexity Levels)
131
+ - **L0 — Trivial:** Sửa lỗi chính tả, format markdown, giải thích lý thuyết.
132
+ - **L1 — Simple:** Sửa 1 hàm nhỏ, tinh chỉnh CSS cục bộ của 1 component.
133
+ - **L2 — Normal:** Bug logic thông thường, thêm 1 endpoint/hook trong module hiện tại.
134
+ - **L3 — Complex:** Tính năng liên tầng (FE + BE), tái cấu trúc module, tích hợp luồng dữ liệu mới.
135
+ - **L4 — High Architecture:** Thiết kế lại kiến trúc, phân tách service, thay đổi flow toàn hệ thống.
136
+
137
+ ### Trục Rủi Ro (Risk Levels)
138
+ - **R0 — Safe:** Thao tác chỉ đọc (Read-only), audit mã nguồn, viết tài liệu, đo lường.
139
+ - **R1 — Low:** Thay đổi nhỏ, local UI, dễ dàng rollback trong vài giây, không side-effect.
140
+ - **R2 — Medium:** Logic nghiệp vụ, sửa hàm/tiện ích dùng chung, có nguy cơ hồi quy (regression).
141
+ - **R3 — High:** Sửa đổi liên tầng, thay đổi API contract, database schema migration, cấu hình CI/CD.
142
+ - **R4 — Critical:** Thao tác phá hủy (destructive: DROP, TRUNCATE, DELETE), bảo mật/auth, dữ liệu Production.
143
+
144
+ ### Ma Trận Quyết Định Chế Độ Thực Thi (Mode Selection Matrix)
145
+
146
+ ```text
147
+ IF Complexity >= L3 ──► Minimum CONFIRM
148
+ IF Risk >= R2 ──► Minimum CONFIRM
149
+ IF Risk >= R3 ──► CONFIRM + Explicit Risk Report
150
+ IF destructive / auth / production data ──► BẮT BUỘC CONFIRM (Chờ duyệt [Proceed])
151
+ IF thiếu thông tin / intent mơ hồ ──► BẮT BUỘC ASK (Hỏi lại, không đoán)
152
+ ```
153
+
154
+ ---
155
+
156
+ ## 4. Ngân Sách Thay Đổi (Change Budget Gate)
157
+
158
+ AI không chỉ được biết *được phép sửa gì*, mà phải bị khóa chặt *được phép sửa nhiều đến đâu*:
159
+
160
+ ```text
161
+ CHANGE BUDGET QUY ĐỊNH:
162
+
163
+ Files:
164
+ - Kỳ vọng (Expected): 1–3 files
165
+ - Tối đa (Maximum): 5 files (trừ khi user chỉ định rõ ràng)
166
+
167
+ Dependencies:
168
+ - Mặc định: 0 new dependencies (CẤM tự ý npm install thêm package nếu chưa hỏi)
169
+
170
+ API:
171
+ - Không thay đổi API Contract (trừ khi yêu cầu là thiết kế API mới)
172
+
173
+ Database:
174
+ - Không thay đổi schema / migration (trừ khi yêu cầu là sửa database)
175
+
176
+ Architecture:
177
+ - Tuyệt đối không tự ý rewrite kiến trúc
178
+
179
+ Behavior:
180
+ - Chỉ thay đổi đúng behavior mà câu lệnh yêu cầu, giữ nguyên mọi luồng khác
181
+ ```
182
+
183
+ ### Xử Lý Khi Vượt Budget:
184
+ Nếu trong quá trình làm, AI phát hiện cần sửa > 5 files hoặc phải thêm thư viện:
185
+ ```text
186
+ STOP NGAY LẬP TỨC
187
+ ↓
188
+ BÁO CÁO VƯỢT BUDGET (Lý do vì sao cần mở rộng)
189
+ ↓
190
+ RECOMPILE PROMPT MỚI
191
+ ↓
192
+ CHỜ USER DUYỆT (CONFIRM)
193
+ ```
194
+
195
+ ---
196
+
197
+ ## 5. Cổng Chặn Bành Trướng Phạm Vi (Scope Expansion Gate)
198
+
199
+ > **Chống hiện tượng "AI càng làm càng lan":**
200
+ > Ví dụ: Bạn yêu cầu `"fix bug login"`, AI ban đầu xác định chỉ sửa `LoginForm.tsx`. Nhưng khi inspect phát hiện lỗi do `LoginForm.tsx → auth.ts → api-client.ts → backend middleware`.
201
+
202
+ **Quy tắc:** AI **TUYỆT ĐỐI KHÔNG ĐƯỢC TỰ Ý MỞ RỘNG SCOPE ÂM THẦM**.
203
+
204
+ Khi phát hiện scope thực tế vượt quá Compiled Scope:
205
+ 1. **STOP EXPANSION:** Dừng ngay việc can thiệp vào các file mới phát sinh.
206
+ 2. **Báo cáo mở rộng phạm vi (Scope Expansion Report):**
207
+ - *Phạm vi ban đầu:* `LoginForm.tsx`
208
+ - *Phụ thuộc mới phát hiện:* `auth.ts`, `backend middleware`
209
+ - *Nguyên nhân kỹ thuật:* Vì sao bắt buộc phải sửa xuyên tầng.
210
+ - *Đánh giá rủi ro:* Mức độ rủi ro tăng từ `R1` lên `R3`.
211
+ 3. **Recompile & Confirm:** Trình bày Compiled Prompt mới và chờ bạn xác nhận trước khi chạm vào backend.
212
+
213
+ ---
214
+
215
+ ## 6. Cổng Bằng Chứng Khẳng Định (Evidence Gate)
216
+
217
+ ```text
218
+ NGUYÊN TẮC THÉP:
219
+ CLAIM LEVEL <= EVIDENCE LEVEL
220
+ (Mức độ khẳng định của AI KHÔNG ĐƯỢC vượt quá bằng chứng thực tế thu thập được)
221
+ ```
222
+
223
+ AI phân loại trạng thái nghiệm thu thành 3 cấp bậc rõ ràng:
224
+
225
+ 1. **`VERIFIED` (Đã chứng minh):**
226
+ - Đã chạy lệnh test/build thực tế trong terminal và kết quả PASS.
227
+ - Bằng chứng: Tên lệnh test + mã exit code 0 + log pass.
228
+
229
+ 2. **`PARTIALLY VERIFIED` (Chứng minh một phần):**
230
+ - Đã kiểm tra tĩnh (Static analysis, `tsc --noEmit`, linting) PASS.
231
+ - Chưa chạy integration test hoặc chưa test trực tiếp trên browser/API thật.
232
+ - Báo cáo rõ: *"Đã pass kiểm tra kiểu và cú pháp. Cần test luồng thực tế."*
233
+
234
+ 3. **`UNVERIFIED` (Chưa chứng minh):**
235
+ - Chỉ mới đọc code hoặc sửa code mà môi trường không có test tự động.
236
+ - **CẤM TUYỆT ĐỐI** ghi: "Đã fix xong 100%", "All green".
237
+ - BẮT BUỘC ghi rõ: *"Trạng thái: NOT VERIFIED — Đã sửa logic dựa trên code inspection. Cần người dùng kiểm thử thủ công."*
238
+
239
+ ---
240
+
241
+ ## 7. Khung Hiển Thị Mặc Định (Default UI Block với Prompt Delta & Budget)
242
+
243
+ Khi bạn đưa ra yêu cầu, AI mở đầu câu trả lời bằng cấu trúc minh bạch sau:
244
+
245
+ ````markdown
246
+ ## 🧠 1. Tôi hiểu yêu cầu
247
+ [1–2 câu tóm tắt chính xác mục tiêu kỹ thuật thực sự của bạn]
248
+
249
+ ## 📝 2. Prompt tôi sẽ dùng (Compiled Execution Prompt)
250
+ ```text
251
+ Role: <vai trò chuyên trách trong DEV_PROFILE.md: fe | be | fullstack | data | ai-engineer | devops | qa>
252
+ Objective: <mục tiêu kỹ thuật đo lường được, định nghĩa rõ "DONE = ?">
253
+ Context: <stack công nghệ & module liên quan từ DEV_PROFILE.md và codebase>
254
+ Source of Truth: <thứ tự ưu tiên: file cung cấp > DB/API thực tế > code hiện tại>
255
+ Scope:
256
+ - IN-SCOPE: <files/hàm/component cụ thể được phép sửa>
257
+ - OUT-OF-SCOPE: <phần bất biến tuyệt đối không được đụng vào>
258
+ Constraints: <Minimal Safe Change, YAGNI, không phá vỡ API/DB hiện có, zero fake pass>
259
+ Process: <các bước logic tối giản>
260
+ Acceptance Criteria:
261
+ - [ ] <Tiêu chí kiểm chứng được 1>
262
+ - [ ] <Tiêu chí kiểm chứng được 2>
263
+ ```
264
+
265
+ ## 🔍 3. Prompt Delta (Tôi đã diễn giải thêm)
266
+
267
+ ### User đã yêu cầu:
268
+ - [Ý chính hoặc nguyên văn câu lệnh ngắn bạn đưa]
269
+
270
+ ### AI suy luận từ context:
271
+ - [Những điểm kỹ thuật AI bổ sung dựa trên mã nguồn thực tế]
272
+
273
+ ### AI KHÔNG tự giả định:
274
+ - [Những ranh giới AI tự khóa lại: không rewrite, không đổi DB, không sửa lan man]
275
+
276
+ ## 📊 4. Đánh Giá Rủi Ro & Ngân Sách Thay Đổi (Risk & Budget)
277
+ - **Độ phức tạp / Rủi ro:** `L[0-4]` / `R[0-4]` — [Đánh giá ngắn]
278
+ - **Ngân sách file (Change Budget):** Tối đa [N] files (`path/to/file1`, `path/to/file2`)
279
+ - **Dependencies mới:** 0 package
280
+
281
+ ## 📋 5. Các bước thực hiện
282
+ 1. [Khảo sát call-flow]
283
+ 2. [Thực thi tối thiểu an toàn]
284
+ 3. [Xác minh theo Evidence Gate]
285
+
286
+ ## ⚡ 6. Execution Mode
287
+ **[ AUTO | CONFIRM | ASK ]** — [Lý do lựa chọn mode dựa trên ma trận Risk & Complexity]
288
+ ````
289
+
290
+ ---
291
+
292
+ ## 8. Báo Cáo Nghiệm Thu Thực Thi (Execution Report)
293
+
294
+ Sau khi hoàn tất công việc:
295
+
296
+ ```markdown
297
+ ## ✅ Báo Cáo Thực Thi (Execution Report)
298
+
299
+ ### 1. Scope & Budget Đối Chiếu
300
+ - Files dự kiến: [N files] | Files thực tế sửa: [N files] ──► [Trong Budget / Vượt Budget]
301
+ - Dependencies mới: 0
302
+
303
+ ### 2. Chi Tiết Thay Đổi
304
+ - `path/to/file1.ts`: Sửa logic root cause tại hàm `handleAuth`
305
+ - `path/to/file2.tsx`: Cập nhật UI loading state
306
+
307
+ ### 3. Bằng Chứng Nghiệm Thu (Evidence Gate)
308
+ - **Claim Level:** [ VERIFIED | PARTIALLY VERIFIED | UNVERIFIED ]
309
+ - **Evidence:** [Lệnh test đã chạy / Cú pháp tsc / Static inspection]
310
+
311
+ ### 4. Rủi Ro Còn Lại & Hướng Dẫn Test Tay
312
+ - [Chỉ rõ cho người dùng cách verify thực tế trên trình duyệt/terminal]
313
+ ```
314
+
315
+ ---
316
+
317
+ ## 9. Quy Tắc Vàng Hệ Thống (System Golden Rule)
318
+
319
+ ```text
320
+ Before executing a non-trivial task, convert the user's natural-language request into an explicit, reviewable Execution Prompt, show the interpretation, assumptions, Prompt Delta and Change Budget, select AUTO/CONFIRM/ASK, enforce Scope Expansion Gates during execution, and report results strictly bounded by the Evidence Gate (CLAIM LEVEL <= EVIDENCE LEVEL).
321
+ ```
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: qk-ui-engineer
3
+ version: 10.1.0
4
+ status: stable
5
+ subtitle: "Build UI & Component"
6
+ description: "Kỹ sư Giao diện & Design System toàn diện: Xây dựng Design Tokens, phát triển UI Components responsive đầy đủ interaction states, và kiểm toán 57 tiêu chí Anti-Slop UI. Dùng khi: build ui, làm giao diện, css, layout, component, figma, design tokens, token library, design system, variants, review ui, audit giao diện, lỗi spacing — TUYỆT ĐỐI KHÔNG dùng khi viết API/Database (dùng qk-backend-data) hoặc đo lường SEO/Web Vitals sâu (dùng qk-code-review)."
7
+ tools:
8
+ - filesystem
9
+ - terminal
10
+ rules:
11
+ - global
12
+ - coding-standards
13
+ workflow: feature-delivery
14
+ triggers:
15
+ - "build ui"
16
+ - "làm giao diện"
17
+ - "css"
18
+ - "layout"
19
+ - "component"
20
+ - "figma"
21
+ - "design ui"
22
+ - "design tokens"
23
+ - "design system"
24
+ - "review ui"
25
+ - "audit giao diện"
26
+ - "anti-slop"
27
+ - "lỗi spacing"
28
+ ---
29
+
30
+ # qk-ui-engineer — Build UI & Component (Design Tokens & Anti-Slop Engine)
31
+
32
+ > **Language rule:** Code, identifiers, file names → English. Explanations, summaries → Vietnamese.
33
+
34
+ ---
35
+
36
+ ## 1. Nguyên Tắc Cốt Lõi & Luật Chống Over-Engineering
37
+
38
+ > **Core Principle:** Co-locate tightly coupled UI elements. Do not over-modularize simple components into micro-files. A beautiful UI is disciplined in its tokens and clean in its markup.
39
+ > **Verification Principle:** PASS is a verified conclusion, never a target. Zero visual hacks.
40
+
41
+ ### 🛡️ Anti-Overengineering Rule (CẤM XÉ NHỎ VÔ TỘI VẠ)
42
+ - **Không chia nhỏ quá đà (No micro-splitting):** Tuyệt đối KHÔNG tách một component 70 dòng thành 5 file con (`CardHeader.tsx`, `CardIcon.tsx`, `CardBadge.tsx`, `CardWrapper.tsx`) nếu các phần tử đó chỉ dùng độc quyền trong Card đó. Giữ chúng cùng một file (co-location) để dễ đọc và bảo trì.
43
+ - **Không lạm dụng thư viện animation nặng:** Ưu tiên CSS Transitions thuần túy (`transition: all 150ms ease-in-out`) thay vì tự ý cài đặt thêm các package nặng (Framer Motion, GSAP) nếu yêu cầu chỉ là hover/focus đơn giản.
44
+
45
+ ### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
46
+ - Chỉ sửa các component hoặc file style trong phạm vi UI được chỉ định.
47
+ - **CẤM** đổi theme/palette toàn cục nếu chỉ nhận nhiệm vụ sửa 1 component.
48
+ - **CẤM** reformat các file layout/page không liên quan.
49
+
50
+ ### 🛡️ Anti-Fake-Pass Rule (CẤM ÉP PASS ẢO - R-G-14.5)
51
+ - **CẤM** dùng `overflow: hidden` trên `body` hoặc root wrapper để che giấu lỗi vỡ layout / tràn viền ngang.
52
+ - **CẤM** dùng `as any` hoặc `@ts-ignore` để giấu lỗi props mismatch giữa UI và design token variants.
53
+ - **CẤM** bỏ qua contrast ratio bằng cách tự ý làm mờ text cho "nghệ thuật" mà vi phạm WCAG.
54
+
55
+ ### ⚖️ Verify Before Claim Rule (XÁC MINH TRƯỚC KHI BÁO CÁO)
56
+ - **Không tự xưng đạt chuẩn nếu chưa rà soát:** Không tự nhận "Đạt chuẩn WCAG 4.5:1" nếu chưa đối chiếu màu chữ và màu nền theo bảng màu. Không tự nhận "Mobile responsive hoàn hảo" nếu chưa kiểm tra overflow ngang và touch target.
57
+ - **Báo cáo trung thực:** Nếu chưa chạy được browser preview thật, ghi rõ: `"Trạng thái: NOT VERIFIED — Đã kiểm tra tĩnh CSS & Tokens. Khuyến nghị user mở trình duyệt để verify trải nghiệm thị giác"`.
58
+
59
+ ---
60
+
61
+ ## 2. Ranh Giới & Phạm Vi Kỹ Thuật (Hard Boundaries)
62
+
63
+ ### ✅ Việc skill này BẮT BUỘC làm:
64
+ - **Design Token Discipline:** 100% màu sắc, khoảng cách, font-size và border-radius phải lấy từ theme/tokens. Cấm tuyệt đối magic numbers (`#2371e2` trần trụi hoặc `margin: 19px`).
65
+ - **Đầy Đủ Interaction States:** Mọi thành phần tương tác BẮT BUỘC có đủ: `Default`, `Hover`, `Focus-visible` (ring bàn phím rõ ràng), `Active`, `Disabled` (giảm opacity, cursor-not-allowed) và `Loading`.
66
+ - **Responsive Mobile-First:** Không bao giờ để giao diện bị tràn chiều ngang (horizontal overflow) trên màn hình hẹp (< 375px). Touch target tối thiểu 44x44px trên mobile.
67
+ - **Anti-Slop Polish:** Loại bỏ các lỗi thị giác: lệch trục căn chỉnh, nhảy giật layout khi tải ảnh (thiếu `aspect-ratio`), font-size quá nhỏ khó đọc.
68
+ - **Planning Gate & Exceptions:** Nếu tạo component mới kèm design system token ảnh hưởng ≥ 2 files, tạo `implementation_plan.md` với `RequestFeedback: true`. Ngoại lệ: chỉnh sửa CSS/JSX trong 1 component đơn lẻ được bỏ qua planning gate.
69
+
70
+ ### ❌ Việc skill này TUYỆT ĐỐI KHÔNG làm (Chuyển giao quyền):
71
+ - Viết API handler, middleware hay query cơ sở dữ liệu → Chuyển sang `qk-backend-data`.
72
+ - Chạy quét bảo mật OWASP hoặc đo lường sâu hiệu năng Core Web Vitals → Chuyển sang `qk-code-review`.
73
+
74
+ ---
75
+
76
+ ## 3. Quy Trình Kỹ Nghệ Giao Diện 4 Bước (Sequential Procedure)
77
+
78
+ ```
79
+ [Bước 1: Token & Contract] ── Đọc theme/tokens có sẵn, xác định bảng màu ngữ nghĩa
80
+ │
81
+ ▼
82
+ [Bước 2: Component Markup] ── Viết JSX/HTML với semantic tags, co-locate sub-elements
83
+ │
84
+ ▼
85
+ [Bước 3: States & Polish] ── Thêm Hover, Focus-visible, Loading Skeleton & Transitions
86
+ │
87
+ ▼
88
+ [Bước 4: Anti-Slop Audit] ── Quét 57 tiêu chí: Spacing, Contrast, Typo & Mobile Overflow
89
+ ```
90
+
91
+ ### Chi tiết các bước:
92
+ 1. **Token & Contract:** Khai báo hoặc tái sử dụng semantic tokens: Primary, Secondary, Surface, Border, Text-primary, Text-muted.
93
+ 2. **Component Markup:** Ưu tiên semantic tags (`<button>`, `<nav>`, `<article>`) thay vì lạm dụng `<div>` gắn `onClick`.
94
+ 3. **States & Polish:** Đảm bảo khi bấm tab trên bàn phím, vòng focus sáng rõ. Thêm micro-transitions nhẹ nhàng.
95
+ 4. **Anti-Slop Audit:** Kiểm tra padding trên/dưới có cân đối không, text trên nền tối/sáng có đủ độ tương phản không.
96
+
97
+ ---
98
+
99
+ ## 4. Xử Lý Sự Cố Giao Diện (Failure Path Protocol)
100
+
101
+ Nếu giao diện bị vỡ layout hoặc tràn viền ngang:
102
+ 1. **Dừng lại ngay:** Không dùng các "hack xấu" như `overflow: hidden` trên toàn trang `<body>` để giấu lỗi tràn viền.
103
+ 2. **Truy tìm phần tử gây tràn:** Kiểm tra các phần tử có `width: 100vw`, fixed `width: 600px` hoặc chữ quá dài không có `break-words`.
104
+ 3. **Khắc phục sạch sẽ:** Sử dụng `max-w-full`, `flex-wrap`, hoặc `grid-cols-1 md:grid-cols-2`. Nếu không khắc phục được, revert về layout baseline trước đó.
105
+
106
+ ---
107
+
108
+ ## 5. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
109
+
110
+ | Role | Trọng tâm khi làm UI | Hành vi kỹ thuật đặc thù |
111
+ |---|---|---|
112
+ | `frontend` | Component architecture, clean CSS, token mapping, state binding | Tạo reusable atoms/molecules, tách CSS module / Tailwind |
113
+ | `ui/ux` | Visual harmony, whitespace, typography hierarchy, design consistency | Đánh giá tỉ lệ tương phản, nhịp điệu thị giác (visual rhythm) |
114
+ | `fullstack` | UI kết nối thực tế với API data, form validation feedback, skeletons | Hiển thị lỗi form trực quan (inline validation), empty state có CTA |
115
+ | `qa` | Accessibility tags, keyboard navigation, tab order, visual regression | Kiểm tra tab-index, aria attributes, aria-expanded trên dropdown/modal |
116
+
117
+ ---
118
+
119
+ ## 6. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
120
+
121
+ ```markdown
122
+ 🎨 UI Engineering Summary [Role: <role> | Component: <Tên>]
123
+ ─────────────────────────────────────────────────────────────────────
124
+ Trạng thái: [SUCCESS | BLOCKED | FAILED | PARTIAL]
125
+ Phạm vi thực tế: [Xây dựng Component mới / Tinh chỉnh Style]
126
+ Công nghệ CSS: [Tailwind CSS / CSS Modules / Vanilla CSS]
127
+
128
+ Các tệp giao diện (Laser Focus):
129
+ • [NEW] [ComponentName.tsx](file:///<workspace-root>/path): [Mô tả vai trò]
130
+
131
+ Kiểm soát Anti-Slop & Truth-First:
132
+ • Design Tokens: ✅ 100% dùng token, 0 magic colors/px
133
+ • Interaction States: ✅ Đầy đủ Hover, Focus-visible, Disabled
134
+ • Mobile View: ✅ Không tràn ngang, touch target ≥ 44px
135
+ • Visual Verification: [Đã verify qua browser / NOT VERIFIED (Cần user test mắt)]
136
+ • Zero Hack: ✅ Không dùng overflow: hidden trên body, không ép kiểu props
137
+ ```
@@ -44,7 +44,7 @@ steps:
44
44
  name: "Load context"
45
45
  purpose: "Hiểu codebase hiện tại đủ để implement đúng cách"
46
46
  required: true
47
- skip_if: "Context graph đã có từ qk-context-loader"
47
+ skip_if: "Context graph đã có từ qk-orchestrator"
48
48
  inputs:
49
49
  - affected_areas
50
50
  outputs:
@@ -21,7 +21,7 @@ ide_binding:
21
21
  steps:
22
22
  - id: gate_1_validation
23
23
  name: "Gate 1: Validation Gate"
24
- purpose: "Đảm bảo qk-validation-gate đã pass trước khi release"
24
+ purpose: "Đảm bảo qk-code-review đã pass trước khi release"
25
25
  required: true
26
26
  skip_if: null
27
27
  inputs: []