sumulige-claude 1.0.9 → 1.1.0

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 (320) hide show
  1. package/.claude/.version +1 -0
  2. package/.claude/AGENTS.md +9 -9
  3. package/.claude/commands/commit-push-pr.md +23 -3
  4. package/.claude/commands/todos.md +41 -6
  5. package/.claude/hooks/session-restore.cjs +102 -0
  6. package/.claude/hooks/session-save.cjs +164 -0
  7. package/.claude/hooks/todo-manager.cjs +262 -141
  8. package/.claude/settings.local.json +25 -1
  9. package/.claude/skills/algorithmic-art/LICENSE.txt +202 -0
  10. package/.claude/skills/algorithmic-art/SKILL.md +405 -0
  11. package/.claude/skills/algorithmic-art/templates/generator_template.js +223 -0
  12. package/.claude/skills/algorithmic-art/templates/viewer.html +599 -0
  13. package/.claude/skills/api-tester/SKILL.md +52 -23
  14. package/.claude/skills/brand-guidelines/LICENSE.txt +202 -0
  15. package/.claude/skills/brand-guidelines/SKILL.md +73 -0
  16. package/.claude/skills/canvas-design/LICENSE.txt +202 -0
  17. package/.claude/skills/canvas-design/SKILL.md +130 -0
  18. package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  19. package/.claude/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  20. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  21. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  22. package/.claude/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  23. package/.claude/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  24. package/.claude/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  25. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  26. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  27. package/.claude/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  28. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  29. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  30. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  31. package/.claude/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  32. package/.claude/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  33. package/.claude/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  34. package/.claude/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  35. package/.claude/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  36. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  37. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  38. package/.claude/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  39. package/.claude/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  40. package/.claude/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  41. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  42. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  43. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  44. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  45. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  46. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  47. package/.claude/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  48. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  49. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  50. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  51. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  52. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  53. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  54. package/.claude/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  55. package/.claude/skills/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  56. package/.claude/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  57. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  58. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  59. package/.claude/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  60. package/.claude/skills/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  61. package/.claude/skills/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  62. package/.claude/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  63. package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  64. package/.claude/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  65. package/.claude/skills/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  66. package/.claude/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  67. package/.claude/skills/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  68. package/.claude/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  69. package/.claude/skills/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  70. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  71. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  72. package/.claude/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  73. package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  74. package/.claude/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  75. package/.claude/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  76. package/.claude/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  77. package/.claude/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  78. package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  79. package/.claude/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  80. package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  81. package/.claude/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  82. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  83. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  84. package/.claude/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  85. package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  86. package/.claude/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  87. package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  88. package/.claude/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  89. package/.claude/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  90. package/.claude/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  91. package/.claude/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  92. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  93. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  94. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  95. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  96. package/.claude/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  97. package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  98. package/.claude/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  99. package/.claude/skills/doc-coauthoring/SKILL.md +375 -0
  100. package/.claude/skills/docx/LICENSE.txt +30 -0
  101. package/.claude/skills/docx/SKILL.md +197 -0
  102. package/.claude/skills/docx/docx-js.md +350 -0
  103. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  104. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  105. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  106. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  107. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  108. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  109. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  110. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  111. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  112. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  113. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  114. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  115. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  116. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  117. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  118. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  119. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  120. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  121. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  122. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  123. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  124. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  125. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  126. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  127. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  128. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  129. package/.claude/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  130. package/.claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  131. package/.claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  132. package/.claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  133. package/.claude/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  134. package/.claude/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  135. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  136. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  137. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  138. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  139. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  140. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  141. package/.claude/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  142. package/.claude/skills/docx/ooxml/scripts/pack.py +159 -0
  143. package/.claude/skills/docx/ooxml/scripts/unpack.py +29 -0
  144. package/.claude/skills/docx/ooxml/scripts/validate.py +69 -0
  145. package/.claude/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  146. package/.claude/skills/docx/ooxml/scripts/validation/base.py +951 -0
  147. package/.claude/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  148. package/.claude/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  149. package/.claude/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  150. package/.claude/skills/docx/ooxml.md +610 -0
  151. package/.claude/skills/docx/scripts/__init__.py +1 -0
  152. package/.claude/skills/docx/scripts/document.py +1276 -0
  153. package/.claude/skills/docx/scripts/templates/comments.xml +3 -0
  154. package/.claude/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  155. package/.claude/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  156. package/.claude/skills/docx/scripts/templates/commentsIds.xml +3 -0
  157. package/.claude/skills/docx/scripts/templates/people.xml +3 -0
  158. package/.claude/skills/docx/scripts/utilities.py +374 -0
  159. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  160. package/.claude/skills/frontend-design/SKILL.md +42 -0
  161. package/.claude/skills/internal-comms/LICENSE.txt +202 -0
  162. package/.claude/skills/internal-comms/SKILL.md +32 -0
  163. package/.claude/skills/internal-comms/examples/3p-updates.md +47 -0
  164. package/.claude/skills/internal-comms/examples/company-newsletter.md +65 -0
  165. package/.claude/skills/internal-comms/examples/faq-answers.md +30 -0
  166. package/.claude/skills/internal-comms/examples/general-comms.md +16 -0
  167. package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
  168. package/.claude/skills/mcp-builder/SKILL.md +236 -0
  169. package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
  170. package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  171. package/.claude/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  172. package/.claude/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  173. package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
  174. package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
  175. package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  176. package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
  177. package/.claude/skills/pdf/LICENSE.txt +30 -0
  178. package/.claude/skills/pdf/SKILL.md +294 -0
  179. package/.claude/skills/pdf/forms.md +205 -0
  180. package/.claude/skills/pdf/reference.md +612 -0
  181. package/.claude/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  182. package/.claude/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  183. package/.claude/skills/pdf/scripts/check_fillable_fields.py +12 -0
  184. package/.claude/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  185. package/.claude/skills/pdf/scripts/create_validation_image.py +41 -0
  186. package/.claude/skills/pdf/scripts/extract_form_field_info.py +152 -0
  187. package/.claude/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  188. package/.claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  189. package/.claude/skills/pptx/LICENSE.txt +30 -0
  190. package/.claude/skills/pptx/SKILL.md +484 -0
  191. package/.claude/skills/pptx/html2pptx.md +625 -0
  192. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  193. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  194. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  195. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  196. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  197. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  198. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  199. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  200. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  201. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  202. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  203. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  204. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  205. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  206. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  207. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  208. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  209. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  210. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  211. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  212. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  213. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  214. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  215. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  216. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  217. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  218. package/.claude/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  219. package/.claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  220. package/.claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  221. package/.claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  222. package/.claude/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  223. package/.claude/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  224. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  225. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  226. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  227. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  228. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  229. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  230. package/.claude/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  231. package/.claude/skills/pptx/ooxml/scripts/pack.py +159 -0
  232. package/.claude/skills/pptx/ooxml/scripts/unpack.py +29 -0
  233. package/.claude/skills/pptx/ooxml/scripts/validate.py +69 -0
  234. package/.claude/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  235. package/.claude/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  236. package/.claude/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  237. package/.claude/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  238. package/.claude/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  239. package/.claude/skills/pptx/ooxml.md +427 -0
  240. package/.claude/skills/pptx/scripts/html2pptx.js +979 -0
  241. package/.claude/skills/pptx/scripts/inventory.py +1020 -0
  242. package/.claude/skills/pptx/scripts/rearrange.py +231 -0
  243. package/.claude/skills/pptx/scripts/replace.py +385 -0
  244. package/.claude/skills/pptx/scripts/thumbnail.py +450 -0
  245. package/.claude/skills/skill-creator/LICENSE.txt +202 -0
  246. package/.claude/skills/skill-creator/SKILL.md +356 -0
  247. package/.claude/skills/skill-creator/references/output-patterns.md +82 -0
  248. package/.claude/skills/skill-creator/references/workflows.md +28 -0
  249. package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
  250. package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
  251. package/.claude/skills/skill-creator/scripts/quick_validate.py +95 -0
  252. package/.claude/skills/slack-gif-creator/LICENSE.txt +202 -0
  253. package/.claude/skills/slack-gif-creator/SKILL.md +254 -0
  254. package/.claude/skills/slack-gif-creator/core/easing.py +234 -0
  255. package/.claude/skills/slack-gif-creator/core/frame_composer.py +176 -0
  256. package/.claude/skills/slack-gif-creator/core/gif_builder.py +269 -0
  257. package/.claude/skills/slack-gif-creator/core/validators.py +136 -0
  258. package/.claude/skills/slack-gif-creator/requirements.txt +4 -0
  259. package/.claude/skills/template/SKILL.md +6 -0
  260. package/.claude/skills/test-workflow/SKILL.md +191 -0
  261. package/.claude/skills/theme-factory/LICENSE.txt +202 -0
  262. package/.claude/skills/theme-factory/SKILL.md +59 -0
  263. package/.claude/skills/theme-factory/theme-showcase.pdf +0 -0
  264. package/.claude/skills/theme-factory/themes/arctic-frost.md +19 -0
  265. package/.claude/skills/theme-factory/themes/botanical-garden.md +19 -0
  266. package/.claude/skills/theme-factory/themes/desert-rose.md +19 -0
  267. package/.claude/skills/theme-factory/themes/forest-canopy.md +19 -0
  268. package/.claude/skills/theme-factory/themes/golden-hour.md +19 -0
  269. package/.claude/skills/theme-factory/themes/midnight-galaxy.md +19 -0
  270. package/.claude/skills/theme-factory/themes/modern-minimalist.md +19 -0
  271. package/.claude/skills/theme-factory/themes/ocean-depths.md +19 -0
  272. package/.claude/skills/theme-factory/themes/sunset-boulevard.md +19 -0
  273. package/.claude/skills/theme-factory/themes/tech-innovation.md +19 -0
  274. package/.claude/skills/web-artifacts-builder/LICENSE.txt +202 -0
  275. package/.claude/skills/web-artifacts-builder/SKILL.md +74 -0
  276. package/.claude/skills/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  277. package/.claude/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  278. package/.claude/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  279. package/.claude/skills/webapp-testing/LICENSE.txt +202 -0
  280. package/.claude/skills/webapp-testing/SKILL.md +96 -0
  281. package/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
  282. package/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
  283. package/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
  284. package/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
  285. package/.claude/skills/xlsx/LICENSE.txt +30 -0
  286. package/.claude/skills/xlsx/SKILL.md +289 -0
  287. package/.claude/skills/xlsx/recalc.py +178 -0
  288. package/.claude/templates/tasks/develop.md +69 -0
  289. package/.claude/templates/tasks/research.md +64 -0
  290. package/.claude/templates/tasks/test.md +96 -0
  291. package/.claude-plugin/marketplace.json +2 -2
  292. package/.versionrc +25 -0
  293. package/AGENTS.md +171 -86
  294. package/CHANGELOG.md +83 -4
  295. package/PROJECT_STRUCTURE.md +40 -3
  296. package/Q&A.md +184 -0
  297. package/README.md +74 -2
  298. package/cli.js +79 -5
  299. package/config/official-skills.json +183 -0
  300. package/development/todos/.state.json +4 -0
  301. package/development/todos/INDEX.md +67 -32
  302. package/docs/RELEASE.md +93 -0
  303. package/jest.config.js +61 -0
  304. package/lib/commands.js +1724 -39
  305. package/lib/migrations.js +154 -0
  306. package/lib/utils.js +102 -14
  307. package/lib/version-check.js +169 -0
  308. package/package.json +13 -3
  309. package/scripts/fix-hooks.mjs +97 -0
  310. package/template/.claude/commands/commit-push-pr.md +23 -3
  311. package/template/.claude/hooks/project-kickoff.cjs +190 -1
  312. package/template/.claude/hooks/session-restore.cjs +102 -0
  313. package/template/.claude/hooks/session-save.cjs +164 -0
  314. package/template/.claude/settings.json +114 -50
  315. package/tests/README.md +263 -0
  316. package/tests/commands.test.js +163 -0
  317. package/tests/config.test.js +100 -0
  318. package/tests/marketplace.test.js +304 -0
  319. package/tests/migrations.test.js +187 -0
  320. package/tests/utils.test.js +167 -0
@@ -0,0 +1 @@
1
+ 1.0.10
package/.claude/AGENTS.md CHANGED
@@ -4,39 +4,39 @@
4
4
 
5
5
  ## Agent Orchestration
6
6
 
7
- This project uses **Oh My Claude** for multi-agent collaboration.
7
+ This project uses **Sumulige Claude** for multi-agent collaboration.
8
8
 
9
9
  ### conductor
10
- - **Model**: claude-opus-4.5
10
+ - **Model**: claude-opus-4-5-20251101
11
11
  - **Role**: Task coordination and decomposition
12
12
 
13
13
  ### architect
14
- - **Model**: claude-opus-4.5
14
+ - **Model**: claude-opus-4-5-20251101
15
15
  - **Role**: Architecture design and decisions
16
16
 
17
17
  ### builder
18
- - **Model**: claude-opus-4.5
18
+ - **Model**: claude-opus-4-5-20251101
19
19
  - **Role**: Code implementation and testing
20
20
 
21
21
  ### reviewer
22
- - **Model**: claude-opus-4.5
22
+ - **Model**: claude-opus-4-5-20251101
23
23
  - **Role**: Code review and quality check
24
24
 
25
25
  ### librarian
26
- - **Model**: claude-opus-4.5
26
+ - **Model**: claude-opus-4-5-20251101
27
27
  - **Role**: Documentation and knowledge
28
28
 
29
29
  ## Usage
30
30
 
31
31
  ```bash
32
32
  # View agent status
33
- oh-my-claude status
33
+ sumulige-claude status
34
34
 
35
35
  # Run agent task
36
- oh-my-claude agent <task>
36
+ sumulige-claude agent <task>
37
37
 
38
38
  # List skills
39
- oh-my-claude skill:list
39
+ sumulige-claude skill:list
40
40
  ```
41
41
 
42
42
  </skills_system>
@@ -22,7 +22,27 @@ Analyze the changes and:
22
22
  2. Identify the main purpose of the changes
23
23
  3. Check if there are any sensitive files that shouldn't be committed
24
24
 
25
- ## Step 3: Stage and Commit
25
+ ## Step 3: Code Simplification (Before Commit)
26
+
27
+ **IMPORTANT**: Before creating the commit, simplify and refine the code changes:
28
+
29
+ 1. Review the recently modified code sections
30
+ 2. Apply code simplification focusing on:
31
+ - Code clarity and consistency
32
+ - Reducing unnecessary complexity and nesting
33
+ - Eliminating redundant code and abstractions
34
+ - Following project standards (if CLAUDE.md exists)
35
+ - Preserving exact functionality
36
+ 3. Use explicit, readable code over overly compact solutions
37
+
38
+ **Trigger phrases to apply simplification**:
39
+ - "简化此代码" (Simplify this code)
40
+ - "使这更清晰" (Make this clearer)
41
+ - "优化此实现" (Optimize this implementation)
42
+
43
+ Ask the user: "是否需要简化代码?(Need code simplification?)" - if yes, apply code-simplifier agent before proceeding.
44
+
45
+ ## Step 4: Stage and Commit
26
46
 
27
47
  If there are unstaged changes that should be included, ask the user first.
28
48
 
@@ -36,7 +56,7 @@ Then create a commit with a clear message following this format:
36
56
  Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37
57
  ```
38
58
 
39
- ## Step 4: Push and Create PR
59
+ ## Step 5: Push and Create PR
40
60
 
41
61
  1. Push the changes to remote
42
62
  2. Check if there's an open PR for this branch using:
@@ -51,7 +71,7 @@ Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
51
71
  - Test plan (checklist)
52
72
  - Link to any related issues
53
73
 
54
- ## Step 5: Verify
74
+ ## Step 6: Verify
55
75
 
56
76
  After creating the PR, show the PR URL and check CI status using:
57
77
  ```bash
@@ -14,12 +14,37 @@ cat development/todos/INDEX.md
14
14
 
15
15
  ## Task Operations
16
16
 
17
+ ### Task Types (v2.0)
18
+
19
+ 任务管理系统支持 R-D-T 三阶段生命周期:
20
+
21
+ ```
22
+ Research (研究) → Develop (开发) → Test (测试) → Done (完成)
23
+ ```
24
+
25
+ | 类型 | 图标 | 目录 | 说明 |
26
+ |------|------|------|------|
27
+ | Research | 📊 | `active/research/` | 调研/设计/探索 |
28
+ | Develop | 💻 | `active/develop/` | 实现/编码/重构 |
29
+ | Test | 🧪 | `active/test/` | 测试/验证/QA |
30
+
31
+ ### Task Templates
32
+
33
+ 使用 `.claude/templates/tasks/` 中的模板创建任务:
34
+
35
+ - **研究任务**: `.claude/templates/tasks/research.md`
36
+ - **开发任务**: `.claude/templates/tasks/develop.md`
37
+ - **测试任务**: `.claude/templates/tasks/test.md`
38
+
17
39
  ### Create a New Task
18
40
 
19
41
  When user asks to create a task:
20
- 1. Create file in `development/todos/active/`
21
- 2. Use kebab-case for filename (e.g., `user-login.md`)
22
- 3. Use the template format:
42
+ 1. Determine the task type (research/develop/test)
43
+ 2. Create file in `development/todos/active/{type}/`
44
+ 3. Use kebab-case for filename (e.g., `user-authentication.md`)
45
+ 4. Copy from the corresponding template
46
+
47
+ #### Task Template (Legacy Format)
23
48
 
24
49
  ```markdown
25
50
  # [Task Name]
@@ -59,9 +84,19 @@ When user asks to create a task:
59
84
  ### Update Task Status
60
85
 
61
86
  To move a task:
62
- - **Complete**: Move from `active/` to `completed/`
63
- - **Backlog**: Move from `active/` to `backlog/`
64
- - **Archive**: Move from `completed/` to `archived/`
87
+ - **Complete**: Move from `active/{type}/` to `completed/{type}/`
88
+ - **Backlog**: Move from `active/{type}/` to `backlog/{type}/`
89
+ - **Archive**: Move from `completed/{type}/` to `archived/{type}/`
90
+
91
+ Example: Move `active/develop/auth.md` → `completed/develop/auth.md`
92
+
93
+ ### Auto-Transition Suggestions
94
+
95
+ When a develop task is completed, the todo-manager will suggest creating a corresponding test task. Check with:
96
+
97
+ ```bash
98
+ node .claude/hooks/todo-manager.cjs --suggest
99
+ ```
65
100
 
66
101
  ### Update Task Progress
67
102
 
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Session Restore Hook - Restore conversation context from file
4
+ *
5
+ * Provides context continuity across sessions
6
+ */
7
+
8
+ const fs = require('fs');
9
+ const path = require('path');
10
+
11
+ const PROJECT_DIR = process.env.CLAUDE_PROJECT_DIR || process.cwd();
12
+ const SESSIONS_DIR = path.join(PROJECT_DIR, '.claude', 'sessions');
13
+ const MEMORY_FILE = path.join(PROJECT_DIR, '.claude', 'MEMORY.md');
14
+
15
+ /**
16
+ * Get latest session
17
+ */
18
+ function getLatestSession() {
19
+ if (!fs.existsSync(SESSIONS_DIR)) {
20
+ return null;
21
+ }
22
+
23
+ const files = fs.readdirSync(SESSIONS_DIR)
24
+ .filter(f => f.startsWith('session_') && f.endsWith('.md'))
25
+ .sort()
26
+ .reverse();
27
+
28
+ if (files.length === 0) {
29
+ return null;
30
+ }
31
+
32
+ const latestFile = files[0];
33
+ const filepath = path.join(SESSIONS_DIR, latestFile);
34
+ const content = fs.readFileSync(filepath, 'utf-8');
35
+
36
+ return {
37
+ file: latestFile,
38
+ path: filepath,
39
+ content: content
40
+ };
41
+ }
42
+
43
+ /**
44
+ * Get recent memory entries
45
+ */
46
+ function getRecentMemory(days = 7) {
47
+ if (!fs.existsSync(MEMORY_FILE)) {
48
+ return '';
49
+ }
50
+
51
+ const content = fs.readFileSync(MEMORY_FILE, 'utf-8');
52
+ const entries = content.split('## ').slice(1, days + 1);
53
+
54
+ return entries.join('## ');
55
+ }
56
+
57
+ /**
58
+ * Format context summary for display
59
+ */
60
+ function formatContextSummary(latestSession, recentMemory) {
61
+ let summary = '';
62
+
63
+ if (latestSession) {
64
+ summary += `\n📁 Last Session: ${latestSession.file}\n`;
65
+ summary += ` Date: ${fs.statSync(latestSession.path).mtime.toLocaleString()}\n`;
66
+ }
67
+
68
+ const memoryEntries = recentMemory.split('\n').filter(l => l.trim()).length;
69
+ if (memoryEntries > 0) {
70
+ summary += `\n💾 Memory Entries: ${memoryEntries}\n`;
71
+ }
72
+
73
+ return summary;
74
+ }
75
+
76
+ // Main execution
77
+ if (require.main === module) {
78
+ const args = process.argv.slice(2);
79
+
80
+ if (args[0] === '--latest') {
81
+ const session = getLatestSession();
82
+ if (session) {
83
+ console.log(session.content);
84
+ } else {
85
+ console.log('No sessions found.');
86
+ }
87
+ } else if (args[0] === '--memory') {
88
+ const memory = getRecentMemory(parseInt(args[1]) || 7);
89
+ console.log('# Recent Memory\n');
90
+ console.log(memory);
91
+ } else if (args[0] === '--summary') {
92
+ const session = getLatestSession();
93
+ const memory = getRecentMemory();
94
+ console.log(formatContextSummary(session, memory));
95
+ } else {
96
+ console.log('Usage: node session-restore.cjs [--latest|--memory|--summary]');
97
+ }
98
+ }
99
+
100
+ exports.getLatestSession = getLatestSession;
101
+ exports.getRecentMemory = getRecentMemory;
102
+ exports.formatContextSummary = formatContextSummary;
@@ -0,0 +1,164 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Session Save Hook - Save conversation context to file
4
+ *
5
+ * Triggered after each conversation turn
6
+ * Saves conversation history, context, and state
7
+ */
8
+
9
+ const fs = require('fs');
10
+ const path = require('path');
11
+
12
+ const PROJECT_DIR = process.env.CLAUDE_PROJECT_DIR || process.cwd();
13
+ const SESSIONS_DIR = path.join(PROJECT_DIR, '.claude', 'sessions');
14
+ const MEMORY_FILE = path.join(PROJECT_DIR, '.claude', 'MEMORY.md');
15
+
16
+ // Ensure sessions directory exists
17
+ if (!fs.existsSync(SESSIONS_DIR)) {
18
+ fs.mkdirSync(SESSIONS_DIR, { recursive: true });
19
+ }
20
+
21
+ /**
22
+ * Generate session filename
23
+ */
24
+ function getSessionFilename() {
25
+ const now = new Date();
26
+ const date = now.toISOString().split('T')[0];
27
+ const time = now.toTimeString().split(' ')[0].replace(/:/g, '-');
28
+ return `session_${date}_${time}.md`;
29
+ }
30
+
31
+ /**
32
+ * Save session context
33
+ */
34
+ function saveSession(context) {
35
+ const filename = getSessionFilename();
36
+ const filepath = path.join(SESSIONS_DIR, filename);
37
+
38
+ const content = `# Session - ${new Date().toISOString()}
39
+
40
+ > Type: ${context.type || 'chat'}
41
+ > Model: ${context.model || 'unknown'}
42
+ > Duration: ${context.duration || 'unknown'}
43
+
44
+ ---
45
+
46
+ ## Summary
47
+
48
+ ${context.summary || 'No summary provided'}
49
+
50
+ ---
51
+
52
+ ## Context
53
+
54
+ \`\`\`json
55
+ ${JSON.stringify(context.metadata || {}, null, 2)}
56
+ \`\`\`
57
+
58
+ ---
59
+
60
+ ## Key Points
61
+
62
+ ${(context.keyPoints || []).map((p, i) => `${i + 1}. ${p}`).join('\n')}
63
+
64
+ ---
65
+
66
+ ## Artifacts
67
+
68
+ ${(context.artifacts || []).map(a => `- ${a}`).join('\n') || 'None'}
69
+
70
+ ---
71
+
72
+ ## Next Steps
73
+
74
+ ${context.nextSteps || 'None'}
75
+
76
+ ---
77
+
78
+ *Session saved at: ${new Date().toISOString()}*
79
+ `;
80
+
81
+ fs.writeFileSync(filepath, content, 'utf-8');
82
+
83
+ // Update sessions index
84
+ updateSessionsIndex();
85
+
86
+ return filename;
87
+ }
88
+
89
+ /**
90
+ * Update sessions index
91
+ */
92
+ function updateSessionsIndex() {
93
+ const files = fs.readdirSync(SESSIONS_DIR)
94
+ .filter(f => f.endsWith('.md'))
95
+ .sort()
96
+ .reverse();
97
+
98
+ const indexPath = path.join(SESSIONS_DIR, 'INDEX.md');
99
+
100
+ let content = `# Sessions Index
101
+
102
+ > Total sessions: ${files.length}
103
+ > Last updated: ${new Date().toISOString()}
104
+
105
+ ---
106
+
107
+ ## Recent Sessions
108
+
109
+ ${files.slice(0, 20).map(f => {
110
+ const filepath = path.join(SESSIONS_DIR, f);
111
+ const stat = fs.statSync(filepath);
112
+ return `- [${f}](${f}) - ${stat.mtime.toISOString()}`;
113
+ }).join('\n')}
114
+
115
+ ---
116
+ `;
117
+
118
+ fs.writeFileSync(indexPath, content, 'utf-8');
119
+ }
120
+
121
+ /**
122
+ * Update MEMORY.md with latest context
123
+ */
124
+ function updateMemory(context) {
125
+ const timestamp = new Date().toISOString();
126
+
127
+ let content = '';
128
+
129
+ if (fs.existsSync(MEMORY_FILE)) {
130
+ content = fs.readFileSync(MEMORY_FILE, 'utf-8');
131
+ }
132
+
133
+ // Check if we need to add a new entry
134
+ const newEntry = `\n## ${timestamp.split('T')[0]}\n\n${
135
+ context.summary || context.keyPoints?.join('\n') || 'No details'
136
+ }\n`;
137
+
138
+ // Keep only last 7 days
139
+ const entries = content.split('## ').slice(1, 8);
140
+ content = '# Memory\n\n<!-- Project memory updated by AI -->\n' +
141
+ '## ' + entries.join('## ') + newEntry;
142
+
143
+ fs.writeFileSync(MEMORY_FILE, content, 'utf-8');
144
+ }
145
+
146
+ // Main execution
147
+ if (require.main === module) {
148
+ const args = process.argv.slice(2);
149
+
150
+ if (args[0] === '--save' && args[1]) {
151
+ const contextData = JSON.parse(fs.readFileSync(args[1], 'utf-8'));
152
+ const filename = saveSession(contextData);
153
+ console.log(`✅ Session saved: ${filename}`);
154
+
155
+ if (contextData.addToMemory !== false) {
156
+ updateMemory(contextData);
157
+ console.log(`✅ Memory updated`);
158
+ }
159
+ }
160
+ }
161
+
162
+ exports.saveSession = saveSession;
163
+ exports.updateMemory = updateMemory;
164
+ exports.updateSessionsIndex = updateSessionsIndex;