@thanhvn14/csvibe 0.1.4 → 0.1.5

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 (392) hide show
  1. package/.github/agents/schemas/base-output.schema.json +88 -0
  2. package/.github/agents/schemas/brainstorm-output.schema.json +88 -0
  3. package/.github/agents/schemas/scout-output.schema.json +60 -0
  4. package/.github/agents/scripts/fetch-copilot-tools.js +245 -0
  5. package/.github/agents/scripts/lib/parse-agent-file.js +275 -0
  6. package/.github/agents/scripts/package-lock.json +78 -0
  7. package/.github/agents/scripts/package.json +22 -0
  8. package/.github/agents/scripts/schemas/agent-frontmatter.schema.json +83 -0
  9. package/.github/agents/scripts/validate-agent-all.js +157 -0
  10. package/.github/agents/scripts/validate-agent-frontmatter.js +96 -0
  11. package/.github/agents/scripts/validate-agent-handoffs.js +169 -0
  12. package/.github/agents/scripts/validate-agent-output.js +157 -0
  13. package/.github/agents/scripts/validate-agent-tools.js +278 -0
  14. package/.github/skills/.env.example +100 -0
  15. package/.github/skills/.install-state.json +23 -0
  16. package/.github/skills/README.md +149 -0
  17. package/.github/skills/ai-multimodal/.env.example +204 -0
  18. package/.github/skills/ai-multimodal/scripts/.coverage +0 -0
  19. package/.github/skills/ai-multimodal/scripts/check_setup.py +305 -0
  20. package/.github/skills/ai-multimodal/scripts/document_converter.py +395 -0
  21. package/.github/skills/ai-multimodal/scripts/gemini_batch_process.py +1184 -0
  22. package/.github/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
  23. package/.github/skills/ai-multimodal/scripts/requirements.txt +26 -0
  24. package/.github/skills/better-auth/scripts/.coverage +0 -0
  25. package/.github/skills/better-auth/scripts/better_auth_init.py +521 -0
  26. package/.github/skills/better-auth/scripts/requirements.txt +15 -0
  27. package/.github/skills/chrome-devtools/scripts/README.md +272 -0
  28. package/.github/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
  29. package/.github/skills/chrome-devtools/scripts/aria-snapshot.js +362 -0
  30. package/.github/skills/chrome-devtools/scripts/click.js +83 -0
  31. package/.github/skills/chrome-devtools/scripts/console.js +79 -0
  32. package/.github/skills/chrome-devtools/scripts/evaluate.js +53 -0
  33. package/.github/skills/chrome-devtools/scripts/fill.js +76 -0
  34. package/.github/skills/chrome-devtools/scripts/inject-auth.js +229 -0
  35. package/.github/skills/chrome-devtools/scripts/install-deps.sh +181 -0
  36. package/.github/skills/chrome-devtools/scripts/install.sh +83 -0
  37. package/.github/skills/chrome-devtools/scripts/lib/browser.js +318 -0
  38. package/.github/skills/chrome-devtools/scripts/lib/selector.js +178 -0
  39. package/.github/skills/chrome-devtools/scripts/navigate.js +54 -0
  40. package/.github/skills/chrome-devtools/scripts/network.js +106 -0
  41. package/.github/skills/chrome-devtools/scripts/package-lock.json +1589 -0
  42. package/.github/skills/chrome-devtools/scripts/package.json +16 -0
  43. package/.github/skills/chrome-devtools/scripts/performance.js +149 -0
  44. package/.github/skills/chrome-devtools/scripts/screenshot.js +198 -0
  45. package/.github/skills/chrome-devtools/scripts/select-ref.js +131 -0
  46. package/.github/skills/chrome-devtools/scripts/snapshot.js +135 -0
  47. package/.github/skills/common/README.md +120 -0
  48. package/.github/skills/common/api_key_helper.py +411 -0
  49. package/.github/skills/common/api_key_rotator.py +248 -0
  50. package/.github/skills/databases/scripts/.coverage +0 -0
  51. package/.github/skills/databases/scripts/db_backup.py +502 -0
  52. package/.github/skills/databases/scripts/db_migrate.py +425 -0
  53. package/.github/skills/databases/scripts/db_performance_check.py +456 -0
  54. package/.github/skills/databases/scripts/requirements.txt +20 -0
  55. package/.github/skills/debugging/scripts/find-polluter.sh +63 -0
  56. package/.github/skills/devops/.env.example +76 -0
  57. package/.github/skills/devops/scripts/cloudflare_deploy.py +269 -0
  58. package/.github/skills/devops/scripts/docker_optimize.py +331 -0
  59. package/.github/skills/devops/scripts/requirements.txt +20 -0
  60. package/.github/skills/docs-seeker/.env.example +15 -0
  61. package/.github/skills/docs-seeker/package.json +25 -0
  62. package/.github/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
  63. package/.github/skills/docs-seeker/scripts/detect-topic.js +172 -0
  64. package/.github/skills/docs-seeker/scripts/fetch-docs.js +213 -0
  65. package/.github/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
  66. package/.github/skills/document-skills/docx/LICENSE.txt +30 -0
  67. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  68. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  69. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  70. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  71. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  72. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  73. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  74. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  75. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  76. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  77. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  78. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  79. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  80. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  81. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  82. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  83. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  84. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  85. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  86. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  87. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  88. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  89. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  90. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  91. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  92. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  93. package/.github/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  94. package/.github/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  95. package/.github/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  96. package/.github/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  97. package/.github/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  98. package/.github/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  99. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  100. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  101. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  102. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  103. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  104. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  105. package/.github/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  106. package/.github/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  107. package/.github/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  108. package/.github/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  109. package/.github/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  110. package/.github/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  111. package/.github/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  112. package/.github/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  113. package/.github/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  114. package/.github/skills/document-skills/docx/scripts/__init__.py +1 -0
  115. package/.github/skills/document-skills/docx/scripts/document.py +1276 -0
  116. package/.github/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  117. package/.github/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  118. package/.github/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  119. package/.github/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  120. package/.github/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  121. package/.github/skills/document-skills/docx/scripts/utilities.py +374 -0
  122. package/.github/skills/document-skills/pdf/LICENSE.txt +30 -0
  123. package/.github/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  124. package/.github/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  125. package/.github/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  126. package/.github/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  127. package/.github/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  128. package/.github/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  129. package/.github/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  130. package/.github/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  131. package/.github/skills/document-skills/pptx/LICENSE.txt +30 -0
  132. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  133. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  134. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  135. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  136. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  137. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  138. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  139. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  140. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  141. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  142. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  143. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  144. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  145. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  146. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  147. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  148. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  149. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  150. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  151. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  152. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  153. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  154. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  155. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  156. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  157. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  158. package/.github/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  159. package/.github/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  160. package/.github/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  161. package/.github/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  162. package/.github/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  163. package/.github/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  164. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  165. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  166. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  167. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  168. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  169. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  170. package/.github/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  171. package/.github/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  172. package/.github/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  173. package/.github/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  174. package/.github/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  175. package/.github/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  176. package/.github/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  177. package/.github/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  178. package/.github/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  179. package/.github/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  180. package/.github/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  181. package/.github/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  182. package/.github/skills/document-skills/pptx/scripts/replace.py +385 -0
  183. package/.github/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  184. package/.github/skills/document-skills/xlsx/LICENSE.txt +30 -0
  185. package/.github/skills/document-skills/xlsx/recalc.py +190 -0
  186. package/.github/skills/install.ps1 +1220 -0
  187. package/.github/skills/install.sh +1032 -0
  188. package/.github/skills/markdown-novel-viewer/assets/directory-browser.css +215 -0
  189. package/.github/skills/markdown-novel-viewer/assets/favicon.png +0 -0
  190. package/.github/skills/markdown-novel-viewer/assets/novel-theme.css +818 -0
  191. package/.github/skills/markdown-novel-viewer/assets/reader.js +262 -0
  192. package/.github/skills/markdown-novel-viewer/assets/template.html +80 -0
  193. package/.github/skills/markdown-novel-viewer/package-lock.json +146 -0
  194. package/.github/skills/markdown-novel-viewer/package.json +15 -0
  195. package/.github/skills/markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
  196. package/.github/skills/markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
  197. package/.github/skills/markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
  198. package/.github/skills/markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
  199. package/.github/skills/markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
  200. package/.github/skills/markdown-novel-viewer/scripts/server.cjs +411 -0
  201. package/.github/skills/mcp-builder/LICENSE.txt +202 -0
  202. package/.github/skills/mcp-builder/scripts/connections.py +151 -0
  203. package/.github/skills/mcp-builder/scripts/evaluation.py +373 -0
  204. package/.github/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  205. package/.github/skills/mcp-builder/scripts/requirements.txt +2 -0
  206. package/.github/skills/mcp-management/README.md +219 -0
  207. package/.github/skills/mcp-management/assets/tools.json +3146 -0
  208. package/.github/skills/mcp-management/package-lock.json +6 -0
  209. package/.github/skills/mcp-management/scripts/.env.example +10 -0
  210. package/.github/skills/mcp-management/scripts/cli.ts +195 -0
  211. package/.github/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
  212. package/.github/skills/mcp-management/scripts/dist/cli.js +160 -0
  213. package/.github/skills/mcp-management/scripts/dist/mcp-client.js +183 -0
  214. package/.github/skills/mcp-management/scripts/mcp-client.ts +230 -0
  215. package/.github/skills/mcp-management/scripts/package.json +20 -0
  216. package/.github/skills/media-processing/scripts/README.md +111 -0
  217. package/.github/skills/media-processing/scripts/batch-remove-background.sh +124 -0
  218. package/.github/skills/media-processing/scripts/batch_resize.py +342 -0
  219. package/.github/skills/media-processing/scripts/media_convert.py +311 -0
  220. package/.github/skills/media-processing/scripts/remove-background.sh +96 -0
  221. package/.github/skills/media-processing/scripts/remove-bg-node.js +158 -0
  222. package/.github/skills/media-processing/scripts/requirements.txt +24 -0
  223. package/.github/skills/media-processing/scripts/video_optimize.py +414 -0
  224. package/.github/skills/payment-integration/README.md +185 -0
  225. package/.github/skills/payment-integration/scripts/.env.example +20 -0
  226. package/.github/skills/payment-integration/scripts/checkout-helper.js +244 -0
  227. package/.github/skills/payment-integration/scripts/package.json +17 -0
  228. package/.github/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
  229. package/.github/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
  230. package/.github/skills/payment-integration/scripts/test-scripts.js +237 -0
  231. package/.github/skills/plans-kanban/assets/dashboard-template.html +119 -0
  232. package/.github/skills/plans-kanban/assets/dashboard.css +1594 -0
  233. package/.github/skills/plans-kanban/assets/dashboard.js +596 -0
  234. package/.github/skills/plans-kanban/assets/favicon.png +0 -0
  235. package/.github/skills/plans-kanban/package-lock.json +123 -0
  236. package/.github/skills/plans-kanban/package.json +13 -0
  237. package/.github/skills/plans-kanban/scripts/lib/dashboard-renderer.cjs +884 -0
  238. package/.github/skills/plans-kanban/scripts/lib/http-server.cjs +310 -0
  239. package/.github/skills/plans-kanban/scripts/lib/plan-metadata-extractor.cjs +489 -0
  240. package/.github/skills/plans-kanban/scripts/lib/plan-parser.cjs +175 -0
  241. package/.github/skills/plans-kanban/scripts/lib/plan-scanner.cjs +272 -0
  242. package/.github/skills/plans-kanban/scripts/lib/port-finder.cjs +48 -0
  243. package/.github/skills/plans-kanban/scripts/lib/process-mgr.cjs +128 -0
  244. package/.github/skills/plans-kanban/scripts/server.cjs +260 -0
  245. package/.github/skills/repomix/scripts/.coverage +0 -0
  246. package/.github/skills/repomix/scripts/README.md +179 -0
  247. package/.github/skills/repomix/scripts/repomix_batch.py +455 -0
  248. package/.github/skills/repomix/scripts/repos.example.json +15 -0
  249. package/.github/skills/repomix/scripts/requirements.txt +15 -0
  250. package/.github/skills/scout-validation/scripts/lib/broad-pattern-detector.cjs +124 -0
  251. package/.github/skills/scout-validation/scripts/lib/path-checker.cjs +66 -0
  252. package/.github/skills/scout-validation/scripts/lib/schema-validator.cjs +45 -0
  253. package/.github/skills/scout-validation/scripts/package.json +11 -0
  254. package/.github/skills/scout-validation/scripts/validate-scout-output.cjs +219 -0
  255. package/.github/skills/scout-validation/test/broad-pattern-output.json +18 -0
  256. package/.github/skills/scout-validation/test/invalid-path-output.json +18 -0
  257. package/.github/skills/scout-validation/test/valid-scout-output.json +26 -0
  258. package/.github/skills/sequential-thinking/.env.example +8 -0
  259. package/.github/skills/sequential-thinking/README.md +183 -0
  260. package/.github/skills/sequential-thinking/package.json +31 -0
  261. package/.github/skills/sequential-thinking/scripts/format-thought.js +159 -0
  262. package/.github/skills/sequential-thinking/scripts/process-thought.js +236 -0
  263. package/.github/skills/shopify/README.md +66 -0
  264. package/.github/skills/shopify/scripts/.coverage +0 -0
  265. package/.github/skills/shopify/scripts/requirements.txt +19 -0
  266. package/.github/skills/shopify/scripts/shopify_init.py +423 -0
  267. package/.github/skills/skill-creator/LICENSE.txt +202 -0
  268. package/.github/skills/skill-creator/scripts/init_skill.py +303 -0
  269. package/.github/skills/skill-creator/scripts/package_skill.py +110 -0
  270. package/.github/skills/skill-creator/scripts/quick_validate.py +65 -0
  271. package/.github/skills/ui-styling/LICENSE.txt +202 -0
  272. package/.github/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  273. package/.github/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  274. package/.github/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  275. package/.github/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  276. package/.github/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  277. package/.github/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  278. package/.github/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  279. package/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  280. package/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  281. package/.github/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  282. package/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  283. package/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  284. package/.github/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  285. package/.github/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  286. package/.github/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  287. package/.github/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  288. package/.github/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  289. package/.github/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  290. package/.github/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  291. package/.github/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  292. package/.github/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  293. package/.github/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  294. package/.github/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  295. package/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  296. package/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  297. package/.github/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  298. package/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  299. package/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  300. package/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  301. package/.github/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  302. package/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  303. package/.github/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  304. package/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  305. package/.github/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  306. package/.github/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  307. package/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  308. package/.github/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  309. package/.github/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  310. package/.github/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  311. package/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  312. package/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  313. package/.github/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  314. package/.github/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  315. package/.github/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  316. package/.github/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  317. package/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  318. package/.github/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  319. package/.github/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  320. package/.github/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  321. package/.github/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  322. package/.github/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  323. package/.github/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  324. package/.github/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  325. package/.github/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  326. package/.github/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  327. package/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  328. package/.github/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  329. package/.github/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  330. package/.github/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  331. package/.github/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  332. package/.github/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  333. package/.github/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  334. package/.github/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  335. package/.github/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  336. package/.github/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  337. package/.github/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  338. package/.github/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  339. package/.github/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  340. package/.github/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  341. package/.github/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  342. package/.github/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  343. package/.github/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  344. package/.github/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  345. package/.github/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  346. package/.github/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  347. package/.github/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  348. package/.github/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  349. package/.github/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  350. package/.github/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  351. package/.github/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  352. package/.github/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  353. package/.github/skills/ui-styling/scripts/.coverage +0 -0
  354. package/.github/skills/ui-styling/scripts/requirements.txt +17 -0
  355. package/.github/skills/ui-styling/scripts/shadcn_add.py +292 -0
  356. package/.github/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
  357. package/.github/skills/ui-ux-pro-max/data/charts.csv +26 -0
  358. package/.github/skills/ui-ux-pro-max/data/colors.csv +97 -0
  359. package/.github/skills/ui-ux-pro-max/data/landing.csv +31 -0
  360. package/.github/skills/ui-ux-pro-max/data/products.csv +97 -0
  361. package/.github/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  362. package/.github/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  363. package/.github/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
  364. package/.github/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  365. package/.github/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  366. package/.github/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  367. package/.github/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  368. package/.github/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  369. package/.github/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  370. package/.github/skills/ui-ux-pro-max/data/styles.csv +59 -0
  371. package/.github/skills/ui-ux-pro-max/data/typography.csv +58 -0
  372. package/.github/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  373. package/.github/skills/ui-ux-pro-max/scripts/core.py +236 -0
  374. package/.github/skills/ui-ux-pro-max/scripts/search.py +76 -0
  375. package/.github/skills/web-frameworks/scripts/.coverage +0 -0
  376. package/.github/skills/web-frameworks/scripts/__init__.py +0 -0
  377. package/.github/skills/web-frameworks/scripts/nextjs_init.py +547 -0
  378. package/.github/skills/web-frameworks/scripts/requirements.txt +16 -0
  379. package/.github/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
  380. package/dist/config/constants.d.ts +2 -0
  381. package/dist/config/constants.d.ts.map +1 -1
  382. package/dist/config/constants.js +4 -1
  383. package/dist/config/constants.js.map +1 -1
  384. package/dist/domains/github/github-client.d.ts +5 -0
  385. package/dist/domains/github/github-client.d.ts.map +1 -1
  386. package/dist/domains/github/github-client.js +44 -0
  387. package/dist/domains/github/github-client.js.map +1 -1
  388. package/dist/utils/downloader.d.ts +3 -1
  389. package/dist/utils/downloader.d.ts.map +1 -1
  390. package/dist/utils/downloader.js +48 -11
  391. package/dist/utils/downloader.js.map +1 -1
  392. package/package.json +3 -1
@@ -0,0 +1,183 @@
1
+ # Sequential Thinking Agent Skill
2
+
3
+ Structured, reflective problem-solving methodology converted from the sequential-thinking MCP server into a native Agent Skill.
4
+
5
+ ## Overview
6
+
7
+ This skill teaches Claude to apply systematic sequential thinking methodology for complex problem-solving, without relying on external MCP tools. It enables:
8
+ - Breaking down complex problems into manageable thought sequences
9
+ - Dynamic adjustment of thought count as understanding evolves
10
+ - Revision of previous thoughts when new insights emerge
11
+ - Branching into alternative reasoning paths
12
+ - Hypothesis generation and verification
13
+
14
+ ## Skill Structure
15
+
16
+ ```
17
+ sequential-thinking/
18
+ ├── SKILL.md (105 lines)
19
+ │ Core methodology, when to apply, scripts usage
20
+
21
+ ├── package.json
22
+ │ Test dependencies (jest)
23
+
24
+ ├── .env.example
25
+ │ Configuration options
26
+
27
+ ├── scripts/
28
+ │ ├── process-thought.js (executable)
29
+ │ │ Validate and track thoughts deterministically
30
+ │ │
31
+ │ └── format-thought.js (executable)
32
+ │ Format thoughts for display (box/simple/markdown)
33
+
34
+ ├── tests/
35
+ │ ├── process-thought.test.js
36
+ │ │ Validation, tracking, history tests
37
+ │ │
38
+ │ └── format-thought.test.js
39
+ │ Formatting tests (all formats)
40
+
41
+ └── references/
42
+ ├── core-patterns.md (95 lines)
43
+ │ Essential revision & branching patterns
44
+
45
+ ├── examples-api.md (88 lines)
46
+ │ API design example walkthrough
47
+
48
+ ├── examples-debug.md (90 lines)
49
+ │ Performance debugging example
50
+
51
+ ├── examples-architecture.md (94 lines)
52
+ │ Architecture decision example
53
+
54
+ ├── advanced-techniques.md (76 lines)
55
+ │ Spiral refinement, hypothesis testing, convergence
56
+
57
+ └── advanced-strategies.md (79 lines)
58
+ Uncertainty management, revision cascades, meta-thinking
59
+ ```
60
+
61
+ **Documentation**: 627 lines across 7 files (all under 100 lines)
62
+ **Scripts**: 2 executable Node.js scripts with tests
63
+
64
+ ## Key Features
65
+
66
+ ### Progressive Disclosure Design
67
+ Each file focuses on specific aspects, loaded only when needed:
68
+ - **SKILL.md**: Quick reference with core methodology
69
+ - **core-patterns.md**: Common patterns for everyday use
70
+ - **examples-*.md**: Real-world walkthroughs for learning
71
+ - **advanced-*.md**: Sophisticated techniques for complex scenarios
72
+
73
+ ### Token Efficiency
74
+ - Concise explanations sacrifice grammar for brevity
75
+ - Examples demonstrate patterns without verbose explanation
76
+ - Cross-references between files avoid duplication
77
+
78
+ ### Methodology Conversion
79
+ Extracted from MCP server's approach and converted to instructions:
80
+ - MCP tool provided **interface** for sequential thinking
81
+ - Agent skill provides **methodology** to think sequentially
82
+ - No dependency on external tools—pure instructional approach
83
+
84
+ ## Usage Modes
85
+
86
+ **Explicit Mode**: Use visible thought markers
87
+ ```
88
+ Thought 1/5: [Analysis]
89
+ Thought 2/5: [Further analysis]
90
+ ```
91
+
92
+ **Implicit Mode**: Apply methodology internally without cluttering output
93
+
94
+ ## When Claude Should Use This Skill
95
+
96
+ Automatically activated for:
97
+ - Complex problem decomposition
98
+ - Adaptive planning with potential revisions
99
+ - Debugging and root cause analysis
100
+ - Architecture and design decisions
101
+ - Problems with unclear or emerging scope
102
+ - Multi-step solutions requiring context
103
+
104
+ ## Scripts Usage
105
+
106
+ ### Process Thought (Validation & Tracking)
107
+
108
+ ```bash
109
+ # Process a thought
110
+ node scripts/process-thought.js --thought "Initial analysis" --number 1 --total 5 --next true
111
+
112
+ # Process with revision
113
+ node scripts/process-thought.js --thought "Corrected analysis" --number 2 --total 5 --next true --revision 1
114
+
115
+ # Process with branching
116
+ node scripts/process-thought.js --thought "Branch A" --number 2 --total 5 --next true --branch 1 --branchId "branch-a"
117
+
118
+ # View history
119
+ node scripts/process-thought.js --history
120
+
121
+ # Reset history
122
+ node scripts/process-thought.js --reset
123
+ ```
124
+
125
+ ### Format Thought (Display)
126
+
127
+ ```bash
128
+ # Box format (default)
129
+ node scripts/format-thought.js --thought "Analysis" --number 1 --total 5
130
+
131
+ # Simple text format
132
+ node scripts/format-thought.js --thought "Analysis" --number 1 --total 5 --format simple
133
+
134
+ # Markdown format
135
+ node scripts/format-thought.js --thought "Analysis" --number 1 --total 5 --format markdown
136
+
137
+ # With revision
138
+ node scripts/format-thought.js --thought "Revised" --number 2 --total 5 --revision 1
139
+
140
+ # With branch
141
+ node scripts/format-thought.js --thought "Branch" --number 2 --total 5 --branch 1 --branchId "a"
142
+ ```
143
+
144
+ ### Running Tests
145
+
146
+ ```bash
147
+ # Install dependencies (first time only)
148
+ npm install
149
+
150
+ # Run all tests
151
+ npm test
152
+
153
+ # Run tests in watch mode
154
+ npm run test:watch
155
+
156
+ # Run with coverage
157
+ npm run test:coverage
158
+ ```
159
+
160
+ ## When to Use Scripts
161
+
162
+ **Use scripts when**:
163
+ - Need deterministic validation of thought structure
164
+ - Want persistent thought history tracking
165
+ - Require formatted output for documentation
166
+ - Building tools that integrate with sequential thinking
167
+
168
+ **Don't use scripts when**:
169
+ - Applying methodology directly in responses
170
+ - Want lightweight, inline thinking
171
+ - No need for validation or tracking
172
+
173
+ Scripts are **optional tooling** - the methodology can be applied without them.
174
+
175
+ ## Source
176
+
177
+ Converted from: https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking
178
+
179
+ Original MCP server by Anthropic (MIT License).
180
+ Skill conversion:
181
+ - Extracts methodology as instructions
182
+ - Adds executable scripts for deterministic validation
183
+ - Makes tool-independent while preserving functionality
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "sequential-thinking-skill",
3
+ "version": "1.0.0",
4
+ "description": "Sequential thinking methodology with thought processing scripts",
5
+ "main": "scripts/process-thought.js",
6
+ "scripts": {
7
+ "test": "jest",
8
+ "test:watch": "jest --watch",
9
+ "test:coverage": "jest --coverage"
10
+ },
11
+ "keywords": [
12
+ "sequential-thinking",
13
+ "problem-solving",
14
+ "agent-skill"
15
+ ],
16
+ "author": "Converted from Anthropic MCP Server",
17
+ "license": "MIT",
18
+ "devDependencies": {
19
+ "jest": "^29.7.0"
20
+ },
21
+ "jest": {
22
+ "testEnvironment": "node",
23
+ "testMatch": [
24
+ "**/tests/**/*.test.js"
25
+ ],
26
+ "coveragePathIgnorePatterns": [
27
+ "/node_modules/",
28
+ "/tests/"
29
+ ]
30
+ }
31
+ }
@@ -0,0 +1,159 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Sequential Thinking Thought Formatter
5
+ *
6
+ * Formats thoughts for display with visual indicators for type (regular/revision/branch).
7
+ * Provides consistent, readable output for thought sequences.
8
+ *
9
+ * Usage:
10
+ * node format-thought.js --thought "Analysis" --number 1 --total 5
11
+ * node format-thought.js --thought "Revision" --number 2 --total 5 --revision 1
12
+ * node format-thought.js --thought "Branch A" --number 3 --total 5 --branch 2 --branchId "a"
13
+ */
14
+
15
+ class ThoughtFormatter {
16
+ static format(thoughtData) {
17
+ const { thoughtNumber, totalThoughts, thought, isRevision, revisesThought, branchFromThought, branchId } = thoughtData;
18
+
19
+ let prefix = '';
20
+ let context = '';
21
+ let emoji = '';
22
+
23
+ if (isRevision && revisesThought) {
24
+ emoji = '🔄';
25
+ prefix = 'REVISION';
26
+ context = ` (revising thought ${revisesThought})`;
27
+ } else if (branchFromThought) {
28
+ emoji = '🌿';
29
+ prefix = 'BRANCH';
30
+ context = branchId ? ` (from thought ${branchFromThought}, ID: ${branchId})` : ` (from thought ${branchFromThought})`;
31
+ } else {
32
+ emoji = '💭';
33
+ prefix = 'Thought';
34
+ context = '';
35
+ }
36
+
37
+ const header = `${emoji} ${prefix} ${thoughtNumber}/${totalThoughts}${context}`;
38
+ const maxLength = Math.max(header.length, thought.length);
39
+ const border = '─'.repeat(maxLength + 4);
40
+
41
+ // Wrap long thoughts
42
+ const wrappedThought = this.wrapText(thought, maxLength);
43
+ const thoughtLines = wrappedThought.map(line => `│ ${line.padEnd(maxLength + 2)} │`).join('\n');
44
+
45
+ return `
46
+ ┌${border}┐
47
+ │ ${header.padEnd(maxLength + 2)} │
48
+ ├${border}┤
49
+ ${thoughtLines}
50
+ └${border}┘`;
51
+ }
52
+
53
+ static wrapText(text, maxWidth) {
54
+ if (text.length <= maxWidth) {
55
+ return [text];
56
+ }
57
+
58
+ const words = text.split(' ');
59
+ const lines = [];
60
+ let currentLine = '';
61
+
62
+ for (const word of words) {
63
+ if ((currentLine + ' ' + word).trim().length <= maxWidth) {
64
+ currentLine = currentLine ? currentLine + ' ' + word : word;
65
+ } else {
66
+ if (currentLine) lines.push(currentLine);
67
+ currentLine = word;
68
+ }
69
+ }
70
+
71
+ if (currentLine) lines.push(currentLine);
72
+ return lines;
73
+ }
74
+
75
+ static formatSimple(thoughtData) {
76
+ const { thoughtNumber, totalThoughts, thought, isRevision, revisesThought, branchFromThought, branchId } = thoughtData;
77
+
78
+ let marker = '';
79
+ if (isRevision && revisesThought) {
80
+ marker = ` [REVISION of Thought ${revisesThought}]`;
81
+ } else if (branchFromThought) {
82
+ marker = branchId ? ` [BRANCH ${branchId.toUpperCase()} from Thought ${branchFromThought}]` : ` [BRANCH from Thought ${branchFromThought}]`;
83
+ }
84
+
85
+ return `Thought ${thoughtNumber}/${totalThoughts}${marker}: ${thought}`;
86
+ }
87
+
88
+ static formatMarkdown(thoughtData) {
89
+ const { thoughtNumber, totalThoughts, thought, isRevision, revisesThought, branchFromThought, branchId } = thoughtData;
90
+
91
+ let marker = '';
92
+ if (isRevision && revisesThought) {
93
+ marker = ` **[REVISION of Thought ${revisesThought}]**`;
94
+ } else if (branchFromThought) {
95
+ marker = branchId ? ` **[BRANCH ${branchId.toUpperCase()} from Thought ${branchFromThought}]**` : ` **[BRANCH from Thought ${branchFromThought}]**`;
96
+ }
97
+
98
+ return `**Thought ${thoughtNumber}/${totalThoughts}**${marker}\n\n${thought}\n`;
99
+ }
100
+ }
101
+
102
+ // CLI Interface
103
+ if (require.main === module) {
104
+ const args = process.argv.slice(2);
105
+
106
+ const parseArgs = (args) => {
107
+ const parsed = {};
108
+ for (let i = 0; i < args.length; i++) {
109
+ const arg = args[i];
110
+ if (arg.startsWith('--')) {
111
+ const key = arg.slice(2);
112
+ const value = args[i + 1];
113
+
114
+ if (value && !value.startsWith('--')) {
115
+ // Parse boolean
116
+ if (value === 'true') parsed[key] = true;
117
+ else if (value === 'false') parsed[key] = false;
118
+ // Parse number
119
+ else if (!isNaN(value)) parsed[key] = parseFloat(value);
120
+ // String
121
+ else parsed[key] = value;
122
+ i++;
123
+ }
124
+ }
125
+ }
126
+ return parsed;
127
+ };
128
+
129
+ const input = parseArgs(args);
130
+
131
+ const thoughtData = {
132
+ thought: input.thought || 'No thought provided',
133
+ thoughtNumber: input.number || 1,
134
+ totalThoughts: input.total || 1,
135
+ isRevision: input.revision !== undefined,
136
+ revisesThought: input.revision,
137
+ branchFromThought: input.branch,
138
+ branchId: input.branchId
139
+ };
140
+
141
+ const format = input.format || 'box';
142
+
143
+ let output;
144
+ switch (format) {
145
+ case 'simple':
146
+ output = ThoughtFormatter.formatSimple(thoughtData);
147
+ break;
148
+ case 'markdown':
149
+ output = ThoughtFormatter.formatMarkdown(thoughtData);
150
+ break;
151
+ case 'box':
152
+ default:
153
+ output = ThoughtFormatter.format(thoughtData);
154
+ }
155
+
156
+ console.log(output);
157
+ }
158
+
159
+ module.exports = { ThoughtFormatter };
@@ -0,0 +1,236 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Sequential Thinking Thought Processor
5
+ *
6
+ * Validates and tracks sequential thoughts with revision and branching support.
7
+ * Provides deterministic validation and context management.
8
+ *
9
+ * Usage:
10
+ * node process-thought.js --thought "Analysis text" --number 1 --total 5 --next true
11
+ * node process-thought.js --thought "Revision" --number 2 --total 5 --next true --revision 1
12
+ * node process-thought.js --reset # Reset thought history
13
+ */
14
+
15
+ const fs = require('fs');
16
+ const path = require('path');
17
+
18
+ // Configuration
19
+ const HISTORY_FILE = path.join(__dirname, '.thought-history.json');
20
+ const DISABLE_LOGGING = process.env.DISABLE_THOUGHT_LOGGING?.toLowerCase() === 'true';
21
+
22
+ class ThoughtProcessor {
23
+ constructor() {
24
+ this.loadHistory();
25
+ }
26
+
27
+ loadHistory() {
28
+ try {
29
+ if (fs.existsSync(HISTORY_FILE)) {
30
+ const data = JSON.parse(fs.readFileSync(HISTORY_FILE, 'utf8'));
31
+ this.thoughtHistory = data.thoughtHistory || [];
32
+ this.branches = data.branches || {};
33
+ } else {
34
+ this.thoughtHistory = [];
35
+ this.branches = {};
36
+ }
37
+ } catch (error) {
38
+ this.thoughtHistory = [];
39
+ this.branches = {};
40
+ }
41
+ }
42
+
43
+ saveHistory() {
44
+ fs.writeFileSync(
45
+ HISTORY_FILE,
46
+ JSON.stringify({
47
+ thoughtHistory: this.thoughtHistory,
48
+ branches: this.branches
49
+ }, null, 2)
50
+ );
51
+ }
52
+
53
+ resetHistory() {
54
+ this.thoughtHistory = [];
55
+ this.branches = {};
56
+ if (fs.existsSync(HISTORY_FILE)) {
57
+ fs.unlinkSync(HISTORY_FILE);
58
+ }
59
+ }
60
+
61
+ validateThought(input) {
62
+ const errors = [];
63
+
64
+ if (!input.thought || typeof input.thought !== 'string' || input.thought.trim() === '') {
65
+ errors.push('Invalid thought: must be a non-empty string');
66
+ }
67
+
68
+ if (!input.thoughtNumber || typeof input.thoughtNumber !== 'number' || input.thoughtNumber < 1) {
69
+ errors.push('Invalid thoughtNumber: must be a positive number');
70
+ }
71
+
72
+ if (!input.totalThoughts || typeof input.totalThoughts !== 'number' || input.totalThoughts < 1) {
73
+ errors.push('Invalid totalThoughts: must be a positive number');
74
+ }
75
+
76
+ if (typeof input.nextThoughtNeeded !== 'boolean') {
77
+ errors.push('Invalid nextThoughtNeeded: must be a boolean');
78
+ }
79
+
80
+ // Optional field validations
81
+ if (input.isRevision !== undefined && typeof input.isRevision !== 'boolean') {
82
+ errors.push('Invalid isRevision: must be a boolean');
83
+ }
84
+
85
+ if (input.revisesThought !== undefined && (typeof input.revisesThought !== 'number' || input.revisesThought < 1)) {
86
+ errors.push('Invalid revisesThought: must be a positive number');
87
+ }
88
+
89
+ if (input.branchFromThought !== undefined && (typeof input.branchFromThought !== 'number' || input.branchFromThought < 1)) {
90
+ errors.push('Invalid branchFromThought: must be a positive number');
91
+ }
92
+
93
+ if (input.branchId !== undefined && typeof input.branchId !== 'string') {
94
+ errors.push('Invalid branchId: must be a string');
95
+ }
96
+
97
+ if (input.needsMoreThoughts !== undefined && typeof input.needsMoreThoughts !== 'boolean') {
98
+ errors.push('Invalid needsMoreThoughts: must be a boolean');
99
+ }
100
+
101
+ return errors;
102
+ }
103
+
104
+ processThought(input) {
105
+ const errors = this.validateThought(input);
106
+
107
+ if (errors.length > 0) {
108
+ return {
109
+ success: false,
110
+ errors,
111
+ status: 'failed'
112
+ };
113
+ }
114
+
115
+ // Auto-adjust totalThoughts if thoughtNumber exceeds it
116
+ if (input.thoughtNumber > input.totalThoughts) {
117
+ input.totalThoughts = input.thoughtNumber;
118
+ }
119
+
120
+ // Create thought data
121
+ const thoughtData = {
122
+ thought: input.thought,
123
+ thoughtNumber: input.thoughtNumber,
124
+ totalThoughts: input.totalThoughts,
125
+ nextThoughtNeeded: input.nextThoughtNeeded,
126
+ isRevision: input.isRevision,
127
+ revisesThought: input.revisesThought,
128
+ branchFromThought: input.branchFromThought,
129
+ branchId: input.branchId,
130
+ needsMoreThoughts: input.needsMoreThoughts,
131
+ timestamp: new Date().toISOString()
132
+ };
133
+
134
+ // Add to history
135
+ this.thoughtHistory.push(thoughtData);
136
+
137
+ // Track branches
138
+ if (thoughtData.branchFromThought && thoughtData.branchId) {
139
+ if (!this.branches[thoughtData.branchId]) {
140
+ this.branches[thoughtData.branchId] = [];
141
+ }
142
+ this.branches[thoughtData.branchId].push(thoughtData);
143
+ }
144
+
145
+ // Save history
146
+ this.saveHistory();
147
+
148
+ return {
149
+ success: true,
150
+ thoughtNumber: thoughtData.thoughtNumber,
151
+ totalThoughts: thoughtData.totalThoughts,
152
+ nextThoughtNeeded: thoughtData.nextThoughtNeeded,
153
+ branches: Object.keys(this.branches),
154
+ thoughtHistoryLength: this.thoughtHistory.length,
155
+ timestamp: thoughtData.timestamp
156
+ };
157
+ }
158
+
159
+ getHistory() {
160
+ return {
161
+ thoughts: this.thoughtHistory,
162
+ branches: this.branches,
163
+ totalThoughts: this.thoughtHistory.length
164
+ };
165
+ }
166
+ }
167
+
168
+ // CLI Interface
169
+ if (require.main === module) {
170
+ const args = process.argv.slice(2);
171
+ const processor = new ThoughtProcessor();
172
+
173
+ // Parse arguments
174
+ const parseArgs = (args) => {
175
+ const parsed = {};
176
+ for (let i = 0; i < args.length; i++) {
177
+ const arg = args[i];
178
+ if (arg.startsWith('--')) {
179
+ const key = arg.slice(2);
180
+ const value = args[i + 1];
181
+
182
+ if (key === 'reset') {
183
+ return { reset: true };
184
+ }
185
+
186
+ if (key === 'history') {
187
+ return { history: true };
188
+ }
189
+
190
+ if (value && !value.startsWith('--')) {
191
+ // Parse boolean
192
+ if (value === 'true') parsed[key] = true;
193
+ else if (value === 'false') parsed[key] = false;
194
+ // Parse number
195
+ else if (!isNaN(value)) parsed[key] = parseFloat(value);
196
+ // String
197
+ else parsed[key] = value;
198
+ i++;
199
+ }
200
+ }
201
+ }
202
+ return parsed;
203
+ };
204
+
205
+ const input = parseArgs(args);
206
+
207
+ if (input.reset) {
208
+ processor.resetHistory();
209
+ console.log(JSON.stringify({ success: true, message: 'History reset' }, null, 2));
210
+ process.exit(0);
211
+ }
212
+
213
+ if (input.history) {
214
+ console.log(JSON.stringify(processor.getHistory(), null, 2));
215
+ process.exit(0);
216
+ }
217
+
218
+ // Map CLI args to expected field names
219
+ const thoughtInput = {
220
+ thought: input.thought,
221
+ thoughtNumber: input.number,
222
+ totalThoughts: input.total,
223
+ nextThoughtNeeded: input.next,
224
+ isRevision: input.revision !== undefined ? true : input.isRevision,
225
+ revisesThought: input.revision,
226
+ branchFromThought: input.branch,
227
+ branchId: input.branchId,
228
+ needsMoreThoughts: input.needsMore
229
+ };
230
+
231
+ const result = processor.processThought(thoughtInput);
232
+ console.log(JSON.stringify(result, null, 2));
233
+ process.exit(result.success ? 0 : 1);
234
+ }
235
+
236
+ module.exports = { ThoughtProcessor };
@@ -0,0 +1,66 @@
1
+ # Shopify API Research Documentation
2
+
3
+ This directory contains comprehensive research and analysis of various APIs for integration purposes.
4
+
5
+ ## Contents
6
+
7
+ ### Shopify GraphQL Admin API Analysis
8
+ **File:** `shopify-graphql-admin-api-analysis.md`
9
+ **Date:** 2025-10-25
10
+ **Status:** Complete
11
+ **Thoroughness:** Very Thorough
12
+
13
+ A comprehensive analysis of Shopify's GraphQL Admin API covering:
14
+ - API overview and capabilities
15
+ - Key features and operations
16
+ - Common query and mutation patterns
17
+ - Best practices and optimization strategies
18
+ - Authentication and security considerations
19
+ - Rate limiting and performance optimization
20
+ - Typical use cases and implementation patterns
21
+ - Troubleshooting guide
22
+ - Code examples in multiple languages
23
+ - Resources and further learning
24
+
25
+ **Key Sections:**
26
+ 1. Executive Summary
27
+ 2. API Overview
28
+ 3. Key Features
29
+ 4. Common Operations (Queries & Mutations)
30
+ 5. API Structure (Types, Connections, Errors)
31
+ 6. Best Practices
32
+ 7. Typical Use Cases
33
+ 8. API Versions and Deprecation
34
+ 9. Tools and SDKs
35
+ 10. Security Considerations
36
+ 11. Performance Optimization
37
+ 12. Common Patterns
38
+ 13. Troubleshooting
39
+ 14. Resources and Further Learning
40
+
41
+ **Size:** 1,348 lines, ~26KB
42
+
43
+ ---
44
+
45
+ ## Usage
46
+
47
+ These documents are intended for:
48
+ - Development planning and architecture decisions
49
+ - Team onboarding and training
50
+ - Integration implementation reference
51
+ - Best practices guidance
52
+ - Troubleshooting support
53
+
54
+ ---
55
+
56
+ ## Maintenance
57
+
58
+ - Documents should be reviewed quarterly
59
+ - Update when API versions change
60
+ - Add new findings from implementation experience
61
+ - Keep code examples current with latest SDK versions
62
+
63
+ ---
64
+
65
+ **Last Updated:** 2025-10-25
66
+ **Maintained By:** Claude Code Engineering Team
@@ -0,0 +1,19 @@
1
+ # Shopify Skill Dependencies
2
+ # Python 3.10+ required
3
+
4
+ # No Python package dependencies - uses only standard library
5
+
6
+ # Testing dependencies (dev)
7
+ pytest>=8.0.0
8
+ pytest-cov>=4.1.0
9
+ pytest-mock>=3.12.0
10
+
11
+ # Note: This script requires the Shopify CLI tool
12
+ # Install Shopify CLI:
13
+ # npm install -g @shopify/cli @shopify/theme
14
+ # or via Homebrew (macOS):
15
+ # brew tap shopify/shopify
16
+ # brew install shopify-cli
17
+ #
18
+ # Authenticate with:
19
+ # shopify auth login