myagent-ai 1.0.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 (486) hide show
  1. package/Dockerfile +30 -0
  2. package/README.md +333 -0
  3. package/agents/__init__.py +6 -0
  4. package/agents/__pycache__/main_agent.cpython-312.pyc +0 -0
  5. package/agents/base.py +115 -0
  6. package/agents/main_agent.py +695 -0
  7. package/agents/memory_agent.py +313 -0
  8. package/agents/tool_agent.py +248 -0
  9. package/chatbot/__init__.py +5 -0
  10. package/chatbot/base.py +124 -0
  11. package/chatbot/discord_bot.py +146 -0
  12. package/chatbot/feishu_bot.py +548 -0
  13. package/chatbot/manager.py +164 -0
  14. package/chatbot/qq_bot.py +189 -0
  15. package/chatbot/telegram_bot.py +167 -0
  16. package/chatbot/wechat_bot.py +558 -0
  17. package/communication/__init__.py +66 -0
  18. package/communication/channel.py +576 -0
  19. package/communication/crypto.py +347 -0
  20. package/communication/manager.py +397 -0
  21. package/communication/peer.py +156 -0
  22. package/config.py +464 -0
  23. package/core/__init__.py +10 -0
  24. package/core/config_broadcast.py +276 -0
  25. package/core/llm.py +878 -0
  26. package/core/logger.py +241 -0
  27. package/core/task_queue.py +362 -0
  28. package/core/utils.py +184 -0
  29. package/executor/__init__.py +4 -0
  30. package/executor/__pycache__/engine.cpython-312.pyc +0 -0
  31. package/executor/engine.py +1215 -0
  32. package/groups/__init__.py +15 -0
  33. package/groups/manager.py +724 -0
  34. package/knowledge/__init__.py +4 -0
  35. package/knowledge/rag.py +444 -0
  36. package/main.py +801 -0
  37. package/memory/__init__.py +4 -0
  38. package/memory/manager.py +840 -0
  39. package/organization/__init__.py +4 -0
  40. package/organization/manager.py +350 -0
  41. package/package.json +58 -0
  42. package/requirements.txt +59 -0
  43. package/setup.py +40 -0
  44. package/skills/ASR/LICENSE.txt +21 -0
  45. package/skills/ASR/SKILL.md +580 -0
  46. package/skills/ASR/scripts/asr.ts +27 -0
  47. package/skills/LLM/LICENSE.txt +21 -0
  48. package/skills/LLM/SKILL.md +856 -0
  49. package/skills/LLM/scripts/chat.ts +32 -0
  50. package/skills/TTS/LICENSE.txt +21 -0
  51. package/skills/TTS/SKILL.md +735 -0
  52. package/skills/TTS/tts.ts +25 -0
  53. package/skills/VLM/LICENSE.txt +21 -0
  54. package/skills/VLM/SKILL.md +588 -0
  55. package/skills/VLM/scripts/vlm.ts +57 -0
  56. package/skills/__init__.py +5 -0
  57. package/skills/agent-browser/SKILL.md +328 -0
  58. package/skills/ai-news-collectors/SKILL.md +157 -0
  59. package/skills/ai-news-collectors/_meta.json +6 -0
  60. package/skills/ai-news-collectors/references/sources.md +128 -0
  61. package/skills/aminer-open-academic/SKILL.md +312 -0
  62. package/skills/aminer-open-academic/_meta.json +6 -0
  63. package/skills/aminer-open-academic/evals/evals.json +46 -0
  64. package/skills/aminer-open-academic/references/api-catalog.md +1032 -0
  65. package/skills/aminer-open-academic/scripts/__pycache__/aminer_client.cpython-312.pyc +0 -0
  66. package/skills/aminer-open-academic/scripts/aminer_client.py +875 -0
  67. package/skills/auto-target-tracker/SKILL.md +317 -0
  68. package/skills/base.py +147 -0
  69. package/skills/blog-writer/2024-02-17-radical-transparency-sales.md +35 -0
  70. package/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +33 -0
  71. package/skills/blog-writer/2024-02-17-short-form-content-marketing.md +47 -0
  72. package/skills/blog-writer/2024-02-17-typing-speed-benefits.md +33 -0
  73. package/skills/blog-writer/2024-03-14-effective-ai-prompts.md +55 -0
  74. package/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +43 -0
  75. package/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md +49 -0
  76. package/skills/blog-writer/README.md +2 -0
  77. package/skills/blog-writer/SKILL.md +158 -0
  78. package/skills/blog-writer/__pycache__/manage_examples.cpython-312.pyc +0 -0
  79. package/skills/blog-writer/_meta.json +6 -0
  80. package/skills/blog-writer/manage_examples.py +90 -0
  81. package/skills/blog-writer/style-guide.md +160 -0
  82. package/skills/browser_skill.py +146 -0
  83. package/skills/coding-agent/SKILL.md +120 -0
  84. package/skills/coding-agent/_meta.json +6 -0
  85. package/skills/coding-agent/criteria.md +48 -0
  86. package/skills/coding-agent/execution.md +42 -0
  87. package/skills/coding-agent/memory-template.md +38 -0
  88. package/skills/coding-agent/planning.md +31 -0
  89. package/skills/coding-agent/state.md +60 -0
  90. package/skills/coding-agent/verification.md +39 -0
  91. package/skills/content-strategy/SKILL.md +181 -0
  92. package/skills/content-strategy/_meta.json +6 -0
  93. package/skills/contentanalysis/ExtractWisdom/SKILL.md +229 -0
  94. package/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md +60 -0
  95. package/skills/contentanalysis/SKILL.md +14 -0
  96. package/skills/docx/CHANGELOG.md +85 -0
  97. package/skills/docx/LICENSE.txt +30 -0
  98. package/skills/docx/SKILL.md +455 -0
  99. package/skills/docx/docx-js.md +681 -0
  100. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  101. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  102. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  103. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  104. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  105. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  106. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  107. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  108. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  109. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  110. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  111. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  112. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  113. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  114. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  115. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  116. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  117. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  118. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  119. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  120. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  121. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  122. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  123. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  124. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  125. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  126. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  127. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  128. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  129. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  130. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  131. package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  132. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  133. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  134. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  135. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  136. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  137. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  138. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  139. package/skills/docx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
  140. package/skills/docx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
  141. package/skills/docx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
  142. package/skills/docx/ooxml/scripts/pack.py +159 -0
  143. package/skills/docx/ooxml/scripts/unpack.py +29 -0
  144. package/skills/docx/ooxml/scripts/validate.py +69 -0
  145. package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  146. package/skills/docx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
  147. package/skills/docx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
  148. package/skills/docx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
  149. package/skills/docx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
  150. package/skills/docx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
  151. package/skills/docx/ooxml/scripts/validation/base.py +951 -0
  152. package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  153. package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  154. package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  155. package/skills/docx/ooxml.md +615 -0
  156. package/skills/docx/scripts/__init__.py +1 -0
  157. package/skills/docx/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  158. package/skills/docx/scripts/__pycache__/add_toc_placeholders.cpython-312.pyc +0 -0
  159. package/skills/docx/scripts/__pycache__/document.cpython-312.pyc +0 -0
  160. package/skills/docx/scripts/__pycache__/utilities.cpython-312.pyc +0 -0
  161. package/skills/docx/scripts/add_toc_placeholders.py +220 -0
  162. package/skills/docx/scripts/document.py +1302 -0
  163. package/skills/docx/scripts/templates/comments.xml +3 -0
  164. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  165. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  166. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  167. package/skills/docx/scripts/templates/people.xml +3 -0
  168. package/skills/docx/scripts/utilities.py +374 -0
  169. package/skills/dream-interpreter/SKILL.md +88 -0
  170. package/skills/dream-interpreter/assets/example_asset.txt +24 -0
  171. package/skills/dream-interpreter/references/api_reference.md +34 -0
  172. package/skills/dream-interpreter/references/interpretation-guide.md +83 -0
  173. package/skills/dream-interpreter/references/output-schema.md +65 -0
  174. package/skills/dream-interpreter/references/questioning-strategy.md +62 -0
  175. package/skills/dream-interpreter/references/visual-mapping.md +81 -0
  176. package/skills/dream-interpreter/scripts/__pycache__/example.cpython-312.pyc +0 -0
  177. package/skills/dream-interpreter/scripts/example.py +19 -0
  178. package/skills/dream-interpreter/skill.json +7 -0
  179. package/skills/file_skill.py +246 -0
  180. package/skills/finance/Finance_API_Doc.md +445 -0
  181. package/skills/finance/SKILL.md +53 -0
  182. package/skills/fullstack-dev/SKILL.md +205 -0
  183. package/skills/get-fortune-analysis/SKILL.md +370 -0
  184. package/skills/get-fortune-analysis/lunar_python.py +91 -0
  185. package/skills/gift-evaluator/SKILL.md +83 -0
  186. package/skills/gift-evaluator/__pycache__/html_tools.cpython-312.pyc +0 -0
  187. package/skills/gift-evaluator/html_tools.py +268 -0
  188. package/skills/image-edit/LICENSE.txt +21 -0
  189. package/skills/image-edit/SKILL.md +896 -0
  190. package/skills/image-edit/scripts/image-edit.ts +36 -0
  191. package/skills/image-generation/LICENSE.txt +21 -0
  192. package/skills/image-generation/SKILL.md +583 -0
  193. package/skills/image-generation/scripts/image-generation.ts +28 -0
  194. package/skills/image-understand/LICENSE.txt +21 -0
  195. package/skills/image-understand/SKILL.md +855 -0
  196. package/skills/image-understand/scripts/image-understand.ts +41 -0
  197. package/skills/interview-designer/README.md +70 -0
  198. package/skills/interview-designer/SKILL.md +53 -0
  199. package/skills/interview-designer/_meta.json +6 -0
  200. package/skills/interview-designer/references/design_rationale.md +43 -0
  201. package/skills/interview-designer/templates/interview_guide_template.md +62 -0
  202. package/skills/market-research-reports/SKILL.md +901 -0
  203. package/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
  204. package/skills/market-research-reports/assets/market_report_template.tex +1380 -0
  205. package/skills/market-research-reports/assets/market_research.sty +564 -0
  206. package/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
  207. package/skills/market-research-reports/references/report_structure_guide.md +999 -0
  208. package/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
  209. package/skills/market-research-reports/scripts/__pycache__/generate_market_visuals.cpython-312.pyc +0 -0
  210. package/skills/market-research-reports/scripts/generate_market_visuals.py +529 -0
  211. package/skills/marketing-mode/README.md +49 -0
  212. package/skills/marketing-mode/SKILL.md +693 -0
  213. package/skills/marketing-mode/_meta.json +6 -0
  214. package/skills/marketing-mode/mode-prompt.md +39 -0
  215. package/skills/marketing-mode/skill.json +51 -0
  216. package/skills/mindfulness-meditation/SKILL.md +65 -0
  217. package/skills/mindfulness-meditation/_meta.json +6 -0
  218. package/skills/multi-search-engine/CHANGELOG.md +15 -0
  219. package/skills/multi-search-engine/CHANNELLOG.md +48 -0
  220. package/skills/multi-search-engine/SKILL.md +78 -0
  221. package/skills/multi-search-engine/_meta.json +6 -0
  222. package/skills/multi-search-engine/config.json +14 -0
  223. package/skills/multi-search-engine/metadata.json +7 -0
  224. package/skills/multi-search-engine/references/international-search.md +651 -0
  225. package/skills/pdf/LICENSE.txt +30 -0
  226. package/skills/pdf/SKILL.md +1534 -0
  227. package/skills/pdf/forms.md +205 -0
  228. package/skills/pdf/reference.md +765 -0
  229. package/skills/pdf/scripts/__pycache__/add_zai_metadata.cpython-312.pyc +0 -0
  230. package/skills/pdf/scripts/__pycache__/check_bounding_boxes.cpython-312.pyc +0 -0
  231. package/skills/pdf/scripts/__pycache__/check_bounding_boxes_test.cpython-312.pyc +0 -0
  232. package/skills/pdf/scripts/__pycache__/check_fillable_fields.cpython-312.pyc +0 -0
  233. package/skills/pdf/scripts/__pycache__/convert_pdf_to_images.cpython-312.pyc +0 -0
  234. package/skills/pdf/scripts/__pycache__/create_validation_image.cpython-312.pyc +0 -0
  235. package/skills/pdf/scripts/__pycache__/extract_form_field_info.cpython-312.pyc +0 -0
  236. package/skills/pdf/scripts/__pycache__/fill_fillable_fields.cpython-312.pyc +0 -0
  237. package/skills/pdf/scripts/__pycache__/fill_pdf_form_with_annotations.cpython-312.pyc +0 -0
  238. package/skills/pdf/scripts/__pycache__/sanitize_code.cpython-312.pyc +0 -0
  239. package/skills/pdf/scripts/add_zai_metadata.py +172 -0
  240. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  241. package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  242. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  243. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  244. package/skills/pdf/scripts/create_validation_image.py +41 -0
  245. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  246. package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  247. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  248. package/skills/pdf/scripts/sanitize_code.py +110 -0
  249. package/skills/podcast-generate/LICENSE.txt +21 -0
  250. package/skills/podcast-generate/SKILL.md +198 -0
  251. package/skills/podcast-generate/generate.ts +661 -0
  252. package/skills/podcast-generate/package.json +30 -0
  253. package/skills/podcast-generate/readme.md +177 -0
  254. package/skills/podcast-generate/test_data/segments.jsonl +3 -0
  255. package/skills/podcast-generate/tsconfig.json +26 -0
  256. package/skills/pptx/LICENSE.txt +30 -0
  257. package/skills/pptx/SKILL.md +507 -0
  258. package/skills/pptx/html2pptx.md +625 -0
  259. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  260. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  261. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  262. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  263. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  264. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  265. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  266. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  267. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  268. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  269. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  270. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  271. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  272. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  273. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  274. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  275. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  276. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  277. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  278. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  279. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  280. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  281. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  282. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  283. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  284. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  285. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  286. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  287. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  288. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  289. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  290. package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  291. package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  292. package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  293. package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  294. package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  295. package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  296. package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  297. package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  298. package/skills/pptx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
  299. package/skills/pptx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
  300. package/skills/pptx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
  301. package/skills/pptx/ooxml/scripts/pack.py +159 -0
  302. package/skills/pptx/ooxml/scripts/unpack.py +29 -0
  303. package/skills/pptx/ooxml/scripts/validate.py +69 -0
  304. package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  305. package/skills/pptx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
  306. package/skills/pptx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
  307. package/skills/pptx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
  308. package/skills/pptx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
  309. package/skills/pptx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
  310. package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  311. package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  312. package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  313. package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  314. package/skills/pptx/ooxml.md +427 -0
  315. package/skills/pptx/scripts/__pycache__/inventory.cpython-312.pyc +0 -0
  316. package/skills/pptx/scripts/__pycache__/inventory.cpython-313.pyc +0 -0
  317. package/skills/pptx/scripts/__pycache__/rearrange.cpython-312.pyc +0 -0
  318. package/skills/pptx/scripts/__pycache__/replace.cpython-312.pyc +0 -0
  319. package/skills/pptx/scripts/__pycache__/thumbnail.cpython-312.pyc +0 -0
  320. package/skills/pptx/scripts/html2pptx.js +1044 -0
  321. package/skills/pptx/scripts/inventory.py +1020 -0
  322. package/skills/pptx/scripts/rearrange.py +231 -0
  323. package/skills/pptx/scripts/replace.py +385 -0
  324. package/skills/pptx/scripts/thumbnail.py +450 -0
  325. package/skills/qingyan-research/SKILL.md +294 -0
  326. package/skills/qingyan-research/__pycache__/generate_html.cpython-312.pyc +0 -0
  327. package/skills/qingyan-research/generate_html.py +33 -0
  328. package/skills/registry.py +344 -0
  329. package/skills/search_skill.py +228 -0
  330. package/skills/seo-content-writer/SKILL.md +661 -0
  331. package/skills/seo-content-writer/_meta.json +6 -0
  332. package/skills/seo-content-writer/references/content-structure-templates.md +875 -0
  333. package/skills/seo-content-writer/references/title-formulas.md +339 -0
  334. package/skills/skill-creator/LICENSE.txt +202 -0
  335. package/skills/skill-creator/SKILL.md +485 -0
  336. package/skills/skill-creator/agents/analyzer.md +274 -0
  337. package/skills/skill-creator/agents/comparator.md +202 -0
  338. package/skills/skill-creator/agents/grader.md +223 -0
  339. package/skills/skill-creator/assets/eval_review.html +146 -0
  340. package/skills/skill-creator/eval-viewer/__pycache__/generate_review.cpython-312.pyc +0 -0
  341. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  342. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  343. package/skills/skill-creator/references/schemas.md +430 -0
  344. package/skills/skill-creator/scripts/__init__.py +0 -0
  345. package/skills/skill-creator/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  346. package/skills/skill-creator/scripts/__pycache__/aggregate_benchmark.cpython-312.pyc +0 -0
  347. package/skills/skill-creator/scripts/__pycache__/generate_report.cpython-312.pyc +0 -0
  348. package/skills/skill-creator/scripts/__pycache__/improve_description.cpython-312.pyc +0 -0
  349. package/skills/skill-creator/scripts/__pycache__/package_skill.cpython-312.pyc +0 -0
  350. package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  351. package/skills/skill-creator/scripts/__pycache__/run_eval.cpython-312.pyc +0 -0
  352. package/skills/skill-creator/scripts/__pycache__/run_loop.cpython-312.pyc +0 -0
  353. package/skills/skill-creator/scripts/__pycache__/utils.cpython-312.pyc +0 -0
  354. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  355. package/skills/skill-creator/scripts/generate_report.py +326 -0
  356. package/skills/skill-creator/scripts/improve_description.py +236 -0
  357. package/skills/skill-creator/scripts/package_skill.py +136 -0
  358. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  359. package/skills/skill-creator/scripts/run_eval.py +310 -0
  360. package/skills/skill-creator/scripts/run_loop.py +328 -0
  361. package/skills/skill-creator/scripts/utils.py +47 -0
  362. package/skills/skill-finder-cn/SKILL.md +66 -0
  363. package/skills/skill-finder-cn/_meta.json +6 -0
  364. package/skills/skill-finder-cn/package.json +5 -0
  365. package/skills/skill-finder-cn/scripts/search.sh +15 -0
  366. package/skills/skill-vetter/SKILL.md +137 -0
  367. package/skills/stock-analysis-skill/SKILL.md +156 -0
  368. package/skills/stock-analysis-skill/package.json +21 -0
  369. package/skills/stock-analysis-skill/src/analyzer.ts +264 -0
  370. package/skills/stock-analysis-skill/src/dataFetcher.ts +130 -0
  371. package/skills/stock-analysis-skill/src/dividend.ts +226 -0
  372. package/skills/stock-analysis-skill/src/index.ts +327 -0
  373. package/skills/stock-analysis-skill/src/rumorScanner.ts +200 -0
  374. package/skills/stock-analysis-skill/src/types.ts +167 -0
  375. package/skills/stock-analysis-skill/src/watchlist.ts +292 -0
  376. package/skills/stock-analysis-skill/tsconfig.json +15 -0
  377. package/skills/storyboard-manager/SKILL.md +532 -0
  378. package/skills/storyboard-manager/index.js +9 -0
  379. package/skills/storyboard-manager/package.json +11 -0
  380. package/skills/storyboard-manager/references/character_development.md +232 -0
  381. package/skills/storyboard-manager/references/story_structures.md +148 -0
  382. package/skills/storyboard-manager/scripts/__pycache__/consistency_checker.cpython-312.pyc +0 -0
  383. package/skills/storyboard-manager/scripts/__pycache__/timeline_tracker.cpython-312.pyc +0 -0
  384. package/skills/storyboard-manager/scripts/consistency_checker.py +391 -0
  385. package/skills/storyboard-manager/scripts/timeline_tracker.py +352 -0
  386. package/skills/system_skill.py +249 -0
  387. package/skills/ui-ux-pro-max/SKILL.md +43 -0
  388. package/skills/ui-ux-pro-max/_meta.json +6 -0
  389. package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
  390. package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
  391. package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
  392. package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
  393. package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
  394. package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
  395. package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
  396. package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
  397. package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
  398. package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
  399. package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
  400. package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
  401. package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
  402. package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
  403. package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
  404. package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
  405. package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
  406. package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
  407. package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
  408. package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
  409. package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
  410. package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
  411. package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
  412. package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
  413. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  414. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  415. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  416. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  417. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  418. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  419. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  420. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  421. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  422. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  423. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  424. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  425. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  426. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  427. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  428. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  429. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  430. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  431. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  432. package/skills/ui-ux-pro-max/data/styles.csv +68 -0
  433. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  434. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  435. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  436. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  437. package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
  438. package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
  439. package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
  440. package/skills/ui-ux-pro-max/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  441. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  442. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  443. package/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-312.pyc +0 -0
  444. package/skills/ui-ux-pro-max/scripts/core.py +253 -0
  445. package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
  446. package/skills/ui-ux-pro-max/scripts/search.py +111 -0
  447. package/skills/video-generation/LICENSE.txt +21 -0
  448. package/skills/video-generation/SKILL.md +1082 -0
  449. package/skills/video-generation/scripts/video.ts +168 -0
  450. package/skills/video-understand/LICENSE.txt +21 -0
  451. package/skills/video-understand/SKILL.md +916 -0
  452. package/skills/video-understand/scripts/video-understand.ts +41 -0
  453. package/skills/visual-design-foundations/SKILL.md +318 -0
  454. package/skills/visual-design-foundations/references/color-systems.md +417 -0
  455. package/skills/visual-design-foundations/references/spacing-iconography.md +425 -0
  456. package/skills/visual-design-foundations/references/typography-systems.md +432 -0
  457. package/skills/web-reader/LICENSE.txt +21 -0
  458. package/skills/web-reader/SKILL.md +1140 -0
  459. package/skills/web-reader/scripts/web-reader.ts +37 -0
  460. package/skills/web-search/LICENSE.txt +21 -0
  461. package/skills/web-search/SKILL.md +912 -0
  462. package/skills/web-search/scripts/web_search.ts +44 -0
  463. package/skills/web-shader-extractor/SKILL.md +145 -0
  464. package/skills/web-shader-extractor/references/config-extraction.md +50 -0
  465. package/skills/web-shader-extractor/references/encoded-definitions.md +53 -0
  466. package/skills/web-shader-extractor/references/extraction-workflow.md +61 -0
  467. package/skills/web-shader-extractor/references/porting-strategy.md +164 -0
  468. package/skills/web-shader-extractor/references/shader-injection.md +126 -0
  469. package/skills/web-shader-extractor/references/shaders-com.md +190 -0
  470. package/skills/web-shader-extractor/references/tech-signatures.md +54 -0
  471. package/skills/web-shader-extractor/references/tsl-extraction.md +41 -0
  472. package/skills/web-shader-extractor/references/unicorn-studio.md +353 -0
  473. package/skills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +153 -0
  474. package/skills/web-shader-extractor/scripts/scan-bundle.sh +76 -0
  475. package/skills/writing-plans/SKILL.md +116 -0
  476. package/skills/writing-plans/_meta.json +6 -0
  477. package/skills/xlsx/LICENSE.txt +30 -0
  478. package/skills/xlsx/SKILL.md +496 -0
  479. package/skills/xlsx/__pycache__/recalc.cpython-312.pyc +0 -0
  480. package/skills/xlsx/recalc.py +178 -0
  481. package/start.sh +36 -0
  482. package/web/__init__.py +1 -0
  483. package/web/__pycache__/api_server.cpython-312.pyc +0 -0
  484. package/web/api_server.py +2043 -0
  485. package/web/ui/chat.html +3235 -0
  486. package/web/ui/index.html +458 -0
@@ -0,0 +1,529 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Market Research Report Visual Generator
4
+
5
+ Batch generates visuals for a market research report using
6
+ scientific-schematics and generate-image skills.
7
+
8
+ Default behavior: Generate 5-6 core visuals only
9
+ Use --all flag to generate all 28 extended visuals
10
+
11
+ Usage:
12
+ # Generate core 5-6 visuals (recommended for starting a report)
13
+ python generate_market_visuals.py --topic "Electric Vehicle Charging" --output-dir figures/
14
+
15
+ # Generate all 28 visuals (for comprehensive coverage)
16
+ python generate_market_visuals.py --topic "AI in Healthcare" --output-dir figures/ --all
17
+
18
+ # Skip existing files
19
+ python generate_market_visuals.py --topic "Topic" --output-dir figures/ --skip-existing
20
+ """
21
+
22
+ import argparse
23
+ import os
24
+ import subprocess
25
+ import sys
26
+ from pathlib import Path
27
+
28
+
29
+ # Visual definitions with prompts
30
+ # Each tuple: (filename, tool, prompt_template, is_core)
31
+ # is_core=True for the 5-6 essential visuals to generate first
32
+
33
+ CORE_VISUALS = [
34
+ # Priority 1: Market Growth Trajectory
35
+ (
36
+ "01_market_growth_trajectory.png",
37
+ "scientific-schematics",
38
+ "Bar chart {topic} market growth 2020 to 2034. Historical bars 2020-2024 in dark blue, "
39
+ "projected bars 2025-2034 in light blue. Y-axis billions USD, X-axis years. "
40
+ "CAGR annotation. Data labels on each bar. Vertical dashed line "
41
+ "between 2024 and 2025. Title: Market Growth Trajectory. Professional white background"
42
+ ),
43
+
44
+ # Priority 2: TAM/SAM/SOM
45
+ (
46
+ "02_tam_sam_som.png",
47
+ "scientific-schematics",
48
+ "TAM SAM SOM concentric circles for {topic} market. Outer circle TAM Total Addressable "
49
+ "Market. Middle circle SAM Serviceable Addressable Market. Inner circle SOM Serviceable "
50
+ "Obtainable Market. Each labeled with acronym, full name. "
51
+ "Blue gradient darkest outer to lightest inner. White background professional appearance"
52
+ ),
53
+
54
+ # Priority 3: Porter's Five Forces
55
+ (
56
+ "03_porters_five_forces.png",
57
+ "scientific-schematics",
58
+ "Porter's Five Forces diagram for {topic}. Center box Competitive Rivalry with rating. "
59
+ "Four surrounding boxes with arrows to center: Top Threat of New Entrants, "
60
+ "Left Bargaining Power Suppliers, Right Bargaining Power Buyers, "
61
+ "Bottom Threat of Substitutes. Color code HIGH red, MEDIUM yellow, LOW green. "
62
+ "Include 2-3 key factors per box. Professional appearance"
63
+ ),
64
+
65
+ # Priority 4: Competitive Positioning Matrix
66
+ (
67
+ "04_competitive_positioning.png",
68
+ "scientific-schematics",
69
+ "2x2 competitive positioning matrix {topic}. X-axis Market Focus Niche to Broad. "
70
+ "Y-axis Solution Approach Product to Platform. Quadrants: Upper-right Platform Leaders, "
71
+ "Upper-left Niche Platforms, Lower-right Product Leaders, Lower-left Specialists. "
72
+ "Plot 8-10 company circles with names. Circle size = market share. "
73
+ "Legend for sizes. Professional appearance"
74
+ ),
75
+
76
+ # Priority 5: Risk Heatmap
77
+ (
78
+ "05_risk_heatmap.png",
79
+ "scientific-schematics",
80
+ "Risk heatmap matrix {topic}. X-axis Impact Low Medium High Critical. "
81
+ "Y-axis Probability Unlikely Possible Likely Very Likely. "
82
+ "Cell colors: Green low risk, Yellow medium, Orange high, Red critical. "
83
+ "Plot 10-12 numbered risks R1 R2 etc as labeled points. "
84
+ "Legend with risk names. Professional clear"
85
+ ),
86
+
87
+ # Priority 6: Executive Summary Infographic (Optional)
88
+ (
89
+ "06_exec_summary_infographic.png",
90
+ "generate-image",
91
+ "Executive summary infographic for {topic} market research, one page layout, "
92
+ "central large metric showing market size, four quadrants showing growth rate "
93
+ "key players top segments regional leaders, modern flat design, professional "
94
+ "blue and green color scheme, clean white background, corporate business aesthetic"
95
+ ),
96
+ ]
97
+
98
+ EXTENDED_VISUALS = [
99
+ # Industry Ecosystem
100
+ (
101
+ "07_industry_ecosystem.png",
102
+ "scientific-schematics",
103
+ "Industry ecosystem value chain diagram for {topic} market. Horizontal flow left "
104
+ "to right: Suppliers box → Manufacturers box → Distributors box → End Users box. "
105
+ "Below each main box show 3-4 smaller boxes with example player types. Solid arrows "
106
+ "for product flow, dashed arrows for money flow. Regulatory oversight layer above. "
107
+ "Professional blue color scheme, white background, clear labels"
108
+ ),
109
+
110
+ # Regional Breakdown
111
+ (
112
+ "08_regional_breakdown.png",
113
+ "scientific-schematics",
114
+ "scientific-schematics",
115
+ "Pie chart regional market breakdown for {topic}. North America 40% dark blue, "
116
+ "Europe 28% medium blue, Asia-Pacific 22% teal, Latin America 6% light blue, "
117
+ "Middle East Africa 4% gray blue. Show percentage for each slice. Legend on right. "
118
+ "Title: Market Size by Region. Professional appearance"
119
+ ),
120
+
121
+ # Segment Growth
122
+ (
123
+ "09_segment_growth.png",
124
+ "scientific-schematics",
125
+ "Horizontal bar chart {topic} segment growth comparison. Y-axis 5-6 segment names, "
126
+ "X-axis CAGR percentage 0-30%. Bars colored green highest to blue lowest. "
127
+ "Data labels with percentages. Sorted highest to lowest. "
128
+ "Title: Segment Growth Rate Comparison. Include market average line"
129
+ ),
130
+
131
+ # Driver Impact Matrix
132
+ (
133
+ "10_driver_impact_matrix.png",
134
+ "scientific-schematics",
135
+ "2x2 matrix driver impact assessment for {topic}. X-axis Impact Low to High, "
136
+ "Y-axis Probability Low to High. Quadrants: Upper-right CRITICAL DRIVERS red, "
137
+ "Upper-left MONITOR yellow, Lower-right WATCH CAREFULLY yellow, "
138
+ "Lower-left LOWER PRIORITY green. Plot 8 labeled driver circles at positions. "
139
+ "Circle size indicates current impact. Professional clear labels"
140
+ ),
141
+
142
+ # PESTLE Analysis
143
+ (
144
+ "11_pestle_analysis.png",
145
+ "scientific-schematics",
146
+ "PESTLE hexagonal diagram for {topic} market. Center hexagon labeled Market Analysis. "
147
+ "Six surrounding hexagons: Political red, Economic blue, Social green, "
148
+ "Technological orange, Legal purple, Environmental teal. Each outer hexagon "
149
+ "has 2-3 bullet points of key factors. Lines connecting center to each. "
150
+ "Professional appearance clear readable text"
151
+ ),
152
+
153
+ # Trends Timeline
154
+ (
155
+ "12_trends_timeline.png",
156
+ "scientific-schematics",
157
+ "Horizontal timeline {topic} trends 2024 to 2030. Plot 6-8 emerging trends at "
158
+ "different years. Each trend with icon, name, brief description. Color code: "
159
+ "Technology trends blue, Market trends green, Regulatory trends orange. "
160
+ "Current marker at 2024. Professional clear labels"
161
+ ),
162
+
163
+ # Market Share Chart
164
+ (
165
+ "13_market_share.png",
166
+ "scientific-schematics",
167
+ "Pie chart market share {topic} top 10 companies. Company A 18% dark blue, "
168
+ "Company B 15% medium blue, Company C 12% teal, Company D 10% light blue, "
169
+ "5 more companies 5-8% each various blues, Others 15% gray. "
170
+ "Percentage labels on slices. Legend with company names. "
171
+ "Title: Market Share by Company. Colorblind-friendly colors professional"
172
+ ),
173
+
174
+ # Strategic Groups Map
175
+ (
176
+ "14_strategic_groups.png",
177
+ "scientific-schematics",
178
+ "Strategic group map {topic}. X-axis Geographic Scope Regional to Global. "
179
+ "Y-axis Product Breadth Narrow to Broad. Draw 4-5 oval bubbles for strategic groups. "
180
+ "Each bubble contains 2-4 company names. Bubble size = collective market share. "
181
+ "Label groups: Global Generalists, Regional Specialists, Focused Innovators. "
182
+ "Different colors per group. Professional clear labels"
183
+ ),
184
+
185
+ # Customer Segments
186
+ (
187
+ "15_customer_segments.png",
188
+ "scientific-schematics",
189
+ "Treemap customer segmentation {topic}. Large Enterprise 45% dark blue, "
190
+ "Mid-Market 30% medium blue, SMB 18% light blue, Consumer 7% teal. "
191
+ "Each segment shows name and percentage. Title: Customer Segmentation by Market Share. "
192
+ "Professional appearance clear labels"
193
+ ),
194
+ (
195
+ "16_segment_attractiveness.png",
196
+ "scientific-schematics",
197
+ "2x2 segment attractiveness matrix {topic}. X-axis Segment Size Small to Large. "
198
+ "Y-axis Growth Rate Low to High. Quadrants: Upper-right PRIORITY Invest Heavily green, "
199
+ "Upper-left INVEST TO GROW yellow, Lower-right HARVEST orange, "
200
+ "Lower-left DEPRIORITIZE gray. Plot customer segments as circles. "
201
+ "Circle size = profitability. Different colors. Professional"
202
+ ),
203
+ (
204
+ "17_customer_journey.png",
205
+ "scientific-schematics",
206
+ "Customer journey horizontal flowchart {topic}. 5 stages left to right: Awareness, "
207
+ "Consideration, Decision, Implementation, Advocacy. Each stage shows Key Activities, "
208
+ "Pain Points, Touchpoints in rows below. Icons for each stage. "
209
+ "Color gradient light to dark. Professional clear labels"
210
+ ),
211
+
212
+ # Technology Roadmap
213
+ (
214
+ "18_technology_roadmap.png",
215
+ "scientific-schematics",
216
+ "Technology roadmap {topic} 2024 to 2030. Three parallel horizontal tracks: "
217
+ "Core Technology blue, Emerging Technology green, Enabling Technology orange. "
218
+ "Milestones and tech introductions marked on each track. Vertical lines connect "
219
+ "related tech. Year markers. Technology names labeled. Professional appearance"
220
+ ),
221
+ (
222
+ "19_innovation_curve.png",
223
+ "scientific-schematics",
224
+ "Gartner Hype Cycle curve for {topic} technologies. Five phases: Innovation Trigger "
225
+ "rising, Peak of Inflated Expectations at top, Trough of Disillusionment at bottom, "
226
+ "Slope of Enlightenment rising, Plateau of Productivity stable. "
227
+ "Plot 6-8 technologies on curve with labels. Color by category. Professional clear labels"
228
+ ),
229
+
230
+ # Regulatory Timeline
231
+ (
232
+ "20_regulatory_timeline.png",
233
+ "scientific-schematics",
234
+ "Regulatory timeline {topic} 2020 to 2028. Past regulations dark blue solid markers, "
235
+ "current green marker, upcoming light blue dashed. Each shows regulation name, date, "
236
+ "brief description. Vertical NOW line at 2024. Professional appearance clear labels"
237
+ ),
238
+
239
+ # Risk Mitigation Matrix
240
+ (
241
+ "21_risk_mitigation.png",
242
+ "scientific-schematics",
243
+ "Risk mitigation diagram {topic}. Left column risks in orange/red boxes. "
244
+ "Right column mitigation strategies in green/blue boxes. Arrows connecting "
245
+ "risks to mitigations. Group by category. Risk severity by color intensity. "
246
+ "Include prevention and response. Professional clear labels"
247
+ ),
248
+
249
+ # Opportunity Matrix
250
+ (
251
+ "22_opportunity_matrix.png",
252
+ "scientific-schematics",
253
+ "2x2 opportunity matrix {topic}. X-axis Market Attractiveness Low to High. "
254
+ "Y-axis Ability to Win Low to High. Quadrants: Upper-right PURSUE AGGRESSIVELY green, "
255
+ "Upper-left BUILD CAPABILITIES yellow, Lower-right SELECTIVE INVESTMENT yellow, "
256
+ "Lower-left AVOID red. Plot 6-8 opportunity circles with labels. "
257
+ "Size = opportunity value. Professional"
258
+ ),
259
+
260
+ # Recommendation Priority Matrix
261
+ (
262
+ "23_recommendation_priority.png",
263
+ "scientific-schematics",
264
+ "2x2 priority matrix {topic} recommendations. X-axis Effort Low to High. "
265
+ "Y-axis Impact Low to High. Quadrants: Upper-left QUICK WINS green Do First, "
266
+ "Upper-right MAJOR PROJECTS blue Plan Carefully, Lower-left FILL-INS gray Do If Time, "
267
+ "Lower-right THANKLESS TASKS red Avoid. Plot 6-8 numbered recommendations. Professional"
268
+ ),
269
+
270
+ # Implementation Timeline
271
+ (
272
+ "24_implementation_timeline.png",
273
+ "scientific-schematics",
274
+ "Gantt chart implementation {topic} 24 months. Phase 1 Foundation months 1-6 dark blue. "
275
+ "Phase 2 Build months 4-12 medium blue. Phase 3 Scale months 10-18 teal. "
276
+ "Phase 4 Optimize months 16-24 light blue. Overlapping bars. "
277
+ "Key milestones as diamonds. Month markers X-axis. Professional"
278
+ ),
279
+
280
+ # Milestone Tracker
281
+ (
282
+ "25_milestone_tracker.png",
283
+ "scientific-schematics",
284
+ "Milestone tracker {topic} horizontal timeline 8-10 milestones. "
285
+ "Each shows date, name, status: Completed green check, In Progress yellow circle, "
286
+ "Upcoming gray circle. Group by phase. Phase labels above. "
287
+ "Connected timeline line. Professional"
288
+ ),
289
+
290
+ # Financial Projections
291
+ (
292
+ "26_financial_projections.png",
293
+ "scientific-schematics",
294
+ "Combined bar and line chart {topic} 5-year projections. Bar chart revenue "
295
+ "primary Y-axis dollars. Line chart growth rate secondary Y-axis percent. "
296
+ "Three scenarios: Conservative gray, Base Case blue, Optimistic green. "
297
+ "X-axis Year 1-5. Data labels. Legend. Title Financial Projections 5-Year. Professional"
298
+ ),
299
+
300
+ # Scenario Analysis
301
+ (
302
+ "27_scenario_analysis.png",
303
+ "scientific-schematics",
304
+ "Grouped bar chart {topic} scenario comparison. X-axis metrics: Revenue Y5, "
305
+ "EBITDA Y5, Market Share, ROI. Three bars per metric: Conservative gray, "
306
+ "Base Case blue, Optimistic green. Data labels. Legend. "
307
+ "Title Scenario Analysis Comparison. Professional clear labels"
308
+ ),
309
+ ]
310
+
311
+
312
+ def get_script_path(tool: str) -> Path:
313
+ """Get the path to the appropriate generation script."""
314
+ base_path = Path(__file__).parent.parent.parent # skills directory
315
+
316
+ if tool == "scientific-schematics":
317
+ return base_path / "scientific-schematics" / "scripts" / "generate_schematic.py"
318
+ elif tool == "generate-image":
319
+ return base_path / "generate-image" / "scripts" / "generate_image.py"
320
+ else:
321
+ raise ValueError(f"Unknown tool: {tool}")
322
+
323
+
324
+ def generate_visual(
325
+ filename: str,
326
+ tool: str,
327
+ prompt: str,
328
+ output_dir: Path,
329
+ topic: str,
330
+ skip_existing: bool = False,
331
+ verbose: bool = False
332
+ ) -> bool:
333
+ """Generate a single visual using the appropriate tool."""
334
+ output_path = output_dir / filename
335
+
336
+ # Skip if exists and skip_existing is True
337
+ if skip_existing and output_path.exists():
338
+ if verbose:
339
+ print(f" [SKIP] {filename} already exists")
340
+ return True
341
+
342
+ # Format prompt with topic
343
+ formatted_prompt = prompt.format(topic=topic)
344
+
345
+ # Get script path
346
+ script_path = get_script_path(tool)
347
+
348
+ if not script_path.exists():
349
+ print(f" [ERROR] Script not found: {script_path}")
350
+ return False
351
+
352
+ # Build command
353
+ if tool == "scientific-schematics":
354
+ cmd = [
355
+ sys.executable,
356
+ str(script_path),
357
+ formatted_prompt,
358
+ "-o", str(output_path),
359
+ "--doc-type", "report"
360
+ ]
361
+ else: # generate-image
362
+ cmd = [
363
+ sys.executable,
364
+ str(script_path),
365
+ formatted_prompt,
366
+ "--output", str(output_path)
367
+ ]
368
+
369
+ if verbose:
370
+ print(f" [GEN] {filename}")
371
+ print(f" Tool: {tool}")
372
+ print(f" Prompt: {formatted_prompt[:80]}...")
373
+
374
+ try:
375
+ result = subprocess.run(
376
+ cmd,
377
+ capture_output=True,
378
+ text=True,
379
+ timeout=120 # 2 minute timeout per image
380
+ )
381
+
382
+ if result.returncode == 0:
383
+ if verbose:
384
+ print(f" [OK] {filename} generated successfully")
385
+ return True
386
+ else:
387
+ print(f" [ERROR] {filename} failed:")
388
+ if result.stderr:
389
+ print(f" {result.stderr[:200]}")
390
+ return False
391
+
392
+ except subprocess.TimeoutExpired:
393
+ print(f" [TIMEOUT] {filename} generation timed out")
394
+ return False
395
+ except Exception as e:
396
+ print(f" [ERROR] {filename}: {str(e)}")
397
+ return False
398
+
399
+
400
+ def main():
401
+ parser = argparse.ArgumentParser(
402
+ description="Generate visuals for a market research report (default: 5-6 core visuals)"
403
+ )
404
+ parser.add_argument(
405
+ "--topic", "-t",
406
+ required=True,
407
+ help="Market topic (e.g., 'Electric Vehicle Charging Infrastructure')"
408
+ )
409
+ parser.add_argument(
410
+ "--output-dir", "-o",
411
+ default="figures",
412
+ help="Output directory for generated images (default: figures)"
413
+ )
414
+ parser.add_argument(
415
+ "--all", "-a",
416
+ action="store_true",
417
+ help="Generate all 27 extended visuals (default: only core 5-6)"
418
+ )
419
+ parser.add_argument(
420
+ "--skip-existing", "-s",
421
+ action="store_true",
422
+ help="Skip generation if file already exists"
423
+ )
424
+ parser.add_argument(
425
+ "--verbose", "-v",
426
+ action="store_true",
427
+ help="Show detailed output"
428
+ )
429
+ parser.add_argument(
430
+ "--dry-run",
431
+ action="store_true",
432
+ help="Show what would be generated without actually generating"
433
+ )
434
+ parser.add_argument(
435
+ "--only",
436
+ type=str,
437
+ help="Only generate visuals matching this pattern (e.g., '01_', 'porter')"
438
+ )
439
+
440
+ args = parser.parse_args()
441
+
442
+ # Create output directory
443
+ output_dir = Path(args.output_dir)
444
+ if not args.dry_run:
445
+ output_dir.mkdir(parents=True, exist_ok=True)
446
+
447
+ print(f"\n{'='*60}")
448
+ print(f"Market Research Visual Generator")
449
+ print(f"{'='*60}")
450
+ print(f"Topic: {args.topic}")
451
+ print(f"Output Directory: {output_dir.absolute()}")
452
+ print(f"Mode: {'All Visuals (27)' if args.all else 'Core Visuals Only (5-6)'}")
453
+ print(f"Skip Existing: {args.skip_existing}")
454
+ print(f"{'='*60}\n")
455
+
456
+ # Select visual set based on --all flag
457
+ if args.all:
458
+ visuals_to_generate = CORE_VISUALS + EXTENDED_VISUALS
459
+ print("Generating ALL visuals (core + extended)\n")
460
+ else:
461
+ visuals_to_generate = CORE_VISUALS
462
+ print("Generating CORE visuals only (use --all for extended set)\n")
463
+
464
+ # Filter visuals if --only specified
465
+ if args.only:
466
+ pattern = args.only.lower()
467
+ visuals_to_generate = [
468
+ v for v in VISUALS
469
+ if pattern in v[0].lower() or pattern in v[2].lower()
470
+ ]
471
+ print(f"Filtered to {len(visuals_to_generate)} visuals matching '{args.only}'\n")
472
+
473
+ if args.dry_run:
474
+ print("DRY RUN - The following visuals would be generated:\n")
475
+ for filename, tool, prompt in visuals_to_generate:
476
+ formatted = prompt.format(topic=args.topic)
477
+ print(f" {filename}")
478
+ print(f" Tool: {tool}")
479
+ print(f" Prompt: {formatted[:60]}...")
480
+ print()
481
+ return
482
+
483
+ # Generate all visuals
484
+ total = len(visuals_to_generate)
485
+ success = 0
486
+ failed = 0
487
+ skipped = 0
488
+
489
+ for i, (filename, tool, prompt) in enumerate(visuals_to_generate, 1):
490
+ print(f"\n[{i}/{total}] Generating {filename}...")
491
+
492
+ result = generate_visual(
493
+ filename=filename,
494
+ tool=tool,
495
+ prompt=prompt,
496
+ output_dir=output_dir,
497
+ topic=args.topic,
498
+ skip_existing=args.skip_existing,
499
+ verbose=args.verbose
500
+ )
501
+
502
+ if result:
503
+ if args.skip_existing and (output_dir / filename).exists():
504
+ skipped += 1
505
+ else:
506
+ success += 1
507
+ else:
508
+ failed += 1
509
+
510
+ # Print summary
511
+ print(f"\n{'='*60}")
512
+ print(f"Generation Complete")
513
+ print(f"{'='*60}")
514
+ print(f"Total: {total}")
515
+ print(f"Success: {success}")
516
+ print(f"Skipped: {skipped}")
517
+ print(f"Failed: {failed}")
518
+ print(f"{'='*60}")
519
+
520
+ if failed > 0:
521
+ print(f"\nWARNING: {failed} visuals failed to generate.")
522
+ print("Check the output above for error details.")
523
+ print("You may need to generate failed visuals manually.")
524
+
525
+ print(f"\nOutput directory: {output_dir.absolute()}")
526
+
527
+
528
+ if __name__ == "__main__":
529
+ main()
@@ -0,0 +1,49 @@
1
+ # Marketing Mode
2
+
3
+ 📈 **Mark the Marketer** - Growth-obsessed marketing strategist
4
+
5
+ ## Activation
6
+
7
+ ```bash
8
+ clawdhub install marketing-mode
9
+ ```
10
+
11
+ Then tell Clawdbot to switch modes.
12
+
13
+ ## Who is Mark?
14
+
15
+ Mark is a growth-obsessed marketing strategist who lives for the next conversion. He speaks in marketing frameworks, funnels, and metrics.
16
+
17
+ ## Marketing Frameworks
18
+
19
+ ### AIDA (Attention → Interest → Desire → Action)
20
+ The classic marketing funnel. Use to structure messaging and content.
21
+
22
+ ### PAS (Problem → Agitation → Solution)
23
+ Identify the problem, agitate it (make it hurt), then provide the solution.
24
+
25
+ ### Hook Model (Trigger → Action → Variable Reward → Investment)
26
+ Build habit-forming products by designing compelling hooks.
27
+
28
+ ### Value Proposition Canvas
29
+ Match what customers need with what you offer.
30
+
31
+ ### Positioning Framework
32
+ Answer: Who is this for? What does it do? Why is it different?
33
+
34
+ ## Usage Examples
35
+
36
+ Mark helps with:
37
+ - Writing better CTAs and hooks
38
+ - Positioning products and services
39
+ - Funnel optimization
40
+ - Messaging strategy
41
+ - A/B testing ideas
42
+ - Channel selection
43
+ - Conversion optimization
44
+
45
+ ## Catchphrases
46
+ - "What's the CTA?"
47
+ - "What's the hook?"
48
+ - "Who is this for?"
49
+ - "Make it specific. Make it memorable."