ai-developer-skill-os 7.5.0 → 8.1.4

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 (377) hide show
  1. package/.agents/CHANGELOG.md +2 -1
  2. package/.agents/README.md +51 -10
  3. package/.agents/docs/ARCHITECTURE.md +156 -0
  4. package/.agents/docs/CHI_TIET_SKILLS.md +2 -1
  5. package/.agents/docs/MIGRATION-CLEANUP-V8.1.3.md +36 -0
  6. package/.agents/docs/MIGRATION-STATUS.md +35 -0
  7. package/.agents/docs/MIGRATION-V8.md +10 -0
  8. package/.agents/docs/ROADMAP-V8.2.md +78 -0
  9. package/.agents/docs/V8-CERTIFICATION.md +27 -0
  10. package/.agents/docs/VERSIONING.md +95 -0
  11. package/.agents/docs/decisions/ADR-001-v8-migration.md +58 -0
  12. package/.agents/docs/decisions/ADR-002-workflow-separation.md +50 -0
  13. package/.agents/docs/decisions/ADR-003-registry-generated.md +54 -0
  14. package/.agents/docs/decisions/ADR-008-skill-boundary-review.md +27 -0
  15. package/.agents/docs/schemas/learning.schema.yml +69 -0
  16. package/.agents/docs/schemas/skill.schema.yml +188 -0
  17. package/.agents/docs/schemas/workflow.schema.yml +33 -0
  18. package/.agents/knowledge/design-intelligence/industries/ecommerce.md +3 -0
  19. package/.agents/knowledge/design-intelligence/industries/fintech.md +3 -0
  20. package/.agents/knowledge/design-intelligence/industries/healthcare.md +3 -0
  21. package/.agents/learnings/draft/README.md +37 -0
  22. package/.agents/registry/capability-graph.yml +500 -0
  23. package/.agents/registry/skills-index.yml +525 -0
  24. package/.agents/reports/RELEASE-CHECKLIST.md +29 -0
  25. package/.agents/reports/architecture-audit.md +13 -0
  26. package/.agents/reports/graph-health.md +20 -0
  27. package/.agents/reports/skill-audit.md +215 -0
  28. package/.agents/rules/coding.md +102 -0
  29. package/.agents/rules/command-safety.md +21 -0
  30. package/.agents/rules/global.md +135 -0
  31. package/.agents/rules/priorities.yml +24 -0
  32. package/.agents/rules/safety.md +84 -0
  33. package/.agents/rules/security.md +13 -0
  34. package/.agents/rules/skill-quality.md +14 -0
  35. package/.agents/skills/_template/SKILL.md +132 -0
  36. package/.agents/skills/qk-access-policy/SKILL.md +61 -5
  37. package/.agents/skills/qk-agent-observability/SKILL.md +73 -0
  38. package/.agents/skills/qk-ai-builder/SKILL.md +62 -5
  39. package/.agents/skills/qk-api-lifecycle/SKILL.md +59 -6
  40. package/.agents/skills/qk-bug-resolution/SKILL.md +64 -6
  41. package/.agents/skills/qk-context-loader/SKILL.md +63 -11
  42. package/.agents/skills/qk-data-lifecycle/SKILL.md +61 -5
  43. package/.agents/skills/qk-db-optimizer/SKILL.md +61 -5
  44. package/.agents/skills/qk-design-system-engineering/SKILL.md +112 -0
  45. package/.agents/skills/qk-devops-platform/SKILL.md +117 -0
  46. package/.agents/skills/qk-docs/SKILL.md +62 -6
  47. package/.agents/skills/qk-engineering-standard/SKILL.md +62 -12
  48. package/.agents/skills/qk-fe-api-integration/SKILL.md +60 -6
  49. package/.agents/skills/qk-feature-delivery/SKILL.md +65 -6
  50. package/.agents/skills/qk-frontend-architecture/SKILL.md +134 -0
  51. package/.agents/skills/qk-help/SKILL.md +245 -193
  52. package/.agents/skills/qk-orchestrator/SKILL.md +67 -13
  53. package/.agents/skills/qk-orchestrator/references/routing-table.md +4 -3
  54. package/.agents/skills/qk-product-specification/SKILL.md +130 -0
  55. package/.agents/skills/qk-production-release/SKILL.md +59 -6
  56. package/.agents/skills/qk-project-bootstrap/SKILL.md +68 -7
  57. package/.agents/skills/qk-project-health/SKILL.md +63 -6
  58. package/.agents/skills/qk-project-memory/SKILL.md +109 -6
  59. package/.agents/skills/qk-security-audit/SKILL.md +135 -0
  60. package/.agents/skills/qk-system-evolution/SKILL.md +63 -12
  61. package/.agents/skills/qk-test-engineering/SKILL.md +139 -0
  62. package/.agents/skills/qk-ui-audit/SKILL.md +63 -8
  63. package/.agents/skills/qk-ui-builder/SKILL.md +509 -0
  64. package/.agents/skills/qk-ui-builder/references/anti-patterns.md +295 -0
  65. package/.agents/skills/qk-ui-builder/references/color.md +115 -0
  66. package/.agents/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
  67. package/.agents/skills/qk-ui-builder/references/copy.md +250 -0
  68. package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
  69. package/.agents/skills/qk-ui-builder/references/layout-and-space.md +111 -0
  70. package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
  71. package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
  72. package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
  73. package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
  74. package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
  75. package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
  76. package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
  77. package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
  78. package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
  79. package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
  80. package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
  81. package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
  82. package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
  83. package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
  84. package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
  85. package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
  86. package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
  87. package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
  88. package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
  89. package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
  90. package/.agents/skills/qk-ui-builder/references/macrostructures.md +38 -0
  91. package/.agents/skills/qk-ui-builder/references/motion.md +95 -0
  92. package/.agents/skills/qk-ui-builder/references/responsive.md +115 -0
  93. package/.agents/skills/qk-ui-builder/references/slop-test.md +135 -0
  94. package/.agents/skills/qk-ui-builder/references/structure.md +280 -0
  95. package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
  96. package/.agents/skills/qk-ui-builder/references/themes/carnival.md +52 -0
  97. package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
  98. package/.agents/skills/qk-ui-builder/references/themes/editorial.md +52 -0
  99. package/.agents/skills/qk-ui-builder/references/themes/garden.md +52 -0
  100. package/.agents/skills/qk-ui-builder/references/themes/hum.md +52 -0
  101. package/.agents/skills/qk-ui-builder/references/themes/lumen.md +52 -0
  102. package/.agents/skills/qk-ui-builder/references/themes/midnight.md +52 -0
  103. package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
  104. package/.agents/skills/qk-ui-builder/references/themes/playful.md +52 -0
  105. package/.agents/skills/qk-ui-builder/references/themes/specimen.md +52 -0
  106. package/.agents/skills/qk-ui-builder/references/themes/terminal.md +52 -0
  107. package/.agents/skills/qk-ui-builder/references/typography.md +129 -0
  108. package/.agents/skills/qk-ui-system-builder/SKILL.md +61 -5
  109. package/.agents/skills/qk-validation-gate/SKILL.md +63 -11
  110. package/.agents/skills/qk-web-quality-gate/SKILL.md +114 -0
  111. package/.agents/workflows/_schema.yml +109 -0
  112. package/.agents/workflows/bug-resolution.yml +101 -0
  113. package/.agents/workflows/code-review.yml +77 -0
  114. package/.agents/workflows/documentation.yml +75 -0
  115. package/.agents/workflows/feature-delivery.yml +103 -0
  116. package/.agents/workflows/refactor.yml +81 -0
  117. package/.agents/workflows/research.yml +60 -0
  118. package/.agents/workflows/security-audit.yml +72 -0
  119. package/.agents/workflows/skill-evolution.yml +65 -0
  120. package/.agents/workflows/spec-driven-development.yml +57 -0
  121. package/CHANGELOG.md +91 -69
  122. package/README.md +50 -45
  123. package/bin/install.js +57 -309
  124. package/package.json +14 -3
  125. package/tooling/generate-evaluation-cases.cjs +44 -0
  126. package/tooling/generate-registry.js +157 -0
  127. package/tooling/run-aar.js +143 -0
  128. package/tooling/validate-graph.js +87 -0
  129. package/tooling/validate-skills.js +102 -0
  130. package/.agents/_template/BEHAVIOR_SPEC.md +0 -96
  131. package/.agents/_template/examples/example-en.md +0 -49
  132. package/.agents/_template/examples/example-vi.md +0 -49
  133. package/.agents/skills/qk-design-to-code/SKILL.md +0 -285
  134. package/.agents/skills.json +0 -819
  135. package/.github/workflows/ci.yml +0 -56
  136. package/.qk-ai-skill-os/CHANGELOG.md +0 -69
  137. package/.qk-ai-skill-os/LICENSE +0 -21
  138. package/.qk-ai-skill-os/README.md +0 -59
  139. package/.qk-ai-skill-os/_template/BEHAVIOR_SPEC.md +0 -96
  140. package/.qk-ai-skill-os/_template/examples/example-en.md +0 -49
  141. package/.qk-ai-skill-os/_template/examples/example-vi.md +0 -49
  142. package/.qk-ai-skill-os/docs/CHI_TIET_SKILLS.md +0 -125
  143. package/.qk-ai-skill-os/docs/GOVERNANCE.md +0 -40
  144. package/.qk-ai-skill-os/docs/HUONG_DAN_SU_DUNG.md +0 -120
  145. package/.qk-ai-skill-os/docs/SPEC.md +0 -87
  146. package/.qk-ai-skill-os/docs/adr/0001-intent-based-architecture.md +0 -19
  147. package/.qk-ai-skill-os/docs/adr/0002-kernel-freeze.md +0 -21
  148. package/.qk-ai-skill-os/docs/adr/0003-risk-based-verification.md +0 -20
  149. package/.qk-ai-skill-os/docs/adr/0004-progressive-evidence.md +0 -19
  150. package/.qk-ai-skill-os/docs/skill-classification.md +0 -25
  151. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +0 -121
  152. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +0 -179
  153. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-api-integration/SKILL.md +0 -389
  154. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-auth-security/SKILL.md +0 -96
  155. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +0 -125
  156. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-bug-fix/SKILL.md +0 -213
  157. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-component-generator/SKILL.md +0 -136
  158. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-context-manager/SKILL.md +0 -175
  159. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-database-engineer/SKILL.md +0 -104
  160. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-deployment/SKILL.md +0 -96
  161. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-design-system/SKILL.md +0 -137
  162. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-form-builder/SKILL.md +0 -140
  163. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +0 -155
  164. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +0 -133
  165. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +0 -129
  166. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +0 -146
  167. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-git-engineer/SKILL.md +0 -304
  168. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-help/SKILL.md +0 -68
  169. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-migration/SKILL.md +0 -284
  170. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-project-audit/SKILL.md +0 -280
  171. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-refactor/SKILL.md +0 -222
  172. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-state-management/SKILL.md +0 -140
  173. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +0 -127
  174. package/.qk-ai-skill-os/skills/_archive_old_skills/qk-ui-builder/SKILL.md +0 -152
  175. package/.qk-ai-skill-os/skills/_template/SKILL.md +0 -238
  176. package/.qk-ai-skill-os/skills/qk-access-policy/SKILL.md +0 -179
  177. package/.qk-ai-skill-os/skills/qk-ai-builder/SKILL.md +0 -221
  178. package/.qk-ai-skill-os/skills/qk-api-lifecycle/SKILL.md +0 -176
  179. package/.qk-ai-skill-os/skills/qk-bug-resolution/SKILL.md +0 -307
  180. package/.qk-ai-skill-os/skills/qk-context-loader/SKILL.md +0 -218
  181. package/.qk-ai-skill-os/skills/qk-data-lifecycle/SKILL.md +0 -192
  182. package/.qk-ai-skill-os/skills/qk-db-optimizer/SKILL.md +0 -196
  183. package/.qk-ai-skill-os/skills/qk-design-to-code/SKILL.md +0 -291
  184. package/.qk-ai-skill-os/skills/qk-docs/SKILL.md +0 -198
  185. package/.qk-ai-skill-os/skills/qk-engineering-standard/SKILL.md +0 -351
  186. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/backend.md +0 -122
  187. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/database.md +0 -3
  188. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/frontend.md +0 -152
  189. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/security.md +0 -3
  190. package/.qk-ai-skill-os/skills/qk-engineering-standard/rules/testing.md +0 -3
  191. package/.qk-ai-skill-os/skills/qk-fe-api-integration/SKILL.md +0 -326
  192. package/.qk-ai-skill-os/skills/qk-feature-delivery/SKILL.md +0 -305
  193. package/.qk-ai-skill-os/skills/qk-help/SKILL.md +0 -193
  194. package/.qk-ai-skill-os/skills/qk-orchestrator/SKILL.md +0 -277
  195. package/.qk-ai-skill-os/skills/qk-orchestrator/references/routing-table.md +0 -77
  196. package/.qk-ai-skill-os/skills/qk-production-release/SKILL.md +0 -290
  197. package/.qk-ai-skill-os/skills/qk-project-bootstrap/SKILL.md +0 -240
  198. package/.qk-ai-skill-os/skills/qk-project-health/SKILL.md +0 -199
  199. package/.qk-ai-skill-os/skills/qk-project-memory/SKILL.md +0 -172
  200. package/.qk-ai-skill-os/skills/qk-system-evolution/SKILL.md +0 -285
  201. package/.qk-ai-skill-os/skills/qk-ui-audit/SKILL.md +0 -314
  202. package/.qk-ai-skill-os/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  203. package/.qk-ai-skill-os/skills/qk-ui-system-builder/SKILL.md +0 -225
  204. package/.qk-ai-skill-os/skills/qk-validation-gate/SKILL.md +0 -361
  205. package/.qk-ai-skill-os/skills.json +0 -819
  206. package/CLAUDE.md +0 -110
  207. package/_template/BEHAVIOR_SPEC.md +0 -96
  208. package/_template/examples/example-en.md +0 -49
  209. package/_template/examples/example-vi.md +0 -49
  210. package/add_lang.js +0 -21
  211. package/add_lang.py +0 -25
  212. package/add_sections.py +0 -53
  213. package/bin/lint.js +0 -122
  214. package/docs/CHI_TIET_SKILLS.md +0 -125
  215. package/docs/GOVERNANCE.md +0 -40
  216. package/docs/HUONG_DAN_SU_DUNG.md +0 -120
  217. package/docs/SPEC.md +0 -87
  218. package/docs/adr/0001-intent-based-architecture.md +0 -19
  219. package/docs/adr/0002-kernel-freeze.md +0 -21
  220. package/docs/adr/0003-risk-based-verification.md +0 -20
  221. package/docs/adr/0004-progressive-evidence.md +0 -19
  222. package/docs/skill-classification.md +0 -25
  223. package/fix_seeds.js +0 -22
  224. package/framework/KERNEL.md +0 -83
  225. package/framework/bias-library/cosmetic-refactor.md +0 -21
  226. package/framework/bias-library/enterprise-crud.md +0 -21
  227. package/framework/bias-library/fake-ui-slop.md +0 -20
  228. package/framework/bias-library/hallucinated-tools.md +0 -20
  229. package/framework/bias-library/missing-ui-states.md +0 -19
  230. package/framework/bias-library/over-indexing.md +0 -20
  231. package/framework/bias-library/swallow-errors.md +0 -19
  232. package/framework/bias-library/ui-only-security.md +0 -17
  233. package/framework/decision-primitives.md +0 -47
  234. package/framework/dial-library/complexity-budget.md +0 -13
  235. package/framework/dial-library/granularity.md +0 -13
  236. package/framework/dial-library/optimization-strategy.md +0 -13
  237. package/framework/dial-library/strictness.md +0 -13
  238. package/framework/rule-library/delegation-only.md +0 -9
  239. package/framework/rule-library/minimal-diff.md +0 -9
  240. package/framework/skill-schema.md +0 -310
  241. package/knowledge/backend/nodejs.md +0 -52
  242. package/knowledge/frontend/react.md +0 -81
  243. package/migrate-to-v6.js +0 -130
  244. package/migrate.js +0 -147
  245. package/migrate.py +0 -133
  246. package/migrate_all.cjs +0 -96
  247. package/patch.js +0 -15
  248. package/patch.py +0 -89
  249. package/patch2.py +0 -83
  250. package/rename.js +0 -64
  251. package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +0 -121
  252. package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +0 -179
  253. package/skills/_archive_old_skills/qk-api-integration/SKILL.md +0 -389
  254. package/skills/_archive_old_skills/qk-auth-security/SKILL.md +0 -96
  255. package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +0 -125
  256. package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +0 -213
  257. package/skills/_archive_old_skills/qk-component-generator/SKILL.md +0 -136
  258. package/skills/_archive_old_skills/qk-context-manager/SKILL.md +0 -175
  259. package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +0 -104
  260. package/skills/_archive_old_skills/qk-deployment/SKILL.md +0 -96
  261. package/skills/_archive_old_skills/qk-design-system/SKILL.md +0 -137
  262. package/skills/_archive_old_skills/qk-form-builder/SKILL.md +0 -140
  263. package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +0 -155
  264. package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +0 -133
  265. package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +0 -129
  266. package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +0 -146
  267. package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +0 -304
  268. package/skills/_archive_old_skills/qk-help/SKILL.md +0 -68
  269. package/skills/_archive_old_skills/qk-migration/SKILL.md +0 -284
  270. package/skills/_archive_old_skills/qk-project-audit/SKILL.md +0 -280
  271. package/skills/_archive_old_skills/qk-refactor/SKILL.md +0 -222
  272. package/skills/_archive_old_skills/qk-state-management/SKILL.md +0 -140
  273. package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +0 -127
  274. package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +0 -152
  275. package/skills/_template/SKILL.md +0 -238
  276. package/skills/qk-access-policy/SKILL.md +0 -179
  277. package/skills/qk-ai-builder/SKILL.md +0 -215
  278. package/skills/qk-api-lifecycle/SKILL.md +0 -176
  279. package/skills/qk-bug-resolution/SKILL.md +0 -307
  280. package/skills/qk-context-loader/SKILL.md +0 -218
  281. package/skills/qk-data-lifecycle/SKILL.md +0 -192
  282. package/skills/qk-db-optimizer/SKILL.md +0 -196
  283. package/skills/qk-design-to-code/SKILL.md +0 -285
  284. package/skills/qk-docs/SKILL.md +0 -198
  285. package/skills/qk-engineering-standard/SKILL.md +0 -351
  286. package/skills/qk-engineering-standard/rules/backend.md +0 -122
  287. package/skills/qk-engineering-standard/rules/database.md +0 -3
  288. package/skills/qk-engineering-standard/rules/frontend.md +0 -152
  289. package/skills/qk-engineering-standard/rules/security.md +0 -3
  290. package/skills/qk-engineering-standard/rules/testing.md +0 -3
  291. package/skills/qk-fe-api-integration/SKILL.md +0 -326
  292. package/skills/qk-feature-delivery/SKILL.md +0 -305
  293. package/skills/qk-help/SKILL.md +0 -193
  294. package/skills/qk-orchestrator/SKILL.md +0 -277
  295. package/skills/qk-orchestrator/references/routing-table.md +0 -77
  296. package/skills/qk-production-release/SKILL.md +0 -284
  297. package/skills/qk-project-bootstrap/SKILL.md +0 -234
  298. package/skills/qk-project-health/SKILL.md +0 -199
  299. package/skills/qk-project-memory/SKILL.md +0 -172
  300. package/skills/qk-system-evolution/SKILL.md +0 -281
  301. package/skills/qk-ui-audit/SKILL.md +0 -314
  302. package/skills/qk-ui-audit/references/anti-slop-checklist.md +0 -136
  303. package/skills/qk-ui-system-builder/SKILL.md +0 -221
  304. package/skills/qk-validation-gate/SKILL.md +0 -359
  305. package/skills.json +0 -819
  306. package/specs/contracts/behavior-contract.yaml +0 -40
  307. package/specs/expectations/qk-bug-resolution.yaml +0 -35
  308. package/specs/fixtures/user-payload.json +0 -12
  309. package/specs/regressions/api-integration-null-fields.yaml +0 -19
  310. package/specs/scenarios/fix-login-nullref.yaml +0 -3
  311. package/taste-skill/.claude-plugin/marketplace.json +0 -20
  312. package/taste-skill/.claude-plugin/plugin.json +0 -19
  313. package/taste-skill/.github/FUNDING.yml +0 -1
  314. package/taste-skill/.github/copilot-instructions.md +0 -11
  315. package/taste-skill/CHANGELOG.md +0 -111
  316. package/taste-skill/LICENSE +0 -21
  317. package/taste-skill/README.md +0 -212
  318. package/taste-skill/assets/.gitkeep +0 -0
  319. package/taste-skill/assets/readme-banner.webp +0 -0
  320. package/taste-skill/assets/readme-buttons/btn-agent-skills.webp +0 -0
  321. package/taste-skill/assets/readme-buttons/btn-changelog.webp +0 -0
  322. package/taste-skill/assets/readme-buttons/btn-mit.webp +0 -0
  323. package/taste-skill/assets/readme-buttons/btn-site.webp +0 -0
  324. package/taste-skill/assets/readme-buttons/btn-tools.webp +0 -0
  325. package/taste-skill/assets/readme-cta-tasteskill.svg +0 -5
  326. package/taste-skill/assets/sponsors/animations-dev.webp +0 -0
  327. package/taste-skill/assets/sponsors/emil-animations-dev.webp +0 -0
  328. package/taste-skill/assets/taste-skill-logo.png +0 -0
  329. package/taste-skill/assets/taste-skill-logo.webp +0 -0
  330. package/taste-skill/assets/vercel-oss-program-badge.svg +0 -44
  331. package/taste-skill/examples/floria-bottom.webp +0 -0
  332. package/taste-skill/examples/floria-full.webp +0 -0
  333. package/taste-skill/examples/floria-top.webp +0 -0
  334. package/taste-skill/research/README.md +0 -8
  335. package/taste-skill/research/laziness/README.md +0 -25
  336. package/taste-skill/research/laziness/findings/empirical-results.md +0 -58
  337. package/taste-skill/research/laziness/findings/references.md +0 -20
  338. package/taste-skill/research/laziness/remediation/architectural-patterns.md +0 -55
  339. package/taste-skill/research/laziness/remediation/parameter-tuning.md +0 -44
  340. package/taste-skill/research/laziness/remediation/prompt-engineering.md +0 -52
  341. package/taste-skill/research/laziness/remediation/reference-prompts.md +0 -79
  342. package/taste-skill/research/laziness/root-causes/cognitive-shortcuts.md +0 -23
  343. package/taste-skill/research/laziness/root-causes/output-limits.md +0 -39
  344. package/taste-skill/research/laziness/root-causes/rlhf-and-compute.md +0 -27
  345. package/taste-skill/research/laziness/root-causes/training-data-bias.md +0 -28
  346. package/taste-skill/scripts/build-emil-sponsor-row.mjs +0 -41
  347. package/taste-skill/scripts/convert-readme-assets-webp.mjs +0 -142
  348. package/taste-skill/scripts/process-readme-buttons.mjs +0 -108
  349. package/taste-skill/scripts/process-sponsor-badge.mjs +0 -83
  350. package/taste-skill/skill.sh +0 -25
  351. package/taste-skill/skills/brandkit/SKILL.md +0 -798
  352. package/taste-skill/skills/brutalist-skill/SKILL.md +0 -92
  353. package/taste-skill/skills/gpt-tasteskill/SKILL.md +0 -74
  354. package/taste-skill/skills/image-to-code-skill/SKILL.md +0 -1228
  355. package/taste-skill/skills/imagegen-frontend-mobile/SKILL.md +0 -1465
  356. package/taste-skill/skills/imagegen-frontend-web/SKILL.md +0 -987
  357. package/taste-skill/skills/llms.txt +0 -13
  358. package/taste-skill/skills/minimalist-skill/SKILL.md +0 -85
  359. package/taste-skill/skills/output-skill/SKILL.md +0 -49
  360. package/taste-skill/skills/redesign-skill/SKILL.md +0 -178
  361. package/taste-skill/skills/soft-skill/SKILL.md +0 -98
  362. package/taste-skill/skills/stitch-skill/DESIGN.md +0 -121
  363. package/taste-skill/skills/stitch-skill/SKILL.md +0 -184
  364. package/taste-skill/skills/taste-skill/SKILL.md +0 -1206
  365. package/taste-skill/skills/taste-skill-v1/SKILL.md +0 -226
  366. package/temp_fix.js +0 -61
  367. package/templates/DESIGN.md +0 -38
  368. package/templates/bug-report.md +0 -21
  369. package/templates/design-report.md +0 -21
  370. package/templates/feature-report.md +0 -20
  371. package/templates/review-report.md +0 -21
  372. package/templates/skill-template.md +0 -38
  373. package/tests/behavior-conformance.test.js +0 -154
  374. package/tests/install-script.test.js +0 -38
  375. package/tests/registry.test.js +0 -111
  376. package/update_template.js +0 -28
  377. package/vitest.config.js +0 -11
@@ -1,314 +0,0 @@
1
- ---
2
- name: qk-ui-audit
3
- category: qa
4
- version: 7.5.0
5
- description: "Kiểm toán giao diện (UI) với 57-point Anti-Slop checklist — fail nếu score < 90/100."
6
- platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
7
- execution_mode: deterministic
8
-
9
- cost: medium
10
- latency: medium
11
- risk: low
12
- side_effects: read_only
13
- produces: [report]
14
- consumes: [design-md, source-code]
15
-
16
- token_budget:
17
- max_files_read: 5
18
- max_lines_per_read: 150
19
- max_shell_commands: 0
20
- stop_early: true
21
-
22
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
23
- skill_version: 7.5.0
24
- runtime_version: 1
25
- schema_version: 2
26
- ---
27
-
28
- # qk-ui-audit — Anti-Slop UI Inspector
29
-
30
- > **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
31
-
32
- skill_version: 7.5.0
33
- runtime_version: 1
34
- schema_version: 2
35
- ---
36
-
37
- ## Preconditions
38
- - [ ] `DESIGN.md` exists in project root
39
- - [ ] Target UI file(s) or component(s) are specified
40
-
41
- ```
42
- On missing precondition:
43
- EXIT: BLOCKED
44
- Message: "DESIGN.md not found. Run qk-project-bootstrap to create one, or provide design tokens manually."
45
- ```
46
-
47
- skill_version: 7.5.0
48
- runtime_version: 1
49
- schema_version: 2
50
- ---
51
-
52
- ## Scope
53
- - ✅ Score UI components against DESIGN.md tokens
54
- - ✅ Detect generic AI-slop aesthetics
55
- - ✅ Verify ARIA roles and contrast ratios
56
- - ✅ Validate responsive, interactive, and animation states
57
-
58
- ## Non-Goals
59
- - ❌ Fix the UI — only audit and report (fixes go to qk-design-to-code)
60
- - ❌ Pixel-level screenshot comparison
61
- - ❌ Read entire CSS files — use targeted reads
62
-
63
- skill_version: 7.5.0
64
- runtime_version: 1
65
- schema_version: 2
66
- ---
67
-
68
- ## Priority Order
69
-
70
- | Priority | Category | Points | Skip Threshold |
71
- |----------|----------|--------|----------------|
72
- | P1 | Accessibility (ARIA, contrast, keyboard) | 15pts | Never |
73
- | P2 | Layout & Spacing (tokens, grid, whitespace) | 15pts | Budget < 30% |
74
- | P3 | Typography & Colors (DESIGN.md compliance) | 15pts | Budget < 50% |
75
- | P4 | Interactions & Animations (hover, focus, transitions) | 15pts | Budget < 60% |
76
- | P5 | Anti-Slop Detection (generic templates, slop colors) | 15pts | Budget < 70% |
77
- | P6 | Performance & Best Practices | 10pts | Budget < 80% |
78
- | BONUS | Mobile & Cross-browser | 5pts extra | Always optional |
79
-
80
- **Total: 85 base + 5 bonus = 90 possible. Pass threshold: ≥ 90/100**
81
-
82
- skill_version: 7.5.0
83
- runtime_version: 1
84
- schema_version: 2
85
- ---
86
-
87
- ## Workflow
88
-
89
- ### Phase 1 — Load Design Contract
90
-
91
- **Steps:**
92
- 1. `grep_search` for DESIGN.md → read color tokens, spacing scale, typography
93
- 2. Extract key tokens: primary colors (HSL), spacing unit, font families, border-radius, shadow levels
94
-
95
- **Exit When:**
96
- - Tokens extracted → go to Phase 2
97
- - DESIGN.md empty or incomplete → EXIT: BLOCKED
98
-
99
- skill_version: 7.5.0
100
- runtime_version: 1
101
- schema_version: 2
102
- ---
103
-
104
- ### Phase 2 — Scan Target UI
105
-
106
- **Steps:**
107
- 1. `view_file[targeted]` — read component file(s), focus on className, style, and JSX structure
108
- 2. Check against each Priority category in order (P1 → P6)
109
- 3. Log each finding with Evidence Format
110
-
111
- **Decision:**
112
- ```
113
- IF score accumulates ≥ 90 after P1+P2+P3
114
- → Can skip P4–P6 if token budget < 40%
115
- → EXIT: PARTIAL (pass, but incomplete audit noted)
116
-
117
- IF CRITICAL violation found (e.g., hardcoded password in UI, broken ARIA)
118
- → STOP audit, report immediately
119
- → EXIT: FAILED
120
- ```
121
-
122
- **Exit When:**
123
- - All categories checked → go to Phase 3
124
- - Token budget < 20% → go to Phase 3 with PARTIAL flag
125
-
126
- skill_version: 7.5.0
127
- runtime_version: 1
128
- schema_version: 2
129
- ---
130
-
131
- ### Phase 3 — Score & Report
132
-
133
- **Steps:**
134
- 1. Calculate total score per category
135
- 2. Identify top 3 most impactful fixes
136
- 3. Generate report with Evidence Format entries
137
-
138
- **Decision:**
139
- ```
140
- IF total score ≥ 90
141
- → EXIT: SUCCESS
142
-
143
- IF total score 70–89
144
- → EXIT: PARTIAL — list required fixes
145
-
146
- IF total score < 70
147
- → EXIT: FAILED — demand redesign, not patch
148
- ```
149
-
150
- skill_version: 7.5.0
151
- runtime_version: 1
152
- schema_version: 2
153
- ---
154
-
155
- ## Confidence Model
156
-
157
- | Level | Condition | Action |
158
- |-------|-----------|--------|
159
- | HIGH | Token clearly absent/present, ARIA attribute visible | Report directly |
160
- | MEDIUM | Inferred from surrounding code patterns | Note assumption |
161
- | LOW | Cannot verify without rendering (e.g., animation timing) | Mark as "unverifiable — manual check required" |
162
-
163
- skill_version: 7.5.0
164
- runtime_version: 1
165
- schema_version: 2
166
- ---
167
-
168
- ## Severity
169
-
170
- | Level | Definition | Example |
171
- |-------|-----------|---------|
172
- | CRITICAL | Accessibility violation blocking disabled users | Missing alt text, contrast ratio < 3:1 |
173
- | HIGH | Design system contract broken | Hardcoded hex color not in DESIGN.md |
174
- | MEDIUM | UX degraded, workaround exists | Missing hover state, no loading indicator |
175
- | LOW | Minor inconsistency | Spacing off by 1 unit |
176
-
177
- skill_version: 7.5.0
178
- runtime_version: 1
179
- schema_version: 2
180
- ---
181
-
182
- ## Evidence Format
183
-
184
- ```
185
- [SEVERITY] path/to/Component.tsx:LINE
186
- Category: [Accessibility|Layout|Typography|Interaction|Anti-Slop|Performance]
187
- Reason: [specific violation description]
188
- Confidence: [HIGH|MEDIUM|LOW]
189
- Fix: [one-line actionable suggestion]
190
- Points: -N pts
191
- ```
192
-
193
- **Example:**
194
- ```
195
- [HIGH] src/components/Button.tsx:23
196
- Category: Typography
197
- Reason: font-size hardcoded as "16px" — should use DESIGN.md token `--font-size-base`
198
- Confidence: HIGH
199
- Fix: Replace with `var(--font-size-base)`
200
- Points: -3 pts
201
- ```
202
-
203
- skill_version: 7.5.0
204
- runtime_version: 1
205
- schema_version: 2
206
- ---
207
-
208
- ## Retry Policy
209
- ```
210
- Audit is read-only — no retry needed.
211
- If file is inaccessible → note as PARTIAL and continue with other files.
212
- ```
213
-
214
- skill_version: 7.5.0
215
- runtime_version: 1
216
- schema_version: 2
217
- ---
218
-
219
- ## Escalation Rules
220
-
221
- ```
222
- BLOCKED: DESIGN.md missing or unreadable
223
- Missing:
224
- - DESIGN.md with color tokens, spacing scale, typography definition
225
- Questions:
226
- 1. Có file design system nào khác không? (tokens.css, theme.ts, etc.)
227
- 2. Bạn có thể cung cấp màu sắc / font / spacing chính của dự án không?
228
- Recommended Assumptions (if proceeding):
229
- - Use industry-standard: 8px spacing unit, Inter font, neutral gray palette
230
- ```
231
-
232
- skill_version: 7.5.0
233
- runtime_version: 1
234
- schema_version: 2
235
- ---
236
-
237
- ## Handoff Contract
238
-
239
- ### Consumes
240
- ```json
241
- {
242
- "from": "user or qk-orchestrator",
243
- "required_fields": ["target_component_path", "design_md_path"],
244
- "optional_fields": ["specific_checklist_categories"]
245
- }
246
- ```
247
-
248
- ### Produces
249
- ```json
250
- {
251
- "to": "qk-design-to-code (if fixes needed)",
252
- "output_fields": ["audit_score", "violations_list", "top_3_fixes", "exit_code"]
253
- }
254
- ```
255
-
256
- skill_version: 7.5.0
257
- runtime_version: 1
258
- schema_version: 2
259
- ---
260
-
261
- ## Output Format
262
-
263
- ```
264
- 🎨 UI Audit Report
265
- ─────────────────────────────────────────────────
266
- Component: [path/to/component]
267
- DESIGN.md: [found | not found]
268
-
269
- Scores:
270
- P1 Accessibility: [X/15]
271
- P2 Layout: [X/15]
272
- P3 Typography: [X/15]
273
- P4 Interactions: [X/15]
274
- P5 Anti-Slop: [X/15]
275
- P6 Performance: [X/10]
276
- ─────────────────
277
- Total: [X/85] → [PASS ≥ 90% | FAIL < 90%]
278
-
279
- Violations (top priority first):
280
- [SEVERITY] file:LINE — reason — Fix: suggestion (-Xpts)
281
-
282
- Top 3 Required Fixes:
283
- 1. [Most impactful fix]
284
- 2. [Second fix]
285
- 3. [Third fix]
286
-
287
- Verdict: [PASS | FAIL — requires redesign]
288
- Exit Code: [SUCCESS | PARTIAL | FAILED]
289
- ```
290
-
291
- skill_version: 7.5.0
292
- runtime_version: 1
293
- schema_version: 2
294
- ---
295
-
296
- ## Exit Codes
297
-
298
- | Code | Meaning | When |
299
- |------|---------|------|
300
- | SUCCESS | Score ≥ 90 — UI passes Anti-Slop | All checks done, no critical violations |
301
- | PARTIAL | Score 70–89 or incomplete audit | Some categories skipped due to token budget |
302
- | BLOCKED | DESIGN.md missing or target not specified | Cannot audit without design contract |
303
- | FAILED | Score < 70 or CRITICAL violation found | Generic slop detected, redesign required |
304
-
305
- skill_version: 7.5.0
306
- runtime_version: 1
307
- schema_version: 2
308
- ---
309
-
310
- ## References
311
- - Full 57-point checklist: `references/anti-slop-checklist.md`
312
-
313
- ---
314
-
@@ -1,136 +0,0 @@
1
- # Anti-Slop Checklist — 57 Points
2
- > Referenced by: `qk-ui-audit/SKILL.md`
3
- > Purpose: Full inspection checklist for detecting generic AI-generated UI
4
-
5
- ---
6
-
7
- ## Category P1: Accessibility (15 pts)
8
-
9
- | # | Check | Points | How to Verify |
10
- |---|-------|--------|---------------|
11
- | 1 | All images have `alt` text (non-empty, descriptive) | 2 | grep `alt=""` or `alt={` in JSX |
12
- | 2 | Color contrast ratio ≥ 4.5:1 (text) / 3:1 (large text) | 3 | Check computed HSL values vs background |
13
- | 3 | All interactive elements have `aria-label` if no visible text | 2 | grep for `<button>` without text content |
14
- | 4 | Focus states are visible — `outline: none` not used without replacement | 2 | Check CSS for `outline: none` |
15
- | 5 | Keyboard navigation works (Tab order logical) | 2 | `tabIndex` only for non-interactive elements |
16
- | 6 | `role` attributes used for non-semantic elements (div acting as button) | 2 | grep `onClick` on non-button elements |
17
- | 7 | Form inputs have associated `<label>` (htmlFor) | 2 | grep `<input` without surrounding `<label` |
18
-
19
- ---
20
-
21
- ## Category P2: Layout & Spacing (15 pts)
22
-
23
- | # | Check | Points | How to Verify |
24
- |---|-------|--------|---------------|
25
- | 8 | No hardcoded pixel spacing — uses design token scale (4, 8, 16, 24...) | 3 | grep `padding: [0-9]px` or `margin: [0-9]px` |
26
- | 9 | CSS Grid or Flexbox used — no `position: absolute` for layout | 2 | grep `position: absolute` in layout context |
27
- | 10 | Consistent spacing unit (not mixing 5px, 7px, 11px random values) | 2 | Check spacing values across components |
28
- | 11 | No `div` soup — semantic HTML used (article, section, nav, main, aside) | 2 | grep excessive `<div>` nesting |
29
- | 12 | Component has defined max-width (not stretching to 100vw on desktop) | 2 | Check container max-width |
30
- | 13 | Whitespace feels intentional — content is not cramped | 2 | Visual check or spacing scale adherence |
31
- | 14 | No horizontal overflow on mobile (320px viewport) | 2 | Check for `overflow-x: hidden` band-aids |
32
-
33
- ---
34
-
35
- ## Category P3: Typography & Colors (15 pts)
36
-
37
- | # | Check | Points | How to Verify |
38
- |---|-------|--------|---------------|
39
- | 15 | Font families from DESIGN.md only (no Times New Roman, Arial default) | 3 | grep `font-family:` vs DESIGN.md |
40
- | 16 | Font sizes use token scale — no arbitrary px values | 2 | grep `font-size: [0-9]` raw values |
41
- | 17 | Colors use DESIGN.md tokens — no hardcoded hex (#ff0000) or rgb() | 3 | grep `#[0-9a-fA-F]{3,6}` in CSS/JSX |
42
- | 18 | No pure black (#000000) or pure white (#ffffff) — use near-black/near-white | 2 | grep `#000\|#000000\|#fff\|#ffffff` |
43
- | 19 | Color palette is harmonious — not "rainbow slop" (5+ unrelated colors) | 2 | Count distinct hues in palette |
44
- | 20 | Heading hierarchy correct — one `<h1>` per page, no skipping levels | 1 | grep heading tags per page |
45
- | 21 | Line height appropriate (1.4–1.7 for body, 1.1–1.3 for headings) | 2 | Check `line-height` values |
46
-
47
- ---
48
-
49
- ## Category P4: Interactions & Animations (15 pts)
50
-
51
- | # | Check | Points | How to Verify |
52
- |---|-------|--------|---------------|
53
- | 22 | Every button has hover state — color shift OR shadow change | 2 | grep `:hover` for button styles |
54
- | 23 | Every button has focus-visible state | 2 | grep `:focus-visible` |
55
- | 24 | Active/pressed state exists for clickable elements | 1 | grep `:active` |
56
- | 25 | Transition duration from DESIGN.md — not raw `0.3s` everywhere | 2 | grep `transition:` vs token values |
57
- | 26 | No janky instant state changes — all transitions ≥ 100ms, ≤ 400ms | 2 | grep transition durations |
58
- | 27 | Animations respect `prefers-reduced-motion` | 2 | grep `prefers-reduced-motion` in CSS |
59
- | 28 | Links have hover underline OR color change (not just cursor pointer) | 2 | grep `a:hover` styles |
60
- | 29 | Form validation feedback uses animation (shake, pulse) not just color | 2 | Check error state CSS |
61
-
62
- ---
63
-
64
- ## Category P5: Anti-Slop Detection (15 pts)
65
-
66
- | # | Check | Points | How to Verify |
67
- |---|-------|--------|---------------|
68
- | 30 | No Bootstrap/generic UI kit classes (btn-primary, card, badge) | 2 | grep `class="btn\|card\|badge\|modal"` |
69
- | 31 | No Tailwind utility spam (> 15 classes on single element) | 2 | grep extremely long className strings |
70
- | 32 | No Lorem Ipsum or placeholder text in production UI | 3 | grep `Lorem ipsum\|placeholder text` |
71
- | 33 | Color palette is NOT blue-gray default (slop signature) | 2 | Check if primary color is `hsl(210, *)` Tailwind default |
72
- | 34 | Layout is NOT a simple centered card on white background (slop template) | 2 | Structural check |
73
- | 35 | Gradient usage is intentional — not `linear-gradient(to bottom, #fff, #f0f0f0)` | 2 | grep gradient definitions |
74
- | 36 | No `box-shadow: 0 2px 4px rgba(0,0,0,0.1)` everywhere (Bootstrap shadow) | 2 | grep this exact shadow pattern |
75
-
76
- ---
77
-
78
- ## Category P6: Performance & Best Practices (10 pts)
79
-
80
- | # | Check | Points | How to Verify |
81
- |---|-------|--------|---------------|
82
- | 37 | Images have `loading="lazy"` for below-fold content | 2 | grep `<img` without `loading` |
83
- | 38 | No `!important` overrides (except CSS reset) | 1 | grep `!important` in component CSS |
84
- | 39 | No inline styles except dynamic values | 2 | grep `style={{` in non-dynamic contexts |
85
- | 40 | Component file ≤ 300 lines | 1 | Line count check |
86
- | 41 | No unused CSS classes or dead styles | 1 | Visual code scan |
87
- | 42 | SVG icons used instead of emoji for UI elements | 1 | grep emoji characters in JSX |
88
- | 43 | `key` prop used correctly in lists (not index as key for dynamic lists) | 2 | grep `.map(` + check key prop |
89
-
90
- ---
91
-
92
- ## Category BONUS: Mobile & Cross-Browser (5 pts extra)
93
-
94
- | # | Check | Points | How to Verify |
95
- |---|-------|--------|---------------|
96
- | 44 | Touch targets ≥ 44×44px on mobile | 1 | Check button/link dimensions |
97
- | 45 | No hover-only interactions (mobile has no hover) | 1 | Check if critical info only on hover |
98
- | 46 | Custom fonts have system-ui fallback | 1 | Check font-family fallback stack |
99
- | 47 | Input types correct: email, tel, number, date (triggers correct mobile keyboard) | 1 | grep `<input type=` |
100
- | 48 | No `position: fixed` elements blocking content on small screens | 1 | Check fixed/sticky headers/footers |
101
-
102
- ---
103
-
104
- ## Extended Checks (9 additional points for comprehensive audit)
105
-
106
- | # | Check | Category |
107
- |---|-------|---------|
108
- | 49 | Loading skeleton matches actual content shape (not generic gray bars) | UX |
109
- | 50 | Empty state has illustration + helpful action button (not just "No data") | UX |
110
- | 51 | Error state specifies the error — not generic "Something went wrong" | UX |
111
- | 52 | Success feedback is clear — confirmation message or visual indicator | UX |
112
- | 53 | Destructive actions (delete) require confirmation dialog | Safety |
113
- | 54 | Modals/dialogs have accessible `role="dialog"` + focus trap | A11y |
114
- | 55 | Scrollable areas have visible scroll indicator | UX |
115
- | 56 | Data tables have sortable columns if > 10 rows | UX |
116
- | 57 | Forms have autofocus on first input (modal forms) | UX |
117
-
118
- ---
119
-
120
- ## Scoring Summary
121
-
122
- | Category | Max Points |
123
- |----------|-----------|
124
- | P1 Accessibility | 15 |
125
- | P2 Layout & Spacing | 15 |
126
- | P3 Typography & Colors | 15 |
127
- | P4 Interactions & Animations | 15 |
128
- | P5 Anti-Slop Detection | 15 |
129
- | P6 Performance | 10 |
130
- | **Base Total** | **85** |
131
- | BONUS Mobile | +5 |
132
- | Extended (49–57) | +9 |
133
- | **Maximum Possible** | **99** |
134
-
135
- **Pass threshold: ≥ 76 / 85 base (90%) — PASS**
136
- **Fail: < 76 / 85 — requires redesign, not patch**
@@ -1,221 +0,0 @@
1
- ---
2
- name: qk-ui-system-builder
3
- category: frontend
4
- version: 7.5.0
5
- description: "Xây dựng Design System và token library từ DESIGN.md — không tự đặt ra token ngoài contract."
6
- platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
7
- execution_mode: deterministic
8
- cost: medium
9
- latency: medium
10
- risk: low
11
- side_effects: edit_files
12
- produces: [code, tokens]
13
- consumes: [design-md]
14
- token_budget:
15
- max_files_read: 2
16
- max_lines_per_read: 100
17
- max_shell_commands: 0
18
- stop_early: true
19
- exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
20
- skill_version: 7.5.0
21
- runtime_version: 1
22
- schema_version: 2
23
- ---
24
-
25
- # qk-ui-system-builder — Design System Constructor
26
-
27
- > **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
28
-
29
- ---
30
-
31
- ## Preconditions
32
- - [ ] `DESIGN.md` exists with color, spacing, typography tokens
33
-
34
- ```
35
- On missing precondition:
36
- EXIT: BLOCKED
37
- Message: "DESIGN.md missing. Run qk-project-bootstrap to create one."
38
- ```
39
-
40
- ---
41
-
42
- ## Scope
43
- - ✅ Extract tokens from DESIGN.md ONLY — never invent
44
- - ✅ Generate CSS custom properties (variables) or framework theme
45
- - ✅ Ensure all components are accessible (A11y)
46
-
47
- ## Non-Goals
48
- - ❌ Invent tokens not in DESIGN.md (e.g., standard Tailwind defaults)
49
- - ❌ Create duplicate tokens for same visual value
50
- - ❌ Generate component library without token foundation
51
-
52
- ---
53
-
54
- ## Token Naming Convention
55
-
56
- ```css
57
- /* Colors — HSL always */
58
- --color-[role]-[shade]: hsl(H, S%, L%);
59
- /* Example: */
60
- --color-primary-500: hsl(220, 80%, 55%);
61
- --color-surface-100: hsl(220, 15%, 98%);
62
-
63
- /* Spacing — scale-based */
64
- --space-[n]: [n * base]px;
65
- /* Example: */
66
- --space-1: 4px; --space-2: 8px; --space-4: 16px;
67
-
68
- /* Typography */
69
- --font-[family]: '[Name]', fallback;
70
- --font-size-[scale]: [value]rem;
71
- --font-weight-[name]: [value];
72
-
73
- /* Border Radius */
74
- --radius-[size]: [value]px;
75
-
76
- /* Shadows */
77
- --shadow-[level]: [value];
78
-
79
- /* Animation */
80
- --duration-[speed]: [value]ms;
81
- --ease-[type]: [cubic-bezier or keyword];
82
-
83
- /* Z-index */
84
- --z-[layer]: [value]; /* dropdown=100, modal=200, toast=300 */
85
- ```
86
-
87
- ---
88
-
89
- ## Dark/Light Mode Pattern
90
- ```css
91
- :root {
92
- --color-background: hsl(0, 0%, 100%);
93
- --color-text: hsl(220, 15%, 10%);
94
- }
95
-
96
- [data-theme="dark"] {
97
- --color-background: hsl(220, 15%, 10%);
98
- --color-text: hsl(220, 10%, 90%);
99
- }
100
- ```
101
-
102
- ---
103
-
104
- ## Workflow
105
-
106
- ### Phase 1 — Extract from DESIGN.md
107
- 1. Read DESIGN.md → list all defined tokens
108
- 2. Categorize: Colors / Spacing / Typography / Radius / Shadow / Animation
109
-
110
- ### Phase 2 — Generate Token File
111
- 1. Create `src/styles/tokens.css` (or equivalent)
112
- 2. Apply naming convention above
113
- 3. Add dark mode variants if DESIGN.md specifies
114
-
115
- ### Phase 3 — Verify No Invented Tokens
116
- 1. Cross-check: every generated token has source in DESIGN.md
117
- 2. Flag any token that was "inferred" vs explicitly defined
118
-
119
- **Decision:**
120
- ```
121
- IF all tokens sourced from DESIGN.md → EXIT: SUCCESS
122
- IF some tokens inferred (MEDIUM confidence) → EXIT: PARTIAL, list them
123
- ```
124
-
125
- ---
126
-
127
-
128
- ---
129
-
130
- ## Priority Order
131
-
132
-
133
- ---
134
-
135
- ## Output Format
136
-
137
-
138
- ---
139
- ## Exit Codes
140
- | Code | Meaning | When |
141
- |------|---------|------|
142
- | SUCCESS | All tokens extracted from DESIGN.md, naming convention applied | All generated |
143
- | PARTIAL | Some tokens inferred (not explicitly in DESIGN.md) | Inferred values used |
144
- | BLOCKED | DESIGN.md missing or has no tokens | Cannot start |
145
- | FAILED | Token conflicts detected (duplicate values, naming collision) | Conflict |
146
-
147
- ---
148
-
149
- ## Confidence Model
150
- | Level | Condition | Action |
151
- |-------|-----------|--------|
152
- | HIGH | Token explicitly exists in DESIGN.md | Extract and map |
153
- | MEDIUM | Token value inferred or estimated based on related tokens | Note assumption |
154
- | LOW | Core scale missing entirely (e.g. no spacing definition) | EXIT: BLOCKED |
155
-
156
- ---
157
-
158
- ## Severity
159
- | Level | Definition | Example |
160
- |-------|-----------|---------|
161
- | CRITICAL | Hardcoded values injected without being tokens | Missing the point of the system |
162
- | HIGH | Token naming convention violated | `primary-color` instead of `--color-primary` |
163
- | MEDIUM | Dark mode not supported | Hardcoded white background |
164
- | LOW | Unused token generated | Extraneous variables |
165
-
166
- ---
167
-
168
- ## Evidence Format
169
- ```
170
- [SEVERITY] src/styles/tokens.css:LINE
171
- Issue: [specific violation or gap]
172
- Confidence: HIGH
173
- Fix: [specific change]
174
- ```
175
-
176
- ---
177
-
178
- ## Retry Policy
179
- ```
180
- Token generation fails
181
- └─ Check if naming collision or syntax error
182
- ├─ Syntax error → fix CSS/SCSS format → retry
183
- └─ Collision → deduplicate → retry
184
- └─ Do NOT auto-retry more than 1 time
185
- ```
186
-
187
- ---
188
-
189
- ## Escalation Rules
190
- ```
191
- BLOCKED: DESIGN.md missing or empty
192
- Missing:
193
- - Valid DESIGN.md with token specifications
194
- Questions:
195
- 1. Bạn có file design reference nào khác không?
196
- Recommended Assumptions:
197
- - Generate default Tailwind-like scale if requested
198
- ```
199
-
200
- ---
201
-
202
- ## Handoff Contract
203
- ### Consumes
204
- ```json
205
- {
206
- "from": "user or project-bootstrap",
207
- "required_fields": ["design_md_path"],
208
- "optional_fields": ["css_framework", "output_format"]
209
- }
210
- ```
211
- ### Produces
212
- ```json
213
- {
214
- "to": "user or design-to-code",
215
- "output_fields": ["token_file_path", "inferred_tokens", "exit_code"]
216
- }
217
- ```
218
-
219
- ---
220
-
221
-