@ngockhoale/ukit 1.1.6

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 (344) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/LICENSE +21 -0
  3. package/README.md +189 -0
  4. package/bin/ukit +30 -0
  5. package/manifests/platform.full.yaml +1194 -0
  6. package/package.json +71 -0
  7. package/scripts/bug/triage.mjs +37 -0
  8. package/scripts/index/build-index.mjs +35 -0
  9. package/scripts/index/query-index.mjs +92 -0
  10. package/scripts/index/refresh-index.mjs +85 -0
  11. package/scripts/release/verify-release.mjs +56 -0
  12. package/src/bug/triageBug.js +123 -0
  13. package/src/cli/adapters.js +148 -0
  14. package/src/cli/commands/diff.js +51 -0
  15. package/src/cli/commands/doctor.js +125 -0
  16. package/src/cli/commands/indexArgs.js +73 -0
  17. package/src/cli/commands/indexTools.js +509 -0
  18. package/src/cli/commands/install.js +293 -0
  19. package/src/cli/commands/memory.js +126 -0
  20. package/src/cli/commands/status.js +8 -0
  21. package/src/cli/commands/uninstall.js +51 -0
  22. package/src/cli/index.js +109 -0
  23. package/src/context/detectProjectContext.js +49 -0
  24. package/src/context/detectProviders.js +12 -0
  25. package/src/core/applyPlan.js +89 -0
  26. package/src/core/buildPlan.js +228 -0
  27. package/src/core/compact/index.js +294 -0
  28. package/src/core/compact/threshold.js +936 -0
  29. package/src/core/diffPlan.js +73 -0
  30. package/src/core/ensureGitignore.js +117 -0
  31. package/src/core/fileOps.js +188 -0
  32. package/src/core/memory/hygiene.js +160 -0
  33. package/src/core/memory/index.js +2 -0
  34. package/src/core/memory/retrieval.js +476 -0
  35. package/src/core/memory/store.js +202 -0
  36. package/src/core/metadata.js +132 -0
  37. package/src/core/migrateLegacy.js +139 -0
  38. package/src/core/output/index.js +1309 -0
  39. package/src/core/paths.js +13 -0
  40. package/src/core/report.js +17 -0
  41. package/src/core/router/advisor.js +42 -0
  42. package/src/core/router/index.js +2 -0
  43. package/src/core/router/router.js +164 -0
  44. package/src/core/runInstallPipeline.js +365 -0
  45. package/src/core/runtimeConfig.js +190 -0
  46. package/src/core/runtimePaths.js +24 -0
  47. package/src/core/status.js +186 -0
  48. package/src/core/token/index.js +328 -0
  49. package/src/core/uninstall.js +246 -0
  50. package/src/core/validation/confidence.js +89 -0
  51. package/src/core/validation/index.js +2 -0
  52. package/src/core/validation/validator.js +165 -0
  53. package/src/index/buildIndex.js +1392 -0
  54. package/src/index/gitHooks.js +109 -0
  55. package/src/index/importResolution.js +377 -0
  56. package/src/index/languageTools.js +127 -0
  57. package/src/index/paths.js +27 -0
  58. package/src/index/queryIndex.js +637 -0
  59. package/src/index/relatedTests.js +237 -0
  60. package/src/index/resolveContext.js +345 -0
  61. package/src/index/routeCatalog.js +258 -0
  62. package/src/index/taskRouting.js +677 -0
  63. package/src/index/verificationPlan.js +437 -0
  64. package/src/manifest/loadManifest.js +22 -0
  65. package/src/manifest/selectItems.js +78 -0
  66. package/src/manifest/validateManifest.js +115 -0
  67. package/src/render/buildVariables.js +39 -0
  68. package/src/render/renderTemplate.js +44 -0
  69. package/src/stack/detectStack.js +213 -0
  70. package/templates/.claude/agents/bug-debugger.md +57 -0
  71. package/templates/.claude/agents/feature-implementer.md +55 -0
  72. package/templates/.claude/config/providers.md +25 -0
  73. package/templates/.claude/hooks/auto-allow-bash.sh +155 -0
  74. package/templates/.claude/hooks/auto-prune-bash.sh +75 -0
  75. package/templates/.claude/hooks/block-dangerous.sh +54 -0
  76. package/templates/.claude/hooks/compress-output.sh +17 -0
  77. package/templates/.claude/hooks/protect-files.sh +37 -0
  78. package/templates/.claude/hooks/reinject-context.sh +28 -0
  79. package/templates/.claude/hooks/session-start.md +13 -0
  80. package/templates/.claude/hooks/skill-router.sh +1681 -0
  81. package/templates/.claude/hooks/verification-guard.sh +271 -0
  82. package/templates/.claude/settings.json +144 -0
  83. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  84. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  85. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  86. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  87. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  88. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  89. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  90. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  91. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  92. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  93. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  94. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  95. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  96. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  97. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  98. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  99. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  100. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  101. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  102. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  103. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  104. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  105. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  106. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  107. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  108. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  109. package/templates/.claude/skills/_shared/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  110. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  111. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  112. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  113. package/templates/.claude/skills/_shared/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  114. package/templates/.claude/skills/_shared/ooxml/schemas/mce/mc.xsd +75 -0
  115. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  116. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  117. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  118. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  119. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  120. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  121. package/templates/.claude/skills/_shared/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  122. package/templates/.claude/skills/_shared/ooxml/scripts/pack.py +159 -0
  123. package/templates/.claude/skills/_shared/ooxml/scripts/unpack.py +29 -0
  124. package/templates/.claude/skills/_shared/ooxml/scripts/validate.py +69 -0
  125. package/templates/.claude/skills/_shared/ooxml/scripts/validation/__init__.py +15 -0
  126. package/templates/.claude/skills/_shared/ooxml/scripts/validation/base.py +951 -0
  127. package/templates/.claude/skills/_shared/ooxml/scripts/validation/docx.py +274 -0
  128. package/templates/.claude/skills/_shared/ooxml/scripts/validation/pptx.py +315 -0
  129. package/templates/.claude/skills/_shared/ooxml/scripts/validation/redlining.py +279 -0
  130. package/templates/.claude/skills/backend-api/SKILL.md +26 -0
  131. package/templates/.claude/skills/canvas-design/LICENSE.txt +202 -0
  132. package/templates/.claude/skills/canvas-design/SKILL.md +130 -0
  133. package/templates/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  134. package/templates/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  135. package/templates/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  136. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  137. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  138. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  139. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  140. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  141. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  142. package/templates/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  143. package/templates/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  144. package/templates/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  145. package/templates/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  146. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  147. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  148. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  149. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  150. package/templates/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  151. package/templates/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  152. package/templates/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  153. package/templates/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  154. package/templates/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  155. package/templates/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  156. package/templates/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  157. package/templates/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  158. package/templates/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  159. package/templates/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  160. package/templates/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  161. package/templates/.claude/skills/code-review/SKILL.md +97 -0
  162. package/templates/.claude/skills/debugging-toolkit/SKILL.md +156 -0
  163. package/templates/.claude/skills/delivery/SKILL.md +92 -0
  164. package/templates/.claude/skills/discover-security/SKILL.md +86 -0
  165. package/templates/.claude/skills/docker-packaging/SKILL.md +60 -0
  166. package/templates/.claude/skills/docs-manager/SKILL.md +465 -0
  167. package/templates/.claude/skills/docs-manager/init-project-docs.sh +70 -0
  168. package/templates/.claude/skills/docs-manager/templates/README.md.template +50 -0
  169. package/templates/.claude/skills/docs-manager/templates/agent-roles.md.template +24 -0
  170. package/templates/.claude/skills/docs-manager/templates/coding-conventions.md.template +28 -0
  171. package/templates/.claude/skills/docs-manager/templates/memory.md.template +30 -0
  172. package/templates/.claude/skills/docs-manager/templates/onboarding.md.template +20 -0
  173. package/templates/.claude/skills/docs-manager/templates/project.md.template +26 -0
  174. package/templates/.claude/skills/docs-quality/SKILL.md +148 -0
  175. package/templates/.claude/skills/docx/LICENSE.txt +30 -0
  176. package/templates/.claude/skills/docx/SKILL.md +197 -0
  177. package/templates/.claude/skills/docx/docx-js.md +350 -0
  178. package/templates/.claude/skills/docx/ooxml.md +610 -0
  179. package/templates/.claude/skills/docx/scripts/__init__.py +1 -0
  180. package/templates/.claude/skills/docx/scripts/document.py +1276 -0
  181. package/templates/.claude/skills/docx/scripts/templates/comments.xml +3 -0
  182. package/templates/.claude/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  183. package/templates/.claude/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  184. package/templates/.claude/skills/docx/scripts/templates/commentsIds.xml +3 -0
  185. package/templates/.claude/skills/docx/scripts/templates/people.xml +3 -0
  186. package/templates/.claude/skills/docx/scripts/utilities.py +374 -0
  187. package/templates/.claude/skills/duraone/SKILL.md +204 -0
  188. package/templates/.claude/skills/duraone/references/backend.md +636 -0
  189. package/templates/.claude/skills/duraone/references/frontend.md +1506 -0
  190. package/templates/.claude/skills/duraone/references/sql.md +631 -0
  191. package/templates/.claude/skills/duraone/references/workflow.md +520 -0
  192. package/templates/.claude/skills/executing-plans/SKILL.md +76 -0
  193. package/templates/.claude/skills/file-organizer/SKILL.md +433 -0
  194. package/templates/.claude/skills/frontend/SKILL.md +26 -0
  195. package/templates/.claude/skills/frontend-design/LICENSE.txt +177 -0
  196. package/templates/.claude/skills/frontend-design/SKILL.md +42 -0
  197. package/templates/.claude/skills/frontend-vue/SKILL.md +127 -0
  198. package/templates/.claude/skills/frontend-vue/components/Control/Box.vue +137 -0
  199. package/templates/.claude/skills/frontend-vue/components/Control/Button.vue +93 -0
  200. package/templates/.claude/skills/frontend-vue/components/Control/ButtonBar.vue +29 -0
  201. package/templates/.claude/skills/frontend-vue/components/Control/ButtonFloat.vue +62 -0
  202. package/templates/.claude/skills/frontend-vue/components/Control/CheckButton.vue +75 -0
  203. package/templates/.claude/skills/frontend-vue/components/Control/Checkbox.vue +58 -0
  204. package/templates/.claude/skills/frontend-vue/components/Control/Datetime.vue +148 -0
  205. package/templates/.claude/skills/frontend-vue/components/Control/Dropdownlist.vue +156 -0
  206. package/templates/.claude/skills/frontend-vue/components/Control/Input.vue +106 -0
  207. package/templates/.claude/skills/frontend-vue/components/Control/Label.vue +38 -0
  208. package/templates/.claude/skills/frontend-vue/components/Control/Master/BoxColumn.vue +24 -0
  209. package/templates/.claude/skills/frontend-vue/components/Control/Popup/Confirm.vue +33 -0
  210. package/templates/.claude/skills/frontend-vue/components/Control/Popup/Info.vue +32 -0
  211. package/templates/.claude/skills/frontend-vue/components/Control/Popup/ModalInfo.vue +39 -0
  212. package/templates/.claude/skills/frontend-vue/components/Control/Popup/Reject.vue +64 -0
  213. package/templates/.claude/skills/frontend-vue/components/Control/Tag.vue +82 -0
  214. package/templates/.claude/skills/frontend-vue/components/Control/Upload.vue +61 -0
  215. package/templates/.claude/skills/frontend-vue/components/ControlMobile/Dropdownlist.vue +103 -0
  216. package/templates/.claude/skills/frontend-vue/components/ControlMobile/PagingBar.vue +108 -0
  217. package/templates/.claude/skills/frontend-vue/components/ControlMobile/UploadImage.vue +137 -0
  218. package/templates/.claude/skills/frontend-vue/components/Grid/AG.vue +806 -0
  219. package/templates/.claude/skills/frontend-vue/components/Grid/AntTable.vue +253 -0
  220. package/templates/.claude/skills/frontend-vue/components/Grid/CustomDropdownEditor.vue +43 -0
  221. package/templates/.claude/skills/frontend-vue/components/Grid/CustomDropdownEditorEnable.vue +55 -0
  222. package/templates/.claude/skills/frontend-vue/components/Grid/HtmlTable.vue +40 -0
  223. package/templates/.claude/skills/frontend-vue/components/PDFViewer.vue +25 -0
  224. package/templates/.claude/skills/frontend-vue/components/Panel/FormView.vue +309 -0
  225. package/templates/.claude/skills/frontend-vue/components/Partial/Footer.vue +23 -0
  226. package/templates/.claude/skills/frontend-vue/components/Partial/Header.vue +265 -0
  227. package/templates/.claude/skills/frontend-vue/components/Partial/Sidebar.vue +122 -0
  228. package/templates/.claude/skills/frontend-vue/components/Template.vue +16 -0
  229. package/templates/.claude/skills/frontend-vue/components/View/Form.vue +89 -0
  230. package/templates/.claude/skills/frontend-vue/composables/indexDBStore.js +140 -0
  231. package/templates/.claude/skills/frontend-vue/composables/masterApi.js +362 -0
  232. package/templates/.claude/skills/frontend-vue/composables/state.js +578 -0
  233. package/templates/.claude/skills/frontend-vue/composables/useRequest.js +221 -0
  234. package/templates/.claude/skills/frontend-vue/composables/useSession.js +179 -0
  235. package/templates/.claude/skills/frontend-vue/composables/useTranslation.js +54 -0
  236. package/templates/.claude/skills/frontend-vue/composables/useWebSocket.js +257 -0
  237. package/templates/.claude/skills/frontend-vue/composables/userObj.js +111 -0
  238. package/templates/.claude/skills/frontend-vue/composables/utils.js +322 -0
  239. package/templates/.claude/skills/frontend-vue/reference/composables-example.vue +320 -0
  240. package/templates/.claude/skills/frontend-vue/reference/form-example.vue +183 -0
  241. package/templates/.claude/skills/frontend-vue/reference/grid-example.vue +147 -0
  242. package/templates/.claude/skills/frontend-vue/reference/masterdata-example/[id].vue +106 -0
  243. package/templates/.claude/skills/frontend-vue/reference/masterdata-example/index.vue +58 -0
  244. package/templates/.claude/skills/frontend-vue/reference/popup-example.vue +159 -0
  245. package/templates/.claude/skills/pdf/LICENSE.txt +30 -0
  246. package/templates/.claude/skills/pdf/SKILL.md +294 -0
  247. package/templates/.claude/skills/pdf/forms.md +205 -0
  248. package/templates/.claude/skills/pdf/reference.md +612 -0
  249. package/templates/.claude/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  250. package/templates/.claude/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  251. package/templates/.claude/skills/pdf/scripts/check_fillable_fields.py +12 -0
  252. package/templates/.claude/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  253. package/templates/.claude/skills/pdf/scripts/create_validation_image.py +41 -0
  254. package/templates/.claude/skills/pdf/scripts/extract_form_field_info.py +152 -0
  255. package/templates/.claude/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  256. package/templates/.claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  257. package/templates/.claude/skills/pdf-processing/SKILL.md +107 -0
  258. package/templates/.claude/skills/pdf-processing-pro/FORMS.md +610 -0
  259. package/templates/.claude/skills/pdf-processing-pro/OCR.md +137 -0
  260. package/templates/.claude/skills/pdf-processing-pro/SKILL.md +296 -0
  261. package/templates/.claude/skills/pdf-processing-pro/TABLES.md +626 -0
  262. package/templates/.claude/skills/pdf-processing-pro/scripts/analyze_form.py +307 -0
  263. package/templates/.claude/skills/postgres/SKILL.md +69 -0
  264. package/templates/.claude/skills/postgres/reference/fn_get_examples.sql +208 -0
  265. package/templates/.claude/skills/postgres/reference/fn_rpt_examples.sql +239 -0
  266. package/templates/.claude/skills/postgres/reference/utility_functions.sql +94 -0
  267. package/templates/.claude/skills/pptx/LICENSE.txt +30 -0
  268. package/templates/.claude/skills/pptx/SKILL.md +484 -0
  269. package/templates/.claude/skills/pptx/html2pptx.md +625 -0
  270. package/templates/.claude/skills/pptx/ooxml.md +427 -0
  271. package/templates/.claude/skills/pptx/scripts/html2pptx.js +979 -0
  272. package/templates/.claude/skills/pptx/scripts/inventory.py +1020 -0
  273. package/templates/.claude/skills/pptx/scripts/rearrange.py +231 -0
  274. package/templates/.claude/skills/pptx/scripts/replace.py +385 -0
  275. package/templates/.claude/skills/pptx/scripts/thumbnail.py +450 -0
  276. package/templates/.claude/skills/repo-maintenance/SKILL.md +97 -0
  277. package/templates/.claude/skills/research/EXAMPLES.md +434 -0
  278. package/templates/.claude/skills/research/REFERENCE.md +399 -0
  279. package/templates/.claude/skills/research/SKILL.md +136 -0
  280. package/templates/.claude/skills/root-cause-tracing/SKILL.md +174 -0
  281. package/templates/.claude/skills/root-cause-tracing/find-polluter.sh +63 -0
  282. package/templates/.claude/skills/sharing-skills/SKILL.md +194 -0
  283. package/templates/.claude/skills/sql-optimization-patterns/SKILL.md +493 -0
  284. package/templates/.claude/skills/subagent-driven-development/SKILL.md +189 -0
  285. package/templates/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
  286. package/templates/.claude/skills/systematic-debugging/SKILL.md +295 -0
  287. package/templates/.claude/skills/systematic-debugging/test-academic.md +14 -0
  288. package/templates/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
  289. package/templates/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
  290. package/templates/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
  291. package/templates/.claude/skills/test-driven-development/SKILL.md +364 -0
  292. package/templates/.claude/skills/testing-anti-patterns/SKILL.md +302 -0
  293. package/templates/.claude/skills/testing-quality/SKILL.md +97 -0
  294. package/templates/.claude/skills/verification-before-completion/SKILL.md +139 -0
  295. package/templates/.claude/skills/webapp-testing/LICENSE.txt +202 -0
  296. package/templates/.claude/skills/webapp-testing/SKILL.md +96 -0
  297. package/templates/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
  298. package/templates/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
  299. package/templates/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
  300. package/templates/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
  301. package/templates/.claude/ukit/index/build-index.mjs +28 -0
  302. package/templates/.claude/ukit/index/cache-utils.mjs +140 -0
  303. package/templates/.claude/ukit/index/lib/index-core.mjs +2800 -0
  304. package/templates/.claude/ukit/index/query-index.mjs +150 -0
  305. package/templates/.claude/ukit/index/refresh-index.mjs +57 -0
  306. package/templates/.claude/ukit/index/reset-auto-permissions.mjs +76 -0
  307. package/templates/.claude/ukit/index/resolve-context.mjs +279 -0
  308. package/templates/.claude/ukit/index/route-catalog.mjs +258 -0
  309. package/templates/.claude/ukit/index/route-task.mjs +1994 -0
  310. package/templates/.claude/ukit/index/triage.mjs +133 -0
  311. package/templates/.claude/ukit/index/verify-context.mjs +689 -0
  312. package/templates/.claude/ukit/runtime/compact-threshold.mjs +1013 -0
  313. package/templates/.claude/ukit/runtime/output-compression.mjs +1340 -0
  314. package/templates/.claude/ukit/runtime/reinject-context.mjs +874 -0
  315. package/templates/.claude/ukit/runtime/token-utils.mjs +500 -0
  316. package/templates/.codex/README.md +83 -0
  317. package/templates/.codex/settings.json +187 -0
  318. package/templates/.gitignore +75 -0
  319. package/templates/AGENTS.md +116 -0
  320. package/templates/CLAUDE.md +93 -0
  321. package/templates/adapter-presets/antigravity/README.md +22 -0
  322. package/templates/adapter-presets/antigravity/rules.md +49 -0
  323. package/templates/adapter-presets/claude/settings.local.json +42 -0
  324. package/templates/adapter-presets/codex/settings.local.json +6 -0
  325. package/templates/adapter-presets/opencode/opencode.template.json +1 -0
  326. package/templates/docs/BUGFIX.md +20 -0
  327. package/templates/docs/BUG_INDEX.md +12 -0
  328. package/templates/docs/BUG_METRICS.md +7 -0
  329. package/templates/docs/BUG_TEMPLATE.md +13 -0
  330. package/templates/docs/CODE_MAP.md +35 -0
  331. package/templates/docs/INSTALL.md +113 -0
  332. package/templates/docs/MEMORY.md +49 -0
  333. package/templates/docs/PROJECT.md +50 -0
  334. package/templates/docs/UKIT_USAGE_GUIDE.md +147 -0
  335. package/templates/docs/WORKLOG.md +10 -0
  336. package/templates/ukit/README.md +14 -0
  337. package/templates/ukit/storage/cache/compact-history.json +3 -0
  338. package/templates/ukit/storage/cache/compact-pressure.json +1 -0
  339. package/templates/ukit/storage/cache/output-history.json +3 -0
  340. package/templates/ukit/storage/cache/prompt-cache.json +3 -0
  341. package/templates/ukit/storage/config.json +37 -0
  342. package/templates/ukit/storage/memory/projects/.gitkeep +2 -0
  343. package/templates/ukit/storage/memory/sessions/.gitkeep +0 -0
  344. package/templates/ukit/storage/memory/user.json +5 -0
@@ -0,0 +1,93 @@
1
+ Copyright 2023 The Tektur Project Authors (https://www.github.com/hyvyys/Tektur)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://openfontlicense.org
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1,93 @@
1
+ Copyright 2023 The Young Serif Project Authors (https://github.com/noirblancrouge/YoungSerif)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://openfontlicense.org
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: code-review
3
+ description: Evidence-first code review workflow for review, audit, PR feedback, regression checks, and pre-merge quality verification. Use when asked to review changes, audit quality, find risks, or validate external review comments.
4
+ ---
5
+
6
+ # Code Review
7
+
8
+ ## Overview
9
+
10
+ Review is not performance. Do not invent issues. Do not rubber-stamp code.
11
+
12
+ **Core principle:** every finding must be grounded in codebase evidence.
13
+
14
+ ## Use This Skill For
15
+
16
+ - review this change
17
+ - audit this diff
18
+ - check for bugs/regressions
19
+ - validate PR quality before merge
20
+ - verify external review comments
21
+
22
+ ## Review Order
23
+
24
+ Check in this order:
25
+
26
+ 1. **Correctness**
27
+ - does the code actually implement the requested behavior?
28
+ - are there obvious broken paths, stale refs, wrong assumptions, or missing cases?
29
+
30
+ 2. **Regression risk**
31
+ - what existing behavior could this break?
32
+ - are touched shared paths/tests/contracts still aligned?
33
+
34
+ 3. **Safety / security / data loss**
35
+ - destructive actions
36
+ - auth/permission checks
37
+ - path handling
38
+ - unsafe shell / DB / file operations
39
+
40
+ 4. **Performance / scale**
41
+ - accidental N+1, repeated I/O, redundant parsing, large scans inside hot paths
42
+
43
+ 5. **Maintainability**
44
+ - duplicated logic
45
+ - dead branches
46
+ - misleading naming
47
+ - drift between docs/tests/source
48
+
49
+ ## Workflow
50
+
51
+ ### 1. Gather minimal context
52
+
53
+ - Read the diff or changed files first
54
+ - For non-trivial reviews, use index-first context:
55
+ - open primary target(s)
56
+ - open 1-2 analog/shared files when needed
57
+ - open related tests if behavior is covered
58
+
59
+ ### 2. Verify each concern against reality
60
+
61
+ Before raising a finding:
62
+ - point to the exact file and lines
63
+ - explain the concrete failure mode
64
+ - verify it is not already handled elsewhere
65
+
66
+ If a comment from another reviewer looks questionable:
67
+ - check the actual codebase behavior first
68
+ - do not accept it blindly
69
+
70
+ ## What Makes a Good Finding
71
+
72
+ A good finding includes:
73
+ - **where** the issue is
74
+ - **why** it matters
75
+ - **when/how** it fails
76
+ - **what severity** it deserves
77
+
78
+ Good:
79
+ - “This cache reuse key ignores file moves, so renames keep stale entries until manual cleanup.”
80
+
81
+ Bad:
82
+ - “This could maybe be cleaner.”
83
+
84
+ ## Severity Guide
85
+
86
+ - **P0** — data loss, security break, destructive wrong behavior
87
+ - **P1** — likely bug / broken common path / high regression risk
88
+ - **P2** — meaningful but narrower correctness/maintainability issue
89
+ - **P3** — minor cleanup or polish
90
+
91
+ ## Review Rules
92
+
93
+ - Prefer **few precise findings** over many weak ones
94
+ - If no real issue is found, say so
95
+ - Do not demand refactors without concrete payoff
96
+ - Do not call style preference a bug
97
+ - If source contradicts docs, source wins — note doc drift separately if relevant
@@ -0,0 +1,156 @@
1
+ ---
2
+ name: debugging-toolkit
3
+ description: Comprehensive debugging methodology combining systematic investigation (4 phases) with deep-dive root cause tracing - use for runtime bugs, crashes, and unexpected behavior (not test writing) to ensure root cause is found before fixing
4
+ ---
5
+
6
+ # Debugging Toolkit
7
+
8
+ ## Overview
9
+
10
+ Random fixes waste time and create new bugs. Quick patches mask underlying issues. This toolkit combines systematic investigation with deep tracing techniques.
11
+
12
+ **Core principle:** ALWAYS find root cause before attempting fixes. Symptom fixes are failure.
13
+
14
+ **The Iron Law:**
15
+ ```
16
+ NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST
17
+ ```
18
+
19
+ ## When to Use
20
+
21
+ Use for ANY technical issue:
22
+ - Test failures
23
+ - Bugs in production
24
+ - Unexpected behavior
25
+ - Performance problems
26
+ - Build failures
27
+
28
+ **Especially when:**
29
+ - Under time pressure (emergencies make guessing tempting)
30
+ - "Just one quick fix" seems obvious
31
+ - Bug appears deep in the stack trace
32
+
33
+ ## The Four Phases
34
+
35
+ You MUST complete each phase before proceeding to the next.
36
+
37
+ ### Phase 1: Root Cause Investigation
38
+
39
+ **BEFORE attempting ANY fix:**
40
+
41
+ 1. **Read Error Messages Carefully**
42
+ - Don't skip past errors or warnings
43
+ - Read stack traces completely
44
+ - Note line numbers, file paths, error codes
45
+
46
+ 2. **Reproduce Consistently**
47
+ - Can you trigger it reliably?
48
+ - What are the exact steps?
49
+ - If not reproducible → gather more data, don't guess
50
+
51
+ 3. **Check Recent Changes**
52
+ - What changed that could cause this?
53
+ - Git diff, recent commits
54
+ - New dependencies, config changes
55
+
56
+ 4. **Root Cause Tracing (Deep Dive)**
57
+
58
+ **Use when error is deep in call stack:**
59
+
60
+ **The Tracing Process:**
61
+ 1. **Observe Symptom:** `Error: git init failed in /packages/core`
62
+ 2. **Find Immediate Cause:** `execFile('git', ['init'], { cwd: '' })`
63
+ 3. **Trace Upwards:**
64
+ - Who called this? `WorktreeManager`
65
+ - With what arguments? `projectDir = ''`
66
+ 4. **Find Original Trigger:**
67
+ - Where did empty string come from? `setupCoreTest()` returned empty `tempDir`
68
+ 5. **Fix at Source:** Fix `setupCoreTest`, NOT the immediate caller.
69
+
70
+ **Instrumentation:**
71
+ If manual tracing fails, add logging *before* the failure:
72
+ ```js
73
+ console.error('DEBUG context:', {
74
+ arg: someArg,
75
+ stack: new Error().stack // crucial!
76
+ });
77
+ ```
78
+
79
+ 5. **Gather Evidence in Multi-Component Systems**
80
+ - Log what enters/exits each component boundary
81
+ - Verify environment/config propagation
82
+
83
+ ### Phase 2: Pattern Analysis
84
+
85
+ **Find the pattern before fixing:**
86
+
87
+ 1. **Find Working Examples**
88
+ - Locate similar working code in same codebase
89
+ - What works that's similar to what's broken?
90
+
91
+ 2. **Compare Against References**
92
+ - Read reference implementation COMPLETELY
93
+ - Don't skim - read every line
94
+
95
+ 3. **Identify Differences**
96
+ - What's different between working and broken?
97
+ - List every difference, however small
98
+
99
+ ### Phase 3: Hypothesis and Testing
100
+
101
+ **Scientific method:**
102
+
103
+ 1. **Form Single Hypothesis**
104
+ - State clearly: "I think X is the root cause because Y"
105
+ - Write it down
106
+
107
+ 2. **Test Minimally**
108
+ - Make the SMALLEST possible change to test hypothesis
109
+ - One variable at a time
110
+
111
+ 3. **Verify Before Continuing**
112
+ - Did it work? Yes → Phase 4
113
+ - Didn't work? Form NEW hypothesis (don't stack fixes)
114
+
115
+ ### Phase 4: Implementation
116
+
117
+ **Fix the root cause, not the symptom:**
118
+
119
+ 1. **Create Failing Test Case**
120
+ - Simplest possible reproduction
121
+ - Automated test if possible
122
+ - **MUST** have before fixing
123
+
124
+ 2. **Implement Single Fix**
125
+ - Address the root cause identified
126
+ - ONE change at a time
127
+ - No "while I'm here" improvements
128
+
129
+ 3. **Verify Fix**
130
+ - Test passes now?
131
+ - No other tests broken?
132
+
133
+ 4. **If Fix Doesn't Work**
134
+ - STOP
135
+ - Count: How many fixes have you tried?
136
+ - If ≥ 3: **STOP and question the architecture**
137
+ - Discuss with your human partner before attempting Fix #4
138
+
139
+ ## Red Flags - STOP and Follow Process
140
+
141
+ If you catch yourself thinking:
142
+ - "Quick fix for now, investigate later"
143
+ - "Just try changing X and see if it works"
144
+ - "It's probably X, let me fix that"
145
+ - "One more fix attempt" (when already tried 2+)
146
+
147
+ **ALL of these mean: STOP. Return to Phase 1.**
148
+
149
+ ## Quick Reference
150
+
151
+ | Phase | Key Activities | Success Criteria |
152
+ |-------|---------------|------------------|
153
+ | **1. Root Cause** | Read errors, reproduce, trace stack backwards | Understand WHAT and WHY |
154
+ | **2. Pattern** | Find working examples, compare | Identify differences |
155
+ | **3. Hypothesis** | Form theory, test minimally | Confirmed or new hypothesis |
156
+ | **4. Implementation** | Create test, fix, verify | Bug resolved, tests pass |
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: delivery
3
+ description: Project delivery workflow and quality gates for UKit templates.
4
+ ---
5
+
6
+ # Delivery Skill
7
+
8
+ Project: {{project.name}} | Stack: {{project.stack}}
9
+
10
+ ## Execution Rules
11
+
12
+ - Act first, explain after. Smallest correct change set.
13
+ - Review gate for non-trivial edits (>3 files or >50 lines).
14
+ - Reuse existing code. No drive-by refactors.
15
+
16
+ ## Docs-Centric Principle
17
+
18
+ **Docs are the center.** Read docs first, write docs last.
19
+ Token cost is acceptable: accurate docs prevent wasted debugging cycles and wrong root cause guesses.
20
+ **Source is always truth.** If source contradicts docs → update docs immediately before continuing.
21
+
22
+ Docs reading is **graduated by task size**:
23
+ - Trivial (< 30s): skip docs entirely.
24
+ - Simple (1 file, clear scope): `MEMORY.md` only — quick constraints check.
25
+ - Non-trivial (multi-file, unclear scope, bugs): full Tier 1 sequence below.
26
+
27
+ ## 3-Tier Reading Strategy
28
+
29
+ Read in order. Never skip to Tier 3 without Tier 1+2.
30
+
31
+ **Tier 1 — Docs** (always first, cheapest context):
32
+ - `docs/MEMORY.md` → decisions, constraints, known bugs, open risks
33
+ - `docs/PROJECT.md` → architecture, business rules, dangerous areas
34
+ - `docs/CODE_MAP.md` → structural index (if it exists)
35
+ - Recent `docs/WORKLOG.md` → when continuing prior work or debugging
36
+
37
+ **Tier 2 — Structure Scan** (before opening source files):
38
+ - Glob file tree → know what exists where
39
+ - Grep function/class/export signatures → understand shape without full reads
40
+ - Narrows exactly which files to open in Tier 3
41
+
42
+ **Tier 3 — Targeted Source Reads** (only what is needed):
43
+ - Read only the specific files relevant to the task
44
+ - If source contradicts docs → **source wins, update docs before proceeding**
45
+
46
+ ## Docs Discipline
47
+
48
+ After any non-trivial task, AI must update docs proactively — **do not wait to be asked**:
49
+
50
+ - **MEMORY.md** ⭐ — **most critical**. Always ask after any task: "What did I learn about this system?" Write it if durable: new decision, constraint, bug pattern, open risk, or handoff note.
51
+ - **WORKLOG** — always: date, what was done, files changed, verification, outcome
52
+ - **PROJECT.md** — when: new module added, business rule clarified, dangerous area identified
53
+ - **CODE_MAP.md** — when: module structure changes, new integration added, new dangerous area found
54
+
55
+ **AI must infer docs content from source**, not wait for user to dictate it. If a section is empty, read source and fill it in. If docs are stale, update them to match source before continuing.
56
+
57
+ ## Workflow
58
+
59
+ 1. **Orient** — Tier 1: read docs, form hypothesis about the system
60
+ 2. **Scan** — Tier 2: Glob + Grep to verify hypothesis, find relevant files
61
+ 3. **Verify** — if source contradicts docs, update docs first
62
+ 4. **Execute** — smallest change, follow existing patterns
63
+ 5. **Test** — run tests, check regressions
64
+ 6. **Document** — update WORKLOG + any stale/missing docs sections
65
+
66
+ ## Docs Noise — Smart Compact
67
+
68
+ Docs grow over time and become noisy. AI must manage this proactively:
69
+
70
+ **WORKLOG** — when it exceeds ~100 lines:
71
+ - Summarize entries older than 2 weeks into a single line in `MEMORY.md` → Completed Milestones
72
+ - Keep only the last 2–3 weeks of detail in WORKLOG
73
+ - Do this during the Document step, not as a separate task
74
+
75
+ **MEMORY.md** — when sections become stale:
76
+ - Remove resolved risks from Open Risks
77
+ - Archive outdated decisions to a `## Archived Decisions` section at the bottom
78
+ - Merge duplicate bug entries into a single pattern note
79
+ - Keep each section scannable in < 10 lines — if longer, consolidate
80
+
81
+ **CODE_MAP.md** — when it drifts from source:
82
+ - During Tier 2 scan, if you find the map is wrong or missing entries → fix it before continuing
83
+ - Remove entries for deleted modules; add entries for new ones discovered
84
+
85
+ **Principle**: Docs should always be shorter than source code and faster to read than scanning files. If reading docs takes longer than a Grep scan, the docs are too noisy.
86
+
87
+ ## Quality
88
+
89
+ - No regressions. Security basics. No debug code in production.
90
+ - Only change what was requested.
91
+
92
+ Provider: UNIC
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: discover-security
3
+ description: Project-local security workflow for authentication, authorization, input validation, secrets, shell/file safety, database safety, and security review. Use for security-sensitive coding, audits, OWASP-style hardening, and risky data/auth changes.
4
+ ---
5
+
6
+ # Security Workflow
7
+
8
+ ## Overview
9
+
10
+ Security work should stay **project-local, evidence-first, and minimal-scope**.
11
+
12
+ This skill exists so a UKit-installed project can handle common security-sensitive work **without depending on external home-directory skills**.
13
+
14
+ ## Use This Skill For
15
+
16
+ - auth / authorization changes
17
+ - secrets / credentials / tokens
18
+ - input validation / sanitization
19
+ - SQL injection / XSS / command injection risk
20
+ - file-system safety / path traversal / dangerous shell usage
21
+ - security review / hardening / audit
22
+ - risky migration / uninstall / destructive flows
23
+
24
+ ## First Moves
25
+
26
+ 1. **Treat the task as non-trivial by default**
27
+ 2. Use **index-first context**
28
+ - open primary target(s)
29
+ - open related tests
30
+ - open shared abstractions
31
+ 3. If review/audit is requested, also read:
32
+ - `.claude/skills/code-review/SKILL.md`
33
+
34
+ ## Security Review Checklist
35
+
36
+ Check these areas in order:
37
+
38
+ ### 1. Trust boundaries
39
+ - what input is user-controlled?
40
+ - what crosses API / DB / shell / filesystem boundaries?
41
+
42
+ ### 2. Authorization
43
+ - is access checked in the right place?
44
+ - can a caller reach this path without required permission?
45
+
46
+ ### 3. Input handling
47
+ - validate shape, type, and allowed values
48
+ - reject dangerous or ambiguous inputs early
49
+ - avoid “sanitize later” logic
50
+
51
+ ### 4. Dangerous execution surfaces
52
+ - shell command construction
53
+ - SQL string concatenation
54
+ - path joins / traversal
55
+ - deletes / recursive writes / destructive mutations
56
+
57
+ ### 5. Secrets and sensitive data
58
+ - no secrets in logs, docs, tests, or committed config
59
+ - no tokens/passwords echoed unnecessarily
60
+
61
+ ### 6. Regression risk
62
+ - what existing safe behavior could this weaken?
63
+ - are related tests covering the dangerous path?
64
+
65
+ ## UKit-Specific Guidance
66
+
67
+ When reviewing or changing UKit internals, pay special attention to:
68
+ - install/uninstall safety
69
+ - path traversal protection
70
+ - symlink handling
71
+ - manifest validation
72
+ - hook auto-allow logic
73
+ - index commands that execute shell or parse project files
74
+
75
+ ## Pairing Guidance
76
+
77
+ - For **security review** → pair with `.claude/skills/code-review/SKILL.md`
78
+ - For **bug investigation** → pair with `.claude/skills/debugging-toolkit/SKILL.md`
79
+ - For **test coverage around a fix** → pair with `.claude/skills/testing-quality/SKILL.md`
80
+
81
+ ## Rules
82
+
83
+ - prefer narrow, structural protections over ad-hoc patching
84
+ - fix unsafe behavior at the earliest boundary possible
85
+ - do not approve risky code without a concrete failure model
86
+ - if a change increases destructive power, require stronger evidence and verification
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: docker-packaging
3
+ description: Containerization workflow for Dockerfile, .dockerignore, compose.yaml/docker-compose.yml, multi-stage builds, healthchecks, service dependencies, env handling, and runnable Docker packages. Use when asked to containerize an app, add or fix Docker/Compose, package a repo to run in Docker, or prepare local/dev/prod container workflows.
4
+ enabledByDefault: false
5
+ ---
6
+
7
+ # Docker Packaging
8
+
9
+ Use this skill when the task is about:
10
+ - creating or fixing a `Dockerfile`
11
+ - adding `.dockerignore`
12
+ - creating or fixing `compose.yaml` / `docker-compose.yml`
13
+ - packaging an app so it runs locally or in deployment via Docker
14
+ - tightening container startup, healthchecks, env wiring, or dependency services
15
+
16
+ ## Default workflow
17
+
18
+ 1. Inspect the repo first:
19
+ - runtime and package manager
20
+ - real build/start commands
21
+ - ports
22
+ - env files / required variables
23
+ - DB/cache/queue dependencies
24
+ - generated build output vs source-run mode
25
+ 2. Prefer the smallest reliable image and a multi-stage build.
26
+ 3. Add `.dockerignore` whenever a Docker build is introduced.
27
+ 4. Use Compose only when the app needs multiple services or the user explicitly asks for it.
28
+ 5. Keep the generated package runnable with the repo’s actual commands; do not invent fake entrypoints.
29
+
30
+ ## Build rules
31
+
32
+ - Prefer official runtime images unless the repo clearly needs something else.
33
+ - Separate dependency install, build, and runtime stages when the stack benefits from it.
34
+ - Keep runtime images free of dev-only tooling when possible.
35
+ - Prefer non-root runtime users when the base image already supports it cleanly.
36
+ - Copy manifests / lockfiles before source code to preserve dependency-layer cache.
37
+ - Respect the repo’s native package manager and lockfile.
38
+ - For frontend builds, serve the real built output; do not leave dev servers in production images unless the user explicitly wants a dev container.
39
+
40
+ ## Compose rules
41
+
42
+ - Prefer `compose.yaml` for new files; preserve an existing `docker-compose.yml` if the repo already uses it.
43
+ - Add only the services the app truly needs.
44
+ - Use healthchecks when startup order matters.
45
+ - Wire service names, ports, and env variables consistently with the app config.
46
+ - Use named volumes only when persistence or local live-edit mounting is actually useful.
47
+ - Do not hardcode secrets; use `.env`, `env_file`, or placeholder variables.
48
+
49
+ ## Verification
50
+
51
+ - Verify against repo reality:
52
+ - build command
53
+ - runtime command
54
+ - exposed port
55
+ - dependency services
56
+ - Prefer lightweight checks first:
57
+ - `docker build`
58
+ - `docker compose config`
59
+ - targeted smoke command for the real app entry
60
+ - If UKit’s source-code index is available, use it first to find entrypoints, ports, config files, and related services before drafting Docker assets.