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,142 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import sharp from "sharp";
4
-
5
- const root = process.cwd();
6
-
7
- const pngToWebp = [
8
- "assets/readme-banner.png",
9
- "assets/readme-buttons/btn-site.png",
10
- "assets/readme-buttons/btn-mit.png",
11
- "assets/readme-buttons/btn-agent-skills.png",
12
- "assets/readme-buttons/btn-tools.png",
13
- "assets/readme-buttons/btn-changelog.png",
14
- ];
15
-
16
- function isBackground(r, g, b, a, threshold = 22) {
17
- if (a < 8) return true;
18
- return r <= threshold && g <= threshold && b <= threshold;
19
- }
20
-
21
- function removeOuterBackground(rgba, width, height) {
22
- const visited = new Uint8Array(width * height);
23
- const queue = [];
24
-
25
- for (let x = 0; x < width; x++) {
26
- queue.push(x, 0, x, height - 1);
27
- }
28
- for (let y = 1; y < height - 1; y++) {
29
- queue.push(0, y, width - 1, y);
30
- }
31
-
32
- while (queue.length) {
33
- const y = queue.pop();
34
- const x = queue.pop();
35
- const idx = y * width + x;
36
- if (x < 0 || y < 0 || x >= width || y >= height || visited[idx]) continue;
37
-
38
- const i = idx * 4;
39
- if (!isBackground(rgba[i], rgba[i + 1], rgba[i + 2], rgba[i + 3])) continue;
40
-
41
- visited[idx] = 1;
42
- rgba[i + 3] = 0;
43
- queue.push(x + 1, y, x - 1, y, x, y + 1, x, y - 1);
44
- }
45
-
46
- return rgba;
47
- }
48
-
49
- function getBounds(rgba, width, height) {
50
- let minX = width;
51
- let minY = height;
52
- let maxX = 0;
53
- let maxY = 0;
54
-
55
- for (let y = 0; y < height; y++) {
56
- for (let x = 0; x < width; x++) {
57
- const a = rgba[(y * width + x) * 4 + 3];
58
- if (a > 8) {
59
- minX = Math.min(minX, x);
60
- minY = Math.min(minY, y);
61
- maxX = Math.max(maxX, x);
62
- maxY = Math.max(maxY, y);
63
- }
64
- }
65
- }
66
-
67
- const pad = 2;
68
- return {
69
- left: Math.max(0, minX - pad),
70
- top: Math.max(0, minY - pad),
71
- width: Math.min(width, maxX - minX + 1 + pad * 2),
72
- height: Math.min(height, maxY - minY + 1 + pad * 2),
73
- };
74
- }
75
-
76
- async function pngFileToWebp(inputRel, { maxWidth } = {}) {
77
- const input = path.join(root, inputRel);
78
- const output = input.replace(/\.png$/i, ".webp");
79
- let pipeline = sharp(input);
80
- const meta = await pipeline.metadata();
81
-
82
- if (maxWidth && meta.width > maxWidth) {
83
- pipeline = pipeline.resize({ width: maxWidth, withoutEnlargement: true });
84
- }
85
-
86
- await pipeline.webp({ quality: 92, effort: 6, alphaQuality: 100 }).toFile(output);
87
- const outMeta = await sharp(output).metadata();
88
- console.log(
89
- `${path.basename(output)} -> ${outMeta.width}x${outMeta.height}, ${fs.statSync(output).size} bytes`
90
- );
91
- }
92
-
93
- async function emilBadgeToWebp() {
94
- const src =
95
- "C:/Users/User/Downloads/c4f8c4a7-2566-4644-b752-b652e0c103f5.png";
96
- const output = path.join(root, "assets/sponsors/emil-animations-dev.webp");
97
- const exportHeight = 240;
98
-
99
- const { data, info } = await sharp(src).ensureAlpha().raw().toBuffer({ resolveWithObject: true });
100
- const rgba = Buffer.from(data);
101
- removeOuterBackground(rgba, info.width, info.height);
102
- const bounds = getBounds(rgba, info.width, info.height);
103
-
104
- await sharp(rgba, { raw: { width: info.width, height: info.height, channels: 4 } })
105
- .extract(bounds)
106
- .resize({ height: exportHeight, withoutEnlargement: true })
107
- .webp({ quality: 94, effort: 6, alphaQuality: 100 })
108
- .toFile(output);
109
-
110
- const outMeta = await sharp(output).metadata();
111
- console.log(
112
- `${path.basename(output)} -> ${outMeta.width}x${outMeta.height}, ${fs.statSync(output).size} bytes`
113
- );
114
- }
115
-
116
- async function sponsorLogoToWebp() {
117
- const jfif = "C:/Users/User/Downloads/6b610a0c-8889-49fc-9684-e172d7172ea0.jfif";
118
- const output = path.join(root, "assets/sponsors/animations-dev.webp");
119
- const source = fs.existsSync(jfif)
120
- ? jfif
121
- : path.join(root, "assets/sponsors/animations-dev.png");
122
-
123
- await sharp(source)
124
- .resize(192, 192, { fit: "cover" })
125
- .webp({ quality: 92, effort: 6, alphaQuality: 100 })
126
- .toFile(`${output}.tmp`);
127
- fs.renameSync(`${output}.tmp`, output);
128
-
129
- const outMeta = await sharp(output).metadata();
130
- console.log(
131
- `${path.basename(output)} -> ${outMeta.width}x${outMeta.height}, ${fs.statSync(output).size} bytes`
132
- );
133
- }
134
-
135
- for (const file of pngToWebp) {
136
- await pngFileToWebp(file, {
137
- maxWidth: file.includes("readme-buttons") ? 1400 : undefined,
138
- });
139
- }
140
-
141
- await sponsorLogoToWebp();
142
- await emilBadgeToWebp();
@@ -1,108 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import sharp from "sharp";
4
-
5
- const srcDir = "C:/Users/User/Downloads";
6
- const outDir = path.join(process.cwd(), "assets/readme-buttons");
7
-
8
- const mapping = [
9
- { src: "ChatGPT Image Jun 17, 2026, 04_04_16 PM (1).png", out: "btn-site.png" },
10
- { src: "ChatGPT Image Jun 17, 2026, 04_04_16 PM (2).png", out: "btn-mit.png" },
11
- { src: "ChatGPT Image Jun 17, 2026, 04_04_17 PM (3).png", out: "btn-agent-skills.png" },
12
- { src: "ChatGPT Image Jun 17, 2026, 04_04_17 PM (4).png", out: "btn-tools.png" },
13
- { src: "ChatGPT Image Jun 17, 2026, 04_04_20 PM (5).png", out: "btn-changelog.png" },
14
- ];
15
-
16
- function isBackground(r, g, b, a, threshold = 28) {
17
- if (a < 8) return true;
18
- return r <= threshold && g <= threshold && b <= threshold;
19
- }
20
-
21
- function removeOuterBackground(rgba, width, height) {
22
- const visited = new Uint8Array(width * height);
23
- const queue = [];
24
-
25
- for (let x = 0; x < width; x++) {
26
- queue.push(x, 0, x, height - 1);
27
- }
28
- for (let y = 1; y < height - 1; y++) {
29
- queue.push(0, y, width - 1, y);
30
- }
31
-
32
- while (queue.length) {
33
- const y = queue.pop();
34
- const x = queue.pop();
35
- const idx = y * width + x;
36
- if (x < 0 || y < 0 || x >= width || y >= height || visited[idx]) continue;
37
-
38
- const i = idx * 4;
39
- const r = rgba[i];
40
- const g = rgba[i + 1];
41
- const b = rgba[i + 2];
42
- const a = rgba[i + 3];
43
- if (!isBackground(r, g, b, a)) continue;
44
-
45
- visited[idx] = 1;
46
- rgba[i + 3] = 0;
47
-
48
- queue.push(x + 1, y, x - 1, y, x, y + 1, x, y - 1);
49
- }
50
-
51
- return rgba;
52
- }
53
-
54
- function getBounds(rgba, width, height) {
55
- let minX = width;
56
- let minY = height;
57
- let maxX = 0;
58
- let maxY = 0;
59
-
60
- for (let y = 0; y < height; y++) {
61
- for (let x = 0; x < width; x++) {
62
- const a = rgba[(y * width + x) * 4 + 3];
63
- if (a > 8) {
64
- minX = Math.min(minX, x);
65
- minY = Math.min(minY, y);
66
- maxX = Math.max(maxX, x);
67
- maxY = Math.max(maxY, y);
68
- }
69
- }
70
- }
71
-
72
- const pad = 2;
73
- return {
74
- left: Math.max(0, minX - pad),
75
- top: Math.max(0, minY - pad),
76
- width: Math.min(width, maxX - minX + 1 + pad * 2),
77
- height: Math.min(height, maxY - minY + 1 + pad * 2),
78
- };
79
- }
80
-
81
- async function processOne(srcPath, outPath) {
82
- const { data, info } = await sharp(srcPath)
83
- .ensureAlpha()
84
- .raw()
85
- .toBuffer({ resolveWithObject: true });
86
-
87
- const rgba = Buffer.from(data);
88
- removeOuterBackground(rgba, info.width, info.height);
89
- const bounds = getBounds(rgba, info.width, info.height);
90
-
91
- await sharp(rgba, {
92
- raw: { width: info.width, height: info.height, channels: 4 },
93
- })
94
- .extract(bounds)
95
- .png({ compressionLevel: 9, adaptiveFiltering: true })
96
- .toFile(outPath);
97
-
98
- const meta = await sharp(outPath).metadata();
99
- console.log(
100
- `${path.basename(outPath)} -> ${meta.width}x${meta.height}, ${fs.statSync(outPath).size} bytes`
101
- );
102
- }
103
-
104
- fs.mkdirSync(outDir, { recursive: true });
105
-
106
- for (const { src, out } of mapping) {
107
- await processOne(path.join(srcDir, src), path.join(outDir, out));
108
- }
@@ -1,83 +0,0 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import sharp from "sharp";
4
-
5
- const src =
6
- "C:/Users/User/Downloads/c4f8c4a7-2566-4644-b752-b652e0c103f5.png";
7
- const out = path.join(process.cwd(), "assets/sponsors/emil-animations-dev.png");
8
-
9
- function isBackground(r, g, b, a, threshold = 22) {
10
- if (a < 8) return true;
11
- return r <= threshold && g <= threshold && b <= threshold;
12
- }
13
-
14
- function removeOuterBackground(rgba, width, height) {
15
- const visited = new Uint8Array(width * height);
16
- const queue = [];
17
-
18
- for (let x = 0; x < width; x++) {
19
- queue.push(x, 0, x, height - 1);
20
- }
21
- for (let y = 1; y < height - 1; y++) {
22
- queue.push(0, y, width - 1, y);
23
- }
24
-
25
- while (queue.length) {
26
- const y = queue.pop();
27
- const x = queue.pop();
28
- const idx = y * width + x;
29
- if (x < 0 || y < 0 || x >= width || y >= height || visited[idx]) continue;
30
-
31
- const i = idx * 4;
32
- if (!isBackground(rgba[i], rgba[i + 1], rgba[i + 2], rgba[i + 3])) continue;
33
-
34
- visited[idx] = 1;
35
- rgba[i + 3] = 0;
36
- queue.push(x + 1, y, x - 1, y, x, y + 1, x, y - 1);
37
- }
38
-
39
- return rgba;
40
- }
41
-
42
- function getBounds(rgba, width, height) {
43
- let minX = width;
44
- let minY = height;
45
- let maxX = 0;
46
- let maxY = 0;
47
-
48
- for (let y = 0; y < height; y++) {
49
- for (let x = 0; x < width; x++) {
50
- const a = rgba[(y * width + x) * 4 + 3];
51
- if (a > 8) {
52
- minX = Math.min(minX, x);
53
- minY = Math.min(minY, y);
54
- maxX = Math.max(maxX, x);
55
- maxY = Math.max(maxY, y);
56
- }
57
- }
58
- }
59
-
60
- const pad = 2;
61
- return {
62
- left: Math.max(0, minX - pad),
63
- top: Math.max(0, minY - pad),
64
- width: Math.min(width, maxX - minX + 1 + pad * 2),
65
- height: Math.min(height, maxY - minY + 1 + pad * 2),
66
- };
67
- }
68
-
69
- const { data, info } = await sharp(src).ensureAlpha().raw().toBuffer({ resolveWithObject: true });
70
- const rgba = Buffer.from(data);
71
- removeOuterBackground(rgba, info.width, info.height);
72
- const bounds = getBounds(rgba, info.width, info.height);
73
-
74
- const tmp = `${out}.tmp.png`;
75
- await sharp(rgba, { raw: { width: info.width, height: info.height, channels: 4 } })
76
- .extract(bounds)
77
- .resize({ height: 36, withoutEnlargement: true })
78
- .png({ compressionLevel: 9, palette: true, quality: 80, effort: 10 })
79
- .toFile(tmp);
80
-
81
- fs.renameSync(tmp, out);
82
- const meta = await sharp(out).metadata();
83
- console.log(`${path.basename(out)} -> ${meta.width}x${meta.height}, ${fs.statSync(out).size} bytes`);
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # Local skill registry
4
- declare -A SKILLS=(
5
- [taste-skill]="skills/taste-skill/SKILL.md"
6
- [taste-skill-v1]="skills/taste-skill-v1/SKILL.md"
7
- [gpt-taste]="skills/gpt-tasteskill/SKILL.md"
8
- [image-to-code-skill]="skills/image-to-code-skill/SKILL.md"
9
- [imagegen-frontend-web]="skills/imagegen-frontend-web/SKILL.md"
10
- [imagegen-frontend-mobile]="skills/imagegen-frontend-mobile/SKILL.md"
11
- [brandkit]="skills/brandkit/SKILL.md"
12
- [redesign-skill]="skills/redesign-skill/SKILL.md"
13
- [soft-skill]="skills/soft-skill/SKILL.md"
14
- [output-skill]="skills/output-skill/SKILL.md"
15
- [minimalist-skill]="skills/minimalist-skill/SKILL.md"
16
- [brutalist-skill]="skills/brutalist-skill/SKILL.md"
17
- [stitch-skill]="skills/stitch-skill/SKILL.md"
18
- )
19
-
20
- if [[ $# -eq 0 ]]; then
21
- echo "Usage: source ./skill.sh <skill-name>"
22
- echo "Available skills: ${!SKILLS[@]}"
23
- else
24
- echo "${SKILLS[$1]}"
25
- fi