ai-developer-skill-os 9.3.1 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/.agents/AGENTS.md +73 -40
  2. package/.agents/DEV_PROFILE.md +36 -2
  3. package/.agents/LICENSE +21 -21
  4. package/.agents/docs/ARCHITECTURE.md +56 -120
  5. package/.agents/docs/GOVERNANCE.md +3 -3
  6. package/.agents/docs/SPEC.md +137 -60
  7. package/.agents/docs/VERSIONING.md +25 -57
  8. package/.agents/docs/adr/0005-v10-platform-consolidation.md +50 -0
  9. package/.agents/docs/schemas/learning.schema.yml +22 -57
  10. package/.agents/docs/schemas/skill.schema.yml +116 -161
  11. package/.agents/docs/schemas/workflow.schema.yml +51 -26
  12. package/.agents/docs/skill-classification.md +1 -1
  13. package/.agents/registry/graph.json +193 -346
  14. package/.agents/registry/index.yaml +90 -233
  15. package/.agents/rules/coding.md +30 -12
  16. package/.agents/rules/command-safety.md +20 -9
  17. package/.agents/rules/global.md +234 -28
  18. package/.agents/rules/prompt-compiler.md +170 -0
  19. package/.agents/rules/safety.md +1 -1
  20. package/.agents/rules/security.md +1 -1
  21. package/.agents/rules/skill-quality.md +18 -3
  22. package/.agents/skills/_template/SKILL.md +238 -88
  23. package/.agents/skills/qk-api-data-discovery/SKILL.md +456 -0
  24. package/.agents/skills/qk-api-data-discovery/references/bronze-record-format.md +47 -0
  25. package/.agents/skills/qk-api-data-discovery/references/data-contract-yaml.md +72 -0
  26. package/.agents/skills/qk-api-data-discovery/references/discovery-report-template.md +110 -0
  27. package/.agents/skills/qk-backend-data/SKILL.md +339 -0
  28. package/.agents/skills/qk-bug-resolution/SKILL.md +328 -248
  29. package/.agents/skills/qk-bug-resolution/evals/scorecard.yaml +1 -1
  30. package/.agents/skills/qk-code-cleaner/SKILL.md +399 -0
  31. package/.agents/skills/qk-code-review/SKILL.md +320 -247
  32. package/.agents/skills/qk-code-review/evals/scorecard.yaml +1 -1
  33. package/.agents/skills/qk-code-review/references/ai/{v8-schema-validation.md → schema-validation.md} +2 -2
  34. package/.agents/skills/qk-code-review/references/cross-cutting/async-concurrency-patterns.md +515 -515
  35. package/.agents/skills/qk-code-review/references/cross-cutting/error-handling-principles.md +492 -492
  36. package/.agents/skills/qk-code-review/references/cross-cutting/n-plus-one-queries.md +309 -309
  37. package/.agents/skills/qk-code-review/references/cross-cutting/sql-injection-prevention.md +307 -307
  38. package/.agents/skills/qk-code-review/references/cross-cutting/xss-prevention.md +263 -263
  39. package/.agents/skills/qk-code-review/references/languages/angular.md +768 -768
  40. package/.agents/skills/qk-code-review/references/languages/c.md +890 -890
  41. package/.agents/skills/qk-code-review/references/languages/cpp.md +893 -893
  42. package/.agents/skills/qk-code-review/references/languages/css-less-sass.md +661 -661
  43. package/.agents/skills/qk-code-review/references/languages/django.md +985 -985
  44. package/.agents/skills/qk-code-review/references/languages/fastapi.md +580 -580
  45. package/.agents/skills/qk-code-review/references/languages/go.md +993 -993
  46. package/.agents/skills/qk-code-review/references/languages/java.md +409 -409
  47. package/.agents/skills/qk-code-review/references/languages/java8.md +586 -586
  48. package/.agents/skills/qk-code-review/references/languages/kotlin.md +1018 -1018
  49. package/.agents/skills/qk-code-review/references/languages/nestjs.md +593 -593
  50. package/.agents/skills/qk-code-review/references/languages/php.md +684 -684
  51. package/.agents/skills/qk-code-review/references/languages/python.md +1073 -1073
  52. package/.agents/skills/qk-code-review/references/languages/qt.md +757 -757
  53. package/.agents/skills/qk-code-review/references/languages/react.md +871 -871
  54. package/.agents/skills/qk-code-review/references/languages/ruby.md +964 -964
  55. package/.agents/skills/qk-code-review/references/languages/rust.md +846 -846
  56. package/.agents/skills/qk-code-review/references/languages/svelte.md +1064 -1064
  57. package/.agents/skills/qk-code-review/references/languages/swift.md +936 -936
  58. package/.agents/skills/qk-code-review/references/languages/typescript.md +1016 -1016
  59. package/.agents/skills/qk-code-review/references/languages/vue.md +924 -924
  60. package/.agents/skills/qk-code-review/references/languages/zig.md +440 -440
  61. package/.agents/skills/qk-devops-release/SKILL.md +294 -0
  62. package/.agents/skills/qk-feature-delivery/SKILL.md +331 -247
  63. package/.agents/skills/qk-feature-delivery/evals/scorecard.yaml +1 -1
  64. package/.agents/skills/qk-orchestrator/SKILL.md +286 -152
  65. package/.agents/skills/qk-orchestrator/evals/scorecard.yaml +1 -1
  66. package/.agents/skills/qk-orchestrator/references/routing-table.md +1 -1
  67. package/.agents/skills/qk-product-spec/SKILL.md +262 -0
  68. package/.agents/skills/qk-prompt-compiler/SKILL.md +444 -0
  69. package/.agents/skills/qk-ui-engineer/SKILL.md +286 -0
  70. package/.agents/workflows/_schema.yml +146 -146
  71. package/.agents/workflows/bug-resolution.yml +155 -121
  72. package/.agents/workflows/code-review.yml +127 -93
  73. package/.agents/workflows/context-discovery.yml +128 -94
  74. package/.agents/workflows/documentation.yml +124 -90
  75. package/.agents/workflows/feature-delivery.yml +158 -124
  76. package/.agents/workflows/production-release.yml +207 -173
  77. package/.agents/workflows/prompt-compilation.yml +126 -0
  78. package/.agents/workflows/refactor.yml +136 -102
  79. package/.agents/workflows/security-audit.yml +149 -115
  80. package/.agents/workflows/shared/quality-gate.yml +3 -1
  81. package/.agents/workflows/skin-governance.yml +149 -115
  82. package/.agents/workflows/spec-driven-development.yml +116 -87
  83. package/CHANGELOG.md +77 -0
  84. package/README.md +125 -205
  85. package/bin/install.js +324 -329
  86. package/package.json +68 -74
  87. package/tooling/build-registry.js +226 -208
  88. package/tooling/run-aar.js +55 -126
  89. package/tooling/sync-versions.js +2 -2
  90. package/tooling/validate-graph.js +100 -87
  91. package/tooling/validate-skills.js +32 -14
  92. package/.agents/README.md +0 -90
  93. package/.agents/docs/CHI_TIET_SKILLS.md +0 -126
  94. package/.agents/docs/HUONG_DAN_SU_DUNG.md +0 -120
  95. package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +0 -36
  96. package/.agents/docs/MIGRATION-STATUS.md +0 -35
  97. package/.agents/docs/MIGRATION-V8.md +0 -10
  98. package/.agents/docs/ROADMAP-V8.2.md +0 -78
  99. package/.agents/docs/V8-CERTIFICATION.md +0 -27
  100. package/.agents/docs/decisions/ADR-001-v8-migration.md +0 -58
  101. package/.agents/docs/decisions/ADR-002-workflow-separation.md +0 -50
  102. package/.agents/docs/decisions/ADR-003-registry-generated.md +0 -54
  103. package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +0 -27
  104. package/.agents/registry/capability-graph.yml +0 -390
  105. package/.agents/registry/skills-index.yml +0 -305
  106. package/.agents/skills/_template/capability.yaml +0 -34
  107. package/.agents/skills/_template/evals/scorecard.yaml +0 -19
  108. package/.agents/skills/qk-access-policy/SKILL.md +0 -206
  109. package/.agents/skills/qk-access-policy/capability.yaml +0 -23
  110. package/.agents/skills/qk-access-policy/evals/scorecard.yaml +0 -36
  111. package/.agents/skills/qk-agent-observability/SKILL.md +0 -108
  112. package/.agents/skills/qk-agent-observability/capability.yaml +0 -29
  113. package/.agents/skills/qk-agent-observability/evals/scorecard.yaml +0 -29
  114. package/.agents/skills/qk-agent-observability/references/scorecard.yaml +0 -80
  115. package/.agents/skills/qk-ai-builder/SKILL.md +0 -254
  116. package/.agents/skills/qk-ai-builder/capability.yaml +0 -23
  117. package/.agents/skills/qk-ai-builder/evals/scorecard.yaml +0 -30
  118. package/.agents/skills/qk-api-consumer/SKILL.md +0 -256
  119. package/.agents/skills/qk-api-consumer/capability.yaml +0 -21
  120. package/.agents/skills/qk-api-consumer/evals/scorecard.yaml +0 -29
  121. package/.agents/skills/qk-api-lifecycle/SKILL.md +0 -251
  122. package/.agents/skills/qk-api-lifecycle/capability.yaml +0 -23
  123. package/.agents/skills/qk-api-lifecycle/evals/scorecard.yaml +0 -29
  124. package/.agents/skills/qk-bug-resolution/capability.yaml +0 -25
  125. package/.agents/skills/qk-code-review/capability.yaml +0 -23
  126. package/.agents/skills/qk-context-loader/SKILL.md +0 -198
  127. package/.agents/skills/qk-context-loader/capability.yaml +0 -23
  128. package/.agents/skills/qk-context-loader/evals/scorecard.yaml +0 -28
  129. package/.agents/skills/qk-data-engineer/SKILL.md +0 -253
  130. package/.agents/skills/qk-data-lifecycle/SKILL.md +0 -197
  131. package/.agents/skills/qk-data-lifecycle/capability.yaml +0 -23
  132. package/.agents/skills/qk-data-lifecycle/evals/scorecard.yaml +0 -29
  133. package/.agents/skills/qk-db-optimizer/SKILL.md +0 -210
  134. package/.agents/skills/qk-db-optimizer/capability.yaml +0 -22
  135. package/.agents/skills/qk-db-optimizer/evals/scorecard.yaml +0 -28
  136. package/.agents/skills/qk-design-system-engineering/SKILL.md +0 -193
  137. package/.agents/skills/qk-design-system-engineering/capability.yaml +0 -25
  138. package/.agents/skills/qk-design-system-engineering/evals/scorecard.yaml +0 -27
  139. package/.agents/skills/qk-devops-platform/SKILL.md +0 -198
  140. package/.agents/skills/qk-devops-platform/capability.yaml +0 -29
  141. package/.agents/skills/qk-devops-platform/evals/scorecard.yaml +0 -28
  142. package/.agents/skills/qk-docs/SKILL.md +0 -193
  143. package/.agents/skills/qk-docs/capability.yaml +0 -23
  144. package/.agents/skills/qk-docs/evals/scorecard.yaml +0 -27
  145. package/.agents/skills/qk-engineering-standard/SKILL.md +0 -89
  146. package/.agents/skills/qk-engineering-standard/capability.yaml +0 -23
  147. package/.agents/skills/qk-engineering-standard/evals/scorecard.yaml +0 -28
  148. package/.agents/skills/qk-engineering-standard/references/anti-patterns.md +0 -121
  149. package/.agents/skills/qk-engineering-standard/rules/backend.md +0 -122
  150. package/.agents/skills/qk-engineering-standard/rules/database.md +0 -3
  151. package/.agents/skills/qk-engineering-standard/rules/frontend.md +0 -152
  152. package/.agents/skills/qk-engineering-standard/rules/security.md +0 -3
  153. package/.agents/skills/qk-engineering-standard/rules/testing.md +0 -3
  154. package/.agents/skills/qk-fe-api-integration/SKILL.md +0 -704
  155. package/.agents/skills/qk-fe-api-integration/capability.yaml +0 -21
  156. package/.agents/skills/qk-fe-api-integration/evals/scorecard.yaml +0 -29
  157. package/.agents/skills/qk-feature-delivery/capability.yaml +0 -24
  158. package/.agents/skills/qk-frontend-architecture/SKILL.md +0 -127
  159. package/.agents/skills/qk-frontend-architecture/capability.yaml +0 -28
  160. package/.agents/skills/qk-frontend-architecture/evals/scorecard.yaml +0 -28
  161. package/.agents/skills/qk-help/SKILL.md +0 -107
  162. package/.agents/skills/qk-help/capability.yaml +0 -20
  163. package/.agents/skills/qk-help/evals/scorecard.yaml +0 -13
  164. package/.agents/skills/qk-orchestrator/capability.yaml +0 -22
  165. package/.agents/skills/qk-product-specification/SKILL.md +0 -187
  166. package/.agents/skills/qk-product-specification/capability.yaml +0 -27
  167. package/.agents/skills/qk-product-specification/evals/scorecard.yaml +0 -27
  168. package/.agents/skills/qk-production-release/SKILL.md +0 -188
  169. package/.agents/skills/qk-production-release/capability.yaml +0 -27
  170. package/.agents/skills/qk-production-release/evals/scorecard.yaml +0 -28
  171. package/.agents/skills/qk-project-audit/SKILL.md +0 -174
  172. package/.agents/skills/qk-project-bootstrap/SKILL.md +0 -372
  173. package/.agents/skills/qk-project-bootstrap/capability.yaml +0 -23
  174. package/.agents/skills/qk-project-bootstrap/evals/scorecard.yaml +0 -28
  175. package/.agents/skills/qk-project-health/SKILL.md +0 -202
  176. package/.agents/skills/qk-project-health/capability.yaml +0 -23
  177. package/.agents/skills/qk-project-health/evals/scorecard.yaml +0 -27
  178. package/.agents/skills/qk-project-memory/SKILL.md +0 -303
  179. package/.agents/skills/qk-project-memory/capability.yaml +0 -23
  180. package/.agents/skills/qk-project-memory/evals/scorecard.yaml +0 -27
  181. package/.agents/skills/qk-refactor/SKILL.md +0 -243
  182. package/.agents/skills/qk-refactor/capability.yaml +0 -26
  183. package/.agents/skills/qk-refactor/evals/scorecard.yaml +0 -27
  184. package/.agents/skills/qk-security-audit/SKILL.md +0 -280
  185. package/.agents/skills/qk-security-audit/capability.yaml +0 -29
  186. package/.agents/skills/qk-security-audit/evals/scorecard.yaml +0 -27
  187. package/.agents/skills/qk-system-evolution/SKILL.md +0 -625
  188. package/.agents/skills/qk-system-evolution/capability.yaml +0 -24
  189. package/.agents/skills/qk-system-evolution/evals/scorecard.yaml +0 -26
  190. package/.agents/skills/qk-test-engineering/SKILL.md +0 -215
  191. package/.agents/skills/qk-test-engineering/capability.yaml +0 -28
  192. package/.agents/skills/qk-test-engineering/evals/scorecard.yaml +0 -26
  193. package/.agents/skills/qk-ui-audit/SKILL.md +0 -175
  194. package/.agents/skills/qk-ui-audit/capability.yaml +0 -23
  195. package/.agents/skills/qk-ui-audit/evals/scorecard.yaml +0 -26
  196. package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  197. package/.agents/skills/qk-ui-builder/SKILL.md +0 -521
  198. package/.agents/skills/qk-ui-builder/capability.yaml +0 -29
  199. package/.agents/skills/qk-ui-builder/evals/scorecard.yaml +0 -26
  200. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +0 -295
  201. package/.agents/skills/qk-ui-builder/references/color.md +0 -115
  202. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +0 -458
  203. package/.agents/skills/qk-ui-builder/references/copy.md +0 -250
  204. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +0 -115
  205. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +0 -111
  206. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +0 -48
  207. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +0 -50
  208. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +0 -51
  209. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +0 -49
  210. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +0 -44
  211. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +0 -50
  212. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +0 -51
  213. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +0 -50
  214. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +0 -50
  215. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +0 -49
  216. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +0 -49
  217. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +0 -49
  218. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +0 -48
  219. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +0 -48
  220. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +0 -51
  221. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +0 -48
  222. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +0 -48
  223. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +0 -50
  224. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +0 -48
  225. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +0 -45
  226. package/.agents/skills/qk-ui-builder/references/macrostructures.md +0 -38
  227. package/.agents/skills/qk-ui-builder/references/motion.md +0 -95
  228. package/.agents/skills/qk-ui-builder/references/responsive.md +0 -115
  229. package/.agents/skills/qk-ui-builder/references/slop-test.md +0 -135
  230. package/.agents/skills/qk-ui-builder/references/structure.md +0 -280
  231. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +0 -53
  232. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +0 -52
  233. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +0 -52
  234. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +0 -52
  235. package/.agents/skills/qk-ui-builder/references/themes/garden.md +0 -52
  236. package/.agents/skills/qk-ui-builder/references/themes/hum.md +0 -52
  237. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +0 -52
  238. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +0 -52
  239. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +0 -52
  240. package/.agents/skills/qk-ui-builder/references/themes/playful.md +0 -52
  241. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +0 -52
  242. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +0 -52
  243. package/.agents/skills/qk-ui-builder/references/typography.md +0 -129
  244. package/.agents/skills/qk-ui-system-builder/SKILL.md +0 -183
  245. package/.agents/skills/qk-ui-system-builder/capability.yaml +0 -25
  246. package/.agents/skills/qk-ui-system-builder/evals/scorecard.yaml +0 -26
  247. package/.agents/skills/qk-upgrade/SKILL.md +0 -301
  248. package/.agents/skills/qk-upgrade/capability.yaml +0 -24
  249. package/.agents/skills/qk-upgrade/evals/scorecard.yaml +0 -26
  250. package/.agents/skills/qk-validation-gate/SKILL.md +0 -88
  251. package/.agents/skills/qk-validation-gate/capability.yaml +0 -23
  252. package/.agents/skills/qk-validation-gate/evals/scorecard.yaml +0 -26
  253. package/.agents/skills/qk-web-quality-gate/SKILL.md +0 -197
  254. package/.agents/skills/qk-web-quality-gate/capability.yaml +0 -24
  255. package/.agents/skills/qk-web-quality-gate/evals/scorecard.yaml +0 -26
  256. package/.agents/workflows/research.yml +0 -75
  257. package/.agents/workflows/skill-evolution.yml +0 -97
  258. package/tooling/fix-refactor.js +0 -8
@@ -0,0 +1,286 @@
1
+ ---
2
+ name: qk-ui-engineer
3
+ version: 10.2.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
+ platforms: [antigravity, claude, opencode]
8
+ runtime_version: 1
9
+ tools:
10
+ - filesystem
11
+ - terminal
12
+ rules:
13
+ - global
14
+ - coding-standards
15
+ workflow: feature-delivery
16
+ triggers:
17
+ - "build ui"
18
+ - "làm giao diện"
19
+ - "css"
20
+ - "layout"
21
+ - "component"
22
+ - "figma"
23
+ - "design ui"
24
+ - "design tokens"
25
+ - "design system"
26
+ - "review ui"
27
+ - "audit giao diện"
28
+ - "anti-slop"
29
+ - "lỗi spacing"
30
+ ---
31
+
32
+ # qk-ui-engineer — Build UI & Component (Design Tokens & Anti-Slop 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
+
59
+ - Memory chỉ đóng vai trò **Navigator (bản đồ chỉ đường)**.
60
+ Không được xem Memory là Source of Truth.
61
+ 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.
62
+
63
+ ---
64
+
65
+ ### Learning Flow (AI tự học có kiểm soát)
66
+ - 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:
67
+ - Hard Bug có khả năng tái diễn.
68
+ - Pattern làm việc lặp lại trong dự án.
69
+ - Convention hoặc quy tắc kiến trúc mới.
70
+ - Quyết định Architecture quan trọng.
71
+ - Tech Debt Pattern hoặc Code Smell có tính hệ thống.
72
+
73
+ - Candidate Memory chỉ là bản nháp quan sát, chưa phải tri thức chính thức.
74
+ - Candidate Memory có thể lưu tạm tại: `.ai-local/candidates/`
75
+ - AI không được tự động Promote Candidate Memory thành Project Knowledge.
76
+
77
+ ---
78
+
79
+ ### Post-flight Harvest (Đề xuất → Phê duyệt)
80
+ Sau khi hoàn thành task:
81
+ - AI đánh giá các Candidate Memory đã tạo.
82
+ - Nếu phát hiện tri thức có giá trị tái sử dụng:
83
+ - Đề xuất người dùng xem xét.
84
+ - Gửi yêu cầu phê duyệt thông qua:
85
+ - `/learn`
86
+ - `qk-project-memory`
87
+ - Chỉ sau khi được phê duyệt, Candidate Memory mới được chuyển thành Knowledge chính thức:
88
+
89
+ ```
90
+ .ai-local/candidates/ ──(Approve)──> .ai-local/knowledge/index.yaml
91
+ ```
92
+
93
+ - Project Knowledge phải được xem như tài sản kỹ thuật của dự án:
94
+ - Có thể review, cập nhật, loại bỏ và có lịch sử thay đổi.
95
+
96
+ ---
97
+
98
+ ### Ignore (Không đưa vào Memory)
99
+ Không lưu:
100
+ - Trace log của một session đơn lẻ.
101
+ - Temporary debugging data.
102
+ - Output của một lần chạy test/scan.
103
+ - Report health tạm thời của một đợt kiểm tra.
104
+ - Lỗi nhỏ chỉ xảy ra một lần.
105
+ - Thông tin không có khả năng tái sử dụng.
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:** 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.
118
+ > **Verification Principle:** PASS is a verified conclusion, never a target. Zero visual hacks.
119
+
120
+ ### 🛡️ Anti-Overengineering Rule (CẤM XÉ NHỎ VÔ TỘI VẠ)
121
+ - **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ì.
122
+ - **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.
123
+
124
+ ### 🔒 No Unrelated Changes Rule (CẤM SỬA LAN MAN)
125
+ - Chỉ sửa các component hoặc file style trong phạm vi UI được chỉ định.
126
+ - **CẤM** đổi theme/palette toàn cục nếu chỉ nhận nhiệm vụ sửa 1 component.
127
+ - **CẤM** reformat các file layout/page không liên quan.
128
+
129
+ ### 🛡️ Anti-Fake-Pass Rule (CẤM ÉP PASS ẢO - R-G-14.5)
130
+ - **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.
131
+ - **CẤM** dùng `as any` hoặc `@ts-ignore` để giấu lỗi props mismatch giữa UI và design token variants.
132
+ - **CẤM** bỏ qua contrast ratio bằng cách tự ý làm mờ text cho "nghệ thuật" mà vi phạm WCAG.
133
+
134
+ ### ⚖️ Verify Before Claim Rule (XÁC MINH TRƯỚC KHI BÁO CÁO)
135
+ - **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.
136
+ - **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"`.
137
+
138
+ ---
139
+
140
+ ## 2. Ranh Giới & Phạm Vi Kỹ Thuật (Hard Boundaries)
141
+
142
+ ### ✅ Việc skill này BẮT BUỘC làm:
143
+ - **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`).
144
+ - **Đầ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`.
145
+ - **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.
146
+ - **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.
147
+ - **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.
148
+
149
+ ### ❌ Việc skill này TUYỆT ĐỐI KHÔNG làm (Chuyển giao quyền):
150
+ - Viết API handler, middleware hay query cơ sở dữ liệu → Chuyển sang `qk-backend-data`.
151
+ - 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`.
152
+
153
+ ---
154
+
155
+ ## 3. Quy Trình Kỹ Nghệ Giao Diện 4 Bước (Sequential Procedure)
156
+
157
+ ```
158
+ [Bước 1: Token & Contract] ── Đọc theme/tokens có sẵn, xác định bảng màu ngữ nghĩa
159
+ │
160
+ ▼
161
+ [Bước 2: Component Markup] ── Viết JSX/HTML với semantic tags, co-locate sub-elements
162
+ │
163
+ ▼
164
+ [Bước 3: States & Polish] ── Thêm Hover, Focus-visible, Loading Skeleton & Transitions
165
+ │
166
+ ▼
167
+ [Bước 4: Anti-Slop Audit] ── Quét 57 tiêu chí: Spacing, Contrast, Typo & Mobile Overflow
168
+ ```
169
+
170
+ ### Chi tiết các bước:
171
+ 1. **Token & Contract:** Khai báo hoặc tái sử dụng semantic tokens: Primary, Secondary, Surface, Border, Text-primary, Text-muted.
172
+ 2. **Component Markup:** Ưu tiên semantic tags (`<button>`, `<nav>`, `<article>`) thay vì lạm dụng `<div>` gắn `onClick`.
173
+ 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.
174
+ 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.
175
+
176
+ ---
177
+
178
+ ## 4. Xử Lý Sự Cố Giao Diện (Failure Path Protocol)
179
+
180
+ Nếu giao diện bị vỡ layout hoặc tràn viền ngang:
181
+ 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.
182
+ 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`.
183
+ 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 đó.
184
+
185
+ ---
186
+
187
+ ## 5. Thích Ứng Theo Role Kỹ Thuật (Role Adaptation)
188
+
189
+ | Role | Trọng tâm khi làm UI | Hành vi kỹ thuật đặc thù |
190
+ |---|---|---|
191
+ | `frontend` | Component architecture, clean CSS, token mapping, state binding | Tạo reusable atoms/molecules, tách CSS module / Tailwind |
192
+ | `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) |
193
+ | `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 |
194
+ | `qa` | Accessibility tags, keyboard navigation, tab order, visual regression | Kiểm tra tab-index, aria attributes, aria-expanded trên dropdown/modal |
195
+
196
+ ---
197
+
198
+ ## 6. Báo Cáo Nghiệm Thu Chuẩn Xác (Truth-First Report)
199
+
200
+ ```markdown
201
+ 🎨 UI Engineering Summary [Role: <role> | Component: <Tên>]
202
+ ─────────────────────────────────────────────────────────────────────
203
+ Trạng thái: [SUCCESS | BLOCKED | FAILED | PARTIAL]
204
+ Phạm vi thực tế: [Xây dựng Component mới / Tinh chỉnh Style]
205
+ Công nghệ CSS: [Tailwind CSS / CSS Modules / Vanilla CSS]
206
+
207
+ Các tệp giao diện (Laser Focus):
208
+ • [NEW] [ComponentName.tsx](file:///<workspace-root>/path): [Mô tả vai trò]
209
+
210
+ Kiểm soát Anti-Slop & Truth-First:
211
+ • Design Tokens: ✅ 100% dùng token, 0 magic colors/px
212
+ • Interaction States: ✅ Đầy đủ Hover, Focus-visible, Disabled
213
+ • Mobile View: ✅ Không tràn ngang, touch target ≥ 44px
214
+ • Visual Verification: [Đã verify qua browser / NOT VERIFIED (Cần user test mắt)]
215
+ • Zero Hack: ✅ Không dùng overflow: hidden trên body, không ép kiểu props
216
+ ```
217
+
218
+ ---
219
+
220
+ ## 7. Mô Hình Độ Tin Cậy (Confidence Model)
221
+
222
+ | Level | Condition | Action |
223
+ |-------|-----------|--------|
224
+ | HIGH | Direct evidence available | Proceed |
225
+ | MEDIUM | Some assumptions needed | Note assumptions |
226
+ | LOW | Insufficient evidence | EXIT: BLOCKED |
227
+
228
+ ---
229
+
230
+ ## 8. Thoái Ra Mã (Exit Codes)
231
+
232
+ | Code | Meaning | When |
233
+ |------|---------|------|
234
+ | SUCCESS | Task completed and verified | All acceptance criteria met |
235
+ | PARTIAL | Task done with minor gaps | Some checks skipped |
236
+ | BLOCKED | Missing precondition or info | Ask user |
237
+ | FAILED | Task failed after max retries | Report error |
238
+
239
+ ---
240
+
241
+ ## 9. Bằng Chứng Định Dạng (Evidence Format)
242
+
243
+ ```
244
+ [SEVERITY] path/to/file.ts:LINE
245
+ Reason: [why this matters]
246
+ Confidence: [HIGH|MEDIUM|LOW]
247
+ Fix: [suggestion]
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Platform-Specific Instructions
253
+
254
+ ### Antigravity (Google Gemini)
255
+ - Uses `.agents/AGENTS.md` as entry point
256
+ - Supports Cockpit integration
257
+ - Rewrite absolute paths for global mode
258
+ - `GEMINI.md` copied for global installs
259
+
260
+ ### Claude Code (Anthropic)
261
+ - Reads `.claude/CLAUDE.md` automatically
262
+ - Large context window (~200K tokens)
263
+ - Can handle full skill files without trimming
264
+ - Uses native tool format (Read, Write, Edit, Bash)
265
+
266
+ ### OpenCode (Open Source)
267
+ - Reads `.opencode/config.yaml`
268
+ - Context window ~128K tokens
269
+ - Keep skill files lean when possible
270
+ - Supports custom tool format
271
+
272
+ ---
273
+
274
+ ## Compliance
275
+
276
+ | Check | Status |
277
+ |-------|--------|
278
+ | Runtime Standard | 11/11 |
279
+ | Frontmatter Complete | ✅ |
280
+ | Platforms Field | ✅ |
281
+ | References Valid | ✅ |
282
+ | Decision Trees | PASS |
283
+ | Thresholds Defined | PASS |
284
+ | schema_version | 10.2.0 |
285
+ | runtime_version | 1 |
286
+ | platforms | [antigravity, claude, opencode] |
@@ -1,146 +1,146 @@
1
- # Workflow Schema — V8 Standard
2
- # Every workflow YAML file MUST conform to this schema.
3
- # Version: 8.3.0
4
-
5
- schema_version: 8.3.0
6
-
7
- # ── Required top-level fields ──────────────────────────────
8
- required:
9
- - name # string: workflow identifier (kebab-case)
10
- - version # semver: 8.x.x
11
- - description # string: one sentence
12
- - owner # object: {type, maintained_by} — who owns this workflow
13
- - steps # array: minimum 2 steps
14
- - escalation # object: retry + on_failure
15
-
16
- # ── Optional top-level fields ───────────────────────────────
17
- optional:
18
- - verification_profile # string: key into verification_profiles table below
19
- - triggers # array: keywords to auto-select workflow
20
- - ide_binding # object: {slash_command, aliases} — maps workflow to an IDE command
21
-
22
- # ── IDE binding field structure ─────────────────────────────
23
- ide_binding_fields:
24
- slash_command: # string: e.g. "/fix-bug" — primary command to invoke this workflow
25
- aliases: # array: alternate strings that also trigger it
26
-
27
- # ── Owner field structure ───────────────────────────────────
28
- owner_fields:
29
- type: # string: engineering | security | ux | data | devops
30
- maintained_by: # string: team or person identifier
31
-
32
- # ── Required fields per step ────────────────────────────────
33
- step_required:
34
- - id # string: unique within workflow (snake_case)
35
- - name # string: human-readable step name
36
- - purpose # string: WHAT the step achieves (not HOW)
37
- - inputs # array: what this step needs to start
38
- - outputs # array: what this step produces when done
39
- - required # bool: true = cannot be skipped
40
-
41
- # ── Optional fields per step ────────────────────────────────
42
- step_optional:
43
- - skip_if # string: condition under which step can be skipped
44
- - exit_on_fail # enum: BLOCKED | PARTIAL | FAILED
45
- - min_confidence # enum: HIGH | MEDIUM (default: HIGH)
46
- - actions # array: hints for HOW to achieve the purpose
47
- - human_checkpoint # object: {condition, message} — pause and wait for human approval before proceeding past this step
48
- - context_budget # int: max lines of code that should be read in this step (prevent token overflow)
49
-
50
- # ── Human checkpoint field structure ────────────────────────
51
- human_checkpoint_fields:
52
- condition: # string: when this checkpoint triggers, e.g. "any CRITICAL finding present"
53
- message: # string: what to show the human when asking for approval
54
-
55
- # ── Complexity definitions ──────────────────────────────────
56
- complexity_levels:
57
- low:
58
- files_affected: "1"
59
- has_behavior_change: false
60
- has_external_dependency: false
61
- has_breaking_change: false
62
- examples: ["fix typo", "rename variable", "add comment"]
63
-
64
- medium:
65
- files_affected: "2-5"
66
- has_behavior_change: true
67
- has_external_dependency: false
68
- has_breaking_change: false
69
- examples: ["fix bug", "add feature to existing module", "refactor function"]
70
-
71
- high:
72
- files_affected: "5+"
73
- has_behavior_change: true
74
- has_external_dependency: true
75
- has_breaking_change: false
76
- examples: ["add new API endpoint", "database migration", "new component with state"]
77
-
78
- critical:
79
- files_affected: "many"
80
- has_behavior_change: true
81
- has_external_dependency: true
82
- has_breaking_change: true
83
- examples: ["architecture change", "breaking API change", "auth system overhaul"]
84
-
85
- # ── Verification profiles ────────────────────────────────────
86
- verification_profiles:
87
- bug-fix:
88
- - regression_check # Does the fix break anything else?
89
- - root_cause_fixed # Is the real cause addressed (not patched)?
90
- - lint_clean # No lint errors introduced
91
- - test_if_available # Run related tests if they exist
92
- - security_boundary_check # Ensure R-SEC-04 is respected
93
-
94
- refactor:
95
- - behavior_unchanged # External behavior identical before/after
96
- - test_pass # All existing tests still pass
97
- - lint_clean
98
- - no_new_complexity # Cyclomatic complexity not increased
99
- - anti_slop_compliance # Meets R-C-09 zero-slop standard
100
-
101
- feature:
102
- - acceptance_criteria # Does it meet the stated requirements?
103
- - test_coverage # New logic has tests
104
- - integration_check # Works with existing system
105
- - lint_clean
106
- - anti_slop_compliance # Meets R-C-09 zero-slop standard
107
- - security_boundary_check # Enforces R-SEC-04
108
-
109
- documentation:
110
- - accuracy # Content matches actual code behavior
111
- - completeness # All required sections present
112
- - no_broken_links # References are valid
113
-
114
- review:
115
- - findings_have_evidence # Each finding has file+line+quote
116
- - severity_justified # Severity level is appropriate
117
- - actionable_suggestions # Each finding has a fix suggestion
118
-
119
- security-audit:
120
- - no_unverified_critical # No CRITICAL risk left without a recommendation
121
- - secret_scan_complete # Secret scan actually ran, not skipped
122
- - fix_confirmed # Reported vulnerabilities re-checked after remediation
123
-
124
- skill-evolution:
125
- - improvement_schema_valid # Proposal passes validate-skills.js
126
- - regression_free # Success rate not lower than baseline
127
- - change_justified # Each change traces to a failure_pattern
128
-
129
- spec-driven:
130
- - spec_matches_code # Implementation matches technical_spec
131
- - edge_cases_covered # Edge cases from spec are handled
132
- - acceptance_criteria # Verify step confirms criteria met
133
-
134
- # ── Escalation schema ────────────────────────────────────────
135
- escalation_required: true
136
- escalation_fields:
137
- required:
138
- - max_retries # int: max retry attempts (recommended: 2)
139
- - on_failure # string: what to do when all retries exhausted
140
-
141
- # ── Exit codes ───────────────────────────────────────────────
142
- exit_codes:
143
- SUCCESS: "Task completed and verified"
144
- BLOCKED: "Precondition not met — waiting for input"
145
- FAILED: "Execution failed after max_retries"
146
- PARTIAL: "Partially completed — output + reason provided"
1
+ # Workflow Schema — V8 Standard
2
+ # Every workflow YAML file MUST conform to this schema.
3
+ # Version: 10.2.0
4
+
5
+ schema_version: 10.2.0
6
+
7
+ # ── Required top-level fields ──────────────────────────────
8
+ required:
9
+ - name # string: workflow identifier (kebab-case)
10
+ - version # semver: 8.x.x
11
+ - description # string: one sentence
12
+ - owner # object: {type, maintained_by} — who owns this workflow
13
+ - steps # array: minimum 2 steps
14
+ - escalation # object: retry + on_failure
15
+
16
+ # ── Optional top-level fields ───────────────────────────────
17
+ optional:
18
+ - verification_profile # string: key into verification_profiles table below
19
+ - triggers # array: keywords to auto-select workflow
20
+ - ide_binding # object: {slash_command, aliases} — maps workflow to an IDE command
21
+
22
+ # ── IDE binding field structure ─────────────────────────────
23
+ ide_binding_fields:
24
+ slash_command: # string: e.g. "/fix-bug" — primary command to invoke this workflow
25
+ aliases: # array: alternate strings that also trigger it
26
+
27
+ # ── Owner field structure ───────────────────────────────────
28
+ owner_fields:
29
+ type: # string: engineering | security | ux | data | devops
30
+ maintained_by: # string: team or person identifier
31
+
32
+ # ── Required fields per step ────────────────────────────────
33
+ step_required:
34
+ - id # string: unique within workflow (snake_case)
35
+ - name # string: human-readable step name
36
+ - purpose # string: WHAT the step achieves (not HOW)
37
+ - inputs # array: what this step needs to start
38
+ - outputs # array: what this step produces when done
39
+ - required # bool: true = cannot be skipped
40
+
41
+ # ── Optional fields per step ────────────────────────────────
42
+ step_optional:
43
+ - skip_if # string: condition under which step can be skipped
44
+ - exit_on_fail # enum: BLOCKED | PARTIAL | FAILED
45
+ - min_confidence # enum: HIGH | MEDIUM (default: HIGH)
46
+ - actions # array: hints for HOW to achieve the purpose
47
+ - human_checkpoint # object: {condition, message} — pause and wait for human approval before proceeding past this step
48
+ - context_budget # int: max lines of code that should be read in this step (prevent token overflow)
49
+
50
+ # ── Human checkpoint field structure ────────────────────────
51
+ human_checkpoint_fields:
52
+ condition: # string: when this checkpoint triggers, e.g. "any CRITICAL finding present"
53
+ message: # string: what to show the human when asking for approval
54
+
55
+ # ── Complexity definitions ──────────────────────────────────
56
+ complexity_levels:
57
+ low:
58
+ files_affected: "1"
59
+ has_behavior_change: false
60
+ has_external_dependency: false
61
+ has_breaking_change: false
62
+ examples: ["fix typo", "rename variable", "add comment"]
63
+
64
+ medium:
65
+ files_affected: "2-5"
66
+ has_behavior_change: true
67
+ has_external_dependency: false
68
+ has_breaking_change: false
69
+ examples: ["fix bug", "add feature to existing module", "refactor function"]
70
+
71
+ high:
72
+ files_affected: "5+"
73
+ has_behavior_change: true
74
+ has_external_dependency: true
75
+ has_breaking_change: false
76
+ examples: ["add new API endpoint", "database migration", "new component with state"]
77
+
78
+ critical:
79
+ files_affected: "many"
80
+ has_behavior_change: true
81
+ has_external_dependency: true
82
+ has_breaking_change: true
83
+ examples: ["architecture change", "breaking API change", "auth system overhaul"]
84
+
85
+ # ── Verification profiles ────────────────────────────────────
86
+ verification_profiles:
87
+ bug-fix:
88
+ - regression_check # Does the fix break anything else?
89
+ - root_cause_fixed # Is the real cause addressed (not patched)?
90
+ - lint_clean # No lint errors introduced
91
+ - test_if_available # Run related tests if they exist
92
+ - security_boundary_check # Ensure R-SEC-04 is respected
93
+
94
+ refactor:
95
+ - behavior_unchanged # External behavior identical before/after
96
+ - test_pass # All existing tests still pass
97
+ - lint_clean
98
+ - no_new_complexity # Cyclomatic complexity not increased
99
+ - anti_slop_compliance # Meets R-C-09 zero-slop standard
100
+
101
+ feature:
102
+ - acceptance_criteria # Does it meet the stated requirements?
103
+ - test_coverage # New logic has tests
104
+ - integration_check # Works with existing system
105
+ - lint_clean
106
+ - anti_slop_compliance # Meets R-C-09 zero-slop standard
107
+ - security_boundary_check # Enforces R-SEC-04
108
+
109
+ documentation:
110
+ - accuracy # Content matches actual code behavior
111
+ - completeness # All required sections present
112
+ - no_broken_links # References are valid
113
+
114
+ review:
115
+ - findings_have_evidence # Each finding has file+line+quote
116
+ - severity_justified # Severity level is appropriate
117
+ - actionable_suggestions # Each finding has a fix suggestion
118
+
119
+ security-audit:
120
+ - no_unverified_critical # No CRITICAL risk left without a recommendation
121
+ - secret_scan_complete # Secret scan actually ran, not skipped
122
+ - fix_confirmed # Reported vulnerabilities re-checked after remediation
123
+
124
+ skill-evolution:
125
+ - improvement_schema_valid # Proposal passes validate-skills.js
126
+ - regression_free # Success rate not lower than baseline
127
+ - change_justified # Each change traces to a failure_pattern
128
+
129
+ spec-driven:
130
+ - spec_matches_code # Implementation matches technical_spec
131
+ - edge_cases_covered # Edge cases from spec are handled
132
+ - acceptance_criteria # Verify step confirms criteria met
133
+
134
+ # ── Escalation schema ────────────────────────────────────────
135
+ escalation_required: true
136
+ escalation_fields:
137
+ required:
138
+ - max_retries # int: max retry attempts (recommended: 2)
139
+ - on_failure # string: what to do when all retries exhausted
140
+
141
+ # ── Exit codes ───────────────────────────────────────────────
142
+ exit_codes:
143
+ SUCCESS: "Task completed and verified"
144
+ BLOCKED: "Precondition not met — waiting for input"
145
+ FAILED: "Execution failed after max_retries"
146
+ PARTIAL: "Partially completed — output + reason provided"