@synsci/cli-darwin-arm64 1.1.71 → 1.1.73

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 (339) hide show
  1. package/bin/skills/citation-management/SKILL.md +1109 -0
  2. package/bin/skills/citation-management/assets/bibtex_template.bib +264 -0
  3. package/bin/skills/citation-management/assets/citation_checklist.md +386 -0
  4. package/bin/skills/citation-management/references/bibtex_formatting.md +908 -0
  5. package/bin/skills/citation-management/references/citation_validation.md +794 -0
  6. package/bin/skills/citation-management/references/google_scholar_search.md +725 -0
  7. package/bin/skills/citation-management/references/metadata_extraction.md +870 -0
  8. package/bin/skills/citation-management/references/pubmed_search.md +839 -0
  9. package/bin/skills/citation-management/scripts/doi_to_bibtex.py +182 -0
  10. package/bin/skills/citation-management/scripts/extract_metadata.py +570 -0
  11. package/bin/skills/citation-management/scripts/format_bibtex.py +349 -0
  12. package/bin/skills/citation-management/scripts/search_google_scholar.py +251 -0
  13. package/bin/skills/citation-management/scripts/search_pubmed.py +348 -0
  14. package/bin/skills/citation-management/scripts/validate_citations.py +494 -0
  15. package/bin/skills/clinical-decision-support/README.md +129 -0
  16. package/bin/skills/clinical-decision-support/SKILL.md +506 -0
  17. package/bin/skills/clinical-decision-support/assets/biomarker_report_template.tex +380 -0
  18. package/bin/skills/clinical-decision-support/assets/clinical_pathway_template.tex +222 -0
  19. package/bin/skills/clinical-decision-support/assets/cohort_analysis_template.tex +359 -0
  20. package/bin/skills/clinical-decision-support/assets/color_schemes.tex +149 -0
  21. package/bin/skills/clinical-decision-support/assets/example_gbm_cohort.md +208 -0
  22. package/bin/skills/clinical-decision-support/assets/recommendation_strength_guide.md +328 -0
  23. package/bin/skills/clinical-decision-support/assets/treatment_recommendation_template.tex +529 -0
  24. package/bin/skills/clinical-decision-support/references/biomarker_classification.md +719 -0
  25. package/bin/skills/clinical-decision-support/references/clinical_decision_algorithms.md +604 -0
  26. package/bin/skills/clinical-decision-support/references/evidence_synthesis.md +840 -0
  27. package/bin/skills/clinical-decision-support/references/outcome_analysis.md +640 -0
  28. package/bin/skills/clinical-decision-support/references/patient_cohort_analysis.md +427 -0
  29. package/bin/skills/clinical-decision-support/references/treatment_recommendations.md +521 -0
  30. package/bin/skills/clinical-decision-support/scripts/biomarker_classifier.py +383 -0
  31. package/bin/skills/clinical-decision-support/scripts/build_decision_tree.py +417 -0
  32. package/bin/skills/clinical-decision-support/scripts/create_cohort_tables.py +509 -0
  33. package/bin/skills/clinical-decision-support/scripts/generate_survival_analysis.py +441 -0
  34. package/bin/skills/clinical-decision-support/scripts/validate_cds_document.py +326 -0
  35. package/bin/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
  36. package/bin/skills/clinical-reports/README.md +236 -0
  37. package/bin/skills/clinical-reports/SKILL.md +1127 -0
  38. package/bin/skills/clinical-reports/assets/case_report_template.md +352 -0
  39. package/bin/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
  40. package/bin/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
  41. package/bin/skills/clinical-reports/assets/consult_note_template.md +305 -0
  42. package/bin/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
  43. package/bin/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
  44. package/bin/skills/clinical-reports/assets/history_physical_template.md +305 -0
  45. package/bin/skills/clinical-reports/assets/lab_report_template.md +309 -0
  46. package/bin/skills/clinical-reports/assets/pathology_report_template.md +249 -0
  47. package/bin/skills/clinical-reports/assets/quality_checklist.md +338 -0
  48. package/bin/skills/clinical-reports/assets/radiology_report_template.md +318 -0
  49. package/bin/skills/clinical-reports/assets/soap_note_template.md +253 -0
  50. package/bin/skills/clinical-reports/references/case_report_guidelines.md +570 -0
  51. package/bin/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
  52. package/bin/skills/clinical-reports/references/data_presentation.md +530 -0
  53. package/bin/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
  54. package/bin/skills/clinical-reports/references/medical_terminology.md +588 -0
  55. package/bin/skills/clinical-reports/references/patient_documentation.md +744 -0
  56. package/bin/skills/clinical-reports/references/peer_review_standards.md +585 -0
  57. package/bin/skills/clinical-reports/references/regulatory_compliance.md +577 -0
  58. package/bin/skills/clinical-reports/scripts/check_deidentification.py +332 -0
  59. package/bin/skills/clinical-reports/scripts/compliance_checker.py +78 -0
  60. package/bin/skills/clinical-reports/scripts/extract_clinical_data.py +97 -0
  61. package/bin/skills/clinical-reports/scripts/format_adverse_events.py +97 -0
  62. package/bin/skills/clinical-reports/scripts/generate_report_template.py +149 -0
  63. package/bin/skills/clinical-reports/scripts/terminology_validator.py +126 -0
  64. package/bin/skills/clinical-reports/scripts/validate_case_report.py +323 -0
  65. package/bin/skills/clinical-reports/scripts/validate_trial_report.py +88 -0
  66. package/bin/skills/fireworks-ai/SKILL.md +665 -0
  67. package/bin/skills/generate-image/SKILL.md +178 -0
  68. package/bin/skills/generate-image/scripts/generate_image.py +254 -0
  69. package/bin/skills/groq/SKILL.md +347 -0
  70. package/bin/skills/hypothesis-generation/SKILL.md +293 -0
  71. package/bin/skills/hypothesis-generation/assets/FORMATTING_GUIDE.md +672 -0
  72. package/bin/skills/hypothesis-generation/assets/hypothesis_generation.sty +307 -0
  73. package/bin/skills/hypothesis-generation/assets/hypothesis_report_template.tex +572 -0
  74. package/bin/skills/hypothesis-generation/references/experimental_design_patterns.md +329 -0
  75. package/bin/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +198 -0
  76. package/bin/skills/hypothesis-generation/references/literature_search_strategies.md +622 -0
  77. package/bin/skills/latex-posters/README.md +417 -0
  78. package/bin/skills/latex-posters/SKILL.md +1602 -0
  79. package/bin/skills/latex-posters/assets/baposter_template.tex +257 -0
  80. package/bin/skills/latex-posters/assets/beamerposter_template.tex +244 -0
  81. package/bin/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
  82. package/bin/skills/latex-posters/assets/tikzposter_template.tex +251 -0
  83. package/bin/skills/latex-posters/references/latex_poster_packages.md +745 -0
  84. package/bin/skills/latex-posters/references/poster_content_guide.md +748 -0
  85. package/bin/skills/latex-posters/references/poster_design_principles.md +806 -0
  86. package/bin/skills/latex-posters/references/poster_layout_design.md +900 -0
  87. package/bin/skills/latex-posters/scripts/review_poster.sh +214 -0
  88. package/bin/skills/literature-review/SKILL.md +641 -0
  89. package/bin/skills/literature-review/assets/review_template.md +412 -0
  90. package/bin/skills/literature-review/references/citation_styles.md +166 -0
  91. package/bin/skills/literature-review/references/database_strategies.md +455 -0
  92. package/bin/skills/literature-review/scripts/generate_pdf.py +184 -0
  93. package/bin/skills/literature-review/scripts/search_databases.py +310 -0
  94. package/bin/skills/literature-review/scripts/verify_citations.py +218 -0
  95. package/bin/skills/market-research-reports/SKILL.md +904 -0
  96. package/bin/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
  97. package/bin/skills/market-research-reports/assets/market_report_template.tex +1380 -0
  98. package/bin/skills/market-research-reports/assets/market_research.sty +564 -0
  99. package/bin/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
  100. package/bin/skills/market-research-reports/references/report_structure_guide.md +999 -0
  101. package/bin/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
  102. package/bin/skills/market-research-reports/scripts/generate_market_visuals.py +472 -0
  103. package/bin/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
  104. package/bin/skills/markitdown/LICENSE.txt +22 -0
  105. package/bin/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
  106. package/bin/skills/markitdown/QUICK_REFERENCE.md +309 -0
  107. package/bin/skills/markitdown/README.md +184 -0
  108. package/bin/skills/markitdown/SKILL.md +486 -0
  109. package/bin/skills/markitdown/SKILL_SUMMARY.md +307 -0
  110. package/bin/skills/markitdown/assets/example_usage.md +463 -0
  111. package/bin/skills/markitdown/references/api_reference.md +399 -0
  112. package/bin/skills/markitdown/references/file_formats.md +542 -0
  113. package/bin/skills/markitdown/scripts/batch_convert.py +195 -0
  114. package/bin/skills/markitdown/scripts/convert_literature.py +262 -0
  115. package/bin/skills/markitdown/scripts/convert_with_ai.py +224 -0
  116. package/bin/skills/ml-paper-writing/SKILL.md +937 -0
  117. package/bin/skills/ml-paper-writing/references/checklists.md +361 -0
  118. package/bin/skills/ml-paper-writing/references/citation-workflow.md +562 -0
  119. package/bin/skills/ml-paper-writing/references/reviewer-guidelines.md +367 -0
  120. package/bin/skills/ml-paper-writing/references/sources.md +159 -0
  121. package/bin/skills/ml-paper-writing/references/writing-guide.md +476 -0
  122. package/bin/skills/ml-paper-writing/templates/README.md +251 -0
  123. package/bin/skills/ml-paper-writing/templates/aaai2026/README.md +534 -0
  124. package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  125. package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  126. package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  127. package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  128. package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  129. package/bin/skills/ml-paper-writing/templates/acl/README.md +50 -0
  130. package/bin/skills/ml-paper-writing/templates/acl/acl.sty +312 -0
  131. package/bin/skills/ml-paper-writing/templates/acl/acl_latex.tex +377 -0
  132. package/bin/skills/ml-paper-writing/templates/acl/acl_lualatex.tex +101 -0
  133. package/bin/skills/ml-paper-writing/templates/acl/acl_natbib.bst +1940 -0
  134. package/bin/skills/ml-paper-writing/templates/acl/anthology.bib.txt +26 -0
  135. package/bin/skills/ml-paper-writing/templates/acl/custom.bib +70 -0
  136. package/bin/skills/ml-paper-writing/templates/acl/formatting.md +326 -0
  137. package/bin/skills/ml-paper-writing/templates/colm2025/README.md +3 -0
  138. package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  139. package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  140. package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  141. package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  142. package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  143. package/bin/skills/ml-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  144. package/bin/skills/ml-paper-writing/templates/colm2025/math_commands.tex +508 -0
  145. package/bin/skills/ml-paper-writing/templates/colm2025/natbib.sty +1246 -0
  146. package/bin/skills/ml-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  147. package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  148. package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  149. package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  150. package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  151. package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  152. package/bin/skills/ml-paper-writing/templates/iclr2026/math_commands.tex +508 -0
  153. package/bin/skills/ml-paper-writing/templates/iclr2026/natbib.sty +1246 -0
  154. package/bin/skills/ml-paper-writing/templates/icml2026/algorithm.sty +79 -0
  155. package/bin/skills/ml-paper-writing/templates/icml2026/algorithmic.sty +201 -0
  156. package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.bib +75 -0
  157. package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.pdf +0 -0
  158. package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.tex +662 -0
  159. package/bin/skills/ml-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  160. package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.bst +1443 -0
  161. package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.sty +767 -0
  162. package/bin/skills/ml-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  163. package/bin/skills/ml-paper-writing/templates/neurips2025/Makefile +36 -0
  164. package/bin/skills/ml-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  165. package/bin/skills/ml-paper-writing/templates/neurips2025/main.tex +38 -0
  166. package/bin/skills/ml-paper-writing/templates/neurips2025/neurips.sty +382 -0
  167. package/bin/skills/paper-2-web/SKILL.md +491 -0
  168. package/bin/skills/paper-2-web/references/installation.md +141 -0
  169. package/bin/skills/paper-2-web/references/paper2poster.md +346 -0
  170. package/bin/skills/paper-2-web/references/paper2video.md +305 -0
  171. package/bin/skills/paper-2-web/references/paper2web.md +187 -0
  172. package/bin/skills/paper-2-web/references/usage_examples.md +436 -0
  173. package/bin/skills/peer-review/SKILL.md +702 -0
  174. package/bin/skills/peer-review/references/calibration_guidelines.md +196 -0
  175. package/bin/skills/peer-review/references/common_issues.md +552 -0
  176. package/bin/skills/peer-review/references/paper_mechanics.md +269 -0
  177. package/bin/skills/peer-review/references/reporting_standards.md +290 -0
  178. package/bin/skills/peer-review/references/scoring_rubric.md +239 -0
  179. package/bin/skills/pptx-posters/SKILL.md +410 -0
  180. package/bin/skills/pptx-posters/assets/poster_html_template.html +257 -0
  181. package/bin/skills/pptx-posters/assets/poster_quality_checklist.md +358 -0
  182. package/bin/skills/pptx-posters/references/poster_content_guide.md +748 -0
  183. package/bin/skills/pptx-posters/references/poster_design_principles.md +806 -0
  184. package/bin/skills/pptx-posters/references/poster_layout_design.md +900 -0
  185. package/bin/skills/research-grants/README.md +285 -0
  186. package/bin/skills/research-grants/SKILL.md +938 -0
  187. package/bin/skills/research-grants/assets/budget_justification_template.md +453 -0
  188. package/bin/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
  189. package/bin/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
  190. package/bin/skills/research-grants/references/broader_impacts.md +392 -0
  191. package/bin/skills/research-grants/references/darpa_guidelines.md +636 -0
  192. package/bin/skills/research-grants/references/doe_guidelines.md +586 -0
  193. package/bin/skills/research-grants/references/nih_guidelines.md +851 -0
  194. package/bin/skills/research-grants/references/nsf_guidelines.md +570 -0
  195. package/bin/skills/research-grants/references/specific_aims_guide.md +458 -0
  196. package/bin/skills/research-lookup/README.md +156 -0
  197. package/bin/skills/research-lookup/SKILL.md +606 -0
  198. package/bin/skills/research-lookup/examples.py +174 -0
  199. package/bin/skills/research-lookup/lookup.py +187 -0
  200. package/bin/skills/research-lookup/research_lookup.py +483 -0
  201. package/bin/skills/research-lookup/scripts/research_lookup.py +483 -0
  202. package/bin/skills/scholar-evaluation/SKILL.md +289 -0
  203. package/bin/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
  204. package/bin/skills/scholar-evaluation/scripts/calculate_scores.py +366 -0
  205. package/bin/skills/scientific-critical-thinking/SKILL.md +566 -0
  206. package/bin/skills/scientific-critical-thinking/references/common_biases.md +364 -0
  207. package/bin/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
  208. package/bin/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
  209. package/bin/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
  210. package/bin/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
  211. package/bin/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
  212. package/bin/skills/scientific-schematics/QUICK_REFERENCE.md +207 -0
  213. package/bin/skills/scientific-schematics/README.md +327 -0
  214. package/bin/skills/scientific-schematics/SKILL.md +615 -0
  215. package/bin/skills/scientific-schematics/example_usage.sh +89 -0
  216. package/bin/skills/scientific-schematics/references/best_practices.md +559 -0
  217. package/bin/skills/scientific-schematics/scripts/generate_schematic.py +135 -0
  218. package/bin/skills/scientific-schematics/scripts/generate_schematic_ai.py +807 -0
  219. package/bin/skills/scientific-schematics/test_ai_generation.py +243 -0
  220. package/bin/skills/scientific-slides/SKILL.md +942 -0
  221. package/bin/skills/scientific-slides/assets/timing_guidelines.md +597 -0
  222. package/bin/skills/scientific-slides/references/data_visualization_slides.md +708 -0
  223. package/bin/skills/scientific-slides/references/presentation_structure.md +642 -0
  224. package/bin/skills/scientific-slides/references/slide_design_principles.md +849 -0
  225. package/bin/skills/scientific-slides/references/talk_types_guide.md +687 -0
  226. package/bin/skills/scientific-slides/references/visual_review_workflow.md +775 -0
  227. package/bin/skills/scientific-slides/scripts/generate_slide_image.py +143 -0
  228. package/bin/skills/scientific-slides/scripts/generate_slide_image_ai.py +748 -0
  229. package/bin/skills/scientific-slides/scripts/pdf_to_images.py +201 -0
  230. package/bin/skills/scientific-slides/scripts/slides_to_pdf.py +220 -0
  231. package/bin/skills/scientific-slides/scripts/validate_presentation.py +367 -0
  232. package/bin/skills/scientific-writing/SKILL.md +714 -0
  233. package/bin/skills/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
  234. package/bin/skills/scientific-writing/assets/scientific_report.sty +606 -0
  235. package/bin/skills/scientific-writing/assets/scientific_report_template.tex +449 -0
  236. package/bin/skills/scientific-writing/references/citation_styles.md +720 -0
  237. package/bin/skills/scientific-writing/references/figures_tables.md +806 -0
  238. package/bin/skills/scientific-writing/references/imrad_structure.md +686 -0
  239. package/bin/skills/scientific-writing/references/professional_report_formatting.md +664 -0
  240. package/bin/skills/scientific-writing/references/reporting_guidelines.md +748 -0
  241. package/bin/skills/scientific-writing/references/writing_principles.md +824 -0
  242. package/bin/skills/tinker/SKILL.md +2 -3
  243. package/bin/skills/together-ai/SKILL.md +722 -0
  244. package/bin/skills/treatment-plans/README.md +488 -0
  245. package/bin/skills/treatment-plans/SKILL.md +1579 -0
  246. package/bin/skills/treatment-plans/assets/STYLING_QUICK_REFERENCE.md +185 -0
  247. package/bin/skills/treatment-plans/assets/chronic_disease_management_plan.tex +665 -0
  248. package/bin/skills/treatment-plans/assets/general_medical_treatment_plan.tex +547 -0
  249. package/bin/skills/treatment-plans/assets/medical_treatment_plan.sty +222 -0
  250. package/bin/skills/treatment-plans/assets/mental_health_treatment_plan.tex +774 -0
  251. package/bin/skills/treatment-plans/assets/one_page_treatment_plan.tex +193 -0
  252. package/bin/skills/treatment-plans/assets/pain_management_plan.tex +799 -0
  253. package/bin/skills/treatment-plans/assets/perioperative_care_plan.tex +753 -0
  254. package/bin/skills/treatment-plans/assets/quality_checklist.md +471 -0
  255. package/bin/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +756 -0
  256. package/bin/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
  257. package/bin/skills/treatment-plans/references/intervention_guidelines.md +507 -0
  258. package/bin/skills/treatment-plans/references/regulatory_compliance.md +476 -0
  259. package/bin/skills/treatment-plans/references/specialty_specific_guidelines.md +655 -0
  260. package/bin/skills/treatment-plans/references/treatment_plan_standards.md +485 -0
  261. package/bin/skills/treatment-plans/scripts/check_completeness.py +322 -0
  262. package/bin/skills/treatment-plans/scripts/generate_template.py +233 -0
  263. package/bin/skills/treatment-plans/scripts/timeline_generator.py +385 -0
  264. package/bin/skills/treatment-plans/scripts/validate_treatment_plan.py +369 -0
  265. package/bin/skills/unsloth/SKILL.md +565 -47
  266. package/bin/skills/unsloth/docs/advanced-rl.md +222 -0
  267. package/bin/skills/unsloth/docs/chat-templates.md +141 -0
  268. package/bin/skills/unsloth/docs/datasets.md +489 -0
  269. package/bin/skills/unsloth/docs/docker-extended.md +99 -0
  270. package/bin/skills/unsloth/docs/dynamic-ggufs-2.0.md +116 -0
  271. package/bin/skills/unsloth/docs/dynamic-ggufs-aider.md +118 -0
  272. package/bin/skills/unsloth/docs/faq.md +91 -0
  273. package/bin/skills/unsloth/docs/fp16-vs-bf16.md +61 -0
  274. package/bin/skills/unsloth/docs/fp8-rl.md +224 -0
  275. package/bin/skills/unsloth/docs/glm-4.7-flash.md +997 -0
  276. package/bin/skills/unsloth/docs/inference-deployment-overview.md +17 -0
  277. package/bin/skills/unsloth/docs/inference.md +27 -0
  278. package/bin/skills/unsloth/docs/installation-docker.md +155 -0
  279. package/bin/skills/unsloth/docs/installation-pip.md +148 -0
  280. package/bin/skills/unsloth/docs/kernels-packing.md +190 -0
  281. package/bin/skills/unsloth/docs/kimi-k2.5.md +634 -0
  282. package/bin/skills/unsloth/docs/lm-studio.md +235 -0
  283. package/bin/skills/unsloth/docs/lora-hot-swapping.md +75 -0
  284. package/bin/skills/unsloth/docs/lora-hyperparameters.md +363 -0
  285. package/bin/skills/unsloth/docs/memory-efficient-rl.md +267 -0
  286. package/bin/skills/unsloth/docs/model-selection.md +70 -0
  287. package/bin/skills/unsloth/docs/models.md +532 -0
  288. package/bin/skills/unsloth/docs/multi-gpu-ddp.md +90 -0
  289. package/bin/skills/unsloth/docs/notebooks.md +223 -0
  290. package/bin/skills/unsloth/docs/overview.md +110 -0
  291. package/bin/skills/unsloth/docs/qwen3-coder-next-extended.md +900 -0
  292. package/bin/skills/unsloth/docs/qwen3-coder-next.md +900 -0
  293. package/bin/skills/unsloth/docs/requirements.md +45 -0
  294. package/bin/skills/unsloth/docs/reward-hacking.md +25 -0
  295. package/bin/skills/unsloth/docs/saving-to-gguf.md +138 -0
  296. package/bin/skills/unsloth/docs/saving-to-ollama.md +46 -0
  297. package/bin/skills/unsloth/docs/sglang-guide.md +278 -0
  298. package/bin/skills/unsloth/docs/speculative-decoding.md +70 -0
  299. package/bin/skills/unsloth/docs/tool-calling.md +334 -0
  300. package/bin/skills/unsloth/docs/troubleshooting-faq.md +204 -0
  301. package/bin/skills/unsloth/docs/troubleshooting-inference.md +26 -0
  302. package/bin/skills/unsloth/docs/tts-fine-tuning.md +149 -0
  303. package/bin/skills/unsloth/docs/tutorial-grpo.md +273 -0
  304. package/bin/skills/unsloth/docs/tutorial-llama3-ollama.md +356 -0
  305. package/bin/skills/unsloth/docs/vision-fine-tuning.md +135 -0
  306. package/bin/skills/unsloth/docs/vision-rl.md +170 -0
  307. package/bin/skills/unsloth/docs/vllm-engine-arguments.md +43 -0
  308. package/bin/skills/unsloth/docs/vllm-guide.md +98 -0
  309. package/bin/skills/venue-templates/SKILL.md +686 -0
  310. package/bin/skills/venue-templates/assets/examples/cell_summary_example.md +247 -0
  311. package/bin/skills/venue-templates/assets/examples/medical_structured_abstract.md +313 -0
  312. package/bin/skills/venue-templates/assets/examples/nature_abstract_examples.md +213 -0
  313. package/bin/skills/venue-templates/assets/examples/neurips_introduction_example.md +245 -0
  314. package/bin/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
  315. package/bin/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
  316. package/bin/skills/venue-templates/assets/journals/nature_article.tex +171 -0
  317. package/bin/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
  318. package/bin/skills/venue-templates/assets/journals/plos_one.tex +317 -0
  319. package/bin/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
  320. package/bin/skills/venue-templates/references/cell_press_style.md +483 -0
  321. package/bin/skills/venue-templates/references/conferences_formatting.md +564 -0
  322. package/bin/skills/venue-templates/references/cs_conference_style.md +463 -0
  323. package/bin/skills/venue-templates/references/grants_requirements.md +787 -0
  324. package/bin/skills/venue-templates/references/journals_formatting.md +486 -0
  325. package/bin/skills/venue-templates/references/medical_journal_styles.md +535 -0
  326. package/bin/skills/venue-templates/references/ml_conference_style.md +556 -0
  327. package/bin/skills/venue-templates/references/nature_science_style.md +405 -0
  328. package/bin/skills/venue-templates/references/posters_guidelines.md +628 -0
  329. package/bin/skills/venue-templates/references/reviewer_expectations.md +417 -0
  330. package/bin/skills/venue-templates/references/venue_writing_styles.md +321 -0
  331. package/bin/skills/venue-templates/scripts/customize_template.py +195 -0
  332. package/bin/skills/venue-templates/scripts/query_template.py +266 -0
  333. package/bin/skills/venue-templates/scripts/validate_format.py +250 -0
  334. package/bin/synsc +0 -0
  335. package/package.json +1 -1
  336. package/bin/skills/unsloth/references/index.md +0 -7
  337. package/bin/skills/unsloth/references/llms-full.md +0 -16799
  338. package/bin/skills/unsloth/references/llms-txt.md +0 -12044
  339. package/bin/skills/unsloth/references/llms.md +0 -82
@@ -0,0 +1,472 @@
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 subprocess
24
+ import sys
25
+ from pathlib import Path
26
+
27
+
28
+ # Visual definitions with prompts
29
+ # Each tuple: (filename, tool, prompt_template, is_core)
30
+ # is_core=True for the 5-6 essential visuals to generate first
31
+
32
+ CORE_VISUALS = [
33
+ # Priority 1: Market Growth Trajectory
34
+ (
35
+ "01_market_growth_trajectory.png",
36
+ "scientific-schematics",
37
+ "Bar chart {topic} market growth 2020 to 2034. Historical bars 2020-2024 in dark blue, "
38
+ "projected bars 2025-2034 in light blue. Y-axis billions USD, X-axis years. "
39
+ "CAGR annotation. Data labels on each bar. Vertical dashed line "
40
+ "between 2024 and 2025. Title: Market Growth Trajectory. Professional white background",
41
+ ),
42
+ # Priority 2: TAM/SAM/SOM
43
+ (
44
+ "02_tam_sam_som.png",
45
+ "scientific-schematics",
46
+ "TAM SAM SOM concentric circles for {topic} market. Outer circle TAM Total Addressable "
47
+ "Market. Middle circle SAM Serviceable Addressable Market. Inner circle SOM Serviceable "
48
+ "Obtainable Market. Each labeled with acronym, full name. "
49
+ "Blue gradient darkest outer to lightest inner. White background professional appearance",
50
+ ),
51
+ # Priority 3: Porter's Five Forces
52
+ (
53
+ "03_porters_five_forces.png",
54
+ "scientific-schematics",
55
+ "Porter's Five Forces diagram for {topic}. Center box Competitive Rivalry with rating. "
56
+ "Four surrounding boxes with arrows to center: Top Threat of New Entrants, "
57
+ "Left Bargaining Power Suppliers, Right Bargaining Power Buyers, "
58
+ "Bottom Threat of Substitutes. Color code HIGH red, MEDIUM yellow, LOW green. "
59
+ "Include 2-3 key factors per box. Professional appearance",
60
+ ),
61
+ # Priority 4: Competitive Positioning Matrix
62
+ (
63
+ "04_competitive_positioning.png",
64
+ "scientific-schematics",
65
+ "2x2 competitive positioning matrix {topic}. X-axis Market Focus Niche to Broad. "
66
+ "Y-axis Solution Approach Product to Platform. Quadrants: Upper-right Platform Leaders, "
67
+ "Upper-left Niche Platforms, Lower-right Product Leaders, Lower-left Specialists. "
68
+ "Plot 8-10 company circles with names. Circle size = market share. "
69
+ "Legend for sizes. Professional appearance",
70
+ ),
71
+ # Priority 5: Risk Heatmap
72
+ (
73
+ "05_risk_heatmap.png",
74
+ "scientific-schematics",
75
+ "Risk heatmap matrix {topic}. X-axis Impact Low Medium High Critical. "
76
+ "Y-axis Probability Unlikely Possible Likely Very Likely. "
77
+ "Cell colors: Green low risk, Yellow medium, Orange high, Red critical. "
78
+ "Plot 10-12 numbered risks R1 R2 etc as labeled points. "
79
+ "Legend with risk names. Professional clear",
80
+ ),
81
+ # Priority 6: Executive Summary Infographic (Optional)
82
+ (
83
+ "06_exec_summary_infographic.png",
84
+ "generate-image",
85
+ "Executive summary infographic for {topic} market research, one page layout, "
86
+ "central large metric showing market size, four quadrants showing growth rate "
87
+ "key players top segments regional leaders, modern flat design, professional "
88
+ "blue and green color scheme, clean white background, corporate business aesthetic",
89
+ ),
90
+ ]
91
+
92
+ EXTENDED_VISUALS = [
93
+ # Industry Ecosystem
94
+ (
95
+ "07_industry_ecosystem.png",
96
+ "scientific-schematics",
97
+ "Industry ecosystem value chain diagram for {topic} market. Horizontal flow left "
98
+ "to right: Suppliers box → Manufacturers box → Distributors box → End Users box. "
99
+ "Below each main box show 3-4 smaller boxes with example player types. Solid arrows "
100
+ "for product flow, dashed arrows for money flow. Regulatory oversight layer above. "
101
+ "Professional blue color scheme, white background, clear labels",
102
+ ),
103
+ # Regional Breakdown
104
+ (
105
+ "08_regional_breakdown.png",
106
+ "scientific-schematics",
107
+ "scientific-schematics",
108
+ "Pie chart regional market breakdown for {topic}. North America 40% dark blue, "
109
+ "Europe 28% medium blue, Asia-Pacific 22% teal, Latin America 6% light blue, "
110
+ "Middle East Africa 4% gray blue. Show percentage for each slice. Legend on right. "
111
+ "Title: Market Size by Region. Professional appearance",
112
+ ),
113
+ # Segment Growth
114
+ (
115
+ "09_segment_growth.png",
116
+ "scientific-schematics",
117
+ "Horizontal bar chart {topic} segment growth comparison. Y-axis 5-6 segment names, "
118
+ "X-axis CAGR percentage 0-30%. Bars colored green highest to blue lowest. "
119
+ "Data labels with percentages. Sorted highest to lowest. "
120
+ "Title: Segment Growth Rate Comparison. Include market average line",
121
+ ),
122
+ # Driver Impact Matrix
123
+ (
124
+ "10_driver_impact_matrix.png",
125
+ "scientific-schematics",
126
+ "2x2 matrix driver impact assessment for {topic}. X-axis Impact Low to High, "
127
+ "Y-axis Probability Low to High. Quadrants: Upper-right CRITICAL DRIVERS red, "
128
+ "Upper-left MONITOR yellow, Lower-right WATCH CAREFULLY yellow, "
129
+ "Lower-left LOWER PRIORITY green. Plot 8 labeled driver circles at positions. "
130
+ "Circle size indicates current impact. Professional clear labels",
131
+ ),
132
+ # PESTLE Analysis
133
+ (
134
+ "11_pestle_analysis.png",
135
+ "scientific-schematics",
136
+ "PESTLE hexagonal diagram for {topic} market. Center hexagon labeled Market Analysis. "
137
+ "Six surrounding hexagons: Political red, Economic blue, Social green, "
138
+ "Technological orange, Legal purple, Environmental teal. Each outer hexagon "
139
+ "has 2-3 bullet points of key factors. Lines connecting center to each. "
140
+ "Professional appearance clear readable text",
141
+ ),
142
+ # Trends Timeline
143
+ (
144
+ "12_trends_timeline.png",
145
+ "scientific-schematics",
146
+ "Horizontal timeline {topic} trends 2024 to 2030. Plot 6-8 emerging trends at "
147
+ "different years. Each trend with icon, name, brief description. Color code: "
148
+ "Technology trends blue, Market trends green, Regulatory trends orange. "
149
+ "Current marker at 2024. Professional clear labels",
150
+ ),
151
+ # Market Share Chart
152
+ (
153
+ "13_market_share.png",
154
+ "scientific-schematics",
155
+ "Pie chart market share {topic} top 10 companies. Company A 18% dark blue, "
156
+ "Company B 15% medium blue, Company C 12% teal, Company D 10% light blue, "
157
+ "5 more companies 5-8% each various blues, Others 15% gray. "
158
+ "Percentage labels on slices. Legend with company names. "
159
+ "Title: Market Share by Company. Colorblind-friendly colors professional",
160
+ ),
161
+ # Strategic Groups Map
162
+ (
163
+ "14_strategic_groups.png",
164
+ "scientific-schematics",
165
+ "Strategic group map {topic}. X-axis Geographic Scope Regional to Global. "
166
+ "Y-axis Product Breadth Narrow to Broad. Draw 4-5 oval bubbles for strategic groups. "
167
+ "Each bubble contains 2-4 company names. Bubble size = collective market share. "
168
+ "Label groups: Global Generalists, Regional Specialists, Focused Innovators. "
169
+ "Different colors per group. Professional clear labels",
170
+ ),
171
+ # Customer Segments
172
+ (
173
+ "15_customer_segments.png",
174
+ "scientific-schematics",
175
+ "Treemap customer segmentation {topic}. Large Enterprise 45% dark blue, "
176
+ "Mid-Market 30% medium blue, SMB 18% light blue, Consumer 7% teal. "
177
+ "Each segment shows name and percentage. Title: Customer Segmentation by Market Share. "
178
+ "Professional appearance clear labels",
179
+ ),
180
+ (
181
+ "16_segment_attractiveness.png",
182
+ "scientific-schematics",
183
+ "2x2 segment attractiveness matrix {topic}. X-axis Segment Size Small to Large. "
184
+ "Y-axis Growth Rate Low to High. Quadrants: Upper-right PRIORITY Invest Heavily green, "
185
+ "Upper-left INVEST TO GROW yellow, Lower-right HARVEST orange, "
186
+ "Lower-left DEPRIORITIZE gray. Plot customer segments as circles. "
187
+ "Circle size = profitability. Different colors. Professional",
188
+ ),
189
+ (
190
+ "17_customer_journey.png",
191
+ "scientific-schematics",
192
+ "Customer journey horizontal flowchart {topic}. 5 stages left to right: Awareness, "
193
+ "Consideration, Decision, Implementation, Advocacy. Each stage shows Key Activities, "
194
+ "Pain Points, Touchpoints in rows below. Icons for each stage. "
195
+ "Color gradient light to dark. Professional clear labels",
196
+ ),
197
+ # Technology Roadmap
198
+ (
199
+ "18_technology_roadmap.png",
200
+ "scientific-schematics",
201
+ "Technology roadmap {topic} 2024 to 2030. Three parallel horizontal tracks: "
202
+ "Core Technology blue, Emerging Technology green, Enabling Technology orange. "
203
+ "Milestones and tech introductions marked on each track. Vertical lines connect "
204
+ "related tech. Year markers. Technology names labeled. Professional appearance",
205
+ ),
206
+ (
207
+ "19_innovation_curve.png",
208
+ "scientific-schematics",
209
+ "Gartner Hype Cycle curve for {topic} technologies. Five phases: Innovation Trigger "
210
+ "rising, Peak of Inflated Expectations at top, Trough of Disillusionment at bottom, "
211
+ "Slope of Enlightenment rising, Plateau of Productivity stable. "
212
+ "Plot 6-8 technologies on curve with labels. Color by category. Professional clear labels",
213
+ ),
214
+ # Regulatory Timeline
215
+ (
216
+ "20_regulatory_timeline.png",
217
+ "scientific-schematics",
218
+ "Regulatory timeline {topic} 2020 to 2028. Past regulations dark blue solid markers, "
219
+ "current green marker, upcoming light blue dashed. Each shows regulation name, date, "
220
+ "brief description. Vertical NOW line at 2024. Professional appearance clear labels",
221
+ ),
222
+ # Risk Mitigation Matrix
223
+ (
224
+ "21_risk_mitigation.png",
225
+ "scientific-schematics",
226
+ "Risk mitigation diagram {topic}. Left column risks in orange/red boxes. "
227
+ "Right column mitigation strategies in green/blue boxes. Arrows connecting "
228
+ "risks to mitigations. Group by category. Risk severity by color intensity. "
229
+ "Include prevention and response. Professional clear labels",
230
+ ),
231
+ # Opportunity Matrix
232
+ (
233
+ "22_opportunity_matrix.png",
234
+ "scientific-schematics",
235
+ "2x2 opportunity matrix {topic}. X-axis Market Attractiveness Low to High. "
236
+ "Y-axis Ability to Win Low to High. Quadrants: Upper-right PURSUE AGGRESSIVELY green, "
237
+ "Upper-left BUILD CAPABILITIES yellow, Lower-right SELECTIVE INVESTMENT yellow, "
238
+ "Lower-left AVOID red. Plot 6-8 opportunity circles with labels. "
239
+ "Size = opportunity value. Professional",
240
+ ),
241
+ # Recommendation Priority Matrix
242
+ (
243
+ "23_recommendation_priority.png",
244
+ "scientific-schematics",
245
+ "2x2 priority matrix {topic} recommendations. X-axis Effort Low to High. "
246
+ "Y-axis Impact Low to High. Quadrants: Upper-left QUICK WINS green Do First, "
247
+ "Upper-right MAJOR PROJECTS blue Plan Carefully, Lower-left FILL-INS gray Do If Time, "
248
+ "Lower-right THANKLESS TASKS red Avoid. Plot 6-8 numbered recommendations. Professional",
249
+ ),
250
+ # Implementation Timeline
251
+ (
252
+ "24_implementation_timeline.png",
253
+ "scientific-schematics",
254
+ "Gantt chart implementation {topic} 24 months. Phase 1 Foundation months 1-6 dark blue. "
255
+ "Phase 2 Build months 4-12 medium blue. Phase 3 Scale months 10-18 teal. "
256
+ "Phase 4 Optimize months 16-24 light blue. Overlapping bars. "
257
+ "Key milestones as diamonds. Month markers X-axis. Professional",
258
+ ),
259
+ # Milestone Tracker
260
+ (
261
+ "25_milestone_tracker.png",
262
+ "scientific-schematics",
263
+ "Milestone tracker {topic} horizontal timeline 8-10 milestones. "
264
+ "Each shows date, name, status: Completed green check, In Progress yellow circle, "
265
+ "Upcoming gray circle. Group by phase. Phase labels above. "
266
+ "Connected timeline line. Professional",
267
+ ),
268
+ # Financial Projections
269
+ (
270
+ "26_financial_projections.png",
271
+ "scientific-schematics",
272
+ "Combined bar and line chart {topic} 5-year projections. Bar chart revenue "
273
+ "primary Y-axis dollars. Line chart growth rate secondary Y-axis percent. "
274
+ "Three scenarios: Conservative gray, Base Case blue, Optimistic green. "
275
+ "X-axis Year 1-5. Data labels. Legend. Title Financial Projections 5-Year. Professional",
276
+ ),
277
+ # Scenario Analysis
278
+ (
279
+ "27_scenario_analysis.png",
280
+ "scientific-schematics",
281
+ "Grouped bar chart {topic} scenario comparison. X-axis metrics: Revenue Y5, "
282
+ "EBITDA Y5, Market Share, ROI. Three bars per metric: Conservative gray, "
283
+ "Base Case blue, Optimistic green. Data labels. Legend. "
284
+ "Title Scenario Analysis Comparison. Professional clear labels",
285
+ ),
286
+ ]
287
+
288
+
289
+ def get_script_path(tool: str) -> Path:
290
+ """Get the path to the appropriate generation script."""
291
+ base_path = Path(__file__).parent.parent.parent # skills directory
292
+
293
+ if tool == "scientific-schematics":
294
+ return base_path / "scientific-schematics" / "scripts" / "generate_schematic.py"
295
+ elif tool == "generate-image":
296
+ return base_path / "generate-image" / "scripts" / "generate_image.py"
297
+ else:
298
+ raise ValueError(f"Unknown tool: {tool}")
299
+
300
+
301
+ def generate_visual(
302
+ filename: str,
303
+ tool: str,
304
+ prompt: str,
305
+ output_dir: Path,
306
+ topic: str,
307
+ skip_existing: bool = False,
308
+ verbose: bool = False,
309
+ ) -> bool:
310
+ """Generate a single visual using the appropriate tool."""
311
+ output_path = output_dir / filename
312
+
313
+ # Skip if exists and skip_existing is True
314
+ if skip_existing and output_path.exists():
315
+ if verbose:
316
+ print(f" [SKIP] {filename} already exists")
317
+ return True
318
+
319
+ # Format prompt with topic
320
+ formatted_prompt = prompt.format(topic=topic)
321
+
322
+ # Get script path
323
+ script_path = get_script_path(tool)
324
+
325
+ if not script_path.exists():
326
+ print(f" [ERROR] Script not found: {script_path}")
327
+ return False
328
+
329
+ # Build command
330
+ if tool == "scientific-schematics":
331
+ cmd = [sys.executable, str(script_path), formatted_prompt, "-o", str(output_path), "--doc-type", "report"]
332
+ else: # generate-image
333
+ cmd = [sys.executable, str(script_path), formatted_prompt, "--output", str(output_path)]
334
+
335
+ if verbose:
336
+ print(f" [GEN] {filename}")
337
+ print(f" Tool: {tool}")
338
+ print(f" Prompt: {formatted_prompt[:80]}...")
339
+
340
+ try:
341
+ result = subprocess.run(
342
+ cmd,
343
+ capture_output=True,
344
+ text=True,
345
+ timeout=120, # 2 minute timeout per image
346
+ )
347
+
348
+ if result.returncode == 0:
349
+ if verbose:
350
+ print(f" [OK] {filename} generated successfully")
351
+ return True
352
+ else:
353
+ print(f" [ERROR] {filename} failed:")
354
+ if result.stderr:
355
+ print(f" {result.stderr[:200]}")
356
+ return False
357
+
358
+ except subprocess.TimeoutExpired:
359
+ print(f" [TIMEOUT] {filename} generation timed out")
360
+ return False
361
+ except Exception as e:
362
+ print(f" [ERROR] {filename}: {str(e)}")
363
+ return False
364
+
365
+
366
+ def main():
367
+ parser = argparse.ArgumentParser(
368
+ description="Generate visuals for a market research report (default: 5-6 core visuals)"
369
+ )
370
+ parser.add_argument(
371
+ "--topic", "-t", required=True, help="Market topic (e.g., 'Electric Vehicle Charging Infrastructure')"
372
+ )
373
+ parser.add_argument(
374
+ "--output-dir", "-o", default="figures", help="Output directory for generated images (default: figures)"
375
+ )
376
+ parser.add_argument(
377
+ "--all", "-a", action="store_true", help="Generate all 27 extended visuals (default: only core 5-6)"
378
+ )
379
+ parser.add_argument("--skip-existing", "-s", action="store_true", help="Skip generation if file already exists")
380
+ parser.add_argument("--verbose", "-v", action="store_true", help="Show detailed output")
381
+ parser.add_argument(
382
+ "--dry-run", action="store_true", help="Show what would be generated without actually generating"
383
+ )
384
+ parser.add_argument("--only", type=str, help="Only generate visuals matching this pattern (e.g., '01_', 'porter')")
385
+
386
+ args = parser.parse_args()
387
+
388
+ # Create output directory
389
+ output_dir = Path(args.output_dir)
390
+ if not args.dry_run:
391
+ output_dir.mkdir(parents=True, exist_ok=True)
392
+
393
+ print(f"\n{'=' * 60}")
394
+ print("Market Research Visual Generator")
395
+ print(f"{'=' * 60}")
396
+ print(f"Topic: {args.topic}")
397
+ print(f"Output Directory: {output_dir.absolute()}")
398
+ print(f"Mode: {'All Visuals (27)' if args.all else 'Core Visuals Only (5-6)'}")
399
+ print(f"Skip Existing: {args.skip_existing}")
400
+ print(f"{'=' * 60}\n")
401
+
402
+ # Select visual set based on --all flag
403
+ if args.all:
404
+ visuals_to_generate = CORE_VISUALS + EXTENDED_VISUALS
405
+ print("Generating ALL visuals (core + extended)\n")
406
+ else:
407
+ visuals_to_generate = CORE_VISUALS
408
+ print("Generating CORE visuals only (use --all for extended set)\n")
409
+
410
+ # Filter visuals if --only specified
411
+ if args.only:
412
+ pattern = args.only.lower()
413
+ visuals_to_generate = [v for v in VISUALS if pattern in v[0].lower() or pattern in v[2].lower()]
414
+ print(f"Filtered to {len(visuals_to_generate)} visuals matching '{args.only}'\n")
415
+
416
+ if args.dry_run:
417
+ print("DRY RUN - The following visuals would be generated:\n")
418
+ for filename, tool, prompt in visuals_to_generate:
419
+ formatted = prompt.format(topic=args.topic)
420
+ print(f" {filename}")
421
+ print(f" Tool: {tool}")
422
+ print(f" Prompt: {formatted[:60]}...")
423
+ print()
424
+ return
425
+
426
+ # Generate all visuals
427
+ total = len(visuals_to_generate)
428
+ success = 0
429
+ failed = 0
430
+ skipped = 0
431
+
432
+ for i, (filename, tool, prompt) in enumerate(visuals_to_generate, 1):
433
+ print(f"\n[{i}/{total}] Generating {filename}...")
434
+
435
+ result = generate_visual(
436
+ filename=filename,
437
+ tool=tool,
438
+ prompt=prompt,
439
+ output_dir=output_dir,
440
+ topic=args.topic,
441
+ skip_existing=args.skip_existing,
442
+ verbose=args.verbose,
443
+ )
444
+
445
+ if result:
446
+ if args.skip_existing and (output_dir / filename).exists():
447
+ skipped += 1
448
+ else:
449
+ success += 1
450
+ else:
451
+ failed += 1
452
+
453
+ # Print summary
454
+ print(f"\n{'=' * 60}")
455
+ print("Generation Complete")
456
+ print(f"{'=' * 60}")
457
+ print(f"Total: {total}")
458
+ print(f"Success: {success}")
459
+ print(f"Skipped: {skipped}")
460
+ print(f"Failed: {failed}")
461
+ print(f"{'=' * 60}")
462
+
463
+ if failed > 0:
464
+ print(f"\nWARNING: {failed} visuals failed to generate.")
465
+ print("Check the output above for error details.")
466
+ print("You may need to generate failed visuals manually.")
467
+
468
+ print(f"\nOutput directory: {output_dir.absolute()}")
469
+
470
+
471
+ if __name__ == "__main__":
472
+ main()