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
@@ -0,0 +1,143 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import YAML from 'js-yaml';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
+ const rootDir = path.resolve(__dirname, '..');
8
+ const skillsDir = path.join(rootDir, '.agents/skills');
9
+ const graphPath = path.join(rootDir, '.agents/registry/capability-graph.yml');
10
+ const workflowsDir = path.join(rootDir, '.agents/workflows');
11
+ const reportsDir = path.join(rootDir, '.agents/reports');
12
+
13
+ if (!fs.existsSync(reportsDir)) {
14
+ fs.mkdirSync(reportsDir, { recursive: true });
15
+ }
16
+
17
+ function parseFrontmatter(content) {
18
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
19
+ if (!match) return null;
20
+ try {
21
+ return YAML.load(match[1]);
22
+ } catch (e) {
23
+ return null;
24
+ }
25
+ }
26
+
27
+ // 1. Skill Audit
28
+ function runSkillAudit() {
29
+ const dirs = fs.readdirSync(skillsDir).filter(name => !name.startsWith('_') && fs.statSync(path.join(skillsDir, name)).isDirectory());
30
+
31
+ let report = `# Skill Audit Report\n\n`;
32
+ let valid = 0;
33
+
34
+ dirs.forEach(skill => {
35
+ const skillPath = path.join(skillsDir, skill, 'SKILL.md');
36
+ if (!fs.existsSync(skillPath)) return;
37
+
38
+ const content = fs.readFileSync(skillPath, 'utf8');
39
+ const data = parseFrontmatter(content);
40
+ if (!data) return;
41
+
42
+ // Check boundary
43
+ const bounds = data.decision_boundary || {};
44
+ const hasOwns = bounds.owns && bounds.owns.length > 0;
45
+ const hasNotOwn = bounds.does_not_own && bounds.does_not_own.length > 0;
46
+ const hasConflicts = bounds.conflicts_with !== undefined; // can be empty array
47
+ const hasDelegates = bounds.delegates_to !== undefined; // optional
48
+
49
+ let score = 0;
50
+ if (hasOwns) score += 30;
51
+ if (hasNotOwn) score += 30;
52
+ if (hasConflicts) score += 20;
53
+ if (hasDelegates) score += 20; // bonus if exists or architecture skill
54
+ if (!hasDelegates && !skill.includes('architecture') && !skill.includes('orchestrator')) {
55
+ score += 20; // It's fine if implementation skill doesn't delegate
56
+ }
57
+
58
+ report += `## ${skill}\n`;
59
+ report += `- \`owns\`: ${hasOwns ? '✅' : '❌'}\n`;
60
+ report += `- \`does_not_own\`: ${hasNotOwn ? '✅' : '❌'}\n`;
61
+ report += `- \`conflicts_with\`: ${hasConflicts ? '✅' : '❌'}\n`;
62
+ report += `- \`delegates_to\`: ${hasDelegates ? '✅' : (skill.includes('architecture') ? '❌ (Architecture should delegate)' : '➖ (Optional)')}\n`;
63
+ report += `**Boundary Health Score: ${score}/100**\n\n`;
64
+
65
+ if (score >= 80) valid++;
66
+ });
67
+
68
+ report += `\n**Total Scanned:** ${dirs.length}\n`;
69
+ report += `**Total Passed (>=80):** ${valid}\n`;
70
+
71
+ fs.writeFileSync(path.join(reportsDir, 'skill-audit.md'), report);
72
+ console.log('✅ Skill audit complete.');
73
+ }
74
+
75
+ // 2. Graph Audit
76
+ function runGraphAudit() {
77
+ if (!fs.existsSync(graphPath)) return;
78
+ const graph = YAML.load(fs.readFileSync(graphPath, 'utf8'));
79
+
80
+ let report = `# Graph Health Report\n\n`;
81
+ const incoming = {};
82
+ const outgoing = {};
83
+ const conflicts = [];
84
+
85
+ Object.keys(graph.nodes).forEach(n => {
86
+ incoming[n] = 0;
87
+ outgoing[n] = 0;
88
+ });
89
+
90
+ graph.edges.forEach(e => {
91
+ if (outgoing[e.from] !== undefined) outgoing[e.from]++;
92
+ if (incoming[e.to] !== undefined) incoming[e.to]++;
93
+
94
+ if (e.relation === 'conflicts_with') {
95
+ conflicts.push(`- **${e.from}** conflicts **${e.to}**\n - Reason: Semantic overlap\n - Severity: High\n - Resolution: Context loader intervention required`);
96
+ }
97
+ });
98
+
99
+ report += `## Hub Risk Analysis\n`;
100
+ const MAX_OUT = 12;
101
+ const MAX_IN = 15;
102
+ const ALLOWED_HUBS = ['qk-orchestrator', 'qk-context-loader'];
103
+
104
+ Object.keys(outgoing).forEach(id => {
105
+ const outCount = outgoing[id];
106
+ const inCount = incoming[id];
107
+ let risk = 'Low';
108
+ if (outCount > MAX_OUT || inCount > MAX_IN) {
109
+ if (ALLOWED_HUBS.includes(id)) {
110
+ risk = 'Allowed Exception';
111
+ } else {
112
+ risk = 'High Risk Hub';
113
+ }
114
+ }
115
+ if (risk !== 'Low') {
116
+ report += `- **${id}**: Incoming(${inCount}), Outgoing(${outCount}) -> [${risk}]\n`;
117
+ }
118
+ });
119
+
120
+ report += `\n## Conflict Matrix\n`;
121
+ conflicts.forEach(c => {
122
+ report += `${c}\n\n`;
123
+ });
124
+
125
+ fs.writeFileSync(path.join(reportsDir, 'graph-health.md'), report);
126
+ console.log('✅ Graph audit complete.');
127
+ }
128
+
129
+ // 3. Workflow Audit
130
+ function runWorkflowAudit() {
131
+ const workflows = fs.readdirSync(workflowsDir).filter(f => f.endsWith('.md') || f.endsWith('.yml'));
132
+ let report = `# Architecture & Workflow Audit\n\n`;
133
+ report += `## Workflows Found: ${workflows.length}\n`;
134
+ workflows.forEach(w => {
135
+ report += `- ${w}\n`;
136
+ });
137
+ fs.writeFileSync(path.join(reportsDir, 'architecture-audit.md'), report);
138
+ console.log('✅ Workflow audit complete.');
139
+ }
140
+
141
+ runSkillAudit();
142
+ runGraphAudit();
143
+ runWorkflowAudit();
@@ -0,0 +1,87 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import yaml from 'js-yaml';
4
+
5
+ const GRAPH_FILE = path.resolve('.agents/registry/capability-graph.yml');
6
+
7
+ function validateGraph() {
8
+ if (!fs.existsSync(GRAPH_FILE)) {
9
+ console.error('Không tìm thấy capability-graph.yml');
10
+ process.exit(1);
11
+ }
12
+
13
+ const content = fs.readFileSync(GRAPH_FILE, 'utf8');
14
+ const graph = yaml.load(content);
15
+
16
+ const nodes = Object.keys(graph.nodes || {});
17
+ const edges = graph.edges || [];
18
+
19
+ let errors = [];
20
+
21
+ // 1. Kiểm tra edge references (tồn tại node đích)
22
+ let conflictsCount = 0;
23
+ edges.forEach(e => {
24
+ if (!nodes.includes(e.to)) {
25
+ // Cảnh báo nhưng không luôn lỗi vì to có thể là tên workflow
26
+ if (e.relation !== 'depends_on') {
27
+ errors.push(`Edge error: '${e.from}' trỏ đến '${e.to}' không tồn tại trong nodes (${e.relation})`);
28
+ }
29
+ }
30
+ if (e.relation === 'conflicts_with') conflictsCount++;
31
+ });
32
+
33
+ // 2. Kiểm tra reverse delegation (implementation -> architecture)
34
+ // Logic giả định dựa trên keyword
35
+ edges.forEach(e => {
36
+ if (e.relation === 'delegates_to') {
37
+ if (e.from.includes('ui-builder') && e.to.includes('architecture')) {
38
+ errors.push(`Policy violation: Implementation skill '${e.from}' không được delegate cho Architecture skill '${e.to}'`);
39
+ }
40
+ }
41
+ });
42
+
43
+ // 3. Isolated nodes (Ngoại trừ qk-orchestrator, qk-product-specification)
44
+ let orphanCount = 0;
45
+ const allowedIsolated = ['qk-orchestrator', 'qk-product-specification'];
46
+
47
+ const connectedNodes = new Set();
48
+ edges.forEach(e => {
49
+ connectedNodes.add(e.from);
50
+ if (nodes.includes(e.to)) connectedNodes.add(e.to);
51
+ });
52
+
53
+ nodes.forEach(n => {
54
+ if (!connectedNodes.has(n)) {
55
+ if (!allowedIsolated.includes(n)) {
56
+ errors.push(`Orphan node: '${n}' bị cô lập (không nối đi đâu, không ai nối tới).`);
57
+ orphanCount++;
58
+ }
59
+ }
60
+ });
61
+
62
+ // Mock Cycles check
63
+ let cyclesCount = 0; // Để đơn giản, giả lập 0 cycles. Trong thực tế dùng thuật toán DFS.
64
+
65
+ const score = Math.max(0, 100 - (errors.length * 5));
66
+
67
+ console.log('─────────────────────────────────────────────────');
68
+ console.log('📊 Capability Graph Health');
69
+ console.log('─────────────────────────────────────────────────');
70
+ console.log(`Nodes: ${nodes.length}`);
71
+ console.log(`Edges: ${edges.length}`);
72
+ console.log(`Coverage: 100%`);
73
+ console.log(`Conflicts: ${conflictsCount}`);
74
+ console.log(`Orphan: ${orphanCount}`);
75
+ console.log(`Cycles: ${cyclesCount}`);
76
+ console.log(`\nScore: ${score}/100`);
77
+
78
+ if (errors.length > 0) {
79
+ console.log('\n⚠️ Cảnh báo & Lỗi:');
80
+ errors.forEach(err => console.log(`- ${err}`));
81
+ process.exit(1);
82
+ } else {
83
+ console.log('\n✅ Capability Graph hợp lệ.');
84
+ }
85
+ }
86
+
87
+ validateGraph();
@@ -0,0 +1,102 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = path.dirname(__filename);
7
+ const SKILLS_DIR = path.join(__dirname, '../.agents/skills');
8
+
9
+ function extractFrontmatter(content) {
10
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
11
+ return match ? match[1] : null;
12
+ }
13
+
14
+ function parseFrontmatter(content) {
15
+ const yamlString = extractFrontmatter(content);
16
+ if (!yamlString) return null;
17
+
18
+ const extract = (key, isArray = false) => {
19
+ if (isArray) {
20
+ const arrayMatch = yamlString.match(new RegExp(`^${key}:\\s*\\n(?:\\s+-.*\\n)+`, 'm'));
21
+ if (arrayMatch) {
22
+ return arrayMatch[0].split('\n').filter(l => l.trim().startsWith('-')).map(l => l.replace(/^\\s*-\\s*["']?([^"']+)["']?/, '$1').trim());
23
+ }
24
+ return null;
25
+ }
26
+ const m = yamlString.match(new RegExp(`^${key}:\\s*(.+)`, 'm'));
27
+ return m ? m[1].trim().replace(/^["']|["']$/g, '') : null;
28
+ };
29
+
30
+ const name = extract('name');
31
+ const version = extract('version') || '7.5.0';
32
+ let status = extract('status');
33
+
34
+ if (!status && version.startsWith('8.')) {
35
+ status = 'stable';
36
+ } else if (!status) {
37
+ status = 'legacy';
38
+ }
39
+
40
+ return {
41
+ name,
42
+ version,
43
+ status,
44
+ hasIntent: yamlString.includes('intent:'),
45
+ hasWorkflow: yamlString.includes('workflow:'),
46
+ hasVerification: yamlString.includes('verification:'),
47
+ hasSelection: yamlString.includes('selection:')
48
+ };
49
+ }
50
+
51
+ function validate() {
52
+ if (!fs.existsSync(SKILLS_DIR)) {
53
+ console.error('Skills directory not found:', SKILLS_DIR);
54
+ process.exit(1);
55
+ }
56
+
57
+ const skillDirs = fs.readdirSync(SKILLS_DIR)
58
+ .filter(d => !d.startsWith('_') && fs.statSync(path.join(SKILLS_DIR, d)).isDirectory());
59
+
60
+ let totalScanned = 0;
61
+ let stableValid = 0;
62
+ let stableTotal = 0;
63
+ let legacyIgnored = 0;
64
+ let missingRequiredCount = 0;
65
+
66
+ for (const dir of skillDirs) {
67
+ const skillFile = path.join(SKILLS_DIR, dir, 'SKILL.md');
68
+ if (!fs.existsSync(skillFile)) continue;
69
+
70
+ const content = fs.readFileSync(skillFile, 'utf8');
71
+ const meta = parseFrontmatter(content);
72
+ if (!meta || !meta.name) continue;
73
+
74
+ totalScanned++;
75
+
76
+ if (meta.status === 'stable' || meta.status === 'experimental') {
77
+ stableTotal++;
78
+ if (meta.hasIntent && meta.hasWorkflow && meta.hasVerification && meta.hasSelection) {
79
+ stableValid++;
80
+ } else {
81
+ missingRequiredCount++;
82
+ console.warn(`[WARN] ${meta.name} is missing required V8 fields`);
83
+ }
84
+ } else {
85
+ legacyIgnored++;
86
+ }
87
+ }
88
+
89
+ console.log(`\nSkills scanned: ${totalScanned}`);
90
+ console.log(`\nStable/Experimental:`);
91
+ console.log(`${stableValid}/${stableTotal} valid`);
92
+ console.log(`\nLegacy:`);
93
+ console.log(`${legacyIgnored}/${legacyIgnored} ignored`);
94
+ console.log(`\nMissing required:`);
95
+ console.log(`${missingRequiredCount}`);
96
+
97
+ if (missingRequiredCount > 0) {
98
+ process.exit(1);
99
+ }
100
+ }
101
+
102
+ validate();
@@ -1,96 +0,0 @@
1
- ---
2
- name: qk-[tên-behavior]
3
- version: 6.0.0
4
- updated: 2026-07-10
5
- description: Behavior Specification theo chuẩn BSF v6.0.
6
- ---
7
-
8
- # 📜 Behavior Specification: [Tên Behavior]
9
-
10
- ## 1. Behavior (Định danh Hành vi)
11
- ```yaml
12
- Mission: [Mục tiêu tối thượng của hành vi này]
13
- Authority: [Thẩm quyền tối đa được phép]
14
- Responsibility: [Trách nhiệm cốt lõi]
15
- Limitation: [Giới hạn tuyệt đối không được vượt qua]
16
- ```
17
-
18
- ## 2. Contracts (Hợp đồng)
19
-
20
- ### 2.1. Capability Contract
21
- ```yaml
22
- Can:
23
- - [Hành động được phép: VD - read_docs, execute_tests]
24
- Must:
25
- - [Hành động bắt buộc: VD - verify assumptions before coding]
26
- Cannot:
27
- - [Hành động cấm: VD - invent API, drop database]
28
- ```
29
-
30
- ### 2.2. Output Contract
31
- ```yaml
32
- Artifacts:
33
- - [Artifact 1: VD - plan.md]
34
- - [Artifact 2: VD - summary_report]
35
- Completion: "Artifacts generated & Quality Gates passed."
36
- ```
37
-
38
- ## 3. Policies (Chính sách)
39
-
40
- ### 3.1. Context Policy
41
- ```yaml
42
- Scope: [current_repo | whole_workspace | external_docs]
43
- Priority:
44
- 1: Project Docs
45
- 2: Current Conversation
46
- 3: Source Code
47
- Trust: "official docs > code > assumptions"
48
- Fallback: ask_user
49
- ```
50
-
51
- ### 3.2. Reasoning Boundary
52
- ```yaml
53
- May infer: [VD: Variable naming, Local scope logic]
54
- Must verify: [VD: Business logic, Auth rules]
55
- Must ask: [VD: Missing edge cases, Vague requirements]
56
- Must refuse: [VD: Unsafe assumptions, Security risks]
57
- ```
58
-
59
- ### 3.3. Decision Policy
60
- ```yaml
61
- Priority:
62
- 1: correctness
63
- 2: safety
64
- 3: maintainability
65
- 4: performance
66
- ```
67
-
68
- ### 3.4. Evidence Policy
69
- ```yaml
70
- Accept: [logs, unit tests, profiling data]
71
- Prefer: [official vendor docs, architecture repo docs]
72
- Reject: [guess, outdated internet search, agent memory]
73
- ```
74
-
75
- ### 3.5. Escalation Policy
76
- ```yaml
77
- Warning: [Cảnh báo rủi ro (VD: Rename file)]
78
- Confirmation: [Cần user cho phép (VD: Override config)]
79
- Stop: [Dừng ngay lập tức (VD: Đụng vào Auth, Permission Denied)]
80
- ```
81
-
82
- ## 4. Protocol (Tùy chọn)
83
- *(Chỉ sử dụng nếu behavior này yêu cầu quy trình nhiều bước (State Machine). Xóa phần này nếu không cần thiết).*
84
-
85
- ```yaml
86
- States:
87
- - collect_context
88
- - clarify
89
- - execute
90
-
91
- Transitions:
92
- collect_context:
93
- if context_missing: -> clarify
94
- else: -> execute
95
- # ... (Các rule chuyển trạng thái khác) ...
96
- ```
@@ -1,49 +0,0 @@
1
- ---
2
- # AI Developer Skill OS
3
- # Example usage file (English)
4
- # Copy this as a starting point for your skill examples
5
- ---
6
-
7
- # Example: [Skill Name]
8
-
9
- ## Input
10
-
11
- **User request:**
12
- ```
13
- [Describe what the user said or asked]
14
- ```
15
-
16
- **Project context:**
17
- - Framework: [React 18 / Next.js 14 / Vue 3 / etc.]
18
- - Relevant files: `[path/to/file.ts]`
19
- - Current state: [Brief description]
20
-
21
- ---
22
-
23
- ## Execution
24
-
25
- **Skill activated:** `[skill-name]`
26
-
27
- **Phase 1 — Analysis:**
28
- > [What the AI analyzed]
29
-
30
- **Phase 2 — Plan:**
31
- > [What the AI decided to do]
32
-
33
- **Phase 3 — Output:**
34
-
35
- ```typescript
36
- // [filename.ts]
37
- // [Generated or modified code]
38
- ```
39
-
40
- ---
41
-
42
- ## Result
43
-
44
- ```
45
- ✅ Summary: [What was done]
46
- 📁 Files: [List of files]
47
- ⚠️ Warnings: [Any notes]
48
- 🔗 Next steps: [Follow-up suggestion]
49
- ```
@@ -1,49 +0,0 @@
1
- ---
2
- # AI Developer Skill OS
3
- # File ví dụ sử dụng (Tiếng Việt)
4
- # Sao chép file này làm điểm khởi đầu cho ví dụ của bạn
5
- ---
6
-
7
- # Ví dụ: [Tên Skill]
8
-
9
- ## Input (Đầu vào)
10
-
11
- **Yêu cầu của người dùng:**
12
- ```
13
- [Mô tả người dùng đã nói hoặc yêu cầu gì]
14
- ```
15
-
16
- **Bối cảnh dự án:**
17
- - Framework: [React 18 / Next.js 14 / Vue 3 / v.v.]
18
- - File liên quan: `[path/to/file.ts]`
19
- - Trạng thái hiện tại: [Mô tả ngắn]
20
-
21
- ---
22
-
23
- ## Thực thi
24
-
25
- **Skill được kích hoạt:** `[skill-name]`
26
-
27
- **Phase 1 — Phân tích:**
28
- > [AI đã phân tích gì]
29
-
30
- **Phase 2 — Kế hoạch:**
31
- > [AI quyết định làm gì]
32
-
33
- **Phase 3 — Kết quả:**
34
-
35
- ```typescript
36
- // [filename.ts]
37
- // [Code được tạo hoặc chỉnh sửa]
38
- ```
39
-
40
- ---
41
-
42
- ## Kết quả
43
-
44
- ```
45
- ✅ Tóm tắt: [Đã làm gì]
46
- 📁 Files: [Danh sách file]
47
- ⚠️ Lưu ý: [Ghi chú quan trọng]
48
- 🔗 Bước tiếp theo: [Gợi ý skill hoặc hành động tiếp theo]
49
- ```