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,175 +0,0 @@
1
- ---
2
- name: qk-context-manager
3
- description: >-
4
- Xác định các file cần thiết, tóm tắt kiến trúc và quản lý bộ nhớ ngữ cảnh để tránh tràn bộ nhớ.
5
- version: 1.0.0
6
- category: engineering
7
- tags: [context, architecture, memory, file-selection, summarization]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Context Manager
12
-
13
- > **Language rule:**
14
- > Use **English** for: file paths, architecture terms, module names, technical labels.
15
- > Use **the user's language** for: explanations, summaries, and questions.
16
-
17
- ---
18
-
19
- ## Trigger
20
-
21
- Activate this skill when:
22
- - Starting work on an unfamiliar or large codebase
23
- - About to read many files and need to prioritize
24
- - Context window is at risk of overflowing
25
- - User asks "where is X", "what does Y do", "how is this project structured"
26
- - Another skill (e.g. `project-audit`, `frontend-architecture`) needs project context first
27
-
28
- ---
29
-
30
- ## Scope
31
-
32
- - ✅ Identify which files are relevant to the current task
33
- - ✅ Summarize project architecture in structured format
34
- - ✅ Map folder structure to responsibilities
35
- - ✅ Track what has been read and what still needs reading
36
- - ✅ Flag context window risks
37
- - ✅ Maintain a working memory summary for multi-turn sessions
38
-
39
- ---
40
-
41
- ## Non-goals
42
-
43
- - ❌ Do NOT modify any files
44
- - ❌ Do NOT fix bugs
45
- - ❌ Do NOT make architectural decisions
46
- - ❌ Do NOT read every file blindly — be selective and efficient
47
-
48
- ---
49
-
50
- ## Workflow
51
-
52
- ### Phase 1 — Project Discovery
53
-
54
- Read only top-level signals first:
55
- 1. `package.json` / `pyproject.toml` / `Cargo.toml` → detect framework, language, scripts
56
- 2. Root config files → `.env.example`, `tsconfig.json`, `vite.config.ts`, `next.config.js`
57
- 3. Folder structure (1-2 levels deep) → identify key directories
58
- 4. Entry points → `src/index.ts`, `app/`, `pages/`, `main.py`
59
-
60
- Produce: **Project Profile** (framework, language, key directories, architecture style)
61
-
62
- ---
63
-
64
- ### Phase 2 — Task-Scoped File Selection
65
-
66
- Given the current task, identify the minimum relevant set of files:
67
-
68
- ```
69
- Task type → Files to read
70
- ─────────────────────────────────────────────────────
71
- UI work → components/, pages/, styles/, design system files
72
- API work → services/, hooks/, api/, types/
73
- State work → store/, context/, hooks/
74
- Bug fix → files mentioned in error, related modules
75
- Architecture → folder structure, key abstractions
76
- ```
77
-
78
- Rules:
79
- - Read **entry points** before diving into details
80
- - Prefer **index files** as anchors
81
- - Skip `node_modules`, `dist`, `build`, `.git`
82
- - If uncertain which file → check imports, not the file itself
83
-
84
- ---
85
-
86
- ### Phase 3 — Architecture Summary
87
-
88
- Produce a concise summary:
89
-
90
- ```
91
- Project: [Name / repo]
92
- Framework: [React 18 / Next.js 14 / Vue 3 / etc.]
93
- Language: [TypeScript / JavaScript / Python]
94
- Structure: [Feature-based / Layer-based / Domain-based]
95
-
96
- Key directories:
97
- src/components/ → Shared UI components
98
- src/features/ → Feature modules (collocated)
99
- src/services/ → API and data services
100
- src/hooks/ → Custom React hooks
101
- src/types/ → TypeScript interfaces
102
-
103
- State: [Zustand / Redux / React Query / Pinia]
104
- HTTP client: [axios instance at src/lib/axios.ts]
105
- Auth: [JWT stored in httpOnly cookie]
106
- ```
107
-
108
- ---
109
-
110
- ### Phase 4 — Working Memory Maintenance
111
-
112
- During multi-turn sessions:
113
- - Track which files have been read (avoid re-reading)
114
- - Track decisions made (e.g. "we decided to use feature-based structure")
115
- - Flag when context is approaching limits
116
- - Offer to summarize and compress if needed
117
-
118
- ---
119
-
120
- ## Decision Tree
121
-
122
- ```
123
- Is this a new project / first time seeing this codebase?
124
- ├── Yes → Run full Phase 1 + Phase 2 + Phase 3
125
- └── No → Has something changed since last context load?
126
- ├── Yes → Re-run Phase 2 for affected area
127
- └── No → Use cached architecture summary
128
- ```
129
-
130
- ```
131
- Is context window at risk?
132
- ├── Yes → Summarize what's been read, drop low-relevance files
133
- └── No → Continue loading relevant files
134
- ```
135
-
136
- ---
137
-
138
- ## Output Format
139
-
140
- ```
141
- 🗂️ Project Context Loaded
142
-
143
- Framework: [framework]
144
- Language: [language]
145
- Structure: [style]
146
-
147
- Relevant files for this task:
148
- 📄 [path/to/file.ts] — [why it's relevant]
149
- 📄 [path/to/file.ts] — [why it's relevant]
150
-
151
- Architecture summary:
152
- [2-4 lines describing how this codebase is organized]
153
-
154
- ⚠️ Context notes:
155
- [Any risks, unknowns, or files that couldn't be read]
156
-
157
- ✅ Ready. Proceeding with: [next skill or action]
158
- ```
159
-
160
- ---
161
-
162
- ## Validation Checklist
163
-
164
- - [ ] Framework and language correctly identified
165
- - [ ] Only task-relevant files selected (no noise)
166
- - [ ] Architecture summary is accurate and concise
167
- - [ ] Context window usage is reasonable
168
- - [ ] Working memory updated for this session
169
-
170
- ---
171
-
172
- ## Examples
173
-
174
- See `examples/` folder.
175
-
@@ -1,104 +0,0 @@
1
- ---
2
- name: qk-database-engineer
3
- description: >-
4
- Thiết kế database schema, viết script migration và tối ưu truy vấn cho SQL/NoSQL bằng ORM (Prisma, Drizzle...).
5
- version: 1.0.0
6
- category: backend
7
- tags: [database, sql, prisma, drizzle, schema, migration, query-optimization]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Database Engineer
12
-
13
- > **Language rule:**
14
- > Use English for: code, identifiers, file names, architecture terms, technical decisions.
15
- > Use the user's language for: explanations, questions, summaries, and feedback.
16
- > The user may write in any language — detect and match it automatically.
17
-
18
- ---
19
-
20
- ## Trigger
21
-
22
- Activate this skill when:
23
- - User says "create a new table", "add a column", "design the schema"
24
- - Writing complex data retrieval logic (joins, aggregations)
25
- - A query is running slowly and needs optimization (indexing)
26
- - Running or generating database migrations
27
-
28
- ---
29
-
30
- ## Scope
31
-
32
- - ✅ **Schema Design:** Model tables, relations (1:1, 1:N, N:M), and constraints (Unique, FK).
33
- - ✅ **ORM Integration:** Generate code for Prisma, Drizzle, TypeORM, Sequelize, or Mongoose.
34
- - ✅ **Migrations:** Generate SQL or ORM migration files safely.
35
- - ✅ **Query Optimization:** Prevent N+1 queries, add indexes, use efficient aggregations.
36
-
37
- ---
38
-
39
- ## Non-goals
40
-
41
- - ❌ Do NOT execute destructive migrations (DROP TABLE) on production environments without extreme warnings and approval.
42
- - ❌ Do NOT mix raw SQL into ORM logic unless necessary for performance.
43
-
44
- ---
45
-
46
- ## Workflow
47
-
48
- ### Phase 1 — Schema Design
49
-
50
- Understand the business entities and relations.
51
- - Identify primary keys (UUID vs Auto-increment ID).
52
- - Identify foreign keys and cascade rules (`ON DELETE CASCADE`).
53
- - Ensure proper normalization (usually 3NF) or denormalization (if NoSQL).
54
-
55
- ### Phase 2 — ORM / Migration Generation
56
-
57
- Map the design to the project's tool:
58
- - **Prisma:** Update `schema.prisma`.
59
- - **Drizzle:** Update `schema.ts`.
60
- - **Raw SQL:** Write `V1__create_table.sql`.
61
-
62
- ### Phase 3 — Query Implementation
63
-
64
- Write the data access methods (Repository pattern or direct ORM calls).
65
- - Avoid fetching `SELECT *` if only 2 columns are needed.
66
- - Batch queries or use joins to prevent N+1 issues.
67
-
68
- ---
69
-
70
- ## Decision Tree
71
-
72
- ```
73
- Is the project using an ORM?
74
- ├── Prisma → Modify `schema.prisma`, use `prisma.entity.findMany()`
75
- ├── Drizzle → Modify schema TS files, use Drizzle query builder
76
- └── No → Write raw SQL or use query builder (Knex)
77
-
78
- Does the schema change drop data or alter existing columns?
79
- ├── Yes → Flag as High Risk. Provide rollback strategy. Ask for approval.
80
- └── No → Standard migration (e.g., adding a nullable column).
81
- ```
82
-
83
- ---
84
-
85
- ## Output Format
86
-
87
- ```
88
- 🗄️ Database Engineering Report
89
- ─────────────────────────────────────────────────
90
- Action: [Schema Update / Query Optimization]
91
- Tooling: [Prisma / Raw SQL / etc.]
92
-
93
- Changes:
94
- ✅ Added model: `User` (1:N with `Post`)
95
- ✅ Added index on `User.email`
96
- ✅ Generated query: `getUserWithPosts`
97
-
98
- ⚠️ Risk Assessment:
99
- [Low / High — e.g., "Safe addition, no data loss"]
100
-
101
- 🔗 Next Steps:
102
- Run `npx prisma migrate dev` to apply these changes locally.
103
- ```
104
-
@@ -1,96 +0,0 @@
1
- ---
2
- name: qk-deployment
3
- description: >-
4
- Cấu hình CI/CD pipelines, tạo Dockerfile và thiết lập môi trường để deploy lên Vercel, AWS hoặc VPS.
5
- version: 1.0.0
6
- category: backend
7
- tags: [deploy, ci-cd, docker, github-actions, devops, hosting]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Deployment & DevOps
12
-
13
- > **Language rule:**
14
- > Use English for: code, identifiers, file names, architecture terms, technical decisions.
15
- > Use the user's language for: explanations, questions, summaries, and feedback.
16
- > The user may write in any language — detect and match it automatically.
17
-
18
- ---
19
-
20
- ## Trigger
21
-
22
- Activate this skill when:
23
- - User asks "how do I deploy this?", "create a Dockerfile", or "setup CI/CD"
24
- - Configuring GitHub Actions, GitLab CI, or Jenkins
25
- - Preparing a project for Vercel, Netlify, Render, or AWS
26
- - Setting up environment variables for production
27
-
28
- ---
29
-
30
- ## Scope
31
-
32
- - ✅ **Containerization:** Write `Dockerfile` and `docker-compose.yml`.
33
- - ✅ **CI/CD Pipelines:** Write GitHub Actions YAML for testing, building, and deploying.
34
- - ✅ **Environment Setup:** Create `.env.example` and document required production variables.
35
- - ✅ **Build Scripts:** Ensure `package.json` has correct build and start commands.
36
-
37
- ---
38
-
39
- ## Non-goals
40
-
41
- - ❌ Do NOT expose real production secrets. Always use placeholders or CI secrets.
42
- - ❌ Do NOT over-complicate (e.g., don't setup Kubernetes if a simple Docker container on a VPS is enough).
43
-
44
- ---
45
-
46
- ## Workflow
47
-
48
- ### Phase 1 — Platform Selection
49
-
50
- Ask the user where they are deploying (if not specified):
51
- 1. **PaaS (Vercel, Render, Heroku):** Very easy, mostly relies on `vercel.json` or standard build scripts. No Docker needed usually.
52
- 2. **VPS/VM (DigitalOcean, AWS EC2):** Needs Docker and/or PM2 + Nginx reverse proxy.
53
- 3. **Container Service (AWS ECS, Google Cloud Run):** Needs a highly optimized Dockerfile.
54
-
55
- ### Phase 2 — Containerization (If required)
56
-
57
- Create a multi-stage Dockerfile for minimal image size:
58
- 1. `deps` stage: Install dependencies.
59
- 2. `builder` stage: Build the app.
60
- 3. `runner` stage: Copy only the built assets and prod modules, start the app.
61
-
62
- ### Phase 3 — CI/CD Pipeline
63
-
64
- Create `.github/workflows/deploy.yml`:
65
- - Trigger on `push` to `main`.
66
- - Job 1: Setup Node/Python/Go, install deps, run tests, run linter.
67
- - Job 2: Build image and push to registry, or deploy to PaaS.
68
-
69
- ### Phase 4 — Environment Variables
70
-
71
- Audit the codebase for `process.env.XYZ` and create a `.env.example` file listing every required variable.
72
-
73
- ---
74
-
75
- ## Output Format
76
-
77
- ```
78
- 🚀 Deployment Plan
79
- ─────────────────────────────────────────────────
80
- Target: [Vercel / Docker VPS / AWS]
81
- Tooling: [GitHub Actions, Docker]
82
-
83
- Files Created/Modified:
84
- ✅ `Dockerfile` (Multi-stage build)
85
- ✅ `.github/workflows/deploy.yml`
86
- ✅ `.env.example`
87
-
88
- ⚠️ Prerequisites:
89
- Before deploying, you must set these secrets in GitHub Actions:
90
- - `DOCKER_USERNAME`
91
- - `DATABASE_URL`
92
-
93
- 🔗 Next Steps:
94
- Commit these files and push to `main` to trigger the pipeline.
95
- ```
96
-
@@ -1,137 +0,0 @@
1
- ---
2
- name: qk-design-system
3
- description: >-
4
- Ép buộc sử dụng design system, component library và token hiện có, ngăn chặn việc viết HTML/CSS rác.
5
- version: 1.0.0
6
- category: frontend
7
- tags: [design-system, ui-components, styling, tailwind, material-ui, shadcn]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Design System Enforcer
12
-
13
- > **Language rule:**
14
- > Use English for: code, identifiers, file names, architecture terms, technical decisions.
15
- > Use the user's language for: explanations, questions, summaries, and feedback.
16
- > The user may write in any language — detect and match it automatically.
17
-
18
- ---
19
-
20
- ## Trigger
21
-
22
- Activate this skill when:
23
- - About to build UI screens or components
24
- - Styling or layout work is required
25
- - User asks to "make it look good" or "match the design"
26
- - Integrating a third-party UI library (Tailwind, MUI, AntD, Shadcn)
27
-
28
- ---
29
-
30
- ## Scope
31
-
32
- - ✅ Identify the UI library or design system in use
33
- - ✅ Map standard HTML elements to project-specific components (e.g., `<button>` → `<Button>`)
34
- - ✅ Enforce usage of design tokens (colors, spacing, typography) instead of hardcoded values
35
- - ✅ Provide available component variants and props to downstream skills (`ui-builder`)
36
- - ✅ Prevent generation of raw CSS/inline styles if utility classes or styled-components are standard
37
-
38
- ---
39
-
40
- ## Non-goals
41
-
42
- - ❌ Do NOT create new base components if an equivalent already exists
43
- - ❌ Do NOT introduce a new styling method (e.g., don't add Tailwind if project uses CSS Modules)
44
- - ❌ Do NOT design full pages (delegate to `ui-builder`)
45
-
46
- ---
47
-
48
- ## Workflow
49
-
50
- ### Phase 1 — Detect Design System
51
-
52
- Analyze dependencies and project files to identify:
53
- 1. **Component Library:** Shadcn UI, MUI, Ant Design, Chakra, Bootstrap, custom internal library?
54
- 2. **Styling Method:** Tailwind CSS, CSS Modules, Styled Components, Emotion, SCSS, Vanilla CSS?
55
- 3. **Location of Shared Components:** Usually `src/components/ui/`, `src/shared/components/`, or from an npm package.
56
- 4. **Design Tokens:** `tailwind.config.js`, `theme.ts`, `variables.scss`.
57
-
58
- ---
59
-
60
- ### Phase 2 — Component Mapping
61
-
62
- Before `ui-builder` generates code, create a mapping table for required elements:
63
-
64
- | Standard Element | Project Component | Source / Import Path |
65
- |------------------|-------------------|----------------------|
66
- | `<button>` | `<Button>` | `@/components/ui/button` |
67
- | `<input type="text">` | `<Input>` | `@/components/ui/input` |
68
- | `<div>` (Card) | `<Card>` | `@/components/ui/card` |
69
- | `<h1>` | `<Typography variant="h1">` | `@mui/material` |
70
-
71
- ---
72
-
73
- ### Phase 3 — Token Extraction
74
-
75
- Identify available tokens for spacing, colors, and typography to avoid hardcoding:
76
- - *Instead of:* `margin-top: 16px; color: #3b82f6;`
77
- - *Use:* `mt-4 text-blue-500` (Tailwind) or `theme.spacing(2)` (MUI) or `var(--primary-color)`.
78
-
79
- ---
80
-
81
- ### Phase 4 — Rule Enforcement
82
-
83
- Pass strict instructions to `ui-builder` or `component-generator`:
84
- - "You MUST use `<Button>` instead of `<button>`."
85
- - "You MUST use Tailwind classes for all styling. No inline `style={{}}` allowed."
86
-
87
- ---
88
-
89
- ## Decision Tree
90
-
91
- ```
92
- Does the project use a component library (e.g., Shadcn, MUI)?
93
- ├── Yes → Is the required component available?
94
- │ ├── Yes → Require its use
95
- │ └── No → Instruct `component-generator` to create it following library style
96
- └── No → Check if custom shared components exist
97
- ├── Yes → Map to custom shared components
98
- └── No → Use raw HTML but enforce project's styling method (e.g., Tailwind)
99
-
100
- Does the project use utility classes (Tailwind)?
101
- ├── Yes → Forbid inline styles or custom CSS files
102
- └── No → Enforce existing CSS Modules / Styled Components patterns
103
- ```
104
-
105
- ---
106
-
107
- ## Output Format
108
-
109
- ```
110
- 🎨 Design System Rules
111
- ─────────────────────────────────────────────────
112
- Library: [Shadcn / MUI / Tailwind / Custom / etc.]
113
- Styling Method: [Tailwind / CSS Modules / Styled Components]
114
-
115
- Component Mapping for this task:
116
- ✅ Button → `<Button>` from `@/components/ui/button`
117
- ✅ Input → `<Input>` from `@/components/ui/input`
118
- ✅ Layout → Flexbox with Tailwind (`flex flex-col gap-4`)
119
-
120
- Styling Rules Enforced:
121
- • No raw HTML `<button>` allowed
122
- • No inline styles allowed
123
- • Use primary color token for CTAs
124
-
125
- 🔗 Next Steps:
126
- Passing these rules to `ui-builder` to generate the UI.
127
- ```
128
-
129
- ---
130
-
131
- ## Validation Checklist
132
-
133
- - [ ] Design system and styling method correctly identified
134
- - [ ] Mappings created for all necessary UI elements
135
- - [ ] Design tokens (spacing/colors) prioritized over hardcoded values
136
- - [ ] Strict enforcement rules passed to next skill
137
-
@@ -1,140 +0,0 @@
1
- ---
2
- name: qk-form-builder
3
- description: >-
4
- Xây dựng Form chuẩn xác với quản lý trạng thái, validate dữ liệu (Zod, Yup) và xử lý hiển thị lỗi.
5
- version: 1.0.0
6
- category: frontend
7
- tags: [form, validation, react-hook-form, zod, yup, formik]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Form Builder
12
-
13
- > **Language rule:**
14
- > Use English for: code, identifiers, file names, architecture terms, technical decisions.
15
- > Use the user's language for: explanations, questions, summaries, and feedback.
16
- > The user may write in any language — detect and match it automatically.
17
-
18
- ---
19
-
20
- ## Trigger
21
-
22
- Activate this skill when:
23
- - User says "create a login form", "add a settings page", "build a contact form"
24
- - User provides a data model and needs a UI to create/edit it
25
- - A form needs complex validation logic added
26
- - Refactoring a messy form into a structured library pattern (e.g., React Hook Form)
27
-
28
- ---
29
-
30
- ## Scope
31
-
32
- - ✅ Define the form data schema and validation rules
33
- - ✅ Manage form state efficiently (preventing unnecessary re-renders)
34
- - ✅ Map form fields to the project's design system components
35
- - ✅ Handle submission state (loading, success, error)
36
- - ✅ Handle validation errors and display them accessibly
37
- - ✅ Integrate with `api-integration` for submission
38
-
39
- ---
40
-
41
- ## Non-goals
42
-
43
- - ❌ Do NOT reinvent form state management if a library is present
44
- - ❌ Do NOT use raw HTML inputs if design system components exist
45
- - ❌ Do NOT skip validation (client-side validation is required)
46
-
47
- ---
48
-
49
- ## Workflow
50
-
51
- ### Phase 1 — Schema Design
52
-
53
- Define the exact shape of the data the form collects.
54
- Determine validation rules for each field (required, min length, email format, etc.).
55
-
56
- If the project uses Zod, Yup, or Joi, define the schema first.
57
- *Example:*
58
- ```typescript
59
- const userFormSchema = z.object({
60
- email: z.string().email("Invalid email address"),
61
- password: z.string().min(8, "Password must be at least 8 characters"),
62
- });
63
- ```
64
-
65
- ---
66
-
67
- ### Phase 2 — State Management Selection
68
-
69
- Check project dependencies for form libraries:
70
- 1. `react-hook-form` (Preferred for React)
71
- 2. `formik`
72
- 3. Custom Vue/Svelte bindings
73
- 4. Standard controlled components (`useState`) if no library exists and form is simple.
74
-
75
- ---
76
-
77
- ### Phase 3 — Component Assembly
78
-
79
- 1. Set up the form wrapper and submission handler.
80
- 2. For each field in the schema, render the appropriate UI component (from `design-system`).
81
- 3. Connect the UI component to the form state (register / Controller).
82
- 4. Render error messages below fields if validation fails.
83
-
84
- ---
85
-
86
- ### Phase 4 — Submission & Integration
87
-
88
- - Add `isLoading` state to the submit button.
89
- - Disable submit button during submission.
90
- - On success: Show success message or redirect, and optionally reset form.
91
- - On error: Display backend error messages (toast or form-level alert).
92
-
93
- ---
94
-
95
- ## Decision Tree
96
-
97
- ```
98
- Does the project use a validation library (Zod, Yup)?
99
- ├── Yes → Use it to define schema and pass to form resolver
100
- └── No → Implement standard HTML5 validation or simple manual validation logic
101
-
102
- Is it a complex multi-step form (wizard)?
103
- ├── Yes → Break into sub-components, use global or lifted state for form data
104
- └── No → Handle state locally within the single form component
105
- ```
106
-
107
- ---
108
-
109
- ## Output Format
110
-
111
- ```
112
- 📝 Form Built
113
- ─────────────────────────────────────────────────
114
- Name: [FormName]
115
- Schema: [Zod / Yup / Manual]
116
- Library: [React Hook Form / Formik / Native]
117
-
118
- Fields Implemented:
119
- ✅ email (string, required, email)
120
- ✅ password (string, required, min: 8)
121
-
122
- Integration:
123
- - Validation: Client-side wired up
124
- - Submission: Wired to `[submitFunction]`
125
- - Loading UI: Handled on submit button
126
-
127
- 🔗 Next Steps:
128
- Make sure the API endpoint is ready to accept this payload.
129
- ```
130
-
131
- ---
132
-
133
- ## Validation Checklist
134
-
135
- - [ ] Form uses existing design system components (Inputs, Buttons)
136
- - [ ] Client-side validation is implemented
137
- - [ ] Error messages are displayed properly
138
- - [ ] Loading state disables the submit button
139
- - [ ] Accessibility: Inputs have associated labels and error ARIA attributes
140
-