@pikaa-ai/pikaa 0.3.1 → 0.3.4

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 (1870) hide show
  1. package/dist/cli.js +1169 -601
  2. package/dist/index.js +525 -204
  3. package/package.json +5 -3
  4. package/skills/adaptyv/references/api-endpoints.md +0 -690
  5. package/skills/aeon/references/anomaly_detection.md +0 -154
  6. package/skills/aeon/references/classification.md +0 -144
  7. package/skills/aeon/references/clustering.md +0 -123
  8. package/skills/aeon/references/datasets_benchmarking.md +0 -392
  9. package/skills/aeon/references/distances.md +0 -256
  10. package/skills/aeon/references/forecasting.md +0 -109
  11. package/skills/aeon/references/networks.md +0 -289
  12. package/skills/aeon/references/regression.md +0 -118
  13. package/skills/aeon/references/segmentation.md +0 -163
  14. package/skills/aeon/references/similarity_search.md +0 -187
  15. package/skills/aeon/references/transformations.md +0 -246
  16. package/skills/analytical-method-validation/assets/validation-protocol-template.md +0 -106
  17. package/skills/analytical-method-validation/assets/validation-report-template.md +0 -116
  18. package/skills/analytical-method-validation/references/compendial-and-clsi.md +0 -96
  19. package/skills/analytical-method-validation/references/framework-selection.md +0 -87
  20. package/skills/analytical-method-validation/references/ich-m10-bioanalytical.md +0 -123
  21. package/skills/analytical-method-validation/references/ich-q2r2.md +0 -229
  22. package/skills/analytical-method-validation/references/source-ledger.md +0 -125
  23. package/skills/analytical-method-validation/references/statistics.md +0 -209
  24. package/skills/analytical-method-validation/scripts/_catalog.py +0 -499
  25. package/skills/analytical-method-validation/scripts/_common.py +0 -955
  26. package/skills/analytical-method-validation/scripts/check_accuracy_precision.py +0 -328
  27. package/skills/analytical-method-validation/scripts/check_bioanalytical_run.py +0 -293
  28. package/skills/analytical-method-validation/scripts/check_detection_limits.py +0 -310
  29. package/skills/analytical-method-validation/scripts/check_response.py +0 -243
  30. package/skills/analytical-method-validation/scripts/compare_methods.py +0 -215
  31. package/skills/analytical-method-validation/scripts/plan_validation.py +0 -381
  32. package/skills/anndata/references/best_practices.md +0 -532
  33. package/skills/anndata/references/concatenation.md +0 -399
  34. package/skills/anndata/references/data_structure.md +0 -314
  35. package/skills/anndata/references/io_operations.md +0 -466
  36. package/skills/anndata/references/manipulation.md +0 -516
  37. package/skills/arbor/references/arbor-upstream.md +0 -91
  38. package/skills/arbor/references/executor-brief.md +0 -68
  39. package/skills/arbor/references/htr-methodology.md +0 -177
  40. package/skills/arbor/references/report-template.md +0 -39
  41. package/skills/arbor/scripts/tree.py +0 -564
  42. package/skills/arboreto/references/algorithms.md +0 -152
  43. package/skills/arboreto/references/basic_inference.md +0 -181
  44. package/skills/arboreto/references/distributed_computing.md +0 -242
  45. package/skills/arboreto/scripts/basic_grn_inference.py +0 -107
  46. package/skills/astropy/references/coordinates.md +0 -280
  47. package/skills/astropy/references/cosmology.md +0 -309
  48. package/skills/astropy/references/fits.md +0 -398
  49. package/skills/astropy/references/tables.md +0 -495
  50. package/skills/astropy/references/time.md +0 -412
  51. package/skills/astropy/references/units.md +0 -178
  52. package/skills/astropy/references/wcs_and_other_modules.md +0 -377
  53. package/skills/autoskill/config.yaml +0 -53
  54. package/skills/autoskill/references/https-proxy.md +0 -62
  55. package/skills/autoskill/references/screenpipe-config.yaml +0 -61
  56. package/skills/autoskill/scripts/autoskill.py +0 -35
  57. package/skills/autoskill/scripts/backends.py +0 -116
  58. package/skills/autoskill/scripts/cluster.py +0 -54
  59. package/skills/autoskill/scripts/doctor.py +0 -108
  60. package/skills/autoskill/scripts/fetch_window.py +0 -33
  61. package/skills/autoskill/scripts/match_skills.py +0 -46
  62. package/skills/autoskill/scripts/promote.py +0 -58
  63. package/skills/autoskill/scripts/redact.py +0 -40
  64. package/skills/autoskill/scripts/run.py +0 -194
  65. package/skills/autoskill/scripts/synthesize.py +0 -72
  66. package/skills/benchling-integration/references/api_endpoints.md +0 -883
  67. package/skills/benchling-integration/references/authentication.md +0 -390
  68. package/skills/benchling-integration/references/core_capabilities.md +0 -355
  69. package/skills/benchling-integration/references/eventbridge.md +0 -255
  70. package/skills/benchling-integration/references/sdk_reference.md +0 -772
  71. package/skills/bids/references/beps.yml +0 -637
  72. package/skills/bids/references/bids_schema.json +0 -21015
  73. package/skills/bids/references/bids_specification.md +0 -165
  74. package/skills/bids/references/conversion_tools.md +0 -475
  75. package/skills/bids/references/core_workflows.md +0 -552
  76. package/skills/bids/references/metadata_fields.md +0 -365
  77. package/skills/bids/scripts/update_schema.py +0 -89
  78. package/skills/biopython/references/advanced.md +0 -580
  79. package/skills/biopython/references/alignment.md +0 -377
  80. package/skills/biopython/references/blast.md +0 -463
  81. package/skills/biopython/references/databases.md +0 -492
  82. package/skills/biopython/references/phylogenetics.md +0 -566
  83. package/skills/biopython/references/sequence_io.md +0 -289
  84. package/skills/biopython/references/structure.md +0 -564
  85. package/skills/bioservices/references/identifier_mapping.md +0 -685
  86. package/skills/bioservices/references/services_reference.md +0 -638
  87. package/skills/bioservices/references/workflow_patterns.md +0 -813
  88. package/skills/bioservices/scripts/batch_id_converter.py +0 -347
  89. package/skills/bioservices/scripts/compound_cross_reference.py +0 -387
  90. package/skills/bioservices/scripts/pathway_analysis.py +0 -309
  91. package/skills/bioservices/scripts/protein_analysis_workflow.py +0 -441
  92. package/skills/bulk-rnaseq/references/counts-and-handoff.md +0 -91
  93. package/skills/bulk-rnaseq/references/design-and-qc.md +0 -68
  94. package/skills/bulk-rnaseq/references/upstream-manual.md +0 -128
  95. package/skills/bulk-rnaseq/references/upstream-nfcore.md +0 -108
  96. package/skills/bulk-rnaseq/scripts/build_counts_matrix.py +0 -203
  97. package/skills/bulk-rnaseq/scripts/validate_samplesheet.py +0 -206
  98. package/skills/cellxgene-census/references/census_schema.md +0 -218
  99. package/skills/cellxgene-census/references/common_patterns.md +0 -368
  100. package/skills/cellxgene-census/references/core_workflow_patterns.md +0 -297
  101. package/skills/cirq/references/building.md +0 -307
  102. package/skills/cirq/references/experiments.md +0 -572
  103. package/skills/cirq/references/hardware.md +0 -527
  104. package/skills/cirq/references/noise.md +0 -514
  105. package/skills/cirq/references/simulation.md +0 -353
  106. package/skills/cirq/references/transformation.md +0 -416
  107. package/skills/citation-management/assets/bibtex_template.bib +0 -264
  108. package/skills/citation-management/assets/citation_checklist.md +0 -386
  109. package/skills/citation-management/references/best_practices.md +0 -91
  110. package/skills/citation-management/references/bibtex_formatting.md +0 -908
  111. package/skills/citation-management/references/citation_validation.md +0 -835
  112. package/skills/citation-management/references/core_workflow.md +0 -569
  113. package/skills/citation-management/references/example_workflows.md +0 -126
  114. package/skills/citation-management/references/google_scholar_search.md +0 -732
  115. package/skills/citation-management/references/metadata_extraction.md +0 -870
  116. package/skills/citation-management/references/pubmed_search.md +0 -839
  117. package/skills/citation-management/references/script_reference.md +0 -250
  118. package/skills/citation-management/references/search_strategies.md +0 -110
  119. package/skills/citation-management/scripts/_common.py +0 -331
  120. package/skills/citation-management/scripts/doi_to_bibtex.py +0 -204
  121. package/skills/citation-management/scripts/extract_metadata.py +0 -690
  122. package/skills/citation-management/scripts/format_bibtex.py +0 -356
  123. package/skills/citation-management/scripts/search_google_scholar.py +0 -268
  124. package/skills/citation-management/scripts/search_openalex.py +0 -297
  125. package/skills/citation-management/scripts/search_pubmed.py +0 -419
  126. package/skills/citation-management/scripts/validate_citations.py +0 -688
  127. package/skills/clinical-decision-support/assets/aggregate_cohort_table_template.json +0 -114
  128. package/skills/clinical-decision-support/assets/aggregate_model_evaluation_template.json +0 -115
  129. package/skills/clinical-decision-support/assets/artifact_intended_use_template.json +0 -81
  130. package/skills/clinical-decision-support/assets/decision_logic_traceability_template.json +0 -108
  131. package/skills/clinical-decision-support/assets/deidentification_checklist_template.json +0 -176
  132. package/skills/clinical-decision-support/assets/evidence_profile_template.json +0 -139
  133. package/skills/clinical-decision-support/assets/survival_analysis_plan_template.json +0 -134
  134. package/skills/clinical-decision-support/references/cohort_evaluation.md +0 -142
  135. package/skills/clinical-decision-support/references/decision_logic_traceability.md +0 -146
  136. package/skills/clinical-decision-support/references/evidence_profiles.md +0 -153
  137. package/skills/clinical-decision-support/references/model_biomarker_evaluation.md +0 -152
  138. package/skills/clinical-decision-support/references/privacy_and_disclosure.md +0 -144
  139. package/skills/clinical-decision-support/references/regulatory_and_governance.md +0 -104
  140. package/skills/clinical-decision-support/references/safety_and_scope.md +0 -103
  141. package/skills/clinical-decision-support/references/security_validation.md +0 -60
  142. package/skills/clinical-decision-support/references/sources.md +0 -119
  143. package/skills/clinical-decision-support/references/study_reporting.md +0 -134
  144. package/skills/clinical-decision-support/references/survival_analysis.md +0 -156
  145. package/skills/clinical-decision-support/scripts/_common.py +0 -223
  146. package/skills/clinical-decision-support/scripts/cohort_table_generator.py +0 -288
  147. package/skills/clinical-decision-support/scripts/decision_logic_traceability.py +0 -313
  148. package/skills/clinical-decision-support/scripts/deidentification_checklist.py +0 -260
  149. package/skills/clinical-decision-support/scripts/evidence_profile_check.py +0 -259
  150. package/skills/clinical-decision-support/scripts/model_biomarker_evaluation.py +0 -345
  151. package/skills/clinical-decision-support/scripts/survival_plan_validator.py +0 -294
  152. package/skills/clinical-decision-support/scripts/validate_cds_artifact.py +0 -269
  153. package/skills/clinical-reports/assets/adverse_event_aggregate_input_template.csv +0 -1
  154. package/skills/clinical-reports/assets/case_report_template.json +0 -43
  155. package/skills/clinical-reports/assets/clinical_trial_csr_template.json +0 -51
  156. package/skills/clinical-reports/assets/clinical_trial_results_template.json +0 -66
  157. package/skills/clinical-reports/assets/clinical_trial_safety_aggregate_template.json +0 -49
  158. package/skills/clinical-reports/assets/consistency_manifest_template.json +0 -15
  159. package/skills/clinical-reports/assets/deidentification_process_checklist.json +0 -56
  160. package/skills/clinical-reports/assets/lab_report_template.json +0 -36
  161. package/skills/clinical-reports/assets/pathology_report_template.json +0 -36
  162. package/skills/clinical-reports/assets/provenance_manifest_template.json +0 -17
  163. package/skills/clinical-reports/assets/quality_review_checklist.json +0 -34
  164. package/skills/clinical-reports/assets/radiology_report_template.json +0 -34
  165. package/skills/clinical-reports/assets/research_summary_template.json +0 -36
  166. package/skills/clinical-reports/assets/terminology_manifest_template.json +0 -11
  167. package/skills/clinical-reports/assets/trial_protocol_reporting_checklist.json +0 -70
  168. package/skills/clinical-reports/references/case_report_guidelines.md +0 -72
  169. package/skills/clinical-reports/references/clinical_trial_reporting.md +0 -97
  170. package/skills/clinical-reports/references/data_presentation.md +0 -92
  171. package/skills/clinical-reports/references/diagnostic_reports_standards.md +0 -76
  172. package/skills/clinical-reports/references/medical_terminology.md +0 -84
  173. package/skills/clinical-reports/references/privacy_and_deidentification.md +0 -84
  174. package/skills/clinical-reports/references/professional_review.md +0 -78
  175. package/skills/clinical-reports/references/report_type_routing.md +0 -57
  176. package/skills/clinical-reports/references/safety_reporting.md +0 -109
  177. package/skills/clinical-reports/references/sources.md +0 -75
  178. package/skills/clinical-reports/scripts/_common.py +0 -263
  179. package/skills/clinical-reports/scripts/check_deidentification.py +0 -298
  180. package/skills/clinical-reports/scripts/consistency_checker.py +0 -390
  181. package/skills/clinical-reports/scripts/format_adverse_events.py +0 -455
  182. package/skills/clinical-reports/scripts/generate_report_template.py +0 -115
  183. package/skills/clinical-reports/scripts/provenance_validator.py +0 -263
  184. package/skills/clinical-reports/scripts/terminology_validator.py +0 -277
  185. package/skills/clinical-reports/scripts/validate_case_report.py +0 -278
  186. package/skills/clinical-reports/scripts/validate_trial_report.py +0 -534
  187. package/skills/cobrapy/references/api_quick_reference.md +0 -665
  188. package/skills/cobrapy/references/workflows.md +0 -600
  189. package/skills/consciousness-council/references/advanced-configurations.md +0 -96
  190. package/skills/dask/references/arrays.md +0 -495
  191. package/skills/dask/references/bags.md +0 -468
  192. package/skills/dask/references/best-practices.md +0 -277
  193. package/skills/dask/references/dataframes.md +0 -370
  194. package/skills/dask/references/futures.md +0 -541
  195. package/skills/dask/references/schedulers.md +0 -517
  196. package/skills/database-lookup/references/addgene.md +0 -38
  197. package/skills/database-lookup/references/alphafold.md +0 -52
  198. package/skills/database-lookup/references/alphavantage.md +0 -261
  199. package/skills/database-lookup/references/bea.md +0 -409
  200. package/skills/database-lookup/references/bindingdb.md +0 -85
  201. package/skills/database-lookup/references/biogrid.md +0 -110
  202. package/skills/database-lookup/references/bls.md +0 -235
  203. package/skills/database-lookup/references/brenda.md +0 -71
  204. package/skills/database-lookup/references/cbioportal.md +0 -206
  205. package/skills/database-lookup/references/census.md +0 -251
  206. package/skills/database-lookup/references/chebi.md +0 -103
  207. package/skills/database-lookup/references/chembl.md +0 -80
  208. package/skills/database-lookup/references/clinicaltrials.md +0 -86
  209. package/skills/database-lookup/references/clinpgx.md +0 -64
  210. package/skills/database-lookup/references/clinvar.md +0 -91
  211. package/skills/database-lookup/references/cod.md +0 -121
  212. package/skills/database-lookup/references/cosmic.md +0 -59
  213. package/skills/database-lookup/references/dailymed.md +0 -65
  214. package/skills/database-lookup/references/database_selection_guide.md +0 -166
  215. package/skills/database-lookup/references/datacommons.md +0 -237
  216. package/skills/database-lookup/references/dbsnp.md +0 -143
  217. package/skills/database-lookup/references/disgenet.md +0 -52
  218. package/skills/database-lookup/references/drugbank.md +0 -54
  219. package/skills/database-lookup/references/ecb.md +0 -191
  220. package/skills/database-lookup/references/emdb.md +0 -37
  221. package/skills/database-lookup/references/ena.md +0 -372
  222. package/skills/database-lookup/references/encode.md +0 -47
  223. package/skills/database-lookup/references/ensembl.md +0 -539
  224. package/skills/database-lookup/references/epa.md +0 -232
  225. package/skills/database-lookup/references/eurostat.md +0 -237
  226. package/skills/database-lookup/references/fda.md +0 -64
  227. package/skills/database-lookup/references/federal-reserve.md +0 -216
  228. package/skills/database-lookup/references/fred.md +0 -297
  229. package/skills/database-lookup/references/gene-ontology.md +0 -147
  230. package/skills/database-lookup/references/geo.md +0 -130
  231. package/skills/database-lookup/references/gnomad.md +0 -93
  232. package/skills/database-lookup/references/gtex.md +0 -136
  233. package/skills/database-lookup/references/gwas-catalog.md +0 -46
  234. package/skills/database-lookup/references/hca.md +0 -35
  235. package/skills/database-lookup/references/hpo.md +0 -48
  236. package/skills/database-lookup/references/human-protein-atlas.md +0 -57
  237. package/skills/database-lookup/references/interpro.md +0 -120
  238. package/skills/database-lookup/references/jaspar.md +0 -50
  239. package/skills/database-lookup/references/kegg.md +0 -78
  240. package/skills/database-lookup/references/lincs-l1000.md +0 -68
  241. package/skills/database-lookup/references/materials-project.md +0 -123
  242. package/skills/database-lookup/references/metabolomics-workbench.md +0 -98
  243. package/skills/database-lookup/references/monarch.md +0 -46
  244. package/skills/database-lookup/references/mousemine.md +0 -40
  245. package/skills/database-lookup/references/nasa-exoplanet-archive.md +0 -112
  246. package/skills/database-lookup/references/nasa.md +0 -121
  247. package/skills/database-lookup/references/ncbi-gene.md +0 -64
  248. package/skills/database-lookup/references/ncbi-protein.md +0 -104
  249. package/skills/database-lookup/references/ncbi-taxonomy.md +0 -121
  250. package/skills/database-lookup/references/nist.md +0 -105
  251. package/skills/database-lookup/references/noaa.md +0 -199
  252. package/skills/database-lookup/references/omim.md +0 -114
  253. package/skills/database-lookup/references/opentargets.md +0 -459
  254. package/skills/database-lookup/references/openweathermap.md +0 -255
  255. package/skills/database-lookup/references/pdb.md +0 -121
  256. package/skills/database-lookup/references/pride.md +0 -74
  257. package/skills/database-lookup/references/pubchem.md +0 -145
  258. package/skills/database-lookup/references/quickgo.md +0 -45
  259. package/skills/database-lookup/references/reactome.md +0 -140
  260. package/skills/database-lookup/references/retrieval-contract.md +0 -123
  261. package/skills/database-lookup/references/rummageo.md +0 -32
  262. package/skills/database-lookup/references/sdss.md +0 -130
  263. package/skills/database-lookup/references/sec-edgar.md +0 -315
  264. package/skills/database-lookup/references/simbad.md +0 -405
  265. package/skills/database-lookup/references/sra.md +0 -149
  266. package/skills/database-lookup/references/string.md +0 -283
  267. package/skills/database-lookup/references/tcga-gdc.md +0 -58
  268. package/skills/database-lookup/references/treasury.md +0 -215
  269. package/skills/database-lookup/references/ucsc-genome.md +0 -135
  270. package/skills/database-lookup/references/uniprot.md +0 -283
  271. package/skills/database-lookup/references/usgs.md +0 -260
  272. package/skills/database-lookup/references/uspto.md +0 -130
  273. package/skills/database-lookup/references/who.md +0 -283
  274. package/skills/database-lookup/references/worldbank.md +0 -239
  275. package/skills/database-lookup/references/zinc.md +0 -202
  276. package/skills/datamol/references/conformers_module.md +0 -131
  277. package/skills/datamol/references/core_api.md +0 -136
  278. package/skills/datamol/references/core_workflows.md +0 -451
  279. package/skills/datamol/references/descriptors_viz.md +0 -195
  280. package/skills/datamol/references/fragments_scaffolds.md +0 -174
  281. package/skills/datamol/references/io_module.md +0 -112
  282. package/skills/datamol/references/reactions_data.md +0 -218
  283. package/skills/datamol/references/workflow_patterns.md +0 -104
  284. package/skills/deepchem/references/api_reference.md +0 -305
  285. package/skills/deepchem/references/core_capabilities.md +0 -276
  286. package/skills/deepchem/references/typical_workflows.md +0 -109
  287. package/skills/deepchem/references/workflows.md +0 -491
  288. package/skills/deepchem/scripts/graph_neural_network.py +0 -350
  289. package/skills/deepchem/scripts/predict_solubility.py +0 -223
  290. package/skills/deepchem/scripts/transfer_learning.py +0 -443
  291. package/skills/deepspot-m/references/api.md +0 -186
  292. package/skills/deepspot-m/references/whole_slide.md +0 -174
  293. package/skills/deeptools/assets/quick_reference.md +0 -65
  294. package/skills/deeptools/references/core_workflows.md +0 -134
  295. package/skills/deeptools/references/effective_genome_sizes.md +0 -118
  296. package/skills/deeptools/references/normalization_methods.md +0 -424
  297. package/skills/deeptools/references/tools_reference.md +0 -569
  298. package/skills/deeptools/references/workflows.md +0 -476
  299. package/skills/deeptools/scripts/validate_files.py +0 -195
  300. package/skills/deeptools/scripts/workflow_generator.py +0 -520
  301. package/skills/depmap/references/dependency_analysis.md +0 -178
  302. package/skills/dhdna-profiler/references/advanced-profiling.md +0 -72
  303. package/skills/diffdock/assets/batch_template.csv +0 -4
  304. package/skills/diffdock/assets/custom_inference_config.yaml +0 -94
  305. package/skills/diffdock/references/confidence_and_limitations.md +0 -182
  306. package/skills/diffdock/references/parameters_reference.md +0 -173
  307. package/skills/diffdock/references/workflows_examples.md +0 -401
  308. package/skills/diffdock/scripts/analyze_results.py +0 -346
  309. package/skills/diffdock/scripts/prepare_batch_csv.py +0 -257
  310. package/skills/diffdock/scripts/setup_check.py +0 -283
  311. package/skills/dnanexus-integration/references/app-development.md +0 -371
  312. package/skills/dnanexus-integration/references/authentication.md +0 -226
  313. package/skills/dnanexus-integration/references/configuration.md +0 -444
  314. package/skills/dnanexus-integration/references/data-operations.md +0 -474
  315. package/skills/dnanexus-integration/references/job-execution.md +0 -482
  316. package/skills/dnanexus-integration/references/operations-and-troubleshooting.md +0 -506
  317. package/skills/dnanexus-integration/references/python-sdk.md +0 -548
  318. package/skills/dnanexus-integration/references/sources.md +0 -168
  319. package/skills/dnanexus-integration/references/workflow-languages.md +0 -292
  320. package/skills/dnanexus-integration/scripts/inspect_dxpy.py +0 -366
  321. package/skills/dnanexus-integration/scripts/validate_dxapp.py +0 -796
  322. package/skills/docx/LICENSE.txt +0 -30
  323. package/skills/docx/scripts/__init__.py +0 -1
  324. package/skills/docx/scripts/accept_changes.py +0 -135
  325. package/skills/docx/scripts/comment.py +0 -368
  326. package/skills/docx/scripts/merge_runs.py +0 -310
  327. package/skills/docx/scripts/office/helpers/__init__.py +0 -111
  328. package/skills/docx/scripts/office/helpers/pptx_chart.py +0 -170
  329. package/skills/docx/scripts/office/helpers/pptx_slide.py +0 -60
  330. package/skills/docx/scripts/office/helpers/pptx_theme.py +0 -114
  331. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  332. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  333. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  334. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  335. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  336. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  337. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  338. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  339. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  340. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  341. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  342. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  343. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  344. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  345. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  346. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  347. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  348. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  349. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  350. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  351. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  352. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  353. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  354. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  355. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  356. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  357. package/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  358. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  359. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  360. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  361. package/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  362. package/skills/docx/scripts/office/schemas/mce/mc.xsd +0 -75
  363. package/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  364. package/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  365. package/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  366. package/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  367. package/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  368. package/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  369. package/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  370. package/skills/docx/scripts/office/soffice.py +0 -232
  371. package/skills/docx/scripts/office/validate.py +0 -173
  372. package/skills/docx/scripts/office/validators/__init__.py +0 -15
  373. package/skills/docx/scripts/office/validators/base.py +0 -875
  374. package/skills/docx/scripts/office/validators/docx.py +0 -466
  375. package/skills/docx/scripts/office/validators/pptx.py +0 -441
  376. package/skills/docx/scripts/office/validators/redlining.py +0 -299
  377. package/skills/docx/scripts/templates/comments.xml +0 -3
  378. package/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  379. package/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  380. package/skills/docx/scripts/templates/commentsIds.xml +0 -3
  381. package/skills/docx/scripts/templates/people.xml +0 -3
  382. package/skills/esm/references/biohub-platform.md +0 -111
  383. package/skills/esm/references/esm-c-api.md +0 -609
  384. package/skills/esm/references/esm3-api.md +0 -462
  385. package/skills/esm/references/forge-api.md +0 -675
  386. package/skills/esm/references/workflows.md +0 -685
  387. package/skills/etetoolkit/references/api_reference.md +0 -546
  388. package/skills/etetoolkit/references/migration-ete3-to-ete4.md +0 -579
  389. package/skills/etetoolkit/references/taxonomy.md +0 -362
  390. package/skills/etetoolkit/references/visualization.md +0 -516
  391. package/skills/etetoolkit/references/workflows.md +0 -537
  392. package/skills/etetoolkit/scripts/quick_visualize.py +0 -455
  393. package/skills/etetoolkit/scripts/tree_operations.py +0 -446
  394. package/skills/exa-search/references/web-extract.md +0 -53
  395. package/skills/exa-search/references/web-search.md +0 -119
  396. package/skills/exa-search/scripts/exa_extract.py +0 -117
  397. package/skills/exa-search/scripts/exa_search.py +0 -179
  398. package/skills/experimental-design/references/design_types.md +0 -129
  399. package/skills/experimental-design/references/factorial_and_doe.md +0 -130
  400. package/skills/experimental-design/references/randomization_and_blocking.md +0 -116
  401. package/skills/experimental-design/references/sequential_and_adaptive.md +0 -97
  402. package/skills/experimental-design/scripts/doe_designs.py +0 -183
  403. package/skills/experimental-design/scripts/randomization.py +0 -171
  404. package/skills/exploratory-data-analysis/assets/report_template.md +0 -202
  405. package/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +0 -192
  406. package/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +0 -183
  407. package/skills/exploratory-data-analysis/references/general_scientific_formats.md +0 -259
  408. package/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +0 -189
  409. package/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +0 -217
  410. package/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +0 -191
  411. package/skills/exploratory-data-analysis/scripts/__init__.py +0 -1
  412. package/skills/exploratory-data-analysis/scripts/_capabilities.py +0 -576
  413. package/skills/exploratory-data-analysis/scripts/_common.py +0 -460
  414. package/skills/exploratory-data-analysis/scripts/_structured.py +0 -391
  415. package/skills/exploratory-data-analysis/scripts/_tabular.py +0 -905
  416. package/skills/exploratory-data-analysis/scripts/capability_manifest.py +0 -184
  417. package/skills/exploratory-data-analysis/scripts/distribution_sensitivity.py +0 -117
  418. package/skills/exploratory-data-analysis/scripts/eda_analyzer.py +0 -345
  419. package/skills/exploratory-data-analysis/scripts/image_inspector.py +0 -214
  420. package/skills/exploratory-data-analysis/scripts/missingness_leakage_audit.py +0 -130
  421. package/skills/exploratory-data-analysis/scripts/report_scaffold.py +0 -143
  422. package/skills/exploratory-data-analysis/scripts/sequence_inspector.py +0 -255
  423. package/skills/exploratory-data-analysis/scripts/tabular_profile.py +0 -109
  424. package/skills/flowio/references/api_reference.md +0 -355
  425. package/skills/flowio/references/fcs_semantics.md +0 -315
  426. package/skills/flowio/references/sources.md +0 -89
  427. package/skills/flowio/references/troubleshooting.md +0 -399
  428. package/skills/flowio/references/workflows.md +0 -368
  429. package/skills/flowio/scripts/inspect_fcs.py +0 -439
  430. package/skills/fluidsim/references/advanced_features.md +0 -347
  431. package/skills/fluidsim/references/installation.md +0 -263
  432. package/skills/fluidsim/references/output_analysis.md +0 -314
  433. package/skills/fluidsim/references/parameters.md +0 -322
  434. package/skills/fluidsim/references/simulation_workflow.md +0 -329
  435. package/skills/fluidsim/references/solvers.md +0 -191
  436. package/skills/fluidsim/scripts/__init__.py +0 -1
  437. package/skills/fluidsim/scripts/_common.py +0 -491
  438. package/skills/fluidsim/scripts/_schema.py +0 -872
  439. package/skills/fluidsim/scripts/budget_summary.py +0 -396
  440. package/skills/fluidsim/scripts/grid_resource_estimator.py +0 -286
  441. package/skills/fluidsim/scripts/output_inventory.py +0 -353
  442. package/skills/fluidsim/scripts/restart_compatibility.py +0 -424
  443. package/skills/fluidsim/scripts/simulation_dry_run.py +0 -246
  444. package/skills/fluidsim/scripts/solver_config_validator.py +0 -70
  445. package/skills/generate-image/references/models.md +0 -173
  446. package/skills/generate-image/scripts/generate_image.py +0 -752
  447. package/skills/geniml/references/bedspace.md +0 -267
  448. package/skills/geniml/references/consensus_peaks.md +0 -334
  449. package/skills/geniml/references/region2vec.md +0 -289
  450. package/skills/geniml/references/scembed.md +0 -307
  451. package/skills/geniml/references/utilities.md +0 -385
  452. package/skills/geniml/scripts/__init__.py +0 -1
  453. package/skills/geniml/scripts/_common.py +0 -399
  454. package/skills/geniml/scripts/bed_validator.py +0 -363
  455. package/skills/geniml/scripts/consensus_plan.py +0 -416
  456. package/skills/geniml/scripts/corpus_auditor.py +0 -304
  457. package/skills/geniml/scripts/embedding_plan.py +0 -476
  458. package/skills/geniml/scripts/model_artifact_inspector.py +0 -358
  459. package/skills/geniml/scripts/tokenizer_compatibility.py +0 -321
  460. package/skills/genomic-coordinates/references/format-conventions.md +0 -205
  461. package/skills/genomic-coordinates/references/reference-builds.md +0 -154
  462. package/skills/genomic-coordinates/references/transcript-coordinates.md +0 -141
  463. package/skills/genomic-coordinates/references/variant-representation.md +0 -155
  464. package/skills/genomic-coordinates/scripts/_common.py +0 -335
  465. package/skills/genomic-coordinates/scripts/audit_intervals.py +0 -511
  466. package/skills/genomic-coordinates/scripts/check_contigs.py +0 -382
  467. package/skills/genomic-coordinates/scripts/convert_coords.py +0 -180
  468. package/skills/genomic-coordinates/scripts/normalize_variant.py +0 -290
  469. package/skills/genomic-intelligence/references/api-and-auth.md +0 -45
  470. package/skills/genomic-intelligence/references/mcp.md +0 -94
  471. package/skills/genomic-intelligence/references/sequence-acquisition.md +0 -52
  472. package/skills/genomic-intelligence/references/tasks.md +0 -75
  473. package/skills/geomaster/references/advanced-gis.md +0 -376
  474. package/skills/geomaster/references/big-data.md +0 -363
  475. package/skills/geomaster/references/code-examples.md +0 -531
  476. package/skills/geomaster/references/coordinate-systems.md +0 -364
  477. package/skills/geomaster/references/core-libraries.md +0 -273
  478. package/skills/geomaster/references/data-sources.md +0 -330
  479. package/skills/geomaster/references/gis-software.md +0 -369
  480. package/skills/geomaster/references/industry-applications.md +0 -420
  481. package/skills/geomaster/references/machine-learning.md +0 -462
  482. package/skills/geomaster/references/programming-languages.md +0 -456
  483. package/skills/geomaster/references/remote-sensing.md +0 -370
  484. package/skills/geomaster/references/scientific-domains.md +0 -416
  485. package/skills/geomaster/references/specialized-topics.md +0 -428
  486. package/skills/geomaster/references/troubleshooting.md +0 -439
  487. package/skills/geopandas/references/crs-management.md +0 -231
  488. package/skills/geopandas/references/data-io.md +0 -323
  489. package/skills/geopandas/references/data-structures.md +0 -207
  490. package/skills/geopandas/references/geometric-operations.md +0 -262
  491. package/skills/geopandas/references/spatial-analysis.md +0 -294
  492. package/skills/geopandas/references/visualization.md +0 -230
  493. package/skills/geopandas/scripts/_common.py +0 -605
  494. package/skills/geopandas/scripts/crs_reprojection_plan.py +0 -210
  495. package/skills/geopandas/scripts/export_plan.py +0 -305
  496. package/skills/geopandas/scripts/geometry_validity_report.py +0 -227
  497. package/skills/geopandas/scripts/sensitive_coordinates_checklist.py +0 -230
  498. package/skills/geopandas/scripts/spatial_join_audit.py +0 -368
  499. package/skills/geopandas/scripts/vector_inventory.py +0 -140
  500. package/skills/get-available-resources/references/resource_semantics.md +0 -206
  501. package/skills/get-available-resources/references/snapshot_schema.md +0 -172
  502. package/skills/get-available-resources/references/sources.md +0 -124
  503. package/skills/get-available-resources/scripts/_common.py +0 -190
  504. package/skills/get-available-resources/scripts/accelerator_diagnostics.py +0 -151
  505. package/skills/get-available-resources/scripts/detect_resources.py +0 -1767
  506. package/skills/get-available-resources/scripts/plan_workload.py +0 -311
  507. package/skills/get-available-resources/scripts/snapshot_tools.py +0 -486
  508. package/skills/gget/references/common_workflows.md +0 -120
  509. package/skills/gget/references/database_info.md +0 -336
  510. package/skills/gget/references/module_catalog.md +0 -733
  511. package/skills/gget/references/module_reference.md +0 -526
  512. package/skills/gget/references/workflows.md +0 -815
  513. package/skills/gget/scripts/batch_sequence_analysis.py +0 -192
  514. package/skills/gget/scripts/enrichment_pipeline.py +0 -235
  515. package/skills/gget/scripts/gene_analysis.py +0 -175
  516. package/skills/ginkgo-cloud-lab/references/cell-free-protein-expression-hibit.md +0 -53
  517. package/skills/ginkgo-cloud-lab/references/cell-free-protein-expression-optimization.md +0 -85
  518. package/skills/ginkgo-cloud-lab/references/cell-free-protein-expression-validation.md +0 -71
  519. package/skills/ginkgo-cloud-lab/references/cfps-expression-purification-quantification.md +0 -60
  520. package/skills/ginkgo-cloud-lab/references/cfps-strep-purification-thermal-shift.md +0 -63
  521. package/skills/ginkgo-cloud-lab/references/cfps-strep-tag-purification-a280.md +0 -55
  522. package/skills/ginkgo-cloud-lab/references/echo-ms-cfps-detection.md +0 -49
  523. package/skills/ginkgo-cloud-lab/references/echo-ms-method-onboarding.md +0 -56
  524. package/skills/ginkgo-cloud-lab/references/ecoli-expression-purification-quantification.md +0 -49
  525. package/skills/ginkgo-cloud-lab/references/ecoli-minibinder-expression-histag-a280.md +0 -62
  526. package/skills/ginkgo-cloud-lab/references/ecoli-protein-expression-hibit.md +0 -44
  527. package/skills/ginkgo-cloud-lab/references/ecoli-protein-expression-histag-a280.md +0 -47
  528. package/skills/ginkgo-cloud-lab/references/fluorescent-pixel-art-generation.md +0 -73
  529. package/skills/ginkgo-cloud-lab/references/ivt-rna-synthesis-qpcr.md +0 -67
  530. package/skills/ginkgo-cloud-lab/references/minibinder-strep-tag-a280.md +0 -58
  531. package/skills/ginkgo-cloud-lab/references/pichia-protein-expression-labchip.md +0 -43
  532. package/skills/ginkgo-cloud-lab/references/spr-target-onboarding.md +0 -58
  533. package/skills/glycoengineering/references/glycan_databases.md +0 -165
  534. package/skills/gtars/references/cli.md +0 -334
  535. package/skills/gtars/references/coverage.md +0 -224
  536. package/skills/gtars/references/overlap.md +0 -220
  537. package/skills/gtars/references/python-api.md +0 -280
  538. package/skills/gtars/references/refget.md +0 -318
  539. package/skills/gtars/references/tokenizers.md +0 -256
  540. package/skills/gtars/scripts/__init__.py +0 -1
  541. package/skills/gtars/scripts/_common.py +0 -461
  542. package/skills/gtars/scripts/artifact_inspector.py +0 -328
  543. package/skills/gtars/scripts/bed_validator.py +0 -183
  544. package/skills/gtars/scripts/coverage_preflight.py +0 -256
  545. package/skills/gtars/scripts/execution_plan.py +0 -365
  546. package/skills/gtars/scripts/refget_digest_plan.py +0 -311
  547. package/skills/gtars/scripts/tokenizer_manifest.py +0 -238
  548. package/skills/histolab/references/core_capabilities.md +0 -305
  549. package/skills/histolab/references/filters_preprocessing.md +0 -537
  550. package/skills/histolab/references/slide_management.md +0 -184
  551. package/skills/histolab/references/tile_extraction.md +0 -421
  552. package/skills/histolab/references/tissue_masks.md +0 -251
  553. package/skills/histolab/references/typical_workflows.md +0 -196
  554. package/skills/histolab/references/visualization.md +0 -548
  555. package/skills/hugging-science/references/flagship-resources.md +0 -81
  556. package/skills/hugging-science/references/topics-and-slugs.md +0 -82
  557. package/skills/hugging-science/references/using-datasets.md +0 -107
  558. package/skills/hugging-science/references/using-models.md +0 -122
  559. package/skills/hugging-science/references/using-spaces.md +0 -119
  560. package/skills/hugging-science/scripts/fetch_catalog.py +0 -358
  561. package/skills/hypogenic/assets/dataset_manifest.example.json +0 -30
  562. package/skills/hypogenic/assets/result.example.json +0 -18
  563. package/skills/hypogenic/assets/run_config.example.json +0 -46
  564. package/skills/hypogenic/assets/task_config.example.yaml +0 -38
  565. package/skills/hypogenic/references/configuration.md +0 -136
  566. package/skills/hypogenic/references/datasets.md +0 -146
  567. package/skills/hypogenic/references/evaluation.md +0 -155
  568. package/skills/hypogenic/references/security.md +0 -167
  569. package/skills/hypogenic/references/sources.md +0 -113
  570. package/skills/hypogenic/references/upstream.md +0 -188
  571. package/skills/hypogenic/scripts/__init__.py +0 -1
  572. package/skills/hypogenic/scripts/_common.py +0 -1312
  573. package/skills/hypogenic/scripts/audit_dataset.py +0 -410
  574. package/skills/hypogenic/scripts/evaluate_local.py +0 -250
  575. package/skills/hypogenic/scripts/inspect_outputs.py +0 -166
  576. package/skills/hypogenic/scripts/plan_run.py +0 -247
  577. package/skills/hypogenic/scripts/validate_config.py +0 -192
  578. package/skills/hypothesis-generation/assets/evidence_ledger_template.csv +0 -2
  579. package/skills/hypothesis-generation/assets/falsification_controls_template.json +0 -116
  580. package/skills/hypothesis-generation/assets/hypothesis_record_template.json +0 -331
  581. package/skills/hypothesis-generation/assets/operationalization_template.json +0 -56
  582. package/skills/hypothesis-generation/assets/prediction_rival_matrix_template.csv +0 -3
  583. package/skills/hypothesis-generation/assets/preregistration_scaffold_template.md +0 -137
  584. package/skills/hypothesis-generation/assets/search_boundary_template.json +0 -23
  585. package/skills/hypothesis-generation/assets/source_ledger.csv +0 -37
  586. package/skills/hypothesis-generation/references/causal_inference_and_claims.md +0 -190
  587. package/skills/hypothesis-generation/references/concepts_and_workflow.md +0 -173
  588. package/skills/hypothesis-generation/references/ethics_safety_and_ai.md +0 -216
  589. package/skills/hypothesis-generation/references/experimental_design_patterns.md +0 -301
  590. package/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +0 -203
  591. package/skills/hypothesis-generation/references/literature_search_strategies.md +0 -208
  592. package/skills/hypothesis-generation/references/preregistration_and_open_science.md +0 -205
  593. package/skills/hypothesis-generation/references/security_validation.md +0 -74
  594. package/skills/hypothesis-generation/references/source_ledger.md +0 -116
  595. package/skills/hypothesis-generation/references/tool_reference.md +0 -246
  596. package/skills/hypothesis-generation/scripts/_common.py +0 -412
  597. package/skills/hypothesis-generation/scripts/audit_evidence_ledger.py +0 -337
  598. package/skills/hypothesis-generation/scripts/check_falsification_controls.py +0 -455
  599. package/skills/hypothesis-generation/scripts/check_operationalization.py +0 -237
  600. package/skills/hypothesis-generation/scripts/generate_preregistration_scaffold.py +0 -384
  601. package/skills/hypothesis-generation/scripts/lint_causal_claims.py +0 -189
  602. package/skills/hypothesis-generation/scripts/validate_hypothesis_schema.py +0 -1078
  603. package/skills/hypothesis-generation/scripts/validate_prediction_matrix.py +0 -286
  604. package/skills/imaging-data-commons/references/bigquery_guide.md +0 -858
  605. package/skills/imaging-data-commons/references/cli_guide.md +0 -287
  606. package/skills/imaging-data-commons/references/clinical_data_guide.md +0 -328
  607. package/skills/imaging-data-commons/references/cloud_storage_guide.md +0 -333
  608. package/skills/imaging-data-commons/references/dicomweb_guide.md +0 -399
  609. package/skills/imaging-data-commons/references/digital_pathology_guide.md +0 -403
  610. package/skills/imaging-data-commons/references/index_tables_guide.md +0 -203
  611. package/skills/imaging-data-commons/references/licensing_and_citation.md +0 -230
  612. package/skills/imaging-data-commons/references/mcp_guide.md +0 -181
  613. package/skills/imaging-data-commons/references/parquet_access_guide.md +0 -200
  614. package/skills/imaging-data-commons/references/rest_api_guide.md +0 -612
  615. package/skills/imaging-data-commons/references/sql_patterns.md +0 -462
  616. package/skills/imaging-data-commons/references/use_cases.md +0 -277
  617. package/skills/imaging-data-commons/scripts/check_version.py +0 -132
  618. package/skills/infographics/references/color_palettes.md +0 -496
  619. package/skills/infographics/references/design_principles.md +0 -636
  620. package/skills/infographics/references/infographic_type_catalog.md +0 -158
  621. package/skills/infographics/references/infographic_types.md +0 -907
  622. package/skills/infographics/references/iterative_refinement.md +0 -119
  623. package/skills/infographics/scripts/generate_infographic.py +0 -291
  624. package/skills/infographics/scripts/generate_infographic_ai.py +0 -1446
  625. package/skills/iso-standards-readiness/assets/templates/capa-record-template.json +0 -99
  626. package/skills/iso-standards-readiness/assets/templates/document-register-template.json +0 -75
  627. package/skills/iso-standards-readiness/assets/templates/evidence-manifest-template.json +0 -65
  628. package/skills/iso-standards-readiness/assets/templates/laboratory-scope-intake-template.json +0 -111
  629. package/skills/iso-standards-readiness/assets/templates/medical-laboratory-scope-intake-template.json +0 -111
  630. package/skills/iso-standards-readiness/assets/templates/procedures/CAPA-procedure-template.md +0 -148
  631. package/skills/iso-standards-readiness/assets/templates/procedures/document-control-procedure-template.md +0 -132
  632. package/skills/iso-standards-readiness/assets/templates/qmsr-transition-template.json +0 -181
  633. package/skills/iso-standards-readiness/assets/templates/quality-manual-template.md +0 -182
  634. package/skills/iso-standards-readiness/assets/templates/scope-intake-template.json +0 -109
  635. package/skills/iso-standards-readiness/assets/templates/supplier-controls-template.json +0 -119
  636. package/skills/iso-standards-readiness/assets/templates/traceability-matrix-template.json +0 -154
  637. package/skills/iso-standards-readiness/references/assurance-lanes.md +0 -116
  638. package/skills/iso-standards-readiness/references/evidence-architecture.md +0 -282
  639. package/skills/iso-standards-readiness/references/gap-analysis-checklist.md +0 -346
  640. package/skills/iso-standards-readiness/references/iso-13485.md +0 -236
  641. package/skills/iso-standards-readiness/references/iso-14971.md +0 -172
  642. package/skills/iso-standards-readiness/references/iso-15189.md +0 -219
  643. package/skills/iso-standards-readiness/references/iso-17025.md +0 -208
  644. package/skills/iso-standards-readiness/references/quality-manual-guide.md +0 -282
  645. package/skills/iso-standards-readiness/references/source-ledger.md +0 -357
  646. package/skills/iso-standards-readiness/scripts/_catalog.py +0 -248
  647. package/skills/iso-standards-readiness/scripts/_common.py +0 -558
  648. package/skills/iso-standards-readiness/scripts/audit_document_records.py +0 -148
  649. package/skills/iso-standards-readiness/scripts/check_capa.py +0 -240
  650. package/skills/iso-standards-readiness/scripts/check_qmsr_transition.py +0 -164
  651. package/skills/iso-standards-readiness/scripts/check_supplier_controls.py +0 -166
  652. package/skills/iso-standards-readiness/scripts/check_traceability.py +0 -171
  653. package/skills/iso-standards-readiness/scripts/gap_analyzer.py +0 -167
  654. package/skills/iso-standards-readiness/scripts/validate_evidence_manifest.py +0 -246
  655. package/skills/iso-standards-readiness/scripts/validate_scope_intake.py +0 -209
  656. package/skills/lab-hardware-cad/assets/standards.json +0 -198
  657. package/skills/lab-hardware-cad/references/behavior-rigs.md +0 -136
  658. package/skills/lab-hardware-cad/references/build123d-patterns.md +0 -363
  659. package/skills/lab-hardware-cad/references/fabrication-limits.md +0 -156
  660. package/skills/lab-hardware-cad/references/labware-adapters.md +0 -190
  661. package/skills/lab-hardware-cad/references/microfluidics.md +0 -157
  662. package/skills/lab-hardware-cad/references/optomechanics.md +0 -148
  663. package/skills/lab-hardware-cad/references/validation.md +0 -132
  664. package/skills/lab-hardware-cad/scripts/_common.py +0 -650
  665. package/skills/lab-hardware-cad/scripts/check.py +0 -645
  666. package/skills/lab-hardware-cad/scripts/gen.py +0 -264
  667. package/skills/lab-hardware-cad/scripts/snapshot.py +0 -278
  668. package/skills/labarchive-integration/references/api_reference.md +0 -250
  669. package/skills/labarchive-integration/references/authentication_guide.md +0 -191
  670. package/skills/labarchive-integration/references/integrations.md +0 -162
  671. package/skills/labarchive-integration/references/sources.md +0 -213
  672. package/skills/labarchive-integration/scripts/entry_operations.py +0 -381
  673. package/skills/labarchive-integration/scripts/notebook_operations.py +0 -451
  674. package/skills/labarchive-integration/scripts/setup_config.py +0 -258
  675. package/skills/lamindb/references/annotation-validation.md +0 -510
  676. package/skills/lamindb/references/core-concepts.md +0 -383
  677. package/skills/lamindb/references/data-management.md +0 -432
  678. package/skills/lamindb/references/integrations.md +0 -663
  679. package/skills/lamindb/references/ontologies.md +0 -498
  680. package/skills/lamindb/references/setup-deployment.md +0 -755
  681. package/skills/latchbio-integration/references/data-management.md +0 -257
  682. package/skills/latchbio-integration/references/latch-mcp.md +0 -158
  683. package/skills/latchbio-integration/references/nextflow-snakemake.md +0 -258
  684. package/skills/latchbio-integration/references/operations-and-debugging.md +0 -320
  685. package/skills/latchbio-integration/references/registry.md +0 -275
  686. package/skills/latchbio-integration/references/resource-configuration.md +0 -274
  687. package/skills/latchbio-integration/references/ui-and-automation.md +0 -355
  688. package/skills/latchbio-integration/references/verified-workflows.md +0 -226
  689. package/skills/latchbio-integration/references/workflow-creation.md +0 -275
  690. package/skills/latchbio-integration/scripts/inspect_latch_sdk.py +0 -290
  691. package/skills/latex-posters/assets/baposter_template.tex +0 -257
  692. package/skills/latex-posters/assets/beamerposter_template.tex +0 -244
  693. package/skills/latex-posters/assets/poster_quality_checklist.md +0 -358
  694. package/skills/latex-posters/assets/tikzposter_template.tex +0 -251
  695. package/skills/latex-posters/references/ai_graphics_for_posters.md +0 -524
  696. package/skills/latex-posters/references/compilation_and_quality_control.md +0 -467
  697. package/skills/latex-posters/references/latex_poster_packages.md +0 -745
  698. package/skills/latex-posters/references/latex_poster_reference.md +0 -241
  699. package/skills/latex-posters/references/poster_content_guide.md +0 -748
  700. package/skills/latex-posters/references/poster_design_principles.md +0 -806
  701. package/skills/latex-posters/references/poster_layout_design.md +0 -900
  702. package/skills/latex-posters/references/poster_patterns_and_presentation.md +0 -81
  703. package/skills/latex-posters/scripts/generate_schematic.py +0 -198
  704. package/skills/latex-posters/scripts/generate_schematic_ai.py +0 -950
  705. package/skills/latex-posters/scripts/review_poster.sh +0 -214
  706. package/skills/liteparse/references/api_reference.md +0 -169
  707. package/skills/liteparse/references/choosing_a_parser.md +0 -70
  708. package/skills/liteparse/references/cli_reference.md +0 -118
  709. package/skills/liteparse/references/ocr_and_formats.md +0 -143
  710. package/skills/liteparse/references/output_formats.md +0 -146
  711. package/skills/liteparse/scripts/batch_parse_dir.py +0 -163
  712. package/skills/literature-review/assets/review_template.md +0 -412
  713. package/skills/literature-review/references/citation_styles.md +0 -166
  714. package/skills/literature-review/references/core_workflow.md +0 -260
  715. package/skills/literature-review/references/database_strategies.md +0 -455
  716. package/skills/literature-review/references/example_workflow.md +0 -68
  717. package/skills/literature-review/references/search_and_citation.md +0 -157
  718. package/skills/literature-review/scripts/generate_pdf.py +0 -176
  719. package/skills/literature-review/scripts/generate_schematic.py +0 -198
  720. package/skills/literature-review/scripts/generate_schematic_ai.py +0 -950
  721. package/skills/literature-review/scripts/search_databases.py +0 -303
  722. package/skills/literature-review/scripts/verify_citations.py +0 -222
  723. package/skills/markdown-mermaid-writing/assets/examples/example-research-report.md +0 -221
  724. package/skills/markdown-mermaid-writing/references/diagrams/architecture.md +0 -108
  725. package/skills/markdown-mermaid-writing/references/diagrams/block.md +0 -177
  726. package/skills/markdown-mermaid-writing/references/diagrams/c4.md +0 -136
  727. package/skills/markdown-mermaid-writing/references/diagrams/class.md +0 -246
  728. package/skills/markdown-mermaid-writing/references/diagrams/complex_examples.md +0 -384
  729. package/skills/markdown-mermaid-writing/references/diagrams/er.md +0 -222
  730. package/skills/markdown-mermaid-writing/references/diagrams/flowchart.md +0 -177
  731. package/skills/markdown-mermaid-writing/references/diagrams/gantt.md +0 -138
  732. package/skills/markdown-mermaid-writing/references/diagrams/git_graph.md +0 -74
  733. package/skills/markdown-mermaid-writing/references/diagrams/kanban.md +0 -107
  734. package/skills/markdown-mermaid-writing/references/diagrams/mindmap.md +0 -74
  735. package/skills/markdown-mermaid-writing/references/diagrams/packet.md +0 -55
  736. package/skills/markdown-mermaid-writing/references/diagrams/pie.md +0 -52
  737. package/skills/markdown-mermaid-writing/references/diagrams/quadrant.md +0 -66
  738. package/skills/markdown-mermaid-writing/references/diagrams/radar.md +0 -59
  739. package/skills/markdown-mermaid-writing/references/diagrams/requirement.md +0 -88
  740. package/skills/markdown-mermaid-writing/references/diagrams/sankey.md +0 -71
  741. package/skills/markdown-mermaid-writing/references/diagrams/sequence.md +0 -174
  742. package/skills/markdown-mermaid-writing/references/diagrams/state.md +0 -150
  743. package/skills/markdown-mermaid-writing/references/diagrams/timeline.md +0 -96
  744. package/skills/markdown-mermaid-writing/references/diagrams/treemap.md +0 -66
  745. package/skills/markdown-mermaid-writing/references/diagrams/user_journey.md +0 -108
  746. package/skills/markdown-mermaid-writing/references/diagrams/xy_chart.md +0 -53
  747. package/skills/markdown-mermaid-writing/references/diagrams/zenuml.md +0 -71
  748. package/skills/markdown-mermaid-writing/references/markdown_style_guide.md +0 -733
  749. package/skills/markdown-mermaid-writing/references/mermaid_style_guide.md +0 -458
  750. package/skills/markdown-mermaid-writing/templates/decision_record.md +0 -211
  751. package/skills/markdown-mermaid-writing/templates/how_to_guide.md +0 -275
  752. package/skills/markdown-mermaid-writing/templates/issue.md +0 -303
  753. package/skills/markdown-mermaid-writing/templates/kanban.md +0 -223
  754. package/skills/markdown-mermaid-writing/templates/presentation.md +0 -312
  755. package/skills/markdown-mermaid-writing/templates/project_documentation.md +0 -412
  756. package/skills/markdown-mermaid-writing/templates/pull_request.md +0 -319
  757. package/skills/markdown-mermaid-writing/templates/research_paper.md +0 -304
  758. package/skills/markdown-mermaid-writing/templates/status_report.md +0 -185
  759. package/skills/market-research-reports/assets/FORMATTING_GUIDE.md +0 -149
  760. package/skills/market-research-reports/assets/claims_ledger_template.csv +0 -4
  761. package/skills/market-research-reports/assets/competitor_feature_matrix_template.csv +0 -5
  762. package/skills/market-research-reports/assets/consistency_check_template.csv +0 -3
  763. package/skills/market-research-reports/assets/forecast_sensitivity_template.json +0 -90
  764. package/skills/market-research-reports/assets/market_report_template.tex +0 -279
  765. package/skills/market-research-reports/assets/market_research.sty +0 -241
  766. package/skills/market-research-reports/assets/market_sizing_scenarios_template.json +0 -129
  767. package/skills/market-research-reports/assets/report_manifest_template.json +0 -27
  768. package/skills/market-research-reports/assets/source_ledger_template.csv +0 -4
  769. package/skills/market-research-reports/references/data_analysis_patterns.md +0 -290
  770. package/skills/market-research-reports/references/evidence_model.md +0 -148
  771. package/skills/market-research-reports/references/methods_and_ethics.md +0 -162
  772. package/skills/market-research-reports/references/official_data_sources.md +0 -196
  773. package/skills/market-research-reports/references/report_structure_guide.md +0 -283
  774. package/skills/market-research-reports/references/sources.md +0 -73
  775. package/skills/market-research-reports/references/visual_generation_guide.md +0 -158
  776. package/skills/market-research-reports/scripts/_common.py +0 -312
  777. package/skills/market-research-reports/scripts/audit_claim_citations.py +0 -326
  778. package/skills/market-research-reports/scripts/calculate_market_sizing.py +0 -389
  779. package/skills/market-research-reports/scripts/check_unit_consistency.py +0 -217
  780. package/skills/market-research-reports/scripts/forecast_sensitivity.py +0 -326
  781. package/skills/market-research-reports/scripts/generate_report_scaffold.py +0 -444
  782. package/skills/market-research-reports/scripts/validate_competitor_matrix.py +0 -223
  783. package/skills/market-research-reports/scripts/validate_evidence_ledger.py +0 -291
  784. package/skills/markitdown/references/api_reference.md +0 -418
  785. package/skills/markitdown/references/cloud_and_ocr.md +0 -320
  786. package/skills/markitdown/references/file_formats.md +0 -281
  787. package/skills/markitdown/references/mcp_and_plugins.md +0 -243
  788. package/skills/markitdown/references/migration.md +0 -356
  789. package/skills/markitdown/references/security.md +0 -246
  790. package/skills/markitdown/references/workflows.md +0 -309
  791. package/skills/markitdown/scripts/batch_convert.py +0 -354
  792. package/skills/markitdown/scripts/convert_literature.py +0 -405
  793. package/skills/markitdown/scripts/inspect_installation.py +0 -162
  794. package/skills/matchms/references/filtering.md +0 -299
  795. package/skills/matchms/references/importing_exporting.md +0 -323
  796. package/skills/matchms/references/migration.md +0 -387
  797. package/skills/matchms/references/similarity.md +0 -413
  798. package/skills/matchms/references/sources.md +0 -113
  799. package/skills/matchms/references/workflows.md +0 -451
  800. package/skills/matchms/scripts/library_search.py +0 -593
  801. package/skills/matlab/assets/project_manifest_template.json +0 -33
  802. package/skills/matlab/assets/python_compatibility_r2026a.json +0 -27
  803. package/skills/matlab/assets/reproducibility_manifest_template.json +0 -32
  804. package/skills/matlab/references/data-import-export.md +0 -221
  805. package/skills/matlab/references/executing-scripts.md +0 -213
  806. package/skills/matlab/references/graphics-visualization.md +0 -181
  807. package/skills/matlab/references/mathematics.md +0 -208
  808. package/skills/matlab/references/matrices-arrays.md +0 -228
  809. package/skills/matlab/references/octave-compatibility.md +0 -212
  810. package/skills/matlab/references/programming.md +0 -225
  811. package/skills/matlab/references/python-integration.md +0 -248
  812. package/skills/matlab/scripts/_common.py +0 -263
  813. package/skills/matlab/scripts/generate_function_scaffold.py +0 -165
  814. package/skills/matlab/scripts/inventory_mat_file.py +0 -351
  815. package/skills/matlab/scripts/plan_batch_command.py +0 -257
  816. package/skills/matlab/scripts/plan_python_compatibility.py +0 -176
  817. package/skills/matlab/scripts/reproducibility_report.py +0 -233
  818. package/skills/matlab/scripts/scan_m_code.py +0 -433
  819. package/skills/matlab/scripts/validate_project_manifest.py +0 -348
  820. package/skills/matplotlib/references/api_reference.md +0 -409
  821. package/skills/matplotlib/references/common_issues.md +0 -562
  822. package/skills/matplotlib/references/plot_types.md +0 -469
  823. package/skills/matplotlib/references/styling_guide.md +0 -600
  824. package/skills/matplotlib/scripts/plot_template.py +0 -406
  825. package/skills/matplotlib/scripts/style_configurator.py +0 -412
  826. package/skills/medchem/references/api_guide.md +0 -331
  827. package/skills/medchem/references/rules_catalog.md +0 -328
  828. package/skills/medchem/scripts/filter_molecules.py +0 -302
  829. package/skills/modal/references/api_reference.md +0 -225
  830. package/skills/modal/references/examples.md +0 -276
  831. package/skills/modal/references/functions.md +0 -260
  832. package/skills/modal/references/getting-started.md +0 -171
  833. package/skills/modal/references/gpu.md +0 -177
  834. package/skills/modal/references/images.md +0 -266
  835. package/skills/modal/references/resources.md +0 -117
  836. package/skills/modal/references/scaling.md +0 -173
  837. package/skills/modal/references/scheduled-jobs.md +0 -147
  838. package/skills/modal/references/secrets.md +0 -119
  839. package/skills/modal/references/volumes.md +0 -247
  840. package/skills/modal/references/web-endpoints.md +0 -259
  841. package/skills/molecular-dynamics/references/mdanalysis_analysis.md +0 -208
  842. package/skills/molfeat/references/api_reference.md +0 -429
  843. package/skills/molfeat/references/available_featurizers.md +0 -335
  844. package/skills/molfeat/references/choosing_a_featurizer.md +0 -192
  845. package/skills/molfeat/references/examples.md +0 -720
  846. package/skills/ncats-arax/references/output-schema.md +0 -186
  847. package/skills/ncats-arax/references/query-contract.md +0 -140
  848. package/skills/ncats-arax/scripts/arax_client.py +0 -2087
  849. package/skills/networkx/references/algorithms.md +0 -384
  850. package/skills/networkx/references/generators.md +0 -385
  851. package/skills/networkx/references/graph-basics.md +0 -284
  852. package/skills/networkx/references/io.md +0 -457
  853. package/skills/networkx/references/visualization.md +0 -531
  854. package/skills/neurokit2/references/bio_module.md +0 -244
  855. package/skills/neurokit2/references/complexity.md +0 -212
  856. package/skills/neurokit2/references/ecg_cardiac.md +0 -193
  857. package/skills/neurokit2/references/eda.md +0 -185
  858. package/skills/neurokit2/references/eeg.md +0 -204
  859. package/skills/neurokit2/references/emg.md +0 -157
  860. package/skills/neurokit2/references/eog.md +0 -154
  861. package/skills/neurokit2/references/epochs_events.md +0 -199
  862. package/skills/neurokit2/references/hrv.md +0 -205
  863. package/skills/neurokit2/references/ppg.md +0 -191
  864. package/skills/neurokit2/references/rsp.md +0 -212
  865. package/skills/neurokit2/references/signal_processing.md +0 -160
  866. package/skills/neurokit2/scripts/_common.py +0 -567
  867. package/skills/neurokit2/scripts/ecg_hrv_pipeline.py +0 -303
  868. package/skills/neurokit2/scripts/eda_pipeline.py +0 -288
  869. package/skills/neurokit2/scripts/generate_synthetic.py +0 -221
  870. package/skills/neurokit2/scripts/inspect_signal.py +0 -362
  871. package/skills/neurokit2/scripts/plan_epochs.py +0 -281
  872. package/skills/neurokit2/scripts/validate_multimodal.py +0 -350
  873. package/skills/neuropixels-analysis/assets/analysis_template.py +0 -271
  874. package/skills/neuropixels-analysis/references/AI_CURATION.md +0 -164
  875. package/skills/neuropixels-analysis/references/ANALYSIS.md +0 -392
  876. package/skills/neuropixels-analysis/references/AUTOMATED_CURATION.md +0 -435
  877. package/skills/neuropixels-analysis/references/MOTION_CORRECTION.md +0 -323
  878. package/skills/neuropixels-analysis/references/PREPROCESSING.md +0 -273
  879. package/skills/neuropixels-analysis/references/QUALITY_METRICS.md +0 -359
  880. package/skills/neuropixels-analysis/references/SPIKE_SORTING.md +0 -339
  881. package/skills/neuropixels-analysis/references/api_reference.md +0 -229
  882. package/skills/neuropixels-analysis/references/plotting_guide.md +0 -454
  883. package/skills/neuropixels-analysis/references/standard_workflow.md +0 -305
  884. package/skills/neuropixels-analysis/scripts/compute_metrics.py +0 -182
  885. package/skills/neuropixels-analysis/scripts/explore_recording.py +0 -168
  886. package/skills/neuropixels-analysis/scripts/export_to_phy.py +0 -79
  887. package/skills/neuropixels-analysis/scripts/neuropixels_pipeline.py +0 -442
  888. package/skills/neuropixels-analysis/scripts/preprocess_recording.py +0 -122
  889. package/skills/neuropixels-analysis/scripts/run_sorting.py +0 -98
  890. package/skills/nextflow/references/configuration.md +0 -276
  891. package/skills/nextflow/references/containers.md +0 -92
  892. package/skills/nextflow/references/developing.md +0 -301
  893. package/skills/nextflow/references/language.md +0 -327
  894. package/skills/nextflow/references/nf-core-tools.md +0 -130
  895. package/skills/nextflow/references/running-pipelines.md +0 -131
  896. package/skills/nextflow/references/testing.md +0 -189
  897. package/skills/omero-integration/references/advanced.md +0 -273
  898. package/skills/omero-integration/references/connection.md +0 -293
  899. package/skills/omero-integration/references/data_access.md +0 -359
  900. package/skills/omero-integration/references/image_processing.md +0 -286
  901. package/skills/omero-integration/references/metadata.md +0 -313
  902. package/skills/omero-integration/references/rois.md +0 -291
  903. package/skills/omero-integration/references/scripts.md +0 -304
  904. package/skills/omero-integration/references/sources.md +0 -194
  905. package/skills/omero-integration/references/tables.md +0 -269
  906. package/skills/omero-integration/scripts/export_image_metadata.py +0 -560
  907. package/skills/omero-integration/scripts/inventory.py +0 -302
  908. package/skills/omero-integration/scripts/omero_common.py +0 -490
  909. package/skills/omero-integration/scripts/plan_transfer.py +0 -393
  910. package/skills/omero-integration/scripts/validate_config.py +0 -140
  911. package/skills/onekgpd/assets/kgpe.json +0 -48032
  912. package/skills/onekgpd/references/annotation_vocabularies.md +0 -187
  913. package/skills/onekgpd/references/onekgpd_commands.md +0 -296
  914. package/skills/onekgpd/scripts/onekgpd_api.py +0 -794
  915. package/skills/onekgpd/scripts/onekgpd_meta.py +0 -485
  916. package/skills/ontology-term-resolution/references/curation-rules.md +0 -110
  917. package/skills/ontology-term-resolution/references/ols4-api.md +0 -135
  918. package/skills/ontology-term-resolution/references/ontology-registry.md +0 -110
  919. package/skills/ontology-term-resolution/scripts/ols_client.py +0 -341
  920. package/skills/ontology-term-resolution/scripts/resolve_terms.py +0 -255
  921. package/skills/ontology-term-resolution/scripts/validate_terms.py +0 -297
  922. package/skills/open-notebook/references/api_reference.md +0 -715
  923. package/skills/open-notebook/references/architecture.md +0 -163
  924. package/skills/open-notebook/references/configuration.md +0 -226
  925. package/skills/open-notebook/references/examples.md +0 -290
  926. package/skills/open-notebook/scripts/chat_interaction.py +0 -190
  927. package/skills/open-notebook/scripts/notebook_management.py +0 -142
  928. package/skills/open-notebook/scripts/source_ingestion.py +0 -160
  929. package/skills/openpiv/references/advanced_algorithms.md +0 -233
  930. package/skills/openpiv/scripts/__init__.py +0 -1
  931. package/skills/openpiv/scripts/analyze.py +0 -143
  932. package/skills/openpiv/scripts/run_example.py +0 -78
  933. package/skills/openpiv/scripts/runner.py +0 -214
  934. package/skills/opentrons-integration/references/api_reference.md +0 -382
  935. package/skills/opentrons-integration/references/liquid_handling.md +0 -387
  936. package/skills/opentrons-integration/references/migration-api-2-19-to-2-29.md +0 -328
  937. package/skills/opentrons-integration/references/modules_and_deck.md +0 -409
  938. package/skills/opentrons-integration/references/protocol_authoring.md +0 -352
  939. package/skills/opentrons-integration/references/sources.md +0 -151
  940. package/skills/opentrons-integration/references/validation_and_operations.md +0 -314
  941. package/skills/opentrons-integration/requirements-flex.txt +0 -1
  942. package/skills/opentrons-integration/requirements-ot2.txt +0 -1
  943. package/skills/opentrons-integration/scripts/absorbance_reader_template.py +0 -82
  944. package/skills/opentrons-integration/scripts/basic_protocol_template.py +0 -68
  945. package/skills/opentrons-integration/scripts/ot2_basic_protocol_template.py +0 -63
  946. package/skills/opentrons-integration/scripts/pcr_setup_template.py +0 -146
  947. package/skills/opentrons-integration/scripts/runtime_parameters_template.py +0 -110
  948. package/skills/opentrons-integration/scripts/serial_dilution_template.py +0 -113
  949. package/skills/optimize-for-gpu/references/code_transformation_patterns.md +0 -301
  950. package/skills/optimize-for-gpu/references/cucim.md +0 -679
  951. package/skills/optimize-for-gpu/references/cudf.md +0 -762
  952. package/skills/optimize-for-gpu/references/cugraph.md +0 -733
  953. package/skills/optimize-for-gpu/references/cuml.md +0 -710
  954. package/skills/optimize-for-gpu/references/cupy.md +0 -668
  955. package/skills/optimize-for-gpu/references/cuspatial.md +0 -420
  956. package/skills/optimize-for-gpu/references/cuvs.md +0 -671
  957. package/skills/optimize-for-gpu/references/cuxfilter.md +0 -600
  958. package/skills/optimize-for-gpu/references/decision_framework.md +0 -234
  959. package/skills/optimize-for-gpu/references/installation.md +0 -121
  960. package/skills/optimize-for-gpu/references/kvikio.md +0 -612
  961. package/skills/optimize-for-gpu/references/numba.md +0 -808
  962. package/skills/optimize-for-gpu/references/raft.md +0 -312
  963. package/skills/optimize-for-gpu/references/warp.md +0 -623
  964. package/skills/pacsomatic/config.yaml +0 -42
  965. package/skills/pacsomatic/references/agent-playbook.md +0 -73
  966. package/skills/pacsomatic/references/config-and-output.md +0 -100
  967. package/skills/pacsomatic/references/pacsomatic_guide.md +0 -254
  968. package/skills/pacsomatic/scripts/run_pacsomatic.py +0 -794
  969. package/skills/paper-lookup/references/arxiv.md +0 -275
  970. package/skills/paper-lookup/references/biorxiv.md +0 -163
  971. package/skills/paper-lookup/references/core.md +0 -150
  972. package/skills/paper-lookup/references/crossref.md +0 -181
  973. package/skills/paper-lookup/references/europepmc.md +0 -226
  974. package/skills/paper-lookup/references/medrxiv.md +0 -126
  975. package/skills/paper-lookup/references/openalex.md +0 -174
  976. package/skills/paper-lookup/references/pmc.md +0 -228
  977. package/skills/paper-lookup/references/pubmed.md +0 -124
  978. package/skills/paper-lookup/references/semantic-scholar.md +0 -203
  979. package/skills/paper-lookup/references/unpaywall.md +0 -127
  980. package/skills/paper-lookup/scripts/_common.py +0 -227
  981. package/skills/paper-lookup/scripts/arxiv_atom.py +0 -200
  982. package/skills/paper-lookup/scripts/jats_to_text.py +0 -324
  983. package/skills/paper-lookup/scripts/openalex_abstract.py +0 -163
  984. package/skills/paper-lookup/scripts/paginate.py +0 -490
  985. package/skills/paperclip/references/cli-reference.md +0 -389
  986. package/skills/paperclip/references/installation.md +0 -341
  987. package/skills/paperclip/references/map-reduce.md +0 -252
  988. package/skills/paperclip/references/python-sdk.md +0 -323
  989. package/skills/paperclip/references/repos-and-workspace.md +0 -271
  990. package/skills/paperclip/references/search-and-retrieval.md +0 -281
  991. package/skills/parallel-web/references/data-enrichment.md +0 -104
  992. package/skills/parallel-web/references/deep-research.md +0 -91
  993. package/skills/parallel-web/references/findall.md +0 -81
  994. package/skills/parallel-web/references/monitor.md +0 -83
  995. package/skills/parallel-web/references/web-extract.md +0 -59
  996. package/skills/parallel-web/references/web-search.md +0 -100
  997. package/skills/pathml/references/data_management.md +0 -357
  998. package/skills/pathml/references/graphs.md +0 -335
  999. package/skills/pathml/references/image_loading.md +0 -301
  1000. package/skills/pathml/references/machine_learning.md +0 -408
  1001. package/skills/pathml/references/multiparametric.md +0 -352
  1002. package/skills/pathml/references/preprocessing.md +0 -371
  1003. package/skills/pathml/scripts/_common.py +0 -385
  1004. package/skills/pathml/scripts/image_qc.py +0 -325
  1005. package/skills/pathml/scripts/plan_inference.py +0 -282
  1006. package/skills/pathml/scripts/plan_pipeline.py +0 -239
  1007. package/skills/pathml/scripts/slide_manifest.py +0 -405
  1008. package/skills/pathml/scripts/validate_spatial_schema.py +0 -420
  1009. package/skills/pathogen-variant-surveillance/references/lapis-api.md +0 -209
  1010. package/skills/pathogen-variant-surveillance/references/lineage-nomenclature.md +0 -126
  1011. package/skills/pathogen-variant-surveillance/references/surveillance-caveats.md +0 -149
  1012. package/skills/pathogen-variant-surveillance/scripts/lapis_client.py +0 -776
  1013. package/skills/pathogen-variant-surveillance/scripts/lineage_prevalence.py +0 -310
  1014. package/skills/pathogen-variant-surveillance/scripts/mutation_profile.py +0 -215
  1015. package/skills/pathogen-variant-surveillance/scripts/reporting_lag.py +0 -217
  1016. package/skills/pathogen-variant-surveillance/scripts/resolve_lineage.py +0 -198
  1017. package/skills/pathway-enrichment/references/databases-and-gene-sets.md +0 -140
  1018. package/skills/pathway-enrichment/references/gseapy.md +0 -189
  1019. package/skills/pathway-enrichment/references/interpretation.md +0 -118
  1020. package/skills/pathway-enrichment/scripts/run_enrichment.py +0 -231
  1021. package/skills/pdf/LICENSE.txt +0 -30
  1022. package/skills/pdf/forms.md +0 -294
  1023. package/skills/pdf/reference.md +0 -612
  1024. package/skills/pdf/scripts/check_bounding_boxes.py +0 -65
  1025. package/skills/pdf/scripts/check_fillable_fields.py +0 -11
  1026. package/skills/pdf/scripts/convert_pdf_to_images.py +0 -33
  1027. package/skills/pdf/scripts/create_validation_image.py +0 -37
  1028. package/skills/pdf/scripts/extract_form_field_info.py +0 -122
  1029. package/skills/pdf/scripts/extract_form_structure.py +0 -115
  1030. package/skills/pdf/scripts/fill_fillable_fields.py +0 -98
  1031. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -107
  1032. package/skills/peer-review/assets/citation_references_template.csv +0 -2
  1033. package/skills/peer-review/assets/claim_evidence_matrix_template.csv +0 -4
  1034. package/skills/peer-review/assets/reporting_checklist_template.csv +0 -31
  1035. package/skills/peer-review/assets/reporting_guidelines.json +0 -466
  1036. package/skills/peer-review/assets/review_intake_template.json +0 -52
  1037. package/skills/peer-review/assets/review_scaffold_template.md +0 -68
  1038. package/skills/peer-review/assets/source_ledger.csv +0 -32
  1039. package/skills/peer-review/assets/statistical_reproducibility_template.json +0 -210
  1040. package/skills/peer-review/assets/study_profile_template.json +0 -12
  1041. package/skills/peer-review/references/common_issues.md +0 -257
  1042. package/skills/peer-review/references/ethical_review_practice.md +0 -233
  1043. package/skills/peer-review/references/reporting_standards.md +0 -249
  1044. package/skills/peer-review/references/security_validation.md +0 -75
  1045. package/skills/peer-review/references/statistical_reproducibility.md +0 -329
  1046. package/skills/peer-review/references/tool_reference.md +0 -253
  1047. package/skills/peer-review/scripts/_common.py +0 -398
  1048. package/skills/peer-review/scripts/audit_citations.py +0 -207
  1049. package/skills/peer-review/scripts/audit_statistics_reproducibility.py +0 -305
  1050. package/skills/peer-review/scripts/generate_review_scaffold.py +0 -81
  1051. package/skills/peer-review/scripts/lint_review.py +0 -254
  1052. package/skills/peer-review/scripts/select_reporting_guidelines.py +0 -383
  1053. package/skills/peer-review/scripts/validate_claim_evidence.py +0 -221
  1054. package/skills/peer-review/scripts/validate_review_intake.py +0 -452
  1055. package/skills/pennylane/references/advanced_features.md +0 -667
  1056. package/skills/pennylane/references/devices_backends.md +0 -562
  1057. package/skills/pennylane/references/getting_started.md +0 -232
  1058. package/skills/pennylane/references/optimization.md +0 -670
  1059. package/skills/pennylane/references/quantum_chemistry.md +0 -576
  1060. package/skills/pennylane/references/quantum_circuits.md +0 -443
  1061. package/skills/pennylane/references/quantum_ml.md +0 -555
  1062. package/skills/phylogenetics/references/iqtree_inference.md +0 -181
  1063. package/skills/phylogenetics/scripts/phylogenetic_analysis.py +0 -272
  1064. package/skills/pi-agent/references/compaction.md +0 -76
  1065. package/skills/pi-agent/references/containerization.md +0 -80
  1066. package/skills/pi-agent/references/custom-provider.md +0 -131
  1067. package/skills/pi-agent/references/development.md +0 -61
  1068. package/skills/pi-agent/references/environment-variables.md +0 -57
  1069. package/skills/pi-agent/references/extensions.md +0 -185
  1070. package/skills/pi-agent/references/json.md +0 -69
  1071. package/skills/pi-agent/references/keybindings.md +0 -58
  1072. package/skills/pi-agent/references/llama-cpp.md +0 -69
  1073. package/skills/pi-agent/references/models.md +0 -114
  1074. package/skills/pi-agent/references/overview.md +0 -37
  1075. package/skills/pi-agent/references/packages.md +0 -103
  1076. package/skills/pi-agent/references/pi-interview.md +0 -123
  1077. package/skills/pi-agent/references/pi-mcp-adapter.md +0 -191
  1078. package/skills/pi-agent/references/pi-subagents.md +0 -371
  1079. package/skills/pi-agent/references/pi-web-access.md +0 -243
  1080. package/skills/pi-agent/references/prompt-templates.md +0 -48
  1081. package/skills/pi-agent/references/providers.md +0 -122
  1082. package/skills/pi-agent/references/quickstart.md +0 -73
  1083. package/skills/pi-agent/references/rpc.md +0 -95
  1084. package/skills/pi-agent/references/sdk.md +0 -151
  1085. package/skills/pi-agent/references/security.md +0 -52
  1086. package/skills/pi-agent/references/session-format.md +0 -90
  1087. package/skills/pi-agent/references/sessions.md +0 -56
  1088. package/skills/pi-agent/references/settings.md +0 -102
  1089. package/skills/pi-agent/references/shell-aliases.md +0 -15
  1090. package/skills/pi-agent/references/skills.md +0 -83
  1091. package/skills/pi-agent/references/terminal-setup.md +0 -87
  1092. package/skills/pi-agent/references/termux.md +0 -31
  1093. package/skills/pi-agent/references/themes.md +0 -69
  1094. package/skills/pi-agent/references/tmux.md +0 -44
  1095. package/skills/pi-agent/references/tui.md +0 -97
  1096. package/skills/pi-agent/references/usage.md +0 -129
  1097. package/skills/pi-agent/references/windows.md +0 -23
  1098. package/skills/pkpd-modeling/assets/nca-reporting-checklist.md +0 -72
  1099. package/skills/pkpd-modeling/assets/popk-analysis-plan.md +0 -136
  1100. package/skills/pkpd-modeling/references/antimicrobial-and-tdm.md +0 -110
  1101. package/skills/pkpd-modeling/references/bioequivalence.md +0 -132
  1102. package/skills/pkpd-modeling/references/dataset-standards.md +0 -103
  1103. package/skills/pkpd-modeling/references/ddi-and-qt.md +0 -132
  1104. package/skills/pkpd-modeling/references/nca-conventions.md +0 -128
  1105. package/skills/pkpd-modeling/references/pbpk.md +0 -103
  1106. package/skills/pkpd-modeling/references/pd-and-exposure-response.md +0 -149
  1107. package/skills/pkpd-modeling/references/population-pk.md +0 -133
  1108. package/skills/pkpd-modeling/references/regulatory-guidance.md +0 -82
  1109. package/skills/pkpd-modeling/references/software-ecosystem.md +0 -123
  1110. package/skills/pkpd-modeling/references/source-ledger.md +0 -89
  1111. package/skills/pkpd-modeling/references/special-populations.md +0 -126
  1112. package/skills/pkpd-modeling/references/structural-models.md +0 -140
  1113. package/skills/pkpd-modeling/references/tmdd-and-biologics.md +0 -115
  1114. package/skills/pkpd-modeling/scripts/_common.py +0 -327
  1115. package/skills/pkpd-modeling/scripts/_models.py +0 -673
  1116. package/skills/pkpd-modeling/scripts/allometry_and_fih.py +0 -346
  1117. package/skills/pkpd-modeling/scripts/bioequivalence.py +0 -480
  1118. package/skills/pkpd-modeling/scripts/check_popk_dataset.py +0 -400
  1119. package/skills/pkpd-modeling/scripts/ddi_static.py +0 -346
  1120. package/skills/pkpd-modeling/scripts/exposure_response.py +0 -328
  1121. package/skills/pkpd-modeling/scripts/fit_compartmental.py +0 -558
  1122. package/skills/pkpd-modeling/scripts/nca.py +0 -587
  1123. package/skills/pkpd-modeling/scripts/simulate_regimen.py +0 -323
  1124. package/skills/pkpd-modeling/scripts/tdm_bayes.py +0 -312
  1125. package/skills/polars/references/best_practices.md +0 -651
  1126. package/skills/polars/references/core_concepts.md +0 -380
  1127. package/skills/polars/references/io_guide.md +0 -564
  1128. package/skills/polars/references/operations.md +0 -602
  1129. package/skills/polars/references/pandas_migration.md +0 -417
  1130. package/skills/polars/references/transformations.md +0 -549
  1131. package/skills/polars-bio/references/bioframe_migration.md +0 -250
  1132. package/skills/polars-bio/references/configuration.md +0 -187
  1133. package/skills/polars-bio/references/file_io.md +0 -469
  1134. package/skills/polars-bio/references/interval_operations.md +0 -370
  1135. package/skills/polars-bio/references/pileup_operations.md +0 -176
  1136. package/skills/polars-bio/references/sql_processing.md +0 -224
  1137. package/skills/pptx/LICENSE.txt +0 -30
  1138. package/skills/pptx/scripts/__init__.py +0 -0
  1139. package/skills/pptx/scripts/add_slide.py +0 -367
  1140. package/skills/pptx/scripts/clean.py +0 -309
  1141. package/skills/pptx/scripts/office/helpers/__init__.py +0 -111
  1142. package/skills/pptx/scripts/office/helpers/pptx_chart.py +0 -170
  1143. package/skills/pptx/scripts/office/helpers/pptx_slide.py +0 -60
  1144. package/skills/pptx/scripts/office/helpers/pptx_theme.py +0 -114
  1145. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1146. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1147. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1148. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1149. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1150. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1151. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1152. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1153. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1154. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1155. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1156. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1157. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1158. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1159. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1160. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1161. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1162. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1163. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1164. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1165. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1166. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1167. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1168. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1169. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1170. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1171. package/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1172. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1173. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1174. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1175. package/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1176. package/skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -75
  1177. package/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  1178. package/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  1179. package/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  1180. package/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1181. package/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1182. package/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1183. package/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1184. package/skills/pptx/scripts/office/soffice.py +0 -232
  1185. package/skills/pptx/scripts/office/validate.py +0 -173
  1186. package/skills/pptx/scripts/office/validators/__init__.py +0 -15
  1187. package/skills/pptx/scripts/office/validators/base.py +0 -875
  1188. package/skills/pptx/scripts/office/validators/docx.py +0 -466
  1189. package/skills/pptx/scripts/office/validators/pptx.py +0 -441
  1190. package/skills/pptx/scripts/office/validators/redlining.py +0 -299
  1191. package/skills/pptx/scripts/thumbnail.py +0 -311
  1192. package/skills/pptx-posters/assets/generation_dependencies.json +0 -5
  1193. package/skills/pptx-posters/assets/poster_manifest_template.json +0 -154
  1194. package/skills/pptx-posters/assets/poster_quality_checklist.md +0 -192
  1195. package/skills/pptx-posters/references/manifest_spec.md +0 -297
  1196. package/skills/pptx-posters/references/poster_content_guide.md +0 -176
  1197. package/skills/pptx-posters/references/poster_design_principles.md +0 -226
  1198. package/skills/pptx-posters/references/poster_layout_design.md +0 -189
  1199. package/skills/pptx-posters/references/pptx_security.md +0 -202
  1200. package/skills/pptx-posters/references/security_validation.md +0 -90
  1201. package/skills/pptx-posters/references/source_ledger.md +0 -256
  1202. package/skills/pptx-posters/scripts/_common.py +0 -396
  1203. package/skills/pptx-posters/scripts/_manifest.py +0 -1318
  1204. package/skills/pptx-posters/scripts/_pptx.py +0 -1484
  1205. package/skills/pptx-posters/scripts/check_layout.py +0 -179
  1206. package/skills/pptx-posters/scripts/check_palette.py +0 -142
  1207. package/skills/pptx-posters/scripts/generate_poster.py +0 -427
  1208. package/skills/pptx-posters/scripts/inspect_pptx.py +0 -40
  1209. package/skills/pptx-posters/scripts/inventory_images.py +0 -252
  1210. package/skills/pptx-posters/scripts/plan_export.py +0 -201
  1211. package/skills/pptx-posters/scripts/validate_manifest.py +0 -55
  1212. package/skills/primekg/scripts/query_primekg.py +0 -128
  1213. package/skills/protocolsio-integration/assets/protocol-snapshot.schema.json +0 -179
  1214. package/skills/protocolsio-integration/references/additional_features.md +0 -202
  1215. package/skills/protocolsio-integration/references/authentication.md +0 -135
  1216. package/skills/protocolsio-integration/references/discussions.md +0 -192
  1217. package/skills/protocolsio-integration/references/file_manager.md +0 -256
  1218. package/skills/protocolsio-integration/references/protocols_api.md +0 -256
  1219. package/skills/protocolsio-integration/references/workspaces.md +0 -192
  1220. package/skills/protocolsio-integration/scripts/__init__.py +0 -1
  1221. package/skills/protocolsio-integration/scripts/_common.py +0 -613
  1222. package/skills/protocolsio-integration/scripts/pagination_helper.py +0 -248
  1223. package/skills/protocolsio-integration/scripts/plan_write_request.py +0 -657
  1224. package/skills/protocolsio-integration/scripts/protocols_read.py +0 -493
  1225. package/skills/protocolsio-integration/scripts/validate_auth_config.py +0 -128
  1226. package/skills/protocolsio-integration/scripts/validate_protocol_json.py +0 -358
  1227. package/skills/pufferlib/references/environments.md +0 -260
  1228. package/skills/pufferlib/references/integration.md +0 -192
  1229. package/skills/pufferlib/references/policies.md +0 -181
  1230. package/skills/pufferlib/references/training.md +0 -287
  1231. package/skills/pufferlib/references/vectorization.md +0 -210
  1232. package/skills/pufferlib/scripts/__init__.py +0 -1
  1233. package/skills/pufferlib/scripts/_common.py +0 -199
  1234. package/skills/pufferlib/scripts/benchmark_vectorization.py +0 -244
  1235. package/skills/pufferlib/scripts/env_contract_validator.py +0 -198
  1236. package/skills/pufferlib/scripts/env_template.py +0 -210
  1237. package/skills/pufferlib/scripts/inspect_checkpoint.py +0 -225
  1238. package/skills/pufferlib/scripts/repro_plan.py +0 -177
  1239. package/skills/pufferlib/scripts/train_template.py +0 -282
  1240. package/skills/pufferlib/scripts/validate_plan.py +0 -570
  1241. package/skills/pydeseq2/references/analysis_patterns.md +0 -70
  1242. package/skills/pydeseq2/references/api_reference.md +0 -256
  1243. package/skills/pydeseq2/references/core_workflow_steps.md +0 -162
  1244. package/skills/pydeseq2/references/workflow_guide.md +0 -603
  1245. package/skills/pydeseq2/scripts/run_deseq2_analysis.py +0 -388
  1246. package/skills/pydicom/references/common_tags.md +0 -277
  1247. package/skills/pydicom/references/transfer_syntaxes.md +0 -348
  1248. package/skills/pydicom/scripts/__init__.py +0 -1
  1249. package/skills/pydicom/scripts/_common.py +0 -916
  1250. package/skills/pydicom/scripts/anonymize_dicom.py +0 -713
  1251. package/skills/pydicom/scripts/deidentification_audit.py +0 -380
  1252. package/skills/pydicom/scripts/dicom_inventory.py +0 -402
  1253. package/skills/pydicom/scripts/dicom_to_image.py +0 -459
  1254. package/skills/pydicom/scripts/extract_metadata.py +0 -330
  1255. package/skills/pydicom/scripts/pixel_frame_planner.py +0 -303
  1256. package/skills/pydicom/scripts/transfer_syntax_inspector.py +0 -245
  1257. package/skills/pydicom/scripts/uid_mapping_validator.py +0 -240
  1258. package/skills/pyhealth/assets/starter_pipeline.py +0 -58
  1259. package/skills/pyhealth/references/datasets.md +0 -126
  1260. package/skills/pyhealth/references/examples.md +0 -237
  1261. package/skills/pyhealth/references/installation.md +0 -112
  1262. package/skills/pyhealth/references/medcode.md +0 -94
  1263. package/skills/pyhealth/references/models.md +0 -114
  1264. package/skills/pyhealth/references/tasks.md +0 -143
  1265. package/skills/pylabrobot/assets/protocol-manifest.schema.json +0 -367
  1266. package/skills/pylabrobot/references/analytical-equipment.md +0 -200
  1267. package/skills/pylabrobot/references/hardware-backends.md +0 -215
  1268. package/skills/pylabrobot/references/liquid-handling.md +0 -223
  1269. package/skills/pylabrobot/references/material-handling.md +0 -229
  1270. package/skills/pylabrobot/references/resources.md +0 -238
  1271. package/skills/pylabrobot/references/visualization.md +0 -187
  1272. package/skills/pylabrobot/scripts/__init__.py +0 -1
  1273. package/skills/pylabrobot/scripts/_common.py +0 -718
  1274. package/skills/pylabrobot/scripts/check_deck_geometry.py +0 -52
  1275. package/skills/pylabrobot/scripts/generate_simulation_plan.py +0 -140
  1276. package/skills/pylabrobot/scripts/inspect_backends.py +0 -216
  1277. package/skills/pylabrobot/scripts/plan_transfers.py +0 -59
  1278. package/skills/pylabrobot/scripts/validate_manifest.py +0 -47
  1279. package/skills/pymatgen/references/analysis_modules.md +0 -352
  1280. package/skills/pymatgen/references/core_classes.md +0 -290
  1281. package/skills/pymatgen/references/io_formats.md +0 -323
  1282. package/skills/pymatgen/references/materials_project_api.md +0 -406
  1283. package/skills/pymatgen/references/transformations_workflows.md +0 -385
  1284. package/skills/pymatgen/scripts/_common.py +0 -316
  1285. package/skills/pymatgen/scripts/artifact_manifest.py +0 -172
  1286. package/skills/pymatgen/scripts/composition_structure_validator.py +0 -300
  1287. package/skills/pymatgen/scripts/io_conversion_plan.py +0 -204
  1288. package/skills/pymatgen/scripts/mp_query.py +0 -416
  1289. package/skills/pymatgen/scripts/phase_diagram_generator.py +0 -415
  1290. package/skills/pymatgen/scripts/structure_analyzer.py +0 -293
  1291. package/skills/pymatgen/scripts/structure_converter.py +0 -219
  1292. package/skills/pymatgen/scripts/symmetry_sensitivity_report.py +0 -212
  1293. package/skills/pymc/assets/hierarchical_model_template.py +0 -332
  1294. package/skills/pymc/assets/linear_regression_template.py +0 -244
  1295. package/skills/pymc/references/distributions.md +0 -345
  1296. package/skills/pymc/references/model_patterns.md +0 -130
  1297. package/skills/pymc/references/sampling_inference.md +0 -432
  1298. package/skills/pymc/references/standard_workflow.md +0 -176
  1299. package/skills/pymc/references/workflows.md +0 -530
  1300. package/skills/pymc/scripts/model_comparison.py +0 -409
  1301. package/skills/pymc/scripts/model_diagnostics.py +0 -328
  1302. package/skills/pymoo/references/algorithms.md +0 -232
  1303. package/skills/pymoo/references/constraints_mcdm.md +0 -417
  1304. package/skills/pymoo/references/operators.md +0 -345
  1305. package/skills/pymoo/references/parallelization.md +0 -80
  1306. package/skills/pymoo/references/problems.md +0 -265
  1307. package/skills/pymoo/references/quick_start_workflows.md +0 -404
  1308. package/skills/pymoo/references/visualization.md +0 -353
  1309. package/skills/pymoo/scripts/custom_problem_example.py +0 -181
  1310. package/skills/pymoo/scripts/decision_making_example.py +0 -161
  1311. package/skills/pymoo/scripts/many_objective_example.py +0 -74
  1312. package/skills/pymoo/scripts/multi_objective_example.py +0 -63
  1313. package/skills/pymoo/scripts/single_objective_example.py +0 -59
  1314. package/skills/pyopenms/references/data_structures.md +0 -498
  1315. package/skills/pyopenms/references/feature_detection.md +0 -495
  1316. package/skills/pyopenms/references/file_io.md +0 -359
  1317. package/skills/pyopenms/references/identification.md +0 -431
  1318. package/skills/pyopenms/references/metabolomics.md +0 -548
  1319. package/skills/pyopenms/references/signal_processing.md +0 -444
  1320. package/skills/pyopenms/scripts/accurate_mass_search.py +0 -111
  1321. package/skills/pyopenms/scripts/align_link_quantify.py +0 -140
  1322. package/skills/pyopenms/scripts/consensus_to_matrix.py +0 -70
  1323. package/skills/pyopenms/scripts/convert_format.py +0 -95
  1324. package/skills/pyopenms/scripts/detect_adducts.py +0 -90
  1325. package/skills/pyopenms/scripts/detect_features_centroided.py +0 -80
  1326. package/skills/pyopenms/scripts/detect_features_metabo.py +0 -110
  1327. package/skills/pyopenms/scripts/digest_protein.py +0 -102
  1328. package/skills/pyopenms/scripts/export_gnps_sirius.py +0 -90
  1329. package/skills/pyopenms/scripts/extract_chromatograms.py +0 -105
  1330. package/skills/pyopenms/scripts/inspect_ms_data.py +0 -167
  1331. package/skills/pyopenms/scripts/mass_calculator.py +0 -92
  1332. package/skills/pyopenms/scripts/plot_ms_data.py +0 -129
  1333. package/skills/pyopenms/scripts/process_identifications.py +0 -111
  1334. package/skills/pyopenms/scripts/process_spectra.py +0 -124
  1335. package/skills/pyopenms/scripts/theoretical_spectrum.py +0 -75
  1336. package/skills/pysam/references/alignment_files.md +0 -374
  1337. package/skills/pysam/references/api_reference.md +0 -421
  1338. package/skills/pysam/references/common_workflows.md +0 -442
  1339. package/skills/pysam/references/coordinates_and_indexing.md +0 -318
  1340. package/skills/pysam/references/cram_and_performance.md +0 -314
  1341. package/skills/pysam/references/migration_to_0_24.md +0 -177
  1342. package/skills/pysam/references/sequence_files.md +0 -316
  1343. package/skills/pysam/references/sources.md +0 -132
  1344. package/skills/pysam/references/variant_files.md +0 -396
  1345. package/skills/pysam/scripts/alignment_qc.py +0 -326
  1346. package/skills/pysam/scripts/filter_alignments.py +0 -359
  1347. package/skills/pysam/scripts/inspect_hts.py +0 -485
  1348. package/skills/pysam/scripts/variant_summary.py +0 -362
  1349. package/skills/pytdc/references/datasets.md +0 -242
  1350. package/skills/pytdc/references/oracles.md +0 -273
  1351. package/skills/pytdc/references/sources.md +0 -165
  1352. package/skills/pytdc/references/utilities.md +0 -364
  1353. package/skills/pytdc/scripts/_common.py +0 -205
  1354. package/skills/pytdc/scripts/benchmark_evaluation.py +0 -367
  1355. package/skills/pytdc/scripts/cache_audit.py +0 -146
  1356. package/skills/pytdc/scripts/discover_metadata.py +0 -174
  1357. package/skills/pytdc/scripts/load_and_split_data.py +0 -374
  1358. package/skills/pytdc/scripts/molecular_generation.py +0 -417
  1359. package/skills/pytorch-lightning/references/best_practices.md +0 -724
  1360. package/skills/pytorch-lightning/references/callbacks.md +0 -564
  1361. package/skills/pytorch-lightning/references/data_module.md +0 -565
  1362. package/skills/pytorch-lightning/references/distributed_training.md +0 -644
  1363. package/skills/pytorch-lightning/references/lightning_module.md +0 -487
  1364. package/skills/pytorch-lightning/references/logging.md +0 -636
  1365. package/skills/pytorch-lightning/references/trainer.md +0 -641
  1366. package/skills/pytorch-lightning/scripts/quick_trainer_setup.py +0 -473
  1367. package/skills/pytorch-lightning/scripts/template_datamodule.py +0 -328
  1368. package/skills/pytorch-lightning/scripts/template_lightning_module.py +0 -220
  1369. package/skills/pyzotero/references/authentication.md +0 -105
  1370. package/skills/pyzotero/references/cli.md +0 -102
  1371. package/skills/pyzotero/references/collections.md +0 -113
  1372. package/skills/pyzotero/references/error-handling.md +0 -108
  1373. package/skills/pyzotero/references/exports.md +0 -102
  1374. package/skills/pyzotero/references/files-attachments.md +0 -97
  1375. package/skills/pyzotero/references/full-text.md +0 -68
  1376. package/skills/pyzotero/references/mcp.md +0 -90
  1377. package/skills/pyzotero/references/pagination.md +0 -79
  1378. package/skills/pyzotero/references/read-api.md +0 -137
  1379. package/skills/pyzotero/references/saved-searches.md +0 -77
  1380. package/skills/pyzotero/references/search-params.md +0 -90
  1381. package/skills/pyzotero/references/tags.md +0 -87
  1382. package/skills/pyzotero/references/write-api.md +0 -123
  1383. package/skills/qiskit/references/algorithms.md +0 -311
  1384. package/skills/qiskit/references/backends.md +0 -382
  1385. package/skills/qiskit/references/circuits.md +0 -319
  1386. package/skills/qiskit/references/migration.md +0 -338
  1387. package/skills/qiskit/references/patterns.md +0 -386
  1388. package/skills/qiskit/references/primitives.md +0 -400
  1389. package/skills/qiskit/references/setup.md +0 -253
  1390. package/skills/qiskit/references/sources.md +0 -156
  1391. package/skills/qiskit/references/testing.md +0 -428
  1392. package/skills/qiskit/references/transpilation.md +0 -333
  1393. package/skills/qiskit/references/visualization.md +0 -361
  1394. package/skills/qiskit/scripts/check_environment.py +0 -260
  1395. package/skills/qiskit/scripts/inspect_runtime.py +0 -224
  1396. package/skills/qiskit/scripts/run_local_primitives.py +0 -200
  1397. package/skills/qutip/references/advanced.md +0 -413
  1398. package/skills/qutip/references/analysis.md +0 -319
  1399. package/skills/qutip/references/core_concepts.md +0 -300
  1400. package/skills/qutip/references/time_evolution.md +0 -373
  1401. package/skills/qutip/references/visualization.md +0 -334
  1402. package/skills/qutip/scripts/_common.py +0 -370
  1403. package/skills/qutip/scripts/convergence_sweep.py +0 -358
  1404. package/skills/qutip/scripts/qobj_model_validator.py +0 -327
  1405. package/skills/qutip/scripts/result_audit.py +0 -395
  1406. package/skills/qutip/scripts/solver_config_planner.py +0 -297
  1407. package/skills/qutip/scripts/steady_state_spectrum_planner.py +0 -245
  1408. package/skills/qutip/scripts/two_level_simulation.py +0 -394
  1409. package/skills/rdkit/references/api_reference.md +0 -443
  1410. package/skills/rdkit/references/core_capabilities.md +0 -604
  1411. package/skills/rdkit/references/descriptors_reference.md +0 -595
  1412. package/skills/rdkit/references/smarts_patterns.md +0 -668
  1413. package/skills/rdkit/references/workflows_and_best_practices.md +0 -169
  1414. package/skills/rdkit/scripts/molecular_properties.py +0 -243
  1415. package/skills/rdkit/scripts/similarity_search.py +0 -297
  1416. package/skills/rdkit/scripts/substructure_filter.py +0 -386
  1417. package/skills/relsa-severity-assessment/assets/example_cohort.csv +0 -55
  1418. package/skills/relsa-severity-assessment/references/forecasting.md +0 -155
  1419. package/skills/relsa-severity-assessment/references/relsa-method.md +0 -175
  1420. package/skills/relsa-severity-assessment/references/thresholds-and-zones.md +0 -154
  1421. package/skills/relsa-severity-assessment/scripts/_common.py +0 -287
  1422. package/skills/relsa-severity-assessment/scripts/forecast_relsa.py +0 -757
  1423. package/skills/relsa-severity-assessment/scripts/kde_thresholds.py +0 -369
  1424. package/skills/relsa-severity-assessment/scripts/relsa_score.py +0 -488
  1425. package/skills/research-grants/assets/budget_justification_template.md +0 -453
  1426. package/skills/research-grants/assets/nih_specific_aims_template.md +0 -166
  1427. package/skills/research-grants/assets/nsf_project_summary_template.md +0 -92
  1428. package/skills/research-grants/references/broader_impacts.md +0 -392
  1429. package/skills/research-grants/references/core_components.md +0 -397
  1430. package/skills/research-grants/references/darpa_guidelines.md +0 -636
  1431. package/skills/research-grants/references/doe_guidelines.md +0 -586
  1432. package/skills/research-grants/references/nih_guidelines.md +0 -853
  1433. package/skills/research-grants/references/nsf_guidelines.md +0 -570
  1434. package/skills/research-grants/references/nstc_guidelines.md +0 -733
  1435. package/skills/research-grants/references/proposal_types_and_resubmission.md +0 -81
  1436. package/skills/research-grants/references/review_criteria.md +0 -93
  1437. package/skills/research-grants/references/specific_aims_guide.md +0 -458
  1438. package/skills/research-grants/references/writing_principles.md +0 -94
  1439. package/skills/research-lookup/scripts/manuscript_packet.py +0 -754
  1440. package/skills/research-lookup/scripts/research_lookup.py +0 -1204
  1441. package/skills/rowan/references/access_and_pricing.md +0 -37
  1442. package/skills/rowan/references/batch_and_webhooks.md +0 -255
  1443. package/skills/rowan/references/end_to_end_example.md +0 -119
  1444. package/skills/rowan/references/troubleshooting.md +0 -106
  1445. package/skills/rowan/references/workflow_catalog.md +0 -308
  1446. package/skills/scanpy/assets/analysis_template.py +0 -301
  1447. package/skills/scanpy/assets/celltype_mapping.json +0 -10
  1448. package/skills/scanpy/assets/gene_signatures.json +0 -9
  1449. package/skills/scanpy/assets/pipeline_config.json +0 -19
  1450. package/skills/scanpy/references/analysis_workflow.md +0 -236
  1451. package/skills/scanpy/references/api_reference.md +0 -267
  1452. package/skills/scanpy/references/plotting_guide.md +0 -365
  1453. package/skills/scanpy/references/r_interop.md +0 -292
  1454. package/skills/scanpy/references/standard_workflow.md +0 -223
  1455. package/skills/scanpy/scripts/_common.py +0 -127
  1456. package/skills/scanpy/scripts/annotate.py +0 -84
  1457. package/skills/scanpy/scripts/batch_correct.py +0 -65
  1458. package/skills/scanpy/scripts/cluster.py +0 -63
  1459. package/skills/scanpy/scripts/convert.py +0 -43
  1460. package/skills/scanpy/scripts/find_markers.py +0 -75
  1461. package/skills/scanpy/scripts/inspect_data.py +0 -81
  1462. package/skills/scanpy/scripts/plot.py +0 -78
  1463. package/skills/scanpy/scripts/preprocess.py +0 -88
  1464. package/skills/scanpy/scripts/pseudobulk.py +0 -74
  1465. package/skills/scanpy/scripts/qc_analysis.py +0 -104
  1466. package/skills/scanpy/scripts/reduce_dimensions.py +0 -64
  1467. package/skills/scanpy/scripts/run_pipeline.py +0 -182
  1468. package/skills/scanpy/scripts/score_genes.py +0 -82
  1469. package/skills/scanpy/scripts/subset.py +0 -64
  1470. package/skills/scholar-evaluation/assets/evaluation_template.json +0 -50
  1471. package/skills/scholar-evaluation/assets/evidence_manifest_template.json +0 -63
  1472. package/skills/scholar-evaluation/assets/process_checklist_template.json +0 -70
  1473. package/skills/scholar-evaluation/assets/ratings_template.csv +0 -21
  1474. package/skills/scholar-evaluation/assets/rubric_template.json +0 -301
  1475. package/skills/scholar-evaluation/references/evaluation_framework.md +0 -264
  1476. package/skills/scholar-evaluation/references/local_tooling.md +0 -232
  1477. package/skills/scholar-evaluation/references/responsible_assessment.md +0 -196
  1478. package/skills/scholar-evaluation/references/security_validation.md +0 -95
  1479. package/skills/scholar-evaluation/references/source_ledger.md +0 -222
  1480. package/skills/scholar-evaluation/scripts/_common.py +0 -986
  1481. package/skills/scholar-evaluation/scripts/calculate_scores.py +0 -57
  1482. package/skills/scholar-evaluation/scripts/check_process.py +0 -231
  1483. package/skills/scholar-evaluation/scripts/check_traceability.py +0 -233
  1484. package/skills/scholar-evaluation/scripts/generate_report_scaffold.py +0 -231
  1485. package/skills/scholar-evaluation/scripts/summarize_agreement.py +0 -235
  1486. package/skills/scholar-evaluation/scripts/validate_rubric.py +0 -54
  1487. package/skills/scholar-evaluation/scripts/weight_sensitivity.py +0 -251
  1488. package/skills/scientific-brainstorming/references/brainstorming_methods.md +0 -292
  1489. package/skills/scientific-brainstorming/references/facilitation_workflows.md +0 -284
  1490. package/skills/scientific-brainstorming/references/idea_evaluation.md +0 -268
  1491. package/skills/scientific-brainstorming/references/responsible_ai.md +0 -220
  1492. package/skills/scientific-brainstorming/references/sources.md +0 -364
  1493. package/skills/scientific-brainstorming/scripts/_common.py +0 -307
  1494. package/skills/scientific-brainstorming/scripts/evaluate_matrix.py +0 -518
  1495. package/skills/scientific-brainstorming/scripts/session_scaffold.py +0 -248
  1496. package/skills/scientific-brainstorming/scripts/validate_register.py +0 -654
  1497. package/skills/scientific-critical-thinking/references/common_biases.md +0 -364
  1498. package/skills/scientific-critical-thinking/references/core_capabilities.md +0 -407
  1499. package/skills/scientific-critical-thinking/references/evidence_hierarchy.md +0 -485
  1500. package/skills/scientific-critical-thinking/references/experimental_design.md +0 -496
  1501. package/skills/scientific-critical-thinking/references/logical_fallacies.md +0 -478
  1502. package/skills/scientific-critical-thinking/references/scientific_method.md +0 -169
  1503. package/skills/scientific-critical-thinking/references/statistical_pitfalls.md +0 -506
  1504. package/skills/scientific-schematics/references/best_practices.md +0 -574
  1505. package/skills/scientific-schematics/references/iterative_refinement.md +0 -315
  1506. package/skills/scientific-schematics/scripts/example_usage.sh +0 -92
  1507. package/skills/scientific-schematics/scripts/generate_schematic.py +0 -198
  1508. package/skills/scientific-schematics/scripts/generate_schematic_ai.py +0 -950
  1509. package/skills/scientific-slides/assets/beamer_template_conference.tex +0 -407
  1510. package/skills/scientific-slides/assets/beamer_template_defense.tex +0 -906
  1511. package/skills/scientific-slides/assets/beamer_template_seminar.tex +0 -870
  1512. package/skills/scientific-slides/assets/powerpoint_design_guide.md +0 -662
  1513. package/skills/scientific-slides/assets/timing_guidelines.md +0 -597
  1514. package/skills/scientific-slides/references/beamer_guide.md +0 -1019
  1515. package/skills/scientific-slides/references/common_pitfalls.md +0 -85
  1516. package/skills/scientific-slides/references/data_visualization_slides.md +0 -708
  1517. package/skills/scientific-slides/references/presentation_structure.md +0 -642
  1518. package/skills/scientific-slides/references/presentation_workflow.md +0 -196
  1519. package/skills/scientific-slides/references/prompt_writing.md +0 -42
  1520. package/skills/scientific-slides/references/script_reference.md +0 -143
  1521. package/skills/scientific-slides/references/slide_capabilities.md +0 -360
  1522. package/skills/scientific-slides/references/slide_design_principles.md +0 -849
  1523. package/skills/scientific-slides/references/talk_types_guide.md +0 -687
  1524. package/skills/scientific-slides/references/visual_review_workflow.md +0 -775
  1525. package/skills/scientific-slides/scripts/generate_schematic.py +0 -198
  1526. package/skills/scientific-slides/scripts/generate_schematic_ai.py +0 -950
  1527. package/skills/scientific-slides/scripts/generate_slide_image.py +0 -197
  1528. package/skills/scientific-slides/scripts/generate_slide_image_ai.py +0 -877
  1529. package/skills/scientific-slides/scripts/pdf_to_images.py +0 -221
  1530. package/skills/scientific-slides/scripts/slides_to_pdf.py +0 -235
  1531. package/skills/scientific-slides/scripts/validate_presentation.py +0 -408
  1532. package/skills/scientific-visualization/assets/color_palettes.py +0 -263
  1533. package/skills/scientific-visualization/assets/nature.mplstyle +0 -68
  1534. package/skills/scientific-visualization/assets/presentation.mplstyle +0 -68
  1535. package/skills/scientific-visualization/assets/publication.mplstyle +0 -77
  1536. package/skills/scientific-visualization/assets/publisher_profiles.json +0 -269
  1537. package/skills/scientific-visualization/references/color_palettes.md +0 -227
  1538. package/skills/scientific-visualization/references/journal_requirements.md +0 -169
  1539. package/skills/scientific-visualization/references/matplotlib_examples.md +0 -336
  1540. package/skills/scientific-visualization/references/publication_guidelines.md +0 -196
  1541. package/skills/scientific-visualization/references/sources.md +0 -76
  1542. package/skills/scientific-visualization/scripts/_common.py +0 -136
  1543. package/skills/scientific-visualization/scripts/export_plan.py +0 -493
  1544. package/skills/scientific-visualization/scripts/figure_export.py +0 -642
  1545. package/skills/scientific-visualization/scripts/image_metadata.py +0 -731
  1546. package/skills/scientific-visualization/scripts/palette_audit.py +0 -327
  1547. package/skills/scientific-visualization/scripts/style_presets.py +0 -501
  1548. package/skills/scientific-visualization/scripts/style_preview.py +0 -232
  1549. package/skills/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +0 -60
  1550. package/skills/scientific-writing/assets/authorship_template.json +0 -56
  1551. package/skills/scientific-writing/assets/claim_evidence_template.csv +0 -2
  1552. package/skills/scientific-writing/assets/consistency_manifest_template.json +0 -43
  1553. package/skills/scientific-writing/assets/manuscript_manifest_template.json +0 -37
  1554. package/skills/scientific-writing/assets/manuscript_scaffold.md +0 -65
  1555. package/skills/scientific-writing/assets/reporting_coverage_template.json +0 -6
  1556. package/skills/scientific-writing/assets/reporting_guidelines.json +0 -529
  1557. package/skills/scientific-writing/assets/source_manifest_template.json +0 -27
  1558. package/skills/scientific-writing/references/authorship_ai_confidentiality.md +0 -111
  1559. package/skills/scientific-writing/references/citation_styles.md +0 -92
  1560. package/skills/scientific-writing/references/cli_reference.md +0 -113
  1561. package/skills/scientific-writing/references/evidence_workflow.md +0 -94
  1562. package/skills/scientific-writing/references/figures_tables.md +0 -94
  1563. package/skills/scientific-writing/references/imrad_structure.md +0 -114
  1564. package/skills/scientific-writing/references/journal_policies.md +0 -56
  1565. package/skills/scientific-writing/references/professional_report_formatting.md +0 -82
  1566. package/skills/scientific-writing/references/reporting_guidelines.md +0 -107
  1567. package/skills/scientific-writing/references/research_integrity_open_science.md +0 -97
  1568. package/skills/scientific-writing/references/source_ledger.md +0 -268
  1569. package/skills/scientific-writing/references/writing_principles.md +0 -97
  1570. package/skills/scientific-writing/scripts/_common.py +0 -240
  1571. package/skills/scientific-writing/scripts/audit_claims.py +0 -241
  1572. package/skills/scientific-writing/scripts/check_consistency.py +0 -408
  1573. package/skills/scientific-writing/scripts/check_references.py +0 -219
  1574. package/skills/scientific-writing/scripts/lint_manuscript.py +0 -171
  1575. package/skills/scientific-writing/scripts/scaffold_manuscript.py +0 -143
  1576. package/skills/scientific-writing/scripts/select_reporting_guidelines.py +0 -214
  1577. package/skills/scientific-writing/scripts/validate_authorship.py +0 -322
  1578. package/skills/scientific-writing/scripts/validate_manifest.py +0 -460
  1579. package/skills/scikit-bio/references/api_reference.md +0 -766
  1580. package/skills/scikit-learn/references/common_workflows.md +0 -107
  1581. package/skills/scikit-learn/references/core_capabilities.md +0 -133
  1582. package/skills/scikit-learn/references/model_evaluation.md +0 -592
  1583. package/skills/scikit-learn/references/pipelines_and_composition.md +0 -612
  1584. package/skills/scikit-learn/references/preprocessing.md +0 -606
  1585. package/skills/scikit-learn/references/quick_reference.md +0 -436
  1586. package/skills/scikit-learn/references/supervised_learning.md +0 -379
  1587. package/skills/scikit-learn/references/unsupervised_learning.md +0 -517
  1588. package/skills/scikit-learn/scripts/classification_pipeline.py +0 -257
  1589. package/skills/scikit-learn/scripts/clustering_analysis.py +0 -386
  1590. package/skills/scikit-survival/references/competing-risks.md +0 -302
  1591. package/skills/scikit-survival/references/cox-models.md +0 -252
  1592. package/skills/scikit-survival/references/data-handling.md +0 -278
  1593. package/skills/scikit-survival/references/ensemble-models.md +0 -287
  1594. package/skills/scikit-survival/references/evaluation-metrics.md +0 -391
  1595. package/skills/scikit-survival/references/svm-models.md +0 -277
  1596. package/skills/scikit-survival/scripts/_common.py +0 -456
  1597. package/skills/scikit-survival/scripts/competing_risk_cif.py +0 -286
  1598. package/skills/scikit-survival/scripts/evaluate_survival_metrics.py +0 -296
  1599. package/skills/scikit-survival/scripts/model_report.py +0 -297
  1600. package/skills/scikit-survival/scripts/train_survival_model.py +0 -583
  1601. package/skills/scikit-survival/scripts/validate_survival_csv.py +0 -172
  1602. package/skills/scvelo/references/velocity_models.md +0 -168
  1603. package/skills/scvelo/scripts/rna_velocity_workflow.py +0 -240
  1604. package/skills/scvi-tools/references/differential-expression.md +0 -597
  1605. package/skills/scvi-tools/references/models-atac-seq.md +0 -329
  1606. package/skills/scvi-tools/references/models-multimodal.md +0 -400
  1607. package/skills/scvi-tools/references/models-scrna-seq.md +0 -333
  1608. package/skills/scvi-tools/references/models-spatial.md +0 -432
  1609. package/skills/scvi-tools/references/models-specialized.md +0 -376
  1610. package/skills/scvi-tools/references/theoretical-foundations.md +0 -438
  1611. package/skills/scvi-tools/references/workflows.md +0 -559
  1612. package/skills/seaborn/references/examples.md +0 -824
  1613. package/skills/seaborn/references/function_reference.md +0 -772
  1614. package/skills/seaborn/references/grids_and_levels.md +0 -85
  1615. package/skills/seaborn/references/objects_interface.md +0 -963
  1616. package/skills/seaborn/references/palettes_and_theming.md +0 -110
  1617. package/skills/seaborn/references/patterns_and_troubleshooting.md +0 -114
  1618. package/skills/seaborn/references/plotting_functions.md +0 -178
  1619. package/skills/shap/references/data-maskers.md +0 -287
  1620. package/skills/shap/references/explainers.md +0 -376
  1621. package/skills/shap/references/migration.md +0 -415
  1622. package/skills/shap/references/modalities.md +0 -353
  1623. package/skills/shap/references/plots.md +0 -406
  1624. package/skills/shap/references/theory.md +0 -352
  1625. package/skills/shap/references/troubleshooting.md +0 -442
  1626. package/skills/shap/references/workflows.md +0 -565
  1627. package/skills/shap/scripts/tabular_report.py +0 -326
  1628. package/skills/simpy/references/cli-guide.md +0 -266
  1629. package/skills/simpy/references/events.md +0 -225
  1630. package/skills/simpy/references/monitoring.md +0 -260
  1631. package/skills/simpy/references/process-interaction.md +0 -269
  1632. package/skills/simpy/references/real-time.md +0 -174
  1633. package/skills/simpy/references/resources.md +0 -274
  1634. package/skills/simpy/references/simulation-methodology.md +0 -293
  1635. package/skills/simpy/references/sources.md +0 -167
  1636. package/skills/simpy/scripts/_common.py +0 -473
  1637. package/skills/simpy/scripts/basic_simulation_template.py +0 -415
  1638. package/skills/simpy/scripts/bounded_queue_scenario.py +0 -126
  1639. package/skills/simpy/scripts/event_trace_summary.py +0 -296
  1640. package/skills/simpy/scripts/replication_runner.py +0 -194
  1641. package/skills/simpy/scripts/resource_monitor.py +0 -474
  1642. package/skills/simpy/scripts/validate_simulation_config.py +0 -111
  1643. package/skills/stable-baselines3/references/algorithms.md +0 -348
  1644. package/skills/stable-baselines3/references/callbacks.md +0 -571
  1645. package/skills/stable-baselines3/references/custom_environments.md +0 -528
  1646. package/skills/stable-baselines3/references/vectorized_envs.md +0 -580
  1647. package/skills/stable-baselines3/scripts/custom_env_template.py +0 -314
  1648. package/skills/stable-baselines3/scripts/evaluate_agent.py +0 -245
  1649. package/skills/stable-baselines3/scripts/train_rl_agent.py +0 -165
  1650. package/skills/statistical-analysis/references/assumptions_and_diagnostics.md +0 -379
  1651. package/skills/statistical-analysis/references/bayesian_statistics.md +0 -686
  1652. package/skills/statistical-analysis/references/effect_sizes_and_power.md +0 -649
  1653. package/skills/statistical-analysis/references/reporting_standards.md +0 -482
  1654. package/skills/statistical-analysis/references/test_selection_guide.md +0 -129
  1655. package/skills/statistical-analysis/scripts/assumption_checks.py +0 -652
  1656. package/skills/statistical-power/references/closed_form_recipes.md +0 -174
  1657. package/skills/statistical-power/references/effect_sizes.md +0 -121
  1658. package/skills/statistical-power/references/simulation_based_power.md +0 -101
  1659. package/skills/statistical-power/scripts/power.py +0 -320
  1660. package/skills/statistical-power/scripts/simulate_power.py +0 -217
  1661. package/skills/statsmodels/references/discrete_choice.md +0 -669
  1662. package/skills/statsmodels/references/glm.md +0 -619
  1663. package/skills/statsmodels/references/linear_models.md +0 -447
  1664. package/skills/statsmodels/references/model_selection.md +0 -99
  1665. package/skills/statsmodels/references/modeling_capabilities.md +0 -168
  1666. package/skills/statsmodels/references/quick_start_guide.md +0 -154
  1667. package/skills/statsmodels/references/stats_diagnostics.md +0 -859
  1668. package/skills/statsmodels/references/time_series.md +0 -723
  1669. package/skills/sympy/references/advanced-topics.md +0 -635
  1670. package/skills/sympy/references/code-generation-printing.md +0 -628
  1671. package/skills/sympy/references/core-capabilities.md +0 -348
  1672. package/skills/sympy/references/core_capabilities.md +0 -190
  1673. package/skills/sympy/references/matrices-linear-algebra.md +0 -526
  1674. package/skills/sympy/references/physics-mechanics.md +0 -592
  1675. package/skills/tamarind/references/api_reference.md +0 -165
  1676. package/skills/tamarind/references/examples.md +0 -132
  1677. package/skills/tamarind/references/tool_catalog.md +0 -66
  1678. package/skills/tamarind/references/workflows.md +0 -263
  1679. package/skills/timesfm-forecasting/examples/anomaly-detection/detect_anomalies.py +0 -524
  1680. package/skills/timesfm-forecasting/examples/anomaly-detection/output/anomaly_detection.json +0 -448
  1681. package/skills/timesfm-forecasting/examples/anomaly-detection/output/anomaly_detection.png +0 -0
  1682. package/skills/timesfm-forecasting/examples/covariates-forecasting/demo_covariates.py +0 -568
  1683. package/skills/timesfm-forecasting/examples/covariates-forecasting/output/covariates_data.png +0 -0
  1684. package/skills/timesfm-forecasting/examples/covariates-forecasting/output/covariates_metadata.json +0 -59
  1685. package/skills/timesfm-forecasting/examples/covariates-forecasting/output/sales_with_covariates.csv +0 -109
  1686. package/skills/timesfm-forecasting/examples/global-temperature/generate_animation_data.py +0 -147
  1687. package/skills/timesfm-forecasting/examples/global-temperature/generate_gif.py +0 -248
  1688. package/skills/timesfm-forecasting/examples/global-temperature/generate_html.py +0 -544
  1689. package/skills/timesfm-forecasting/examples/global-temperature/output/animation_data.json +0 -5441
  1690. package/skills/timesfm-forecasting/examples/global-temperature/output/forecast_animation.gif +0 -0
  1691. package/skills/timesfm-forecasting/examples/global-temperature/output/forecast_output.csv +0 -13
  1692. package/skills/timesfm-forecasting/examples/global-temperature/output/forecast_output.json +0 -188
  1693. package/skills/timesfm-forecasting/examples/global-temperature/output/forecast_visualization.png +0 -0
  1694. package/skills/timesfm-forecasting/examples/global-temperature/output/interactive_forecast.html +0 -5939
  1695. package/skills/timesfm-forecasting/examples/global-temperature/run_example.sh +0 -53
  1696. package/skills/timesfm-forecasting/examples/global-temperature/run_forecast.py +0 -167
  1697. package/skills/timesfm-forecasting/examples/global-temperature/temperature_anomaly.csv +0 -37
  1698. package/skills/timesfm-forecasting/examples/global-temperature/visualize_forecast.py +0 -123
  1699. package/skills/timesfm-forecasting/references/api_reference.md +0 -231
  1700. package/skills/timesfm-forecasting/references/data_preparation.md +0 -272
  1701. package/skills/timesfm-forecasting/references/examples_and_validation.md +0 -103
  1702. package/skills/timesfm-forecasting/references/output_and_config.md +0 -93
  1703. package/skills/timesfm-forecasting/references/performance_tuning.md +0 -80
  1704. package/skills/timesfm-forecasting/references/system_requirements.md +0 -201
  1705. package/skills/timesfm-forecasting/references/workflows.md +0 -126
  1706. package/skills/timesfm-forecasting/scripts/check_system.py +0 -521
  1707. package/skills/timesfm-forecasting/scripts/forecast_csv.py +0 -269
  1708. package/skills/torch-geometric/references/custom_datasets.md +0 -239
  1709. package/skills/torch-geometric/references/explainability.md +0 -208
  1710. package/skills/torch-geometric/references/heterogeneous.md +0 -241
  1711. package/skills/torch-geometric/references/link_prediction.md +0 -226
  1712. package/skills/torch-geometric/references/message_passing.md +0 -121
  1713. package/skills/torch-geometric/references/scaling.md +0 -269
  1714. package/skills/torchdrug/references/core_concepts.md +0 -241
  1715. package/skills/torchdrug/references/datasets.md +0 -179
  1716. package/skills/torchdrug/references/knowledge_graphs.md +0 -226
  1717. package/skills/torchdrug/references/models_architectures.md +0 -223
  1718. package/skills/torchdrug/references/molecular_generation.md +0 -246
  1719. package/skills/torchdrug/references/molecular_property_prediction.md +0 -239
  1720. package/skills/torchdrug/references/protein_modeling.md +0 -221
  1721. package/skills/torchdrug/references/retrosynthesis.md +0 -247
  1722. package/skills/transformers/references/generation.md +0 -473
  1723. package/skills/transformers/references/models.md +0 -371
  1724. package/skills/transformers/references/pipelines.md +0 -334
  1725. package/skills/transformers/references/tokenizers.md +0 -449
  1726. package/skills/transformers/references/training.md +0 -504
  1727. package/skills/treatment-plans/assets/clinician_authored_intervention_template.json +0 -11
  1728. package/skills/treatment-plans/assets/goals_monitoring_checkpoint_template.json +0 -13
  1729. package/skills/treatment-plans/assets/informed_preference_shared_decision_template.json +0 -11
  1730. package/skills/treatment-plans/assets/intended_use_handoff_template.json +0 -83
  1731. package/skills/treatment-plans/assets/source_fact_manifest_template.json +0 -11
  1732. package/skills/treatment-plans/assets/transition_reconciliation_template.json +0 -27
  1733. package/skills/treatment-plans/references/documentation_workflow.md +0 -165
  1734. package/skills/treatment-plans/references/privacy_governance.md +0 -119
  1735. package/skills/treatment-plans/references/safety_scope.md +0 -101
  1736. package/skills/treatment-plans/references/security_validation.md +0 -68
  1737. package/skills/treatment-plans/references/shared_decision_handoff.md +0 -138
  1738. package/skills/treatment-plans/references/source_boundaries.md +0 -127
  1739. package/skills/treatment-plans/references/source_ledger.md +0 -131
  1740. package/skills/treatment-plans/scripts/_common.py +0 -1160
  1741. package/skills/treatment-plans/scripts/check_completeness.py +0 -572
  1742. package/skills/treatment-plans/scripts/check_consistency.py +0 -386
  1743. package/skills/treatment-plans/scripts/generate_template.py +0 -133
  1744. package/skills/treatment-plans/scripts/privacy_process_check.py +0 -213
  1745. package/skills/treatment-plans/scripts/timeline_generator.py +0 -260
  1746. package/skills/treatment-plans/scripts/validate_traceability.py +0 -147
  1747. package/skills/treatment-plans/scripts/validate_treatment_plan.py +0 -95
  1748. package/skills/umap-learn/references/api_reference.md +0 -574
  1749. package/skills/uncertainty-and-units/references/domain-conversions.md +0 -188
  1750. package/skills/uncertainty-and-units/references/gum-methodology.md +0 -219
  1751. package/skills/uncertainty-and-units/references/pint-recipes.md +0 -228
  1752. package/skills/uncertainty-and-units/references/plausibility-scales.md +0 -168
  1753. package/skills/uncertainty-and-units/references/reporting-rules.md +0 -133
  1754. package/skills/uncertainty-and-units/references/uncertainties-recipes.md +0 -167
  1755. package/skills/uncertainty-and-units/scripts/_common.py +0 -666
  1756. package/skills/uncertainty-and-units/scripts/audit_units.py +0 -575
  1757. package/skills/uncertainty-and-units/scripts/check_plausibility.py +0 -894
  1758. package/skills/uncertainty-and-units/scripts/convert_units.py +0 -280
  1759. package/skills/uncertainty-and-units/scripts/format_result.py +0 -326
  1760. package/skills/uncertainty-and-units/scripts/propagate_uncertainty.py +0 -662
  1761. package/skills/uncertainty-and-units/scripts/uncertainty_budget.py +0 -363
  1762. package/skills/usfiscaldata/references/api-basics.md +0 -105
  1763. package/skills/usfiscaldata/references/datasets-debt.md +0 -166
  1764. package/skills/usfiscaldata/references/datasets-fiscal.md +0 -212
  1765. package/skills/usfiscaldata/references/datasets-interest-rates.md +0 -188
  1766. package/skills/usfiscaldata/references/datasets-securities.md +0 -238
  1767. package/skills/usfiscaldata/references/examples.md +0 -258
  1768. package/skills/usfiscaldata/references/parameters.md +0 -182
  1769. package/skills/usfiscaldata/references/response-format.md +0 -178
  1770. package/skills/vaex/references/core_dataframes.md +0 -373
  1771. package/skills/vaex/references/data_processing.md +0 -555
  1772. package/skills/vaex/references/io_operations.md +0 -718
  1773. package/skills/vaex/references/machine_learning.md +0 -728
  1774. package/skills/vaex/references/performance.md +0 -571
  1775. package/skills/vaex/references/visualization.md +0 -644
  1776. package/skills/venue-templates/assets/examples/cell_summary_example.md +0 -247
  1777. package/skills/venue-templates/assets/examples/medical_structured_abstract.md +0 -313
  1778. package/skills/venue-templates/assets/examples/nature_abstract_examples.md +0 -213
  1779. package/skills/venue-templates/assets/examples/neurips_introduction_example.md +0 -245
  1780. package/skills/venue-templates/assets/grants/nih_specific_aims.tex +0 -237
  1781. package/skills/venue-templates/assets/grants/nsf_proposal_template.tex +0 -384
  1782. package/skills/venue-templates/assets/journals/elsarticle-harv.bst +0 -1598
  1783. package/skills/venue-templates/assets/journals/elsarticle-num-names.bst +0 -1535
  1784. package/skills/venue-templates/assets/journals/elsarticle-num.bst +0 -1509
  1785. package/skills/venue-templates/assets/journals/elsarticle-template-harv.tex +0 -286
  1786. package/skills/venue-templates/assets/journals/elsarticle-template-num-names.tex +0 -284
  1787. package/skills/venue-templates/assets/journals/elsarticle-template-num.tex +0 -286
  1788. package/skills/venue-templates/assets/journals/nature_article.tex +0 -174
  1789. package/skills/venue-templates/assets/journals/neurips_article.tex +0 -292
  1790. package/skills/venue-templates/assets/journals/plos_one.tex +0 -320
  1791. package/skills/venue-templates/assets/posters/beamerposter_academic.tex +0 -312
  1792. package/skills/venue-templates/references/cell_press_style.md +0 -486
  1793. package/skills/venue-templates/references/conferences_formatting.md +0 -175
  1794. package/skills/venue-templates/references/cs_conference_style.md +0 -465
  1795. package/skills/venue-templates/references/grants_requirements.md +0 -267
  1796. package/skills/venue-templates/references/journals_formatting.md +0 -200
  1797. package/skills/venue-templates/references/medical_journal_styles.md +0 -536
  1798. package/skills/venue-templates/references/ml_conference_style.md +0 -562
  1799. package/skills/venue-templates/references/nature_science_style.md +0 -407
  1800. package/skills/venue-templates/references/posters_guidelines.md +0 -630
  1801. package/skills/venue-templates/references/reviewer_expectations.md +0 -422
  1802. package/skills/venue-templates/references/venue_writing_styles.md +0 -323
  1803. package/skills/venue-templates/scripts/customize_template.py +0 -206
  1804. package/skills/venue-templates/scripts/query_template.py +0 -202
  1805. package/skills/venue-templates/scripts/validate_format.py +0 -321
  1806. package/skills/waypoint-bio/references/cli-reference.md +0 -210
  1807. package/skills/waypoint-bio/references/compass-benchmark.md +0 -124
  1808. package/skills/waypoint-bio/references/data-preparation.md +0 -200
  1809. package/skills/waypoint-bio/references/python-api.md +0 -219
  1810. package/skills/waypoint-bio/scripts/profiler_to_waypoint.py +0 -481
  1811. package/skills/waypoint-bio/scripts/vocab_coverage.py +0 -235
  1812. package/skills/what-if-oracle/references/scenario-templates.md +0 -137
  1813. package/skills/xlsx/LICENSE.txt +0 -30
  1814. package/skills/xlsx/scripts/office/helpers/__init__.py +0 -111
  1815. package/skills/xlsx/scripts/office/helpers/pptx_chart.py +0 -170
  1816. package/skills/xlsx/scripts/office/helpers/pptx_slide.py +0 -60
  1817. package/skills/xlsx/scripts/office/helpers/pptx_theme.py +0 -114
  1818. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  1819. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  1820. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  1821. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  1822. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  1823. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  1824. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  1825. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  1826. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  1827. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  1828. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  1829. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  1830. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  1831. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  1832. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  1833. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  1834. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  1835. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  1836. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  1837. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  1838. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  1839. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  1840. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  1841. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  1842. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  1843. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  1844. package/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  1845. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  1846. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  1847. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  1848. package/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  1849. package/skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -75
  1850. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -560
  1851. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -67
  1852. package/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -14
  1853. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -20
  1854. package/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -13
  1855. package/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  1856. package/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -8
  1857. package/skills/xlsx/scripts/office/soffice.py +0 -232
  1858. package/skills/xlsx/scripts/office/validate.py +0 -173
  1859. package/skills/xlsx/scripts/office/validators/__init__.py +0 -15
  1860. package/skills/xlsx/scripts/office/validators/base.py +0 -875
  1861. package/skills/xlsx/scripts/office/validators/docx.py +0 -466
  1862. package/skills/xlsx/scripts/office/validators/pptx.py +0 -441
  1863. package/skills/xlsx/scripts/office/validators/redlining.py +0 -299
  1864. package/skills/xlsx/scripts/recalc.py +0 -308
  1865. package/skills/zarr-python/references/api_reference.md +0 -162
  1866. package/skills/zarr-python/references/chunking_and_compression.md +0 -138
  1867. package/skills/zarr-python/references/integration.md +0 -147
  1868. package/skills/zarr-python/references/performance_and_patterns.md +0 -198
  1869. package/skills/zarr-python/references/storage_backends.md +0 -91
  1870. package/skills/zarr-python/references/v3_migration.md +0 -127
@@ -1,1446 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- AI-powered infographic generation using Nano Banana Pro.
4
-
5
- This script uses a smart iterative refinement approach:
6
- 1. (Optional) Research phase - gather facts and data using Perplexity Sonar
7
- 2. Generate initial infographic with Nano Banana Pro
8
- 3. AI quality review using Gemini 3.6 Flash for infographic critique
9
- 4. Only regenerate if quality is below threshold for document type
10
- 5. Repeat until quality meets standards (max iterations)
11
-
12
- Requirements:
13
- - OPENROUTER_API_KEY environment variable
14
- - requests library
15
-
16
- Usage:
17
- python generate_infographic_ai.py "5 benefits of exercise" -o benefits.png --type list
18
- python generate_infographic_ai.py "Global AI market size" -o ai_market.png --type statistical --research
19
- python generate_infographic_ai.py "Company history 2010-2025" -o timeline.png --type timeline --style corporate
20
- """
21
-
22
- import argparse
23
- import base64
24
- import json
25
- import os
26
- import re
27
- import sys
28
- import time
29
- from pathlib import Path
30
- from typing import Optional, Dict, Any, List, NamedTuple
31
-
32
- try:
33
- import requests
34
- except ImportError:
35
- print("Error: requests library not found. Install with: uv pip install requests")
36
- sys.exit(1)
37
-
38
-
39
- class ReviewResult(NamedTuple):
40
- """The outcome of one quality review.
41
-
42
- A named tuple rather than a bare tuple because the review has several
43
- failure modes -- the model returns no choices, the request raises, the
44
- answer arrives in an unexpected shape -- and each of them used to be a
45
- chance to return the wrong number of values to the caller.
46
-
47
- `score` is None whenever no usable number was parsed, and `reviewed` is
48
- False whenever the review never produced an answer at all. Neither case
49
- invents a score: an infographic whose quality was not measured is reported
50
- as unmeasured, not as passing.
51
- """
52
-
53
- critique: str
54
- score: Optional[float]
55
- needs_improvement: bool
56
- reviewed: bool
57
- error: Optional[str] = None
58
-
59
-
60
- # Markdown decoration the reviewer routinely wraps its answer in. Gemini writes
61
- # "**SCORE:** 8.5" far more often than the bare "SCORE: 8.5" the rubric asks
62
- # for, and a pattern that does not allow for it silently scores every image
63
- # at whatever the default happens to be.
64
- _MARKUP = re.compile(r"[*_`#]")
65
-
66
- _SCORE_PATTERN = re.compile(r"\bSCORE\s*:?\s*(\d+(?:\.\d+)?)", re.IGNORECASE)
67
- _LOOSE_SCORE_PATTERN = re.compile(
68
- r"(?:score|rating|quality)\s*[:\s]\s*(\d+(?:\.\d+)?)\s*(?:/\s*10)?", re.IGNORECASE
69
- )
70
- # The underscore is optional because normalization strips it out of
71
- # NEEDS_IMPROVEMENT along with the surrounding markdown.
72
- _VERDICT_PATTERN = re.compile(
73
- r"^\s*VERDICT\s*:?\s*(ACCEPTABLE|NEEDS[_ ]?IMPROVEMENT)", re.IGNORECASE | re.MULTILINE
74
- )
75
-
76
-
77
- def _normalize_review_text(text: str) -> str:
78
- """Strip markdown decoration so the rubric's fields can be found."""
79
- return _MARKUP.sub("", text or "")
80
-
81
-
82
- def _parse_score(text: str) -> Optional[float]:
83
- """Return the reviewer's 0-10 score, or None when there isn't a usable one.
84
-
85
- None rather than a default: a fabricated score is indistinguishable from a
86
- real one once it reaches the review log, and a default near the middle of
87
- the range quietly passes lenient document types while failing strict ones.
88
- """
89
- normalized = _normalize_review_text(text)
90
- match = _SCORE_PATTERN.search(normalized) or _LOOSE_SCORE_PATTERN.search(normalized)
91
- if not match:
92
- return None
93
- score = float(match.group(1))
94
- # A number outside the rubric's range means something other than the score
95
- # was matched -- a figure count, a percentage, an iteration number.
96
- return score if 0.0 <= score <= 10.0 else None
97
-
98
-
99
- def _parse_verdict(text: str) -> Optional[str]:
100
- """Return ACCEPTABLE / NEEDS_IMPROVEMENT from the verdict line, or None.
101
-
102
- Anchored to the start of a line. The rubric prompt spells out both tokens
103
- when it explains the response format, so a reviewer that echoes those
104
- instructions back would fail a perfectly good image under a plain
105
- substring search.
106
- """
107
- match = _VERDICT_PATTERN.search(_normalize_review_text(text))
108
- if not match:
109
- return None
110
- verdict = match.group(1).upper().replace(" ", "").replace("_", "")
111
- return "NEEDS_IMPROVEMENT" if verdict == "NEEDSIMPROVEMENT" else "ACCEPTABLE"
112
-
113
-
114
- def _resolve_api_key(explicit: Optional[str] = None) -> Optional[str]:
115
- """Resolve the OpenRouter key from --api-key, the environment, then any .env file.
116
-
117
- The .env scan walks up from the working directory and finally checks the
118
- script's own directory, so running from anywhere inside a project picks up
119
- the key at its root. Only the standard library is used: python-dotenv is a
120
- common omission, and a missing optional dependency should not read as a
121
- missing credential.
122
- """
123
- if explicit:
124
- return explicit
125
-
126
- from_env = os.environ.get("OPENROUTER_API_KEY", "").strip()
127
- if from_env:
128
- return from_env
129
-
130
- cwd = Path.cwd()
131
- for directory in [cwd, *cwd.parents, Path(__file__).resolve().parent]:
132
- env_file = directory / ".env"
133
- if not env_file.is_file():
134
- continue
135
- try:
136
- content = env_file.read_text(encoding="utf-8", errors="replace")
137
- except OSError:
138
- continue
139
- for raw in content.splitlines():
140
- line = raw.strip()
141
- if line.startswith("#") or "=" not in line:
142
- continue
143
- name, _, value = line.partition("=")
144
- if name.strip() == "OPENROUTER_API_KEY":
145
- value = value.strip().strip('"').strip("'")
146
- if value:
147
- return value
148
-
149
- return None
150
-
151
-
152
- # Infographic type configurations with detailed prompting
153
- INFOGRAPHIC_TYPES = {
154
- "statistical": {
155
- "name": "Statistical/Data-Driven",
156
- "guidelines": """
157
- STATISTICAL INFOGRAPHIC REQUIREMENTS:
158
- - Large, bold numbers that are immediately readable
159
- - Clear data visualization (bar charts, pie charts, or donut charts)
160
- - Data callouts with context (e.g., "15% increase")
161
- - Trend indicators (arrows, growth symbols)
162
- - Legend if multiple data series
163
- - Source attribution area at bottom
164
- - Clean grid or alignment for data elements
165
- """
166
- },
167
- "timeline": {
168
- "name": "Timeline/Chronological",
169
- "guidelines": """
170
- TIMELINE INFOGRAPHIC REQUIREMENTS:
171
- - Clear chronological flow (horizontal or vertical)
172
- - Prominent date/year markers
173
- - Connecting line or path between events
174
- - Event nodes (circles, icons, or markers)
175
- - Brief event descriptions
176
- - Consistent spacing between events
177
- - Visual progression indicating time direction
178
- - Start and end points clearly marked
179
- """
180
- },
181
- "process": {
182
- "name": "Process/How-To",
183
- "guidelines": """
184
- PROCESS INFOGRAPHIC REQUIREMENTS:
185
- - Numbered steps (1, 2, 3, etc.) clearly visible
186
- - Directional arrows between steps
187
- - Action-oriented icons for each step
188
- - Brief action text for each step
189
- - Clear start and end indicators
190
- - Logical flow direction (top-to-bottom or left-to-right)
191
- - Visual connection between sequential steps
192
- """
193
- },
194
- "comparison": {
195
- "name": "Comparison",
196
- "guidelines": """
197
- COMPARISON INFOGRAPHIC REQUIREMENTS:
198
- - Symmetrical side-by-side layout
199
- - Clear headers for each option being compared
200
- - Matching rows/categories for fair comparison
201
- - Visual indicators (checkmarks, X marks, ratings)
202
- - Balanced visual weight on both sides
203
- - Color differentiation between options
204
- - Summary or verdict section if applicable
205
- """
206
- },
207
- "list": {
208
- "name": "List/Informational",
209
- "guidelines": """
210
- LIST INFOGRAPHIC REQUIREMENTS:
211
- - Large, clear numbers or bullet points
212
- - Icons representing each list item
213
- - Brief, scannable text descriptions
214
- - Consistent visual treatment for all items
215
- - Clear hierarchy (title, items, details)
216
- - Adequate spacing between items
217
- - Visual variety to prevent monotony
218
- """
219
- },
220
- "geographic": {
221
- "name": "Geographic/Map-Based",
222
- "guidelines": """
223
- GEOGRAPHIC INFOGRAPHIC REQUIREMENTS:
224
- - Accurate map representation
225
- - Color-coded regions based on data
226
- - Clear legend explaining color scale
227
- - Data callouts for key regions
228
- - Region labels where space permits
229
- - Scale or context indicator
230
- - Clean cartographic style
231
- """
232
- },
233
- "hierarchical": {
234
- "name": "Hierarchical/Pyramid",
235
- "guidelines": """
236
- HIERARCHICAL INFOGRAPHIC REQUIREMENTS:
237
- - Clear pyramid or tree structure
238
- - Distinct levels with visual separation
239
- - Size progression (larger at base, smaller at top)
240
- - Labels for each tier
241
- - Color gradient or distinct colors per level
242
- - Clear top-to-bottom or bottom-to-top hierarchy
243
- - Balanced, centered composition
244
- """
245
- },
246
- "anatomical": {
247
- "name": "Anatomical/Visual Metaphor",
248
- "guidelines": """
249
- ANATOMICAL INFOGRAPHIC REQUIREMENTS:
250
- - Central metaphor image (body, tree, machine, etc.)
251
- - Labeled components with callout lines
252
- - Clear connection between labels and parts
253
- - Explanatory text for each labeled part
254
- - Consistent callout style throughout
255
- - Educational, diagram-like appearance
256
- """
257
- },
258
- "resume": {
259
- "name": "Resume/Professional",
260
- "guidelines": """
261
- RESUME INFOGRAPHIC REQUIREMENTS:
262
- - Professional photo/avatar placeholder area
263
- - Skill visualization (bars, charts, ratings)
264
- - Experience timeline or list
265
- - Contact information section with icons
266
- - Achievement or certification badges
267
- - Clean, professional layout
268
- - Personal branding colors
269
- """
270
- },
271
- "social": {
272
- "name": "Social Media",
273
- "guidelines": """
274
- SOCIAL MEDIA INFOGRAPHIC REQUIREMENTS:
275
- - Bold, attention-grabbing headline
276
- - Large, impactful central statistic or visual
277
- - Minimal text, maximum visual impact
278
- - Platform-appropriate format (square for Instagram)
279
- - Vibrant, eye-catching colors
280
- - Call-to-action element
281
- - Brand/logo placement area
282
- """
283
- },
284
- }
285
-
286
- # Industry style configurations
287
- STYLE_PRESETS = {
288
- "corporate": {
289
- "name": "Corporate/Business",
290
- "colors": "navy blue (#1E3A5F), steel blue (#4A90A4), gold (#F5A623) accents",
291
- "description": "Clean, professional, minimal design with structured layout",
292
- },
293
- "healthcare": {
294
- "name": "Healthcare/Medical",
295
- "colors": "medical blue (#0077B6), cyan (#00B4D8), light cyan (#90E0EF)",
296
- "description": "Trust-inducing, clinical, clean design",
297
- },
298
- "technology": {
299
- "name": "Technology/Data",
300
- "colors": "tech blue (#2563EB), slate gray (#475569), violet (#7C3AED) accents",
301
- "description": "Modern, innovative, futuristic design",
302
- },
303
- "nature": {
304
- "name": "Nature/Environmental",
305
- "colors": "forest green (#2D6A4F), mint (#95D5B2), earth brown (#8B4513)",
306
- "description": "Organic, natural, earth-toned design",
307
- },
308
- "education": {
309
- "name": "Education/Academic",
310
- "colors": "academic blue (#3D5A80), light blue (#98C1D9), coral (#EE6C4D) accents",
311
- "description": "Friendly, approachable, educational design",
312
- },
313
- "marketing": {
314
- "name": "Marketing/Creative",
315
- "colors": "coral (#FF6B6B), teal (#4ECDC4), yellow (#FFE66D)",
316
- "description": "Bold, vibrant, eye-catching design",
317
- },
318
- "finance": {
319
- "name": "Finance/Investment",
320
- "colors": "navy (#14213D), gold (#FCA311), green (#2ECC71) for positive",
321
- "description": "Conservative, trustworthy, professional design",
322
- },
323
- "nonprofit": {
324
- "name": "Nonprofit/Cause",
325
- "colors": "warm orange (#E07A5F), sage green (#81B29A), sand (#F2CC8F)",
326
- "description": "Warm, human-centered, impactful design",
327
- },
328
- }
329
-
330
- # Colorblind-safe palette options
331
- PALETTE_PRESETS = {
332
- "wong": {
333
- "name": "Wong's Palette",
334
- "colors": "orange (#E69F00), sky blue (#56B4E9), bluish green (#009E73), blue (#0072B2), vermillion (#D55E00)",
335
- },
336
- "ibm": {
337
- "name": "IBM Colorblind-Safe",
338
- "colors": "ultramarine (#648FFF), indigo (#785EF0), magenta (#DC267F), orange (#FE6100), gold (#FFB000)",
339
- },
340
- "tol": {
341
- "name": "Tol's Qualitative",
342
- "colors": "indigo (#332288), cyan (#88CCEE), teal (#44AA99), green (#117733), sand (#DDCC77), rose (#CC6677)",
343
- },
344
- }
345
-
346
-
347
- class InfographicGenerator:
348
- """Generate infographics using AI with smart iterative refinement.
349
-
350
- Uses Gemini 3.6 Flash for quality review to determine if regeneration is needed.
351
- Multiple passes only occur if the generated infographic doesn't meet the
352
- quality threshold for the target document type.
353
- """
354
-
355
- # Quality thresholds by document type (score out of 10)
356
- QUALITY_THRESHOLDS = {
357
- "marketing": 8.0, # Marketing materials - must be compelling
358
- "report": 8.0, # Business reports - professional quality
359
- "presentation": 7.5, # Slides/talks - clear and engaging
360
- "social": 7.0, # Social media - eye-catching
361
- "internal": 7.0, # Internal use - good quality
362
- "draft": 6.5, # Draft/working - acceptable
363
- "default": 7.5, # Default threshold
364
- }
365
-
366
- # Base infographic design guidelines
367
- INFOGRAPHIC_GUIDELINES = """
368
- Create a high-quality professional infographic with these requirements:
369
-
370
- VISUAL QUALITY:
371
- - Clean white or light solid color background (no busy textures)
372
- - High contrast for readability
373
- - Professional, polished appearance
374
- - Sharp, clear graphics and text
375
- - Adequate spacing to prevent crowding
376
- - Balanced composition
377
-
378
- TYPOGRAPHY:
379
- - Bold, attention-grabbing headline
380
- - Clear, readable sans-serif fonts
381
- - Minimum 12pt font size for body text
382
- - Larger text for key statistics and headlines
383
- - Consistent font hierarchy throughout
384
- - No overlapping text
385
-
386
- LAYOUT:
387
- - Clear visual hierarchy (most important info largest/first)
388
- - Logical reading flow (top-to-bottom or left-to-right)
389
- - 60% visual elements, 40% text (approximately)
390
- - Adequate white space between sections
391
- - Balanced left-right composition
392
- - Clear section divisions
393
-
394
- DATA VISUALIZATION:
395
- - Large, bold numbers for key statistics
396
- - Clear, accurate charts and graphs
397
- - Labeled axes and data points
398
- - Legend where needed
399
- - Icons that clearly represent concepts
400
-
401
- ACCESSIBILITY:
402
- - Colorblind-friendly color choices
403
- - High contrast between text and background
404
- - Shapes and labels, not just colors, to convey meaning
405
- - Works in grayscale
406
-
407
- IMPORTANT - NO META CONTENT:
408
- - Do NOT include the prompt, instructions, or metadata in the image
409
- - Do NOT include layout descriptions like "left panel", "right panel"
410
- - Do NOT include font or color specifications
411
- - Only include the actual infographic content
412
- """
413
-
414
- def __init__(self, api_key: Optional[str] = None, verbose: bool = False):
415
- """Initialize the generator."""
416
- self.api_key = _resolve_api_key(api_key)
417
-
418
- if not self.api_key:
419
- raise ValueError(
420
- "OPENROUTER_API_KEY not found. Please either:\n"
421
- " 1. Set the OPENROUTER_API_KEY environment variable\n"
422
- " 2. Add OPENROUTER_API_KEY to your .env file\n"
423
- " 3. Pass api_key parameter to the constructor\n"
424
- "Get your API key from: https://openrouter.ai/keys"
425
- )
426
-
427
- self.verbose = verbose
428
- self._last_error = None
429
- self.base_url = "https://openrouter.ai/api/v1"
430
- # Nano Banana Pro for image generation. The slug must be an image-output
431
- # model; a text-only chat model is rejected with "No endpoints found that
432
- # support the requested output modalities".
433
- # https://openrouter.ai/google/gemini-3.1-flash-image
434
- self.image_model = "google/gemini-3.1-flash-image"
435
- # Gemini 3.6 Flash for quality review - reads the image, answers in text
436
- self.review_model = "google/gemini-3.7-flash"
437
-
438
- def _log(self, message: str):
439
- """Log message if verbose mode is enabled."""
440
- if self.verbose:
441
- print(f"[{time.strftime('%H:%M:%S')}] {message}")
442
-
443
- # ========== RESEARCH METHODS ==========
444
-
445
- def research_topic(self, topic: str, infographic_type: Optional[str] = None) -> Dict[str, Any]:
446
- """
447
- Research a topic using Perplexity Sonar Pro to gather facts and data.
448
-
449
- Args:
450
- topic: The topic to research
451
- infographic_type: Type of infographic to tailor the research
452
-
453
- Returns:
454
- Dictionary with research results including facts, statistics, and sources
455
- """
456
- self._log(f"Researching topic: {topic}")
457
-
458
- # Build research query based on infographic type
459
- type_context = ""
460
- if infographic_type:
461
- if infographic_type == "statistical":
462
- type_context = "Focus on statistics, numbers, percentages, and quantitative data."
463
- elif infographic_type == "timeline":
464
- type_context = "Focus on key dates, milestones, and chronological events."
465
- elif infographic_type == "process":
466
- type_context = "Focus on steps, procedures, and sequential information."
467
- elif infographic_type == "comparison":
468
- type_context = "Focus on comparing different options, pros/cons, and differences."
469
- elif infographic_type == "list":
470
- type_context = "Focus on key points, tips, facts, and organized information."
471
- elif infographic_type == "geographic":
472
- type_context = "Focus on regional data, location-based statistics, and geographic distribution."
473
- elif infographic_type == "hierarchical":
474
- type_context = "Focus on levels, rankings, and hierarchical relationships."
475
-
476
- research_prompt = f"""You are a research assistant gathering information for an infographic.
477
-
478
- TOPIC: {topic}
479
-
480
- {type_context}
481
-
482
- Please provide:
483
- 1. KEY FACTS: 5-8 key facts or statistics about this topic (with specific numbers where possible)
484
- 2. CONTEXT: Brief background context (2-3 sentences)
485
- 3. SOURCES: Mention any major sources or studies
486
- 4. DATA POINTS: Any specific data points that would make good visualizations
487
-
488
- Format your response as structured data that can be easily incorporated into an infographic.
489
- Be specific with numbers, percentages, and dates.
490
- Prioritize recent information (2023-2026).
491
- Include citation hints where possible."""
492
-
493
- messages = [
494
- {
495
- "role": "system",
496
- "content": "You are an expert research assistant. Provide accurate, well-sourced information formatted for infographic creation. Always include specific numbers, dates, and statistics."
497
- },
498
- {"role": "user", "content": research_prompt}
499
- ]
500
-
501
- try:
502
- # Use Perplexity Sonar Pro for research
503
- research_model = "perplexity/sonar-pro"
504
-
505
- headers = {
506
- "Authorization": f"Bearer {self.api_key}",
507
- "Content-Type": "application/json",
508
- "HTTP-Referer": "https://github.com/scientific-writer",
509
- "X-Title": "Infographic Research"
510
- }
511
-
512
- payload = {
513
- "model": research_model,
514
- "messages": messages,
515
- "max_tokens": 2000,
516
- "temperature": 0.1,
517
- "search_mode": "academic",
518
- "search_context_size": "high"
519
- }
520
-
521
- response = requests.post(
522
- f"{self.base_url}/chat/completions",
523
- headers=headers,
524
- json=payload,
525
- timeout=60
526
- )
527
-
528
- if response.status_code != 200:
529
- self._log(f"Research request failed: {response.status_code}")
530
- return {"success": False, "error": f"API error: {response.status_code}"}
531
-
532
- result = response.json()
533
-
534
- if "choices" in result and len(result["choices"]) > 0:
535
- content = result["choices"][0].get("message", {}).get("content", "")
536
-
537
- # Extract any sources from the response
538
- sources = result.get("search_results", [])
539
-
540
- self._log(f"Research complete: {len(content)} chars")
541
-
542
- return {
543
- "success": True,
544
- "content": content,
545
- "sources": sources,
546
- "model": research_model
547
- }
548
- else:
549
- return {"success": False, "error": "No response from research model"}
550
-
551
- except Exception as e:
552
- self._log(f"Research failed: {str(e)}")
553
- return {"success": False, "error": str(e)}
554
-
555
- def web_search(self, query: str) -> Dict[str, Any]:
556
- """
557
- Perform a quick web search for current information.
558
-
559
- Args:
560
- query: Search query
561
-
562
- Returns:
563
- Dictionary with search results
564
- """
565
- self._log(f"Web search: {query}")
566
-
567
- search_prompt = f"""Search for current information about: {query}
568
-
569
- Provide:
570
- 1. The most relevant and recent facts
571
- 2. Any statistics or numbers
572
- 3. Key dates if applicable
573
- 4. Brief source attribution
574
-
575
- Be concise and factual. Focus on information useful for an infographic."""
576
-
577
- messages = [
578
- {
579
- "role": "system",
580
- "content": "You are a web search assistant. Provide accurate, current information with sources."
581
- },
582
- {"role": "user", "content": search_prompt}
583
- ]
584
-
585
- try:
586
- # Use Perplexity Sonar for web search
587
- search_model = "perplexity/sonar-pro"
588
-
589
- headers = {
590
- "Authorization": f"Bearer {self.api_key}",
591
- "Content-Type": "application/json",
592
- "HTTP-Referer": "https://github.com/scientific-writer",
593
- "X-Title": "Infographic Web Search"
594
- }
595
-
596
- payload = {
597
- "model": search_model,
598
- "messages": messages,
599
- "max_tokens": 1000,
600
- "temperature": 0.1
601
- }
602
-
603
- response = requests.post(
604
- f"{self.base_url}/chat/completions",
605
- headers=headers,
606
- json=payload,
607
- timeout=30
608
- )
609
-
610
- if response.status_code != 200:
611
- return {"success": False, "error": f"API error: {response.status_code}"}
612
-
613
- result = response.json()
614
-
615
- if "choices" in result and len(result["choices"]) > 0:
616
- content = result["choices"][0].get("message", {}).get("content", "")
617
- return {
618
- "success": True,
619
- "content": content,
620
- "sources": result.get("search_results", [])
621
- }
622
- else:
623
- return {"success": False, "error": "No response from search"}
624
-
625
- except Exception as e:
626
- self._log(f"Web search failed: {str(e)}")
627
- return {"success": False, "error": str(e)}
628
-
629
- def _enhance_prompt_with_research(self, user_prompt: str, research_data: Dict[str, Any]) -> str:
630
- """
631
- Enhance the user prompt with researched information.
632
-
633
- Args:
634
- user_prompt: Original user prompt
635
- research_data: Research results dictionary
636
-
637
- Returns:
638
- Enhanced prompt with research data
639
- """
640
- if not research_data.get("success") or not research_data.get("content"):
641
- return user_prompt
642
-
643
- enhanced = f"""{user_prompt}
644
-
645
- RESEARCHED DATA AND FACTS (use these in the infographic):
646
- {research_data['content']}
647
-
648
- Use the above researched facts, statistics, and data points to create an accurate, informative infographic.
649
- Incorporate specific numbers, percentages, and dates from the research."""
650
-
651
- return enhanced
652
-
653
- # ========== END RESEARCH METHODS ==========
654
-
655
- def _make_request(self, model: str, messages: List[Dict[str, Any]],
656
- modalities: Optional[List[str]] = None) -> Dict[str, Any]:
657
- """Make a request to OpenRouter API."""
658
- headers = {
659
- "Authorization": f"Bearer {self.api_key}",
660
- "Content-Type": "application/json",
661
- "HTTP-Referer": "https://github.com/scientific-writer",
662
- "X-Title": "Infographic Generator"
663
- }
664
-
665
- payload = {
666
- "model": model,
667
- "messages": messages
668
- }
669
-
670
- if modalities:
671
- payload["modalities"] = modalities
672
-
673
- self._log(f"Making request to {model}...")
674
-
675
- try:
676
- response = requests.post(
677
- f"{self.base_url}/chat/completions",
678
- headers=headers,
679
- json=payload,
680
- timeout=120
681
- )
682
-
683
- try:
684
- response_json = response.json()
685
- except json.JSONDecodeError:
686
- response_json = {"raw_text": response.text[:500]}
687
-
688
- if response.status_code != 200:
689
- error_detail = response_json.get("error", response_json)
690
- self._log(f"HTTP {response.status_code}: {error_detail}")
691
- raise RuntimeError(f"API request failed (HTTP {response.status_code}): {error_detail}")
692
-
693
- return response_json
694
- except requests.exceptions.Timeout:
695
- raise RuntimeError("API request timed out after 120 seconds")
696
- except requests.exceptions.RequestException as e:
697
- raise RuntimeError(f"API request failed: {str(e)}")
698
-
699
- def _extract_image_from_response(self, response: Dict[str, Any]) -> Optional[bytes]:
700
- """Extract base64-encoded image from API response."""
701
- try:
702
- choices = response.get("choices", [])
703
- if not choices:
704
- self._log("No choices in response")
705
- return None
706
-
707
- message = choices[0].get("message", {})
708
-
709
- # Nano Banana Pro returns images in 'images' field
710
- images = message.get("images", [])
711
- if images and len(images) > 0:
712
- self._log(f"Found {len(images)} image(s) in 'images' field")
713
-
714
- first_image = images[0]
715
- if isinstance(first_image, dict):
716
- if first_image.get("type") == "image_url":
717
- url = first_image.get("image_url", {})
718
- if isinstance(url, dict):
719
- url = url.get("url", "")
720
-
721
- if url and url.startswith("data:image"):
722
- if "," in url:
723
- base64_str = url.split(",", 1)[1]
724
- base64_str = base64_str.replace('\n', '').replace('\r', '').replace(' ', '')
725
- self._log(f"Extracted base64 data (length: {len(base64_str)})")
726
- return base64.b64decode(base64_str)
727
-
728
- # Fallback: check content field
729
- content = message.get("content", "")
730
-
731
- if isinstance(content, str) and "data:image" in content:
732
- import re
733
- match = re.search(r'data:image/[^;]+;base64,([A-Za-z0-9+/=\n\r]+)', content, re.DOTALL)
734
- if match:
735
- base64_str = match.group(1).replace('\n', '').replace('\r', '').replace(' ', '')
736
- self._log(f"Found image in content field (length: {len(base64_str)})")
737
- return base64.b64decode(base64_str)
738
-
739
- if isinstance(content, list):
740
- for i, block in enumerate(content):
741
- if isinstance(block, dict) and block.get("type") == "image_url":
742
- url = block.get("image_url", {})
743
- if isinstance(url, dict):
744
- url = url.get("url", "")
745
- if url and url.startswith("data:image") and "," in url:
746
- base64_str = url.split(",", 1)[1].replace('\n', '').replace('\r', '').replace(' ', '')
747
- self._log(f"Found image in content block {i}")
748
- return base64.b64decode(base64_str)
749
-
750
- self._log("No image data found in response")
751
- return None
752
-
753
- except Exception as e:
754
- self._log(f"Error extracting image: {str(e)}")
755
- return None
756
-
757
- def _image_to_base64(self, image_path: str) -> str:
758
- """Convert image file to base64 data URL."""
759
- with open(image_path, "rb") as f:
760
- image_data = f.read()
761
-
762
- ext = Path(image_path).suffix.lower()
763
- mime_type = {
764
- ".png": "image/png",
765
- ".jpg": "image/jpeg",
766
- ".jpeg": "image/jpeg",
767
- ".gif": "image/gif",
768
- ".webp": "image/webp"
769
- }.get(ext, "image/png")
770
-
771
- base64_data = base64.b64encode(image_data).decode("utf-8")
772
- return f"data:{mime_type};base64,{base64_data}"
773
-
774
- def _build_generation_prompt(self, user_prompt: str,
775
- infographic_type: Optional[str] = None,
776
- style: Optional[str] = None,
777
- palette: Optional[str] = None,
778
- background: str = "white",
779
- context_image_count: int = 0) -> str:
780
- """Build the full generation prompt with all enhancements."""
781
- parts = [self.INFOGRAPHIC_GUIDELINES]
782
-
783
- # Add type-specific guidelines
784
- if infographic_type and infographic_type in INFOGRAPHIC_TYPES:
785
- type_config = INFOGRAPHIC_TYPES[infographic_type]
786
- parts.append(f"\nINFOGRAPHIC TYPE: {type_config['name']}")
787
- parts.append(type_config['guidelines'])
788
-
789
- # Add style preset
790
- if style and style in STYLE_PRESETS:
791
- style_config = STYLE_PRESETS[style]
792
- parts.append(f"\nSTYLE: {style_config['name']}")
793
- parts.append(f"Colors: {style_config['colors']}")
794
- parts.append(f"Design: {style_config['description']}")
795
-
796
- # Add colorblind-safe palette
797
- if palette and palette in PALETTE_PRESETS:
798
- palette_config = PALETTE_PRESETS[palette]
799
- parts.append(f"\nCOLORBLIND-SAFE PALETTE: {palette_config['name']}")
800
- parts.append(f"Use these colors: {palette_config['colors']}")
801
-
802
- # Add user request
803
- parts.append(f"\nUSER REQUEST: {user_prompt}")
804
-
805
- if context_image_count:
806
- plural = "image" if context_image_count == 1 else "images"
807
- parts.append(
808
- f"\nREFERENCE CONTEXT: {context_image_count} reference {plural} attached. "
809
- "Use them as visual/content context for the infographic while following the user request."
810
- )
811
-
812
- # Add background
813
- parts.append(f"\nBackground: {background} background")
814
-
815
- # Final instruction
816
- parts.append("\nGenerate a professional, publication-quality infographic that meets all the guidelines above.")
817
-
818
- return "\n".join(parts)
819
-
820
- def generate_image(self, prompt: str, context_images: Optional[List[str]] = None) -> Optional[bytes]:
821
- """Generate an image using Nano Banana Pro."""
822
- self._last_error = None
823
- context_images = context_images or []
824
-
825
- if context_images:
826
- content: Any = [{"type": "text", "text": prompt}]
827
- for image_path in context_images:
828
- content.append({
829
- "type": "image_url",
830
- "image_url": {
831
- "url": self._image_to_base64(image_path)
832
- }
833
- })
834
- self._log(f"Added {len(context_images)} context image(s) to generation request")
835
- else:
836
- content = prompt
837
-
838
- messages = [
839
- {
840
- "role": "user",
841
- "content": content
842
- }
843
- ]
844
-
845
- try:
846
- response = self._make_request(
847
- model=self.image_model,
848
- messages=messages,
849
- modalities=["image", "text"]
850
- )
851
-
852
- if self.verbose:
853
- self._log(f"Response keys: {response.keys()}")
854
- if "error" in response:
855
- self._log(f"API Error: {response['error']}")
856
-
857
- if "error" in response:
858
- error_msg = response["error"]
859
- if isinstance(error_msg, dict):
860
- error_msg = error_msg.get("message", str(error_msg))
861
- self._last_error = f"API Error: {error_msg}"
862
- print(f"✗ {self._last_error}")
863
- return None
864
-
865
- image_data = self._extract_image_from_response(response)
866
- if image_data:
867
- self._log(f"✓ Generated image ({len(image_data)} bytes)")
868
- else:
869
- self._last_error = "No image data in API response"
870
- self._log(f"✗ {self._last_error}")
871
-
872
- return image_data
873
- except RuntimeError as e:
874
- self._last_error = str(e)
875
- self._log(f"✗ Generation failed: {self._last_error}")
876
- return None
877
- except Exception as e:
878
- self._last_error = f"Unexpected error: {str(e)}"
879
- self._log(f"✗ Generation failed: {self._last_error}")
880
- return None
881
-
882
- def review_image(self, image_path: str, original_prompt: str,
883
- infographic_type: Optional[str],
884
- iteration: int, doc_type: str = "default",
885
- max_iterations: int = 3) -> ReviewResult:
886
- """
887
- Review generated infographic using Gemini 3.6 Flash for quality analysis.
888
-
889
- Evaluates the infographic on multiple criteria specific to good
890
- infographic design and determines if regeneration is needed.
891
- """
892
- image_data_url = self._image_to_base64(image_path)
893
-
894
- threshold = self.QUALITY_THRESHOLDS.get(doc_type.lower(),
895
- self.QUALITY_THRESHOLDS["default"])
896
-
897
- type_name = "general"
898
- if infographic_type and infographic_type in INFOGRAPHIC_TYPES:
899
- type_name = INFOGRAPHIC_TYPES[infographic_type]["name"]
900
-
901
- review_prompt = f"""You are an expert infographic designer reviewing a generated infographic for quality.
902
-
903
- ORIGINAL REQUEST: {original_prompt}
904
-
905
- INFOGRAPHIC TYPE: {type_name}
906
- QUALITY THRESHOLD: {threshold}/10
907
- ITERATION: {iteration}/{max_iterations}
908
-
909
- Carefully evaluate this infographic on these criteria:
910
-
911
- 1. **Visual Hierarchy & Layout** (0-2 points)
912
- - Clear visual hierarchy (most important elements prominent)
913
- - Logical reading flow
914
- - Balanced composition
915
- - Adequate white space
916
-
917
- 2. **Typography & Readability** (0-2 points)
918
- - Text is readable and appropriately sized
919
- - Headlines are bold and attention-grabbing
920
- - No overlapping or cramped text
921
- - Consistent font usage
922
-
923
- 3. **Data Visualization** (0-2 points)
924
- - Numbers and statistics are prominent
925
- - Charts/icons are clear and accurate
926
- - Data is easy to understand at a glance
927
- - Labels are present where needed
928
-
929
- 4. **Color & Accessibility** (0-2 points)
930
- - Colors are harmonious and professional
931
- - Sufficient contrast for readability
932
- - Works for colorblind viewers
933
- - Colors support the content hierarchy
934
-
935
- 5. **Overall Impact & Professionalism** (0-2 points)
936
- - Looks professional and polished
937
- - Engaging and visually appealing
938
- - Free of visual bugs or artifacts
939
- - Achieves its communication goal
940
-
941
- RESPOND IN THIS EXACT FORMAT:
942
- SCORE: [total score 0-10]
943
-
944
- STRENGTHS:
945
- - [strength 1]
946
- - [strength 2]
947
-
948
- ISSUES:
949
- - [issue 1 if any]
950
- - [issue 2 if any]
951
-
952
- SPECIFIC_IMPROVEMENTS:
953
- - [specific improvement 1]
954
- - [specific improvement 2]
955
-
956
- VERDICT: [ACCEPTABLE or NEEDS_IMPROVEMENT]
957
-
958
- If score >= {threshold}, the infographic is ACCEPTABLE.
959
- If score < {threshold}, mark as NEEDS_IMPROVEMENT with specific suggestions."""
960
-
961
- messages = [
962
- {
963
- "role": "user",
964
- "content": [
965
- {
966
- "type": "text",
967
- "text": review_prompt
968
- },
969
- {
970
- "type": "image_url",
971
- "image_url": {
972
- "url": image_data_url
973
- }
974
- }
975
- ]
976
- }
977
- ]
978
-
979
- try:
980
- response = self._make_request(
981
- model=self.review_model,
982
- messages=messages
983
- )
984
-
985
- choices = response.get("choices", [])
986
- if not choices:
987
- # A normal enough outcome -- a rate limit, a content filter, a
988
- # provider hiccup. The image itself is fine; only its review is
989
- # missing, and saying so beats inventing a score.
990
- reason = "the review model returned no choices"
991
- self._log(f"⚠ Review unavailable: {reason}")
992
- return ReviewResult(
993
- f"Review unavailable: {reason}.",
994
- None, False, reviewed=False, error=reason,
995
- )
996
-
997
- message = choices[0].get("message", {})
998
- content = message.get("content", "")
999
-
1000
- reasoning = message.get("reasoning", "")
1001
- if reasoning and not content:
1002
- content = reasoning
1003
-
1004
- if isinstance(content, list):
1005
- text_parts = []
1006
- for block in content:
1007
- if isinstance(block, dict) and block.get("type") == "text":
1008
- text_parts.append(block.get("text", ""))
1009
- content = "\n".join(text_parts)
1010
-
1011
- score = _parse_score(content)
1012
- verdict = _parse_verdict(content)
1013
-
1014
- if score is None and verdict is None:
1015
- reason = "no score or verdict found in the review"
1016
- self._log(f"⚠ Review unusable: {reason}")
1017
- return ReviewResult(
1018
- content if content else f"Review unusable: {reason}.",
1019
- None, False, reviewed=True, error=reason,
1020
- )
1021
-
1022
- needs_improvement = verdict == "NEEDS_IMPROVEMENT" or (
1023
- score is not None and score < threshold
1024
- )
1025
-
1026
- shown = f"{score}/10" if score is not None else "not stated"
1027
- self._log(f"✓ Review complete (Score: {shown}, Threshold: {threshold}/10)")
1028
- self._log(f" Verdict: {'Needs improvement' if needs_improvement else 'Acceptable'}")
1029
-
1030
- return ReviewResult(
1031
- content if content else "Review returned no text",
1032
- score,
1033
- needs_improvement,
1034
- reviewed=True,
1035
- error=None if score is not None else "no score found in the review",
1036
- )
1037
- except Exception as e:
1038
- # A failed review must not fail the run -- the image is already
1039
- # generated and saved -- but it must not read as a pass either.
1040
- self._log(f"⚠ Review failed: {str(e)}")
1041
- return ReviewResult(
1042
- f"Review failed: {str(e)}",
1043
- None, False, reviewed=False, error=str(e),
1044
- )
1045
-
1046
- def improve_prompt(self, original_prompt: str, critique: str,
1047
- infographic_type: Optional[str],
1048
- style: Optional[str],
1049
- palette: Optional[str],
1050
- background: str,
1051
- iteration: int,
1052
- context_image_count: int = 0) -> str:
1053
- """Improve the generation prompt based on critique."""
1054
-
1055
- parts = [self.INFOGRAPHIC_GUIDELINES]
1056
-
1057
- # Add type-specific guidelines
1058
- if infographic_type and infographic_type in INFOGRAPHIC_TYPES:
1059
- type_config = INFOGRAPHIC_TYPES[infographic_type]
1060
- parts.append(f"\nINFOGRAPHIC TYPE: {type_config['name']}")
1061
- parts.append(type_config['guidelines'])
1062
-
1063
- # Add style preset
1064
- if style and style in STYLE_PRESETS:
1065
- style_config = STYLE_PRESETS[style]
1066
- parts.append(f"\nSTYLE: {style_config['name']}")
1067
- parts.append(f"Colors: {style_config['colors']}")
1068
- parts.append(f"Design: {style_config['description']}")
1069
-
1070
- # Add palette
1071
- if palette and palette in PALETTE_PRESETS:
1072
- palette_config = PALETTE_PRESETS[palette]
1073
- parts.append(f"\nCOLORBLIND-SAFE PALETTE: {palette_config['name']}")
1074
- parts.append(f"Use these colors: {palette_config['colors']}")
1075
-
1076
- # Add original request
1077
- parts.append(f"\nUSER REQUEST: {original_prompt}")
1078
-
1079
- if context_image_count:
1080
- plural = "image" if context_image_count == 1 else "images"
1081
- parts.append(
1082
- f"\nREFERENCE CONTEXT: {context_image_count} reference {plural} attached. "
1083
- "Continue using them as visual/content context while addressing the review feedback."
1084
- )
1085
-
1086
- parts.append(f"\nBackground: {background} background")
1087
-
1088
- # Add improvement instructions
1089
- parts.append(f"""
1090
- ITERATION {iteration}: Based on previous review, address these specific improvements:
1091
- {critique}
1092
-
1093
- Generate an improved version that:
1094
- 1. Fixes ALL the issues mentioned in the review
1095
- 2. Maintains the requested infographic type and style
1096
- 3. Ensures professional, publication-ready quality
1097
- 4. Has no visual bugs, overlapping elements, or readability issues
1098
- """)
1099
-
1100
- return "\n".join(parts)
1101
-
1102
- def generate_iterative(self, user_prompt: str, output_path: str,
1103
- infographic_type: Optional[str] = None,
1104
- style: Optional[str] = None,
1105
- palette: Optional[str] = None,
1106
- background: str = "white",
1107
- iterations: int = 3,
1108
- doc_type: str = "default",
1109
- research: bool = False,
1110
- context_images: Optional[List[str]] = None) -> Dict[str, Any]:
1111
- """
1112
- Generate infographic with smart iterative refinement.
1113
-
1114
- Only regenerates if the quality score is below the threshold.
1115
-
1116
- Args:
1117
- user_prompt: Description of the infographic content
1118
- output_path: Path to save final image
1119
- infographic_type: Type preset (statistical, timeline, etc.)
1120
- style: Industry style preset
1121
- palette: Colorblind-safe palette
1122
- background: Background color
1123
- iterations: Maximum refinement iterations
1124
- doc_type: Document type for quality threshold
1125
- research: If True, research the topic first for better data
1126
- context_images: Optional image paths to attach as generation context
1127
- """
1128
- output_path = Path(output_path)
1129
- output_dir = output_path.parent
1130
- output_dir.mkdir(parents=True, exist_ok=True)
1131
-
1132
- context_images = [str(Path(image_path)) for image_path in (context_images or [])]
1133
- for image_path in context_images:
1134
- if not Path(image_path).is_file():
1135
- raise FileNotFoundError(f"Context image not found: {image_path}")
1136
-
1137
- base_name = output_path.stem
1138
- extension = output_path.suffix or ".png"
1139
-
1140
- threshold = self.QUALITY_THRESHOLDS.get(doc_type.lower(),
1141
- self.QUALITY_THRESHOLDS["default"])
1142
-
1143
- type_name = infographic_type if infographic_type else "general"
1144
- style_name = style if style else "default"
1145
-
1146
- results = {
1147
- "user_prompt": user_prompt,
1148
- "infographic_type": infographic_type,
1149
- "style": style,
1150
- "palette": palette,
1151
- "doc_type": doc_type,
1152
- "quality_threshold": threshold,
1153
- "research_enabled": research,
1154
- "research_data": None,
1155
- "context_images": context_images,
1156
- "iterations": [],
1157
- "final_image": None,
1158
- # None, not 0.0 -- a run whose review never completed has no score,
1159
- # and a number here would be read as one the reviewer gave.
1160
- "final_score": None,
1161
- "final_reviewed": False,
1162
- "success": False,
1163
- "early_stop": False,
1164
- "early_stop_reason": None
1165
- }
1166
-
1167
- print(f"\n{'='*60}")
1168
- print(f"Generating Infographic with Nano Banana Pro")
1169
- print(f"{'='*60}")
1170
- print(f"Content: {user_prompt}")
1171
- print(f"Type: {type_name}")
1172
- print(f"Style: {style_name}")
1173
- print(f"Research: {'Enabled' if research else 'Disabled'}")
1174
- print(f"Context Images: {len(context_images)}")
1175
- print(f"Quality Threshold: {threshold}/10")
1176
- print(f"Max Iterations: {iterations}")
1177
- print(f"Output: {output_path}")
1178
- print(f"{'='*60}\n")
1179
-
1180
- # ===== RESEARCH PHASE =====
1181
- enhanced_prompt = user_prompt
1182
- if research:
1183
- print(f"\n[Research Phase]")
1184
- print("-" * 40)
1185
- print(f"Researching topic for accurate data...")
1186
-
1187
- research_result = self.research_topic(user_prompt, infographic_type)
1188
-
1189
- if research_result.get("success"):
1190
- print(f"✓ Research complete - gathered facts and statistics")
1191
- results["research_data"] = research_result
1192
-
1193
- # Enhance the prompt with researched data
1194
- enhanced_prompt = self._enhance_prompt_with_research(user_prompt, research_result)
1195
-
1196
- # Save research data to file
1197
- research_path = output_dir / f"{base_name}_research.json"
1198
- with open(research_path, "w") as f:
1199
- json.dump(research_result, f, indent=2)
1200
- print(f"✓ Research saved: {research_path}")
1201
- else:
1202
- print(f"⚠ Research failed: {research_result.get('error', 'Unknown error')}")
1203
- print(f" Proceeding with original prompt...")
1204
-
1205
- # Build initial prompt (using enhanced prompt if research was done)
1206
- current_prompt = self._build_generation_prompt(
1207
- enhanced_prompt, infographic_type, style, palette, background, len(context_images)
1208
- )
1209
-
1210
- for i in range(1, iterations + 1):
1211
- print(f"\n[Iteration {i}/{iterations}]")
1212
- print("-" * 40)
1213
-
1214
- # Generate image
1215
- print(f"Generating infographic with Nano Banana Pro...")
1216
- image_data = self.generate_image(current_prompt, context_images)
1217
-
1218
- if not image_data:
1219
- error_msg = getattr(self, '_last_error', 'Generation failed')
1220
- print(f"✗ Generation failed: {error_msg}")
1221
- results["iterations"].append({
1222
- "iteration": i,
1223
- "success": False,
1224
- "error": error_msg
1225
- })
1226
- continue
1227
-
1228
- # Save iteration image
1229
- iter_path = output_dir / f"{base_name}_v{i}{extension}"
1230
- with open(iter_path, "wb") as f:
1231
- f.write(image_data)
1232
- print(f"✓ Saved: {iter_path}")
1233
-
1234
- # Review the image with the vision review model
1235
- print(f"Reviewing with {self.review_model}...")
1236
- review = self.review_image(
1237
- str(iter_path), user_prompt, infographic_type, i, doc_type, iterations
1238
- )
1239
- if review.score is not None:
1240
- print(f"✓ Score: {review.score}/10 (threshold: {threshold}/10)")
1241
- else:
1242
- print(f"⚠ Review unavailable — image kept, quality not verified")
1243
- print(f" Reason: {review.error}")
1244
-
1245
- # Save iteration results
1246
- iteration_result = {
1247
- "iteration": i,
1248
- "image_path": str(iter_path),
1249
- "prompt_length": len(current_prompt),
1250
- "critique": review.critique,
1251
- "score": review.score,
1252
- "reviewed": review.reviewed,
1253
- "review_error": review.error,
1254
- "needs_improvement": review.needs_improvement,
1255
- "success": True
1256
- }
1257
- results["iterations"].append(iteration_result)
1258
-
1259
- # Check if quality is acceptable
1260
- if not review.needs_improvement:
1261
- if review.score is not None:
1262
- print(f"\n✓ Quality meets threshold ({review.score} >= {threshold})")
1263
- print(f" No further iterations needed!")
1264
- reason = f"Quality score {review.score} meets threshold {threshold}"
1265
- else:
1266
- # Regenerating cannot fix a reviewer that did not answer.
1267
- print(f"\n⚠ Stopping without a verified score — review the image yourself")
1268
- reason = f"Review did not produce a score: {review.error}"
1269
- results["final_image"] = str(iter_path)
1270
- results["final_score"] = review.score
1271
- results["final_reviewed"] = review.reviewed and review.score is not None
1272
- results["success"] = True
1273
- results["early_stop"] = True
1274
- results["early_stop_reason"] = reason
1275
- break
1276
-
1277
- # If this is the last iteration, we're done
1278
- if i == iterations:
1279
- print(f"\n⚠ Maximum iterations reached")
1280
- results["final_image"] = str(iter_path)
1281
- results["final_score"] = review.score
1282
- results["final_reviewed"] = review.reviewed and review.score is not None
1283
- results["success"] = True
1284
- break
1285
-
1286
- # Quality below threshold - improve prompt
1287
- print(f"\n⚠ Quality below threshold ({review.score} < {threshold})")
1288
- print(f"Improving prompt based on feedback...")
1289
- current_prompt = self.improve_prompt(
1290
- user_prompt, review.critique, infographic_type, style, palette, background, i + 1,
1291
- len(context_images)
1292
- )
1293
-
1294
- # Copy final version to output path
1295
- if results["success"] and results["final_image"]:
1296
- final_iter_path = Path(results["final_image"])
1297
- if final_iter_path != output_path:
1298
- import shutil
1299
- shutil.copy(final_iter_path, output_path)
1300
- print(f"\n✓ Final image: {output_path}")
1301
-
1302
- # Save review log
1303
- log_path = output_dir / f"{base_name}_review_log.json"
1304
- with open(log_path, "w") as f:
1305
- json.dump(results, f, indent=2)
1306
- print(f"✓ Review log: {log_path}")
1307
-
1308
- print(f"\n{'='*60}")
1309
- print(f"Generation Complete!")
1310
- if results["final_score"] is not None:
1311
- print(f"Final Score: {results['final_score']}/10")
1312
- else:
1313
- print(f"Final Score: unavailable (the review did not produce one)")
1314
- if results["early_stop"]:
1315
- iterations_used = len([r for r in results['iterations'] if r.get('success')])
1316
- print(f"Iterations Used: {iterations_used}/{iterations} (early stop)")
1317
- print(f"{'='*60}\n")
1318
-
1319
- return results
1320
-
1321
-
1322
- def main():
1323
- """Command-line interface."""
1324
- parser = argparse.ArgumentParser(
1325
- description="Generate infographics using Nano Banana Pro with smart iterative refinement",
1326
- formatter_class=argparse.RawDescriptionHelpFormatter,
1327
- epilog="""
1328
- Examples:
1329
- # Generate a list infographic
1330
- python generate_infographic_ai.py "5 benefits of meditation" -o benefits.png --type list
1331
-
1332
- # Generate a timeline with corporate style
1333
- python generate_infographic_ai.py "Company history 2010-2025" -o timeline.png --type timeline --style corporate
1334
-
1335
- # Generate with colorblind-safe palette
1336
- python generate_infographic_ai.py "Heart disease stats" -o stats.png --type statistical --palette wong
1337
-
1338
- # Generate with RESEARCH for accurate data (uses Perplexity Sonar)
1339
- python generate_infographic_ai.py "Global AI market 2025" -o ai_market.png --type statistical --research
1340
-
1341
- # Generate using reference images as visual/content context
1342
- python generate_infographic_ai.py "Create a branded hiring infographic" -o hiring.png --context-image logo.png --context-image brand_chart.png
1343
-
1344
- # Verbose output
1345
- python generate_infographic_ai.py "Process diagram" -o process.png --type process -v
1346
-
1347
- Infographic Types:
1348
- statistical - Data-driven with charts and numbers
1349
- timeline - Chronological events
1350
- process - Step-by-step instructions
1351
- comparison - Side-by-side comparison
1352
- list - Tips, facts, key points
1353
- geographic - Map-based visualization
1354
- hierarchical - Pyramid or tree structure
1355
- anatomical - Visual metaphor
1356
- resume - Professional/CV style
1357
- social - Social media optimized
1358
-
1359
- Style Presets:
1360
- corporate, healthcare, technology, nature, education, marketing, finance, nonprofit
1361
-
1362
- Colorblind-Safe Palettes:
1363
- wong, ibm, tol
1364
-
1365
- Document Types (quality thresholds):
1366
- marketing 8.0/10 - Marketing materials
1367
- report 8.0/10 - Business reports
1368
- presentation 7.5/10 - Slides/talks
1369
- social 7.0/10 - Social media
1370
- internal 7.0/10 - Internal use
1371
- draft 6.5/10 - Working drafts
1372
- default 7.5/10 - General purpose
1373
-
1374
- Environment:
1375
- OPENROUTER_API_KEY OpenRouter API key (required)
1376
- """
1377
- )
1378
-
1379
- parser.add_argument("prompt", help="Description of the infographic content")
1380
- parser.add_argument("-o", "--output", required=True,
1381
- help="Output image path (e.g., infographic.png)")
1382
- parser.add_argument("--type", "-t", choices=list(INFOGRAPHIC_TYPES.keys()),
1383
- help="Infographic type preset")
1384
- parser.add_argument("--style", "-s", choices=list(STYLE_PRESETS.keys()),
1385
- help="Industry style preset")
1386
- parser.add_argument("--palette", "-p", choices=list(PALETTE_PRESETS.keys()),
1387
- help="Colorblind-safe palette")
1388
- parser.add_argument("--background", "-b", default="white",
1389
- help="Background color (default: white)")
1390
- parser.add_argument("--iterations", type=int, default=3,
1391
- help="Maximum refinement iterations (default: 3)")
1392
- parser.add_argument("--doc-type", default="default",
1393
- choices=["marketing", "report", "presentation", "social",
1394
- "internal", "draft", "default"],
1395
- help="Document type for quality threshold (default: default)")
1396
- parser.add_argument("--api-key", help="OpenRouter API key (or set OPENROUTER_API_KEY)")
1397
- parser.add_argument("-v", "--verbose", action="store_true",
1398
- help="Verbose output")
1399
- parser.add_argument("--research", "-r", action="store_true",
1400
- help="Research the topic first using Perplexity Sonar for accurate data")
1401
- parser.add_argument("--context-image", action="append", default=[],
1402
- help="Reference image path to include as Nano Banana Pro context; repeat for multiple images")
1403
-
1404
- args = parser.parse_args()
1405
-
1406
- # Check for API key — resolves --api-key, the environment, then any .env file
1407
- api_key = _resolve_api_key(args.api_key)
1408
- if not api_key:
1409
- print("Error: OPENROUTER_API_KEY not found")
1410
- print("\nSet it with:")
1411
- print(" export OPENROUTER_API_KEY='your_api_key'")
1412
- print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file")
1413
- print("Or provide via --api-key flag")
1414
- sys.exit(1)
1415
-
1416
- try:
1417
- generator = InfographicGenerator(api_key=api_key, verbose=args.verbose)
1418
- results = generator.generate_iterative(
1419
- user_prompt=args.prompt,
1420
- output_path=args.output,
1421
- infographic_type=args.type,
1422
- style=args.style,
1423
- palette=args.palette,
1424
- background=args.background,
1425
- iterations=args.iterations,
1426
- doc_type=args.doc_type,
1427
- research=args.research,
1428
- context_images=args.context_image
1429
- )
1430
-
1431
- if results["success"]:
1432
- print(f"\n✓ Success! Infographic saved to: {args.output}")
1433
- if results.get("early_stop"):
1434
- iterations_used = len([r for r in results['iterations'] if r.get('success')])
1435
- print(f" (Completed in {iterations_used} iteration(s) - quality threshold met)")
1436
- sys.exit(0)
1437
- else:
1438
- print(f"\n✗ Generation failed. Check review log for details.")
1439
- sys.exit(1)
1440
- except Exception as e:
1441
- print(f"\n✗ Error: {str(e)}")
1442
- sys.exit(1)
1443
-
1444
-
1445
- if __name__ == "__main__":
1446
- main()