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,280 +0,0 @@
1
- ---
2
- name: qk-project-audit
3
- description: >-
4
- Kiểm toán toàn bộ dự án để phát hiện bug ẩn, rủi ro bảo mật, vấn đề hiệu năng và nợ kỹ thuật trước khi sửa code.
5
- version: 1.0.0
6
- category: engineering
7
- tags: [audit, review, bug-detection, architecture, security, performance]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Project Audit
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
- > ⚠️ **CRITICAL: Do NOT modify any code during audit.**
19
- > The audit produces a report. Changes happen only after the user reviews and approves.
20
-
21
- ---
22
-
23
- ## Trigger
24
-
25
- Activate this skill when:
26
- - User says "audit", "review", "health check", "what's wrong with my project"
27
- - Before starting a large feature or refactor
28
- - After inheriting a codebase
29
- - Before a major release
30
- - When the system behaves unexpectedly and the root cause is unknown
31
-
32
- ---
33
-
34
- ## Scope
35
-
36
- - ✅ Detect hidden bugs, race conditions, and unstable areas
37
- - ✅ Review architecture and separation of concerns
38
- - ✅ Identify security vulnerabilities
39
- - ✅ Find performance bottlenecks
40
- - ✅ Audit dependencies (outdated, risky, unused)
41
- - ✅ Produce prioritized findings with recommended fixes
42
-
43
- ---
44
-
45
- ## Non-goals
46
-
47
- - ❌ Do NOT fix anything during the audit
48
- - ❌ Do NOT refactor code
49
- - ❌ Do NOT make assumptions — document uncertainty instead
50
- - ❌ Do NOT audit `node_modules`, `dist`, `build`, `.git`
51
-
52
- ---
53
-
54
- ## Audit Modes
55
-
56
- Choose based on context:
57
-
58
- | Mode | Scope | When to use |
59
- |------|-------|-------------|
60
- | **Quick** | Changed files only (git diff / recent edits) | Fast pre-commit check, small bug scope |
61
- | **Standard** | Current feature / module being worked on | Default — before implementing changes |
62
- | **Full** | Entire repository | Onboarding, pre-release, inherited codebase |
63
-
64
- **Default: Standard mode.**
65
- Use Full mode only when explicitly requested or before a major release.
66
-
67
- ---
68
-
69
- ## Severity Levels
70
-
71
- All findings use this shared scale:
72
-
73
- | Level | Label | Meaning |
74
- |-------|-------|---------|
75
- | P0 | Critical | Security breach, data loss, production crash — fix immediately |
76
- | P1 | High | Bug affecting core functionality — fix before shipping |
77
- | P2 | Medium | Performance issue or bad pattern — schedule soon |
78
- | P3 | Low | Technical debt, code smell — fix when possible |
79
-
80
- ---
81
-
82
- ## Workflow
83
-
84
- ### Phase 1 — Project Discovery
85
-
86
- *(Use `context-manager` if project context is not yet loaded)*
87
-
88
- Analyze:
89
- - Framework, language, build system
90
- - Folder structure and architecture style
91
- - Key dependencies and their versions
92
- - Entry points, routing, data flow
93
-
94
- Output: **Project Overview** (2-5 lines)
95
-
96
- ---
97
-
98
- ### Phase 2 — Architecture Review
99
-
100
- Check:
101
-
102
- **Separation of concerns:**
103
- - Are UI components mixing API calls and business logic?
104
- - Are services doing too much?
105
- - Is there duplicated logic across modules?
106
-
107
- **Folder structure:**
108
- - Does file placement follow the declared architecture?
109
- - Are there misplaced files or responsibilities?
110
-
111
- **Patterns:**
112
- - Are patterns applied consistently? (hooks, services, stores)
113
- - Are there anti-patterns? (prop drilling, God components, circular imports)
114
-
115
- ---
116
-
117
- ### Phase 3 — Bug Detection
118
-
119
- #### Frontend
120
-
121
- Check for:
122
- - `useEffect` with missing or wrong dependency arrays
123
- - State updates after component unmount (memory leak)
124
- - Missing cleanup in subscriptions, timers, event listeners
125
- - Stale closures in async callbacks
126
- - Race conditions in data fetching
127
- - Infinite re-render loops
128
- - `key` prop issues in lists
129
-
130
- #### Backend
131
-
132
- Check for:
133
- - Unhandled promise rejections
134
- - Missing input validation
135
- - Incorrect HTTP status codes
136
- - Transaction issues (missing rollback on error)
137
- - Race conditions in concurrent operations
138
-
139
- #### API Layer
140
-
141
- Check for:
142
- - Inconsistent response handling
143
- - Missing error states
144
- - Duplicate requests without debounce/cancellation
145
- - Missing loading/error/empty states in UI
146
-
147
- ---
148
-
149
- ### Phase 4 — Security Audit
150
-
151
- Check for:
152
- - Hardcoded secrets, tokens, credentials in code
153
- - Sensitive data in `localStorage` or URL params
154
- - Missing authentication/authorization checks
155
- - SQL injection or NoSQL injection risks
156
- - XSS vulnerabilities (dangerouslySetInnerHTML, unsanitized input)
157
- - Insecure direct object references (IDOR)
158
- - CORS misconfiguration
159
-
160
- ---
161
-
162
- ### Phase 5 — Performance Audit
163
-
164
- Check for:
165
- - Large bundle size (missing code splitting, lazy loading)
166
- - Expensive computations on every render (missing `useMemo`, `useCallback`)
167
- - Unnecessary re-renders (missing `memo`, wrong dependency arrays)
168
- - N+1 query problems
169
- - Missing pagination on large datasets
170
- - Unoptimized images or assets
171
-
172
- ---
173
-
174
- ### Phase 6 — Dependency Audit
175
-
176
- Check:
177
- - Outdated packages with known CVEs
178
- - Packages with very low maintenance (abandoned)
179
- - Duplicate packages doing the same job
180
- - Unused dependencies in `package.json`
181
- - Major version gaps that indicate deferred upgrades
182
-
183
- ---
184
-
185
- ## Decision Tree
186
-
187
- ```
188
- Which audit mode?
189
- ├── Quick → Read only git diff / recently changed files
190
- ├── Standard → Read current feature/module files + related
191
- └── Full → Scan entire src/ directory systematically
192
-
193
- Issue found → Assess severity:
194
- ├── P0 → Flag immediately, recommend pausing current work
195
- ├── P1 → Include in required fixes before shipping
196
- ├── P2 → Include in scheduled improvements
197
- └── P3 → Log as technical debt
198
-
199
- No issues found in area → Mark as ✅ Clean
200
- ```
201
-
202
- ---
203
-
204
- ## Output Format
205
-
206
- ### Executive Summary
207
-
208
- ```
209
- 🏥 Project Health Report
210
- ─────────────────────────
211
- Health: [Excellent / Good / Needs Attention / Critical]
212
- Risk Level: [Low / Medium / High / Critical]
213
- Audit Mode: [Quick / Standard / Full]
214
- Files Reviewed: [N]
215
- Total Findings: [N] (P0: N · P1: N · P2: N · P3: N)
216
- ```
217
-
218
- ### Findings (one per issue)
219
-
220
- ```
221
- ───────────────────────────────
222
- ID: AUDIT-001
223
- Severity: P1 — High
224
- Location: src/hooks/useUserData.ts:47
225
- Problem: useEffect fetches data but missing cleanup — causes state update
226
- on unmounted component, triggering React warning and potential
227
- memory leak under slow networks.
228
- Impact: Console errors in production, potential memory leak.
229
- Root cause: No AbortController or isMounted flag used.
230
- Fix: Add AbortController + cleanup return in useEffect.
231
- Effort: ~15 min
232
- ```
233
-
234
- ### Priority Roadmap
235
-
236
- ```
237
- 🗺️ Fix Roadmap
238
- ──────────────────
239
- P0 — Fix immediately (before anything else):
240
- • [AUDIT-00X] [Brief description]
241
-
242
- P1 — Fix before shipping:
243
- • [AUDIT-00X] [Brief description]
244
-
245
- P2 — Schedule this sprint:
246
- • [AUDIT-00X] [Brief description]
247
-
248
- P3 — Technical debt backlog:
249
- • [AUDIT-00X] [Brief description]
250
- ```
251
-
252
- ### Next Steps
253
-
254
- ```
255
- 🔗 Recommended next skills:
256
- → bug-fix (for P0/P1 issues)
257
- → refactor (for architecture issues)
258
- → migration (for outdated dependencies)
259
- → frontend-performance (for P2 performance issues)
260
-
261
- ⏳ Awaiting your approval to proceed with fixes.
262
- ```
263
-
264
- ---
265
-
266
- ## Validation Checklist
267
-
268
- - [ ] Correct audit mode selected for the task
269
- - [ ] All 6 phases covered (or scoped ones for Quick/Standard)
270
- - [ ] Every finding has: ID, severity, location, problem, root cause, fix, effort
271
- - [ ] Priority roadmap is ordered correctly (P0 first)
272
- - [ ] No code was modified during audit
273
- - [ ] User informed — awaiting approval before any changes
274
-
275
- ---
276
-
277
- ## Examples
278
-
279
- See `examples/` folder.
280
-
@@ -1,222 +0,0 @@
1
- ---
2
- name: qk-refactor
3
- description: >-
4
- Tái cấu trúc và dọn dẹp mã nguồn để dễ bảo trì hơn mà không làm thay đổi logic hoạt động bên ngoài.
5
- version: 1.0.0
6
- category: engineering
7
- tags: [refactor, clean-code, restructure, technical-debt, maintainability]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # Refactor — Safe Restructuring
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
- > ⚠️ **Core constraint: Refactoring must NOT change observable behavior.**
19
- > If behavior changes are needed → that is a feature, not a refactor.
20
- > Stop and clarify with the user before proceeding.
21
-
22
- ---
23
-
24
- ## Trigger
25
-
26
- Activate this skill when:
27
- - User says "clean up", "refactor", "it's too messy", "hard to maintain"
28
- - Code has grown beyond its original design (God component, fat service, spaghetti logic)
29
- - Duplicate patterns exist across multiple files
30
- - `project-audit` identified architecture issues (P2/P3) ready to be addressed
31
- - User asks to "improve code quality" without changing functionality
32
-
33
- **Not this skill** → Use `bug-fix` if behavior is wrong. Use `migration` if upgrading dependencies.
34
-
35
- ---
36
-
37
- ## Scope
38
-
39
- - ✅ Rename for clarity (variables, functions, files, components)
40
- - ✅ Extract reusable logic into functions, hooks, services, or utilities
41
- - ✅ Remove dead code, unused imports, and orphaned files
42
- - ✅ Split large components / functions into focused units
43
- - ✅ Apply consistent patterns across the codebase
44
- - ✅ Improve type coverage (replace `any`, add missing types)
45
- - ✅ Reduce complexity (flatten nested conditions, simplify logic)
46
-
47
- ---
48
-
49
- ## Non-goals
50
-
51
- - ❌ Do NOT change behavior — if you must, stop and discuss first
52
- - ❌ Do NOT change public APIs or exported interfaces without explicit approval
53
- - ❌ Do NOT rewrite everything — prefer incremental, targeted changes
54
- - ❌ Do NOT apply opinionated style changes (formatting belongs to linter/prettier)
55
- - ❌ Do NOT introduce new dependencies
56
- - ❌ Do NOT refactor code unrelated to the stated scope
57
-
58
- ---
59
-
60
- ## Severity Levels (for issues found during analysis)
61
-
62
- | Level | Meaning |
63
- |-------|---------|
64
- | P0 | Refactor introduces breaking change — stop immediately |
65
- | P1 | High coupling or duplication blocking feature work |
66
- | P2 | Code smell reducing maintainability |
67
- | P3 | Minor naming or style inconsistency |
68
-
69
- ---
70
-
71
- ## Workflow
72
-
73
- ### Phase 1 — Understand Current State
74
-
75
- Before changing anything:
76
- 1. Read the target code thoroughly
77
- 2. Identify what it does (behavior, inputs, outputs, side effects)
78
- 3. Note all callers and dependents of the code being refactored
79
- 4. Check for existing tests — these are the safety net
80
-
81
- If there are **no tests** for the code being refactored → recommend writing characterization tests first, or proceed with extra caution and document risks.
82
-
83
- ---
84
-
85
- ### Phase 2 — Identify Refactor Targets
86
-
87
- Common code smells to look for:
88
-
89
- | Smell | Description |
90
- |-------|-------------|
91
- | God Component/Function | Does too many things — split by responsibility |
92
- | Duplicate Logic | Same pattern repeated — extract to shared utility |
93
- | Long Parameter Lists | >4 params — use options object |
94
- | Deep Nesting | >3 levels of if/else — flatten with early returns |
95
- | Magic Numbers/Strings | Unnamed constants — extract to named constants |
96
- | Dead Code | Unused variables, functions, imports — remove |
97
- | Inconsistent Naming | Mixed conventions — standardize |
98
- | Missing Types | `any`, missing return types — add precise types |
99
- | Large Files | >300 lines — consider splitting by concern |
100
-
101
- ---
102
-
103
- ### Phase 3 — Plan the Refactor
104
-
105
- Create a step-by-step plan before touching code:
106
-
107
- 1. List each specific change with its justification
108
- 2. Order changes from lowest to highest risk
109
- 3. Identify what tests must pass after each step
110
- 4. Flag any changes that touch shared/exported code
111
-
112
- Present plan to user if scope is large or changes are risky.
113
-
114
- ---
115
-
116
- ### Phase 4 — Execute Incrementally
117
-
118
- Apply changes in small, verifiable steps:
119
-
120
- **Safe refactor order:**
121
- 1. Rename (lowest risk — IDEs can do this safely)
122
- 2. Extract (pull logic into new functions/hooks without changing callers)
123
- 3. Inline (remove unnecessary abstraction)
124
- 4. Move (relocate to correct file/folder)
125
- 5. Simplify (reduce complexity in logic)
126
- 6. Remove (delete dead code last — confirm nothing breaks)
127
-
128
- After **each step** → verify tests still pass before moving on.
129
-
130
- ---
131
-
132
- ### Phase 5 — Verify Behavior Preserved
133
-
134
- - [ ] All existing tests pass
135
- - [ ] Run lint and type-check — clean
136
- - [ ] Manual smoke test of affected functionality
137
- - [ ] No new `any` types introduced
138
- - [ ] No unused imports or dead code left
139
- - [ ] Public API unchanged (or explicitly approved to change)
140
-
141
- ---
142
-
143
- ### Phase 6 — Report
144
-
145
- Document what changed and why:
146
-
147
- ```
148
- What changed: [List of changes]
149
- Why: [Specific smell or issue addressed]
150
- Risk level: [Low / Medium / High]
151
- Tests status: [All pass / N new tests added]
152
- Behavior: [Unchanged — verified]
153
- ```
154
-
155
- ---
156
-
157
- ## Decision Tree
158
-
159
- ```
160
- Is there existing test coverage?
161
- ├── Yes → Proceed — tests are the safety net
162
- └── No → Recommend characterization tests first
163
- ├── User agrees → write tests then refactor
164
- └── User wants to proceed anyway → proceed with caution, document risk
165
-
166
- Does the refactor change public APIs?
167
- ├── Yes → Stop — confirm with user, this may be a breaking change
168
- └── No → Proceed
169
-
170
- Is the scope larger than expected?
171
- ├── Yes → Present updated plan, get approval before continuing
172
- └── No → Continue
173
- ```
174
-
175
- ---
176
-
177
- ## Output Format
178
-
179
- ```
180
- 🔧 Refactor Summary
181
- ─────────────────────────────────────────────────
182
- Scope: [What was refactored]
183
- Changes: [N files modified, N extracted, N removed]
184
-
185
- Changes applied:
186
- ✅ [Rename: oldName → newName in path/to/file.ts]
187
- ✅ [Extract: logic → useCustomHook in path/to/hook.ts]
188
- ✅ [Remove: dead code in path/to/old.ts]
189
- ✅ [Split: LargeComponent → ComponentA + ComponentB]
190
-
191
- 📊 Quality improvement:
192
- Before: [brief description of the problem]
193
- After: [brief description of improvement]
194
-
195
- ✅ Verification:
196
- Tests: PASS (N tests)
197
- Lint: Clean
198
- Types: No new `any`
199
- Behavior: Unchanged
200
-
201
- ⚠️ Notes:
202
- [Any assumptions, risks, or follow-up suggestions]
203
- ```
204
-
205
- ---
206
-
207
- ## Validation Checklist
208
-
209
- - [ ] Behavior is unchanged — verified with tests or manual check
210
- - [ ] All tests pass
211
- - [ ] Lint and type-check clean
212
- - [ ] No dead code, unused imports, or console.logs left
213
- - [ ] Public APIs unchanged (or explicitly approved)
214
- - [ ] Changes are documented with justification
215
- - [ ] No new dependencies introduced
216
-
217
- ---
218
-
219
- ## Examples
220
-
221
- See `examples/` folder.
222
-
@@ -1,140 +0,0 @@
1
- ---
2
- name: qk-state-management
3
- description: >-
4
- Xác định và triển khai chiến lược quản lý state phù hợp (Zustand, Redux, React Query, Local State).
5
- version: 1.0.0
6
- category: frontend
7
- tags: [state, redux, zustand, react-query, context, pinia, data-flow]
8
- platforms: [antigravity, claude-code, kilo-code, cursor, windsurf]
9
- ---
10
-
11
- # State Management
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 to "store this data", "share state between components", or "cache API results"
24
- - Prop drilling becomes excessive (>3 levels deep)
25
- - Integrating complex UI interactions that need memory (e.g., shopping cart, multi-step wizard)
26
- - Managing async server data and loading/error states
27
-
28
- ---
29
-
30
- ## Scope
31
-
32
- - ✅ Decide which state layer to use based on the data's lifecycle and scope
33
- - ✅ Implement local state (`useState`, `useReducer`, `ref`)
34
- - ✅ Implement global UI state (Zustand, Pinia, Context, Redux)
35
- - ✅ Implement server state (React Query, SWR, Apollo)
36
- - ✅ Ensure state is immutable and updates correctly
37
- - ✅ Prevent race conditions and stale state bugs
38
-
39
- ---
40
-
41
- ## Non-goals
42
-
43
- - ❌ Do NOT introduce a new state management library if the project already uses one
44
- - ❌ Do NOT put server data (API responses) in a global UI store (like Redux) if React Query is available
45
- - ❌ Do NOT use global state for something that should be local (e.g., a modal's `isOpen` state)
46
-
47
- ---
48
-
49
- ## Workflow
50
-
51
- ### Phase 1 — State Classification
52
-
53
- Analyze the data the user wants to manage and classify it:
54
-
55
- 1. **Local UI State:** Only needed by one component (e.g., toggle button, input value).
56
- 2. **Shared UI State:** Needed by multiple components, but not saved to DB (e.g., dark mode, cart items, selected filters).
57
- 3. **Server State:** Data fetched from an API. Needs caching, refetching, and loading states.
58
- 4. **URL State:** Data that should be shareable or survive refresh (e.g., search query `?q=shoes`, current page).
59
-
60
- ---
61
-
62
- ### Phase 2 — Strategy Selection
63
-
64
- Based on the classification and project stack (`project-audit`), choose the tool:
65
-
66
- | State Type | Recommended Tool |
67
- |------------|------------------|
68
- | Local UI | `useState`, `useReducer` |
69
- | Shared UI | Zustand, Pinia, Redux, Context API |
70
- | Server | React Query, RTK Query, Apollo, SWR |
71
- | URL | React Router `useSearchParams`, Next.js `useRouter` |
72
-
73
- **Rule:** Always respect existing project conventions. If they use Redux for everything, use Redux.
74
-
75
- ---
76
-
77
- ### Phase 3 — Implementation
78
-
79
- Generate the required code.
80
-
81
- **Example for Server State (React Query):**
82
- - Create query key factory
83
- - Create custom hook (`useUserList`)
84
- - Handle `isLoading`, `isError`, and `data`
85
-
86
- **Example for Global UI State (Zustand):**
87
- - Create store file (`userStore.ts`)
88
- - Define state interface and initial values
89
- - Define update actions (mutations)
90
-
91
- ---
92
-
93
- ### Phase 4 — Validation
94
-
95
- - [ ] Does it update correctly without mutating state directly?
96
- - [ ] Are unnecessary re-renders avoided?
97
- - [ ] Is server state properly cached and invalidated after mutations?
98
- - [ ] Is it placed in the correct directory (e.g., `src/store/` or `src/hooks/`)?
99
-
100
- ---
101
-
102
- ## Decision Tree
103
-
104
- ```
105
- Is the data fetched from a backend API?
106
- ├── Yes → Use Server State (React Query / SWR / RTK Query)
107
- └── No → Is the data only needed in one component and its direct children?
108
- ├── Yes → Use Local State (`useState`)
109
- └── No → Is the data used across many distinct branches of the app?
110
- ├── Yes → Use Global State (Zustand / Redux)
111
- └── No → Use Context API or lift state up
112
- ```
113
-
114
- ---
115
-
116
- ## Output Format
117
-
118
- ```
119
- 🧠 State Management Plan
120
- ─────────────────────────────────────────────────
121
- State Type: [Server / Global UI / Local / URL]
122
- Tool Used: [React Query / Zustand / useState / etc.]
123
-
124
- Implementation:
125
- ✅ [File 1] — [Store / Hook definition]
126
- ✅ [File 2] — [Component integration]
127
-
128
- ⚠️ Considerations:
129
- • [Note on caching, stale time, or performance]
130
-
131
- 🔗 Next Steps:
132
- State is ready. Use the hook in your component.
133
- ```
134
-
135
- ---
136
-
137
- ## Examples
138
-
139
- See `examples/` folder.
140
-