pi-skill-search 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE +21 -0
  3. package/README.md +97 -0
  4. package/index.ts +163 -0
  5. package/package.json +48 -0
  6. package/skills/adaptyv/SKILL.md +92 -0
  7. package/skills/add-community-extension/SKILL.md +85 -0
  8. package/skills/aeon/SKILL.md +111 -0
  9. package/skills/ai-slop-cleaner/SKILL.md +118 -0
  10. package/skills/anndata/SKILL.md +83 -0
  11. package/skills/arboreto/SKILL.md +107 -0
  12. package/skills/ask/SKILL.md +55 -0
  13. package/skills/astropy/SKILL.md +30 -0
  14. package/skills/async-worker-recovery/SKILL.md +44 -0
  15. package/skills/autopilot/SKILL.md +63 -0
  16. package/skills/autoresearch/SKILL.md +64 -0
  17. package/skills/autoskill/SKILL.md +116 -0
  18. package/skills/babysit/SKILL.md +43 -0
  19. package/skills/benchling-integration/SKILL.md +106 -0
  20. package/skills/bgpt-paper-search/SKILL.md +67 -0
  21. package/skills/biopython/SKILL.md +29 -0
  22. package/skills/bioservices/SKILL.md +96 -0
  23. package/skills/brainstorming/SKILL.md +104 -0
  24. package/skills/cancel/SKILL.md +85 -0
  25. package/skills/ccg/SKILL.md +87 -0
  26. package/skills/celery-pipeline/SKILL.md +30 -0
  27. package/skills/cellxgene-census/SKILL.md +104 -0
  28. package/skills/child-pi-spawning/SKILL.md +85 -0
  29. package/skills/cirq/SKILL.md +113 -0
  30. package/skills/citation-management/SKILL.md +91 -0
  31. package/skills/clinical-decision-support/SKILL.md +117 -0
  32. package/skills/clinical-reports/SKILL.md +118 -0
  33. package/skills/clinical-trial/SKILL.md +28 -0
  34. package/skills/cobrapy/SKILL.md +116 -0
  35. package/skills/configure-notifications/SKILL.md +85 -0
  36. package/skills/consciousness-council/SKILL.md +120 -0
  37. package/skills/context-artifact-hygiene/SKILL.md +85 -0
  38. package/skills/context-mode-ops/SKILL.md +87 -0
  39. package/skills/dask/SKILL.md +85 -0
  40. package/skills/database-lookup/SKILL.md +118 -0
  41. package/skills/datamol/SKILL.md +108 -0
  42. package/skills/debug/SKILL.md +32 -0
  43. package/skills/deep-dive/SKILL.md +114 -0
  44. package/skills/deep-interview/SKILL.md +90 -0
  45. package/skills/deepchem/SKILL.md +117 -0
  46. package/skills/deepinit/SKILL.md +100 -0
  47. package/skills/deeptools/SKILL.md +118 -0
  48. package/skills/delegation-patterns/SKILL.md +56 -0
  49. package/skills/depmap/SKILL.md +94 -0
  50. package/skills/dhdna-profiler/SKILL.md +86 -0
  51. package/skills/diffdock/SKILL.md +101 -0
  52. package/skills/dispatching-parallel-agents/SKILL.md +119 -0
  53. package/skills/dnanexus-integration/SKILL.md +118 -0
  54. package/skills/do/SKILL.md +48 -0
  55. package/skills/docker-sandbox/SKILL.md +29 -0
  56. package/skills/docx/SKILL.md +119 -0
  57. package/skills/esm/SKILL.md +116 -0
  58. package/skills/etetoolkit/SKILL.md +103 -0
  59. package/skills/event-log-tracing/SKILL.md +85 -0
  60. package/skills/exa-search/SKILL.md +72 -0
  61. package/skills/executing-plans/SKILL.md +69 -0
  62. package/skills/exploratory-data-analysis/SKILL.md +118 -0
  63. package/skills/external-context/SKILL.md +80 -0
  64. package/skills/fastapi/SKILL.md +30 -0
  65. package/skills/finishing-a-development-branch/SKILL.md +106 -0
  66. package/skills/flowio/SKILL.md +114 -0
  67. package/skills/fluidsim/SKILL.md +108 -0
  68. package/skills/generate-image/SKILL.md +108 -0
  69. package/skills/geniml/SKILL.md +117 -0
  70. package/skills/geomaster/SKILL.md +109 -0
  71. package/skills/geopandas/SKILL.md +114 -0
  72. package/skills/get-available-resources/SKILL.md +100 -0
  73. package/skills/gget/SKILL.md +111 -0
  74. package/skills/ginkgo-cloud-lab/SKILL.md +52 -0
  75. package/skills/git-master/SKILL.md +85 -0
  76. package/skills/glycoengineering/SKILL.md +104 -0
  77. package/skills/gtars/SKILL.md +104 -0
  78. package/skills/hackernews-frontpage/SKILL.md +46 -0
  79. package/skills/histolab/SKILL.md +98 -0
  80. package/skills/how-it-works/SKILL.md +25 -0
  81. package/skills/hud/SKILL.md +86 -0
  82. package/skills/hugging-science/SKILL.md +93 -0
  83. package/skills/huggingface/SKILL.md +30 -0
  84. package/skills/hypogenic/SKILL.md +107 -0
  85. package/skills/hypothesis-generation/SKILL.md +118 -0
  86. package/skills/imaging-data-commons/SKILL.md +119 -0
  87. package/skills/infographics/SKILL.md +102 -0
  88. package/skills/iso-13485-certification/SKILL.md +114 -0
  89. package/skills/knowledge-agent/SKILL.md +83 -0
  90. package/skills/labarchive-integration/SKILL.md +98 -0
  91. package/skills/lamindb/SKILL.md +119 -0
  92. package/skills/landsat/SKILL.md +29 -0
  93. package/skills/latchbio-integration/SKILL.md +118 -0
  94. package/skills/latex-posters/SKILL.md +112 -0
  95. package/skills/learn-codebase/SKILL.md +24 -0
  96. package/skills/learner/SKILL.md +118 -0
  97. package/skills/literature-review/SKILL.md +118 -0
  98. package/skills/live-agent-lifecycle/SKILL.md +85 -0
  99. package/skills/mailbox-interactive/SKILL.md +85 -0
  100. package/skills/make-plan/SKILL.md +59 -0
  101. package/skills/markdown-mermaid-writing/SKILL.md +118 -0
  102. package/skills/market-research-reports/SKILL.md +119 -0
  103. package/skills/markitdown/SKILL.md +111 -0
  104. package/skills/markitdown-docs/SKILL.md +28 -0
  105. package/skills/matchms/SKILL.md +91 -0
  106. package/skills/matlab/SKILL.md +118 -0
  107. package/skills/matplotlib/SKILL.md +30 -0
  108. package/skills/mcp-setup/SKILL.md +84 -0
  109. package/skills/medchem/SKILL.md +109 -0
  110. package/skills/mem-search/SKILL.md +96 -0
  111. package/skills/modal/SKILL.md +104 -0
  112. package/skills/model-routing-context/SKILL.md +85 -0
  113. package/skills/molecular-dynamics/SKILL.md +116 -0
  114. package/skills/molfeat/SKILL.md +110 -0
  115. package/skills/multi-perspective-review/SKILL.md +85 -0
  116. package/skills/networkx/SKILL.md +111 -0
  117. package/skills/neurokit2/SKILL.md +114 -0
  118. package/skills/neuropixels-analysis/SKILL.md +112 -0
  119. package/skills/nilearn/SKILL.md +29 -0
  120. package/skills/observability-reliability/SKILL.md +43 -0
  121. package/skills/omc-doctor/SKILL.md +86 -0
  122. package/skills/omc-reference/SKILL.md +119 -0
  123. package/skills/omc-setup/SKILL.md +82 -0
  124. package/skills/omc-teams/SKILL.md +81 -0
  125. package/skills/omero-integration/SKILL.md +111 -0
  126. package/skills/open-notebook/SKILL.md +100 -0
  127. package/skills/openephys/SKILL.md +28 -0
  128. package/skills/opentrons-integration/SKILL.md +110 -0
  129. package/skills/optimize-for-gpu/SKILL.md +119 -0
  130. package/skills/orchestration/SKILL.md +85 -0
  131. package/skills/ownership-session-security/SKILL.md +43 -0
  132. package/skills/paper-lookup/SKILL.md +119 -0
  133. package/skills/paperzilla/SKILL.md +114 -0
  134. package/skills/parallel-web/SKILL.md +64 -0
  135. package/skills/pathfinder/SKILL.md +114 -0
  136. package/skills/pathml/SKILL.md +98 -0
  137. package/skills/pdf/SKILL.md +113 -0
  138. package/skills/peer-review/SKILL.md +119 -0
  139. package/skills/pennylane/SKILL.md +119 -0
  140. package/skills/phylogenetics/SKILL.md +102 -0
  141. package/skills/pi-extension-lifecycle/SKILL.md +41 -0
  142. package/skills/plan/SKILL.md +66 -0
  143. package/skills/polars/SKILL.md +114 -0
  144. package/skills/polars-bio/SKILL.md +84 -0
  145. package/skills/pptx/SKILL.md +118 -0
  146. package/skills/pptx-posters/SKILL.md +112 -0
  147. package/skills/primekg/SKILL.md +97 -0
  148. package/skills/project-session-manager/SKILL.md +85 -0
  149. package/skills/protocolsio-integration/SKILL.md +119 -0
  150. package/skills/pubmed-search/SKILL.md +29 -0
  151. package/skills/pufferlib/SKILL.md +103 -0
  152. package/skills/pydeseq2/SKILL.md +106 -0
  153. package/skills/pydicom/SKILL.md +115 -0
  154. package/skills/pyhealth/SKILL.md +117 -0
  155. package/skills/pylabrobot/SKILL.md +100 -0
  156. package/skills/pymatgen/SKILL.md +28 -0
  157. package/skills/pymc/SKILL.md +108 -0
  158. package/skills/pymoo/SKILL.md +90 -0
  159. package/skills/pyopenms/SKILL.md +119 -0
  160. package/skills/pysam/SKILL.md +118 -0
  161. package/skills/pyspark/SKILL.md +30 -0
  162. package/skills/pytdc/SKILL.md +102 -0
  163. package/skills/pytorch/SKILL.md +31 -0
  164. package/skills/pytorch-lightning/SKILL.md +119 -0
  165. package/skills/pyzotero/SKILL.md +104 -0
  166. package/skills/qiskit/SKILL.md +119 -0
  167. package/skills/qutip/SKILL.md +111 -0
  168. package/skills/ralph/SKILL.md +23 -0
  169. package/skills/ralplan/SKILL.md +105 -0
  170. package/skills/rdflib/SKILL.md +29 -0
  171. package/skills/rdkit/SKILL.md +30 -0
  172. package/skills/read-only-explorer/SKILL.md +85 -0
  173. package/skills/receiving-code-review/SKILL.md +103 -0
  174. package/skills/release/SKILL.md +117 -0
  175. package/skills/remember/SKILL.md +39 -0
  176. package/skills/requesting-code-review/SKILL.md +85 -0
  177. package/skills/requirements-to-task-packet/SKILL.md +65 -0
  178. package/skills/research-grants/SKILL.md +118 -0
  179. package/skills/research-lookup/SKILL.md +117 -0
  180. package/skills/research-reproducibility/SKILL.md +28 -0
  181. package/skills/resource-discovery-config/SKILL.md +43 -0
  182. package/skills/rowan/SKILL.md +100 -0
  183. package/skills/runtime-state-reader/SKILL.md +46 -0
  184. package/skills/safe-bash/SKILL.md +85 -0
  185. package/skills/scanpy/SKILL.md +32 -0
  186. package/skills/scholar-evaluation/SKILL.md +115 -0
  187. package/skills/scientific-brainstorming/SKILL.md +118 -0
  188. package/skills/scientific-critical-thinking/SKILL.md +119 -0
  189. package/skills/scientific-schematics/SKILL.md +116 -0
  190. package/skills/scientific-slides/SKILL.md +117 -0
  191. package/skills/scientific-visualization/SKILL.md +109 -0
  192. package/skills/scientific-writing/SKILL.md +119 -0
  193. package/skills/scikit-bio/SKILL.md +92 -0
  194. package/skills/scikit-learn/SKILL.md +99 -0
  195. package/skills/scikit-survival/SKILL.md +110 -0
  196. package/skills/sciomc/SKILL.md +86 -0
  197. package/skills/scvelo/SKILL.md +106 -0
  198. package/skills/scvi-tools/SKILL.md +114 -0
  199. package/skills/seaborn/SKILL.md +97 -0
  200. package/skills/secure-agent-orchestration-review/SKILL.md +47 -0
  201. package/skills/self-improve/SKILL.md +119 -0
  202. package/skills/semantic-compression/SKILL.md +62 -0
  203. package/skills/setup/SKILL.md +42 -0
  204. package/skills/shap/SKILL.md +103 -0
  205. package/skills/simpy/SKILL.md +116 -0
  206. package/skills/skill/SKILL.md +117 -0
  207. package/skills/skill-search/SKILL.md +67 -0
  208. package/skills/skillify/SKILL.md +46 -0
  209. package/skills/smart-explore/SKILL.md +94 -0
  210. package/skills/sqlite-pandas/SKILL.md +30 -0
  211. package/skills/stable-baselines3/SKILL.md +86 -0
  212. package/skills/state-mutation-locking/SKILL.md +44 -0
  213. package/skills/statistical-analysis/SKILL.md +108 -0
  214. package/skills/statsmodels/SKILL.md +29 -0
  215. package/skills/subagent-driven-development/SKILL.md +89 -0
  216. package/skills/sympy/SKILL.md +115 -0
  217. package/skills/system-prompts/SKILL.md +116 -0
  218. package/skills/systematic-debugging/SKILL.md +119 -0
  219. package/skills/team/SKILL.md +85 -0
  220. package/skills/test-driven-development/SKILL.md +84 -0
  221. package/skills/tiledbvcf/SKILL.md +119 -0
  222. package/skills/timeline-report/SKILL.md +85 -0
  223. package/skills/timesfm-forecasting/SKILL.md +112 -0
  224. package/skills/torch-geometric/SKILL.md +118 -0
  225. package/skills/torchdrug/SKILL.md +118 -0
  226. package/skills/trace/SKILL.md +118 -0
  227. package/skills/transformers/SKILL.md +110 -0
  228. package/skills/treatment-plans/SKILL.md +119 -0
  229. package/skills/ui-render-performance/SKILL.md +41 -0
  230. package/skills/ultragoal/SKILL.md +63 -0
  231. package/skills/ultraqa/SKILL.md +85 -0
  232. package/skills/ultrawork/SKILL.md +20 -0
  233. package/skills/umap-learn/SKILL.md +119 -0
  234. package/skills/usfiscaldata/SKILL.md +118 -0
  235. package/skills/using-git-worktrees/SKILL.md +112 -0
  236. package/skills/using-superpowers/SKILL.md +85 -0
  237. package/skills/using-vetc/SKILL.md +92 -0
  238. package/skills/vaex/SKILL.md +111 -0
  239. package/skills/venue-templates/SKILL.md +113 -0
  240. package/skills/verification-before-completion/SKILL.md +88 -0
  241. package/skills/verification-before-done/SKILL.md +68 -0
  242. package/skills/verify/SKILL.md +33 -0
  243. package/skills/version-bump/SKILL.md +54 -0
  244. package/skills/vetc-analyze-ba/SKILL.md +117 -0
  245. package/skills/vetc-analyze-codebase/SKILL.md +118 -0
  246. package/skills/vetc-api-design/SKILL.md +103 -0
  247. package/skills/vetc-brainstorming/SKILL.md +116 -0
  248. package/skills/vetc-change-proposal/SKILL.md +111 -0
  249. package/skills/vetc-cicd/SKILL.md +113 -0
  250. package/skills/vetc-continuous-learning/SKILL.md +115 -0
  251. package/skills/vetc-deep-interview/SKILL.md +103 -0
  252. package/skills/vetc-docgen/SKILL.md +108 -0
  253. package/skills/vetc-frontend-patterns/SKILL.md +99 -0
  254. package/skills/vetc-iterative-retrieval/SKILL.md +110 -0
  255. package/skills/vetc-java-patterns/SKILL.md +113 -0
  256. package/skills/vetc-meta-skill-creator/SKILL.md +99 -0
  257. package/skills/vetc-oracle-patterns/SKILL.md +109 -0
  258. package/skills/vetc-performance-testing/SKILL.md +104 -0
  259. package/skills/vetc-pr-response/SKILL.md +106 -0
  260. package/skills/vetc-ralph/SKILL.md +108 -0
  261. package/skills/vetc-ralplan/SKILL.md +116 -0
  262. package/skills/vetc-receiving-review/SKILL.md +106 -0
  263. package/skills/vetc-reconcile-patterns/SKILL.md +117 -0
  264. package/skills/vetc-refactoring/SKILL.md +96 -0
  265. package/skills/vetc-runbook/SKILL.md +118 -0
  266. package/skills/vetc-sast/SKILL.md +118 -0
  267. package/skills/vetc-sdlc/SKILL.md +97 -0
  268. package/skills/vetc-security/SKILL.md +117 -0
  269. package/skills/vetc-spec-driven/SKILL.md +111 -0
  270. package/skills/vetc-spec-quality/SKILL.md +117 -0
  271. package/skills/vetc-systematic-debugging/SKILL.md +74 -0
  272. package/skills/vetc-tdd/SKILL.md +96 -0
  273. package/skills/vetc-thinking-pm/SKILL.md +110 -0
  274. package/skills/vetc-ui-visual-qa/SKILL.md +117 -0
  275. package/skills/vetc-verify/SKILL.md +101 -0
  276. package/skills/visual-verdict/SKILL.md +59 -0
  277. package/skills/what-if-oracle/SKILL.md +87 -0
  278. package/skills/widget-rendering/SKILL.md +85 -0
  279. package/skills/wiki/SKILL.md +69 -0
  280. package/skills/workspace-isolation/SKILL.md +85 -0
  281. package/skills/worktree-isolation/SKILL.md +85 -0
  282. package/skills/wowerpoint/SKILL.md +101 -0
  283. package/skills/writer-memory/SKILL.md +82 -0
  284. package/skills/writing-plans/SKILL.md +115 -0
  285. package/skills/writing-skills/SKILL.md +115 -0
  286. package/skills/xgboost/SKILL.md +29 -0
  287. package/skills/xgboost-ts/SKILL.md +28 -0
  288. package/skills/xlsx/SKILL.md +111 -0
  289. package/skills/zarr-python/SKILL.md +101 -0
  290. package/src/categories.ts +383 -0
  291. package/src/format.ts +104 -0
  292. package/src/indexer.ts +101 -0
  293. package/src/proactive.ts +51 -0
  294. package/src/scanner.ts +85 -0
  295. package/src/search.ts +89 -0
  296. package/src/strip.ts +29 -0
  297. package/src/synonyms.ts +83 -0
  298. package/src/text.ts +118 -0
  299. package/src/types.ts +64 -0
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: market-research-reports
3
+ description: Generate comprehensive market research reports (50+ pages) in the style of top consulting firms (McKinsey, BCG, Gartner). Features professional LaTeX formatting, extensive visual generation with scientific-schematics and generate-image, deep integration with research-lookup for data gathering, and multi-framework strategic analysis including Porter Five Forces, PESTLE, SWOT, TAM/SAM/SOM, and BCG Matrix.
4
+ ---
5
+
6
+ # Market Research Reports
7
+
8
+ ## Overview
9
+
10
+ Market research reports are comprehensive strategic documents that analyze industries, markets, and competitive landscapes to inform business decisions, investment strategies, and strategic planning. This skill generates **professional-grade reports of 50+ pages** with extensive visual content, modeled after deliverables from top consulting firms like McKinsey, BCG, Bain, Gartner, and Forrester.
11
+
12
+ **Key Features:**
13
+ - **Comprehensive length**: Reports are designed to be 50+ pages with no token constraints
14
+ - **Visual-rich content**: 5-6 key diagrams generated at start (more added as needed during writing)
15
+ - **Data-driven analysis**: Deep integration with research-lookup for market data
16
+ - **Multi-framework approach**: Porter's Five Forces, PESTLE, SWOT, BCG Matrix, TAM/SAM/SOM
17
+ - **Professional formatting**: Consulting-firm quality typography, colors, and layout
18
+ - **Actionable recommendations**: Strategic focus with implementation roadmaps
19
+
20
+ **Output Format:** LaTeX with professional styling, compiled to PDF. Uses the `market_research.sty` style package for consistent, professional formatting.
21
+
22
+ ## When to Use This Skill
23
+
24
+ This skill should be used when:
25
+ - Creating comprehensive market analysis for investment decisions
26
+ - Developing industry reports for strategic planning
27
+ - Analyzing competitive landscapes and market dynamics
28
+ - Conducting market sizing exercises (TAM/SAM/SOM)
29
+ - Evaluating market entry opportunities
30
+ - Preparing due diligence materials for M&A activities
31
+ - Creating thought leadership content for industry positioning
32
+ - Developing go-to-market strategy documentation
33
+ - Analyzing regulatory and policy impacts on markets
34
+ - Building business cases for new product launches
35
+
36
+ ## Visual Enhancement Requirements
37
+
38
+ **CRITICAL: Market research reports should include key visual content.**
39
+
40
+ Every report should generate **6 essential visuals** at the start, with additional visuals added as needed during writing. Start with the most critical visualizations to establish the report framework.
41
+
42
+ ### Visual Generation Tools
43
+
44
+ **Use `scientific-schematics` for:**
45
+ - Market growth trajectory charts
46
+ - TAM/SAM/SOM breakdown diagrams (concentric circles)
47
+ - Porter's Five Forces diagrams
48
+ - Competitive positioning matrices
49
+ - Market segmentation charts
50
+ - Value chain diagrams
51
+ - Technology roadmaps
52
+ - Risk heatmaps
53
+ - Strategic prioritization matrices
54
+ - Implementation timelines/Gantt charts
55
+ - SWOT analysis diagrams
56
+ - BCG Growth-Share matrices
57
+
58
+ ```bash
59
+ # Example: Generate a TAM/SAM/SOM diagram
60
+ python skills/scientific-schematics/scripts/generate_schematic.py \
61
+ "TAM SAM SOM concentric circle diagram showing Total Addressable Market $50B outer circle, Serviceable Addressable Market $15B middle circle, Serviceable Obtainable Market $3B inner circle, with labels and arrows pointing to each segment" \
62
+ -o figures/tam_sam_som.png --doc-type report
63
+
64
+ # Example: Generate Porter's Five Forces
65
+ python skills/scientific-schematics/scripts/generate_schematic.py \
66
+ "Porter's Five Forces diagram with center box 'Competitive Rivalry' connected to four surrounding boxes: 'Threat of New Entrants' (top), 'Bargaining Power of Suppliers' (left), 'Bargaining Power of Buyers' (right), 'Threat of Substitutes' (bottom). Each box should show High/Medium/Low rating" \
67
+ -o figures/porters_five_forces.png --doc-type report
68
+ ```
69
+
70
+ **Use `generate-image` for:**
71
+ - Executive summary hero infographics
72
+ - Industry/sector conceptual illustrations
73
+ - Abstract technology visualizations
74
+ - Cover page imagery
75
+
76
+ ```bash
77
+ # Example: Generate executive summary infographic
78
+ python skills/generate-image/scripts/generate_image.py \
79
+ "Professional executive summary infographic for market research report, showing key metrics in modern data visualization style, blue and green color scheme, clean minimalist design with icons representing market size, growth rate, and competitive landscape" \
80
+ --output figures/executive_summary.png
81
+ ```
82
+
83
+ ### Recommended Visuals by Section (Generate as Needed)
84
+
85
+ | Section | Priority Visuals | Optional Visuals |
86
+ |---------|-----------------|------------------|
87
+ | Executive Summary | Executive infographic (START) | - |
88
+ | Market Size & Growth | Growth trajectory (START), TAM/SAM/SOM (START) | Regional breakdown, segment growth |
89
+ | Competitive Landscape | Porter's Five Forces (START), Positioning matrix (START) | Market share chart, strategic groups |
90
+ | Risk Analysis | Risk heatmap (START) | Mitigation matrix |
91
+ | Strategic Recommendations | Opportunity matrix | Priority framework |
92
+ | Implementation Roadmap | Timeline/Gantt | Milestone tracker |
93
+ | Investment Thesis | Financial projections | Scenario analysis |
94
+
95
+ **Start with 6 priority visuals** (marked as START above), then generate additional visuals as specific sections are written and require visual support.
96
+
97
+ ---
98
+
99
+ ## Report Structure (50+ Pages)
100
+
101
+ ### Front Matter (~5 pages)
102
+
103
+ #### Cover Page (1 page)
104
+ - Report title and subtitle
105
+ - Hero visualization (generated)
106
+ - Date and classification
107
+ - Prepared for / Prepared by
108
+
109
+ #### Table of Contents (1-2 pages)
110
+ - Automated from LaTeX
111
+ - List of Figures
112
+ - List of Tables
113
+
114
+ #### Executive Summary (2-3 pages)
115
+ - **Market Snapshot Box**: Key metrics at a glance
116
+
117
+ ### Core Analysis (~35 pages)
118
+
119
+
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: markitdown
3
+ description: Convert files and office documents to Markdown. Supports PDF, DOCX, PPTX, XLSX, images (with OCR), audio (with transcription), HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs and more.
4
+ ---
5
+
6
+ # MarkItDown - File to Markdown Conversion
7
+
8
+ ## Overview
9
+
10
+ MarkItDown is a Python tool developed by Microsoft for converting various file formats to Markdown. It's particularly useful for converting documents into LLM-friendly text format, as Markdown is token-efficient and well-understood by modern language models.
11
+
12
+ **Key Benefits**:
13
+ - Convert documents to clean, structured Markdown
14
+ - Token-efficient format for LLM processing
15
+ - Supports 15+ file formats
16
+ - Optional AI-enhanced image descriptions
17
+ - OCR for images and scanned documents
18
+ - Speech transcription for audio files
19
+
20
+ ## Visual Enhancement with Scientific Schematics
21
+
22
+ **When creating documents with this skill, always consider adding scientific diagrams and schematics to enhance visual communication.**
23
+
24
+ If your document does not already contain schematics or diagrams:
25
+ - Use the **scientific-schematics** skill to generate AI-powered publication-quality diagrams
26
+ - Simply describe your desired diagram in natural language
27
+ - Nano Banana Pro will automatically generate, review, and refine the schematic
28
+
29
+ **For new documents:** Scientific schematics should be generated by default to visually represent key concepts, workflows, architectures, or relationships described in the text.
30
+
31
+ **How to generate schematics:**
32
+ ```bash
33
+ python scripts/generate_schematic.py "your diagram description" -o figures/output.png
34
+ ```
35
+
36
+ ## Quick Start
37
+
38
+ # Or from source
39
+ git clone https://github.com/microsoft/markitdown.git
40
+ cd markitdown
41
+ pip install -e 'packages/markitdown[all]'
42
+ ```
43
+
44
+ ### Command-Line Usage
45
+
46
+ ```bash
47
+ # Basic conversion
48
+ markitdown document.pdf > output.md
49
+
50
+ # Specify output file
51
+ markitdown document.pdf -o output.md
52
+
53
+ # Pipe content
54
+ cat document.pdf | markitdown > output.md
55
+
56
+ # Enable plugins
57
+ markitdown --list-plugins # List available plugins
58
+ markitdown --use-plugins document.pdf -o output.md
59
+ ```
60
+
61
+ ### Python API
62
+
63
+ ```python
64
+ from markitdown import MarkItDown
65
+
66
+ # Basic usage
67
+ md = MarkItDown()
68
+ result = md.convert("document.pdf")
69
+ print(result.text_content)
70
+
71
+ # Convert from stream
72
+ with open("document.pdf", "rb") as f:
73
+ result = md.convert_stream(f, file_extension=".pdf")
74
+ print(result.text_content)
75
+ ```
76
+
77
+ ## Advanced Features
78
+
79
+ ### 1. AI-Enhanced Image Descriptions
80
+
81
+ Use LLMs via OpenRouter to generate detailed image descriptions (for PPTX and image files):
82
+
83
+ ```python
84
+ from markitdown import MarkItDown
85
+ from openai import OpenAI
86
+
87
+ # Initialize OpenRouter client (OpenAI-compatible API)
88
+ client = OpenAI(
89
+ api_key="your-openrouter-api-key",
90
+ base_url="https://openrouter.ai/api/v1"
91
+ )
92
+
93
+ md = MarkItDown(
94
+ llm_client=client,
95
+ llm_model="anthropic/claude-opus-4.5", # recommended for scientific vision
96
+ llm_prompt="Describe this image in detail for scientific documentation"
97
+ )
98
+
99
+ result = md.convert("presentation.pptx")
100
+ print(result.text_content)
101
+ ```
102
+
103
+ ### 2. Azure Document Intelligence
104
+
105
+ For enhanced PDF conversion with Microsoft Document Intelligence:
106
+
107
+ ```bash
108
+ # Command line
109
+ markitdown document.pdf -o output.md -d -e "<document_intelligence_endpoint>"
110
+
111
+
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: markitdown-docs
3
+ description: Document conversion and format transformation. Use when converting between document formats (PDF, Word, HTML, Markdown), extracting text from binary formats, or processing structured documents. Trigger on imports of markitdown, pdfplumber, python-docx, or mentions of convert, PDF, document, format, extract text.
4
+ ---
5
+ # markitdown-docs
6
+
7
+ Use this skill for document format conversion and text extraction.
8
+
9
+ ## Core patterns
10
+
11
+ - **PDF text**: `markitdown.convert('file.pdf')` for markdown output.
12
+ - **Word**: `python-docx.Document('file.docx')` for structured access.
13
+ - **HTML**: `BeautifulSoup(html, 'html.parser')` for web content extraction.
14
+ - **Batch**: Loop directory with glob pattern for bulk conversion.
15
+
16
+ ## Rules
17
+
18
+ - Always try `markitdown` first — it handles most formats automatically.
19
+ - For scanned PDFs, use OCR (`pytesseract`) after converting to images.
20
+ - Validate extracted text length — empty output may indicate encoding issues.
21
+
22
+ ## Anti-patterns
23
+
24
+ - Don't assume PDF text extraction is 100% accurate — verify critical content.
25
+ - Don't process large document collections sequentially — use parallel workers.
26
+ - Don't ignore file encoding — always specify `encoding='utf-8'` when writing.
27
+
28
+
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: matchms
3
+ description: Spectral similarity and compound identification for metabolomics. Use for comparing mass spectra, computing similarity scores (cosine, modified cosine), and identifying unknown compounds from spectral libraries. Best for metabolite identification, spectral matching, library searching. For full LC-MS/MS proteomics pipelines use pyopenms.
4
+ ---
5
+
6
+ # Matchms
7
+
8
+ ## Overview
9
+
10
+ Matchms is an open-source Python library for mass spectrometry data processing and analysis. Import spectra from various formats, standardize metadata, filter peaks, calculate spectral similarities, and build reproducible analytical workflows.
11
+
12
+ ## Core Capabilities
13
+
14
+ ### 1. Importing and Exporting Mass Spectrometry Data
15
+
16
+ Load spectra from multiple file formats and export processed data:
17
+
18
+ ```python
19
+ from matchms.importing import load_from_mgf, load_from_mzml, load_from_msp, load_from_json
20
+ from matchms.exporting import save_as_mgf, save_as_msp, save_as_json
21
+
22
+ # Import spectra
23
+ spectra = list(load_from_mgf("spectra.mgf"))
24
+ spectra = list(load_from_mzml("data.mzML"))
25
+ spectra = list(load_from_msp("library.msp"))
26
+
27
+ # Export processed spectra
28
+ save_as_mgf(spectra, "output.mgf")
29
+ save_as_json(spectra, "output.json")
30
+ ```
31
+
32
+ **Supported formats:**
33
+ - mzML and mzXML (raw mass spectrometry formats)
34
+ - MGF (Mascot Generic Format)
35
+ - MSP (spectral library format)
36
+ - JSON (GNPS-compatible)
37
+ - metabolomics-USI references
38
+ - Pickle (Python serialization)
39
+
40
+ For detailed importing/exporting documentation, consult `(see docs)`.
41
+
42
+ ### 2. Spectrum Filtering and Processing
43
+
44
+ Apply comprehensive filters to standardize metadata and refine peak data:
45
+
46
+ ```python
47
+ from matchms.filtering import default_filters, normalize_intensities
48
+ from matchms.filtering import select_by_relative_intensity, require_minimum_number_of_peaks
49
+
50
+ # Apply default metadata harmonization filters
51
+ spectrum = default_filters(spectrum)
52
+
53
+ # Normalize peak intensities
54
+ spectrum = normalize_intensities(spectrum)
55
+
56
+ # Filter peaks by relative intensity
57
+ spectrum = select_by_relative_intensity(spectrum, intensity_from=0.01, intensity_to=1.0)
58
+
59
+ # Require minimum peaks
60
+ spectrum = require_minimum_number_of_peaks(spectrum, n_required=5)
61
+ ```
62
+
63
+ **Filter categories:**
64
+ - **Metadata processing**: Harmonize compound names, derive chemical structures, standardize adducts, correct charges
65
+ - **Peak filtering**: Normalize intensities, select by m/z or intensity, remove precursor peaks
66
+ - **Quality control**: Require minimum peaks, validate precursor m/z, ensure metadata completeness
67
+ - **Chemical annotation**: Add fingerprints, derive InChI/SMILES, repair structural mismatches
68
+
69
+ Matchms provides 40+ filters. For the complete filter reference, consult `(see docs)`.
70
+
71
+ ### 3. Calculating Spectral Similarities
72
+
73
+ Compare spectra using various similarity metrics:
74
+
75
+ ```python
76
+ from matchms import calculate_scores
77
+ from matchms.similarity import CosineGreedy, ModifiedCosine, CosineHungarian
78
+
79
+ # Calculate cosine similarity (fast, greedy algorithm)
80
+ scores = calculate_scores(references=library_spectra,
81
+ queries=query_spectra,
82
+ similarity_function=CosineGreedy())
83
+
84
+ # Calculate modified cosine (accounts for precursor m/z differences)
85
+ scores = calculate_scores(references=library_spectra,
86
+ queries=query_spectra,
87
+ similarity_function=ModifiedCosine(tolerance=0.1))
88
+
89
+ # Get best matches
90
+ best_matches = scores.scores_by_query(query_spectra[0], sort=True)[:10]
91
+ ```
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: matlab
3
+ description: MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.
4
+ ---
5
+
6
+ # MATLAB/Octave Scientific Computing
7
+
8
+ MATLAB is a numerical computing environment optimized for matrix operations and scientific computing. GNU Octave is a free, open-source alternative with high MATLAB compatibility.
9
+
10
+ ## Quick Start
11
+
12
+ **Running MATLAB scripts:**
13
+ ```bash
14
+ # MATLAB (commercial)
15
+ matlab -nodisplay -nosplash -r "run('script.m'); exit;"
16
+
17
+ # GNU Octave (free, open-source)
18
+ octave script.m
19
+ ```
20
+
21
+ **Install GNU Octave:**
22
+ ```bash
23
+ # macOS
24
+ brew install octave
25
+
26
+ # Ubuntu/Debian
27
+ sudo apt install octave
28
+
29
+ # Windows - download from https://octave.org/download
30
+ ```
31
+
32
+ ## Core Capabilities
33
+
34
+ ### 1. Matrix Operations
35
+
36
+ MATLAB operates fundamentally on matrices and arrays:
37
+
38
+ ```matlab
39
+ % Create matrices
40
+ A = [1 2 3; 4 5 6; 7 8 9]; % 3x3 matrix
41
+ v = 1:10; % Row vector 1 to 10
42
+ v = linspace(0, 1, 100); % 100 points from 0 to 1
43
+
44
+ % Special matrices
45
+ I = eye(3); % Identity matrix
46
+ Z = zeros(3, 4); % 3x4 zero matrix
47
+ O = ones(2, 3); % 2x3 ones matrix
48
+ R = rand(3, 3); % Random uniform
49
+
50
+ ### 2. Linear Algebra
51
+
52
+ ```matlab
53
+ % Eigenvalues and eigenvectors
54
+ [V, D] = eig(A); % V: eigenvectors, D: diagonal eigenvalues
55
+
56
+ % Singular value decomposition
57
+ [U, S, V] = svd(A);
58
+
59
+ % Matrix decompositions
60
+ [L, U] = lu(A); % LU decomposition
61
+ [Q, R] = qr(A); % QR decomposition
62
+ R = chol(A); % Cholesky (symmetric positive definite)
63
+
64
+ % Solve linear systems
65
+
66
+ ### 3. Plotting and Visualization
67
+
68
+ ```matlab
69
+ % 2D Plots
70
+ x = 0:0.1:2*pi;
71
+ y = sin(x);
72
+ plot(x, y, 'b-', 'LineWidth', 2);
73
+ xlabel('x'); ylabel('sin(x)');
74
+ title('Sine Wave');
75
+ grid on;
76
+
77
+ % Multiple plots
78
+ hold on;
79
+ plot(x, cos(x), 'r--');
80
+ legend('sin', 'cos');
81
+
82
+ ### 4. Data Import/Export
83
+
84
+ ```matlab
85
+ % Read tabular data
86
+ T = readtable('data.csv');
87
+ M = readmatrix('data.csv');
88
+
89
+ % Write data
90
+ writetable(T, 'output.csv');
91
+ writematrix(M, 'output.csv');
92
+
93
+ % MAT files (MATLAB native)
94
+ save('data.mat', 'A', 'B', 'C'); % Save variables
95
+ load('data.mat'); % Load all
96
+ S = load('data.mat', 'A'); % Load specific
97
+
98
+ ### 5. Control Flow and Functions
99
+
100
+ ```matlab
101
+ % Conditionals
102
+ if x > 0
103
+ disp('positive');
104
+ elseif x < 0
105
+ disp('negative');
106
+ else
107
+ disp('zero');
108
+ end
109
+
110
+ % Loops
111
+ for i = 1:10
112
+ disp(i);
113
+
114
+ ### 6. Statistics and Data Analysis
115
+
116
+ ```matlab
117
+
118
+
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: matplotlib
3
+ description: Publication-quality data visualization and plotting. Use when creating figures, charts, plots, heatmaps, scatter plots, bar charts, subplots, or customizing axes, legends, colormaps. Trigger on imports of matplotlib, pyplot, plt, or mentions of plotting, visualization, figure, chart, graph rendering.
4
+ ---
5
+ # matplotlib
6
+
7
+ Use this skill for creating publication-quality scientific plots.
8
+
9
+ ## Core patterns
10
+
11
+ - **Figure + Axes**: `fig, ax = plt.subplots(nrows, ncols, figsize=(8, 6))`.
12
+ - **Plot types**: `ax.plot()`, `ax.scatter()`, `ax.bar()`, `ax.hist()`, `ax.imshow()`.
13
+ - **Labels**: `ax.set_xlabel()`, `ax.set_ylabel()`, `ax.set_title()`.
14
+ - **Legend**: `ax.legend(loc='best')` after label= in plot calls.
15
+ - **Save**: `fig.savefig('out.png', dpi=300, bbox_inches='tight')`.
16
+
17
+ ## Rules
18
+
19
+ - Always use OO interface (`fig, ax`) — never `plt.plot()` for complex figures.
20
+ - Close figures: `plt.close(fig)` to prevent memory leaks in loops.
21
+ - Set `dpi=300` for publications; `dpi=72` for screen/web.
22
+ - Use `tight_layout()` or `constrained_layout=True` to avoid label clipping.
23
+
24
+ ## Anti-patterns
25
+
26
+ - Don't call `plt.show()` in scripts — use `savefig()` instead.
27
+ - Don't create hundreds of figures without closing — memory leak.
28
+ - Don't hardcode colors for categories — use colormaps (`viridis`, `tab10`).
29
+
30
+
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: mcp-setup
3
+ description: Configure popular MCP servers for enhanced agent capabilities
4
+ ---
5
+
6
+
7
+ # MCP Setup
8
+
9
+ Configure Model Context Protocol (MCP) servers to extend Claude Code's capabilities with external tools like web search, file system access, and GitHub integration.
10
+
11
+ ## Overview
12
+
13
+ MCP servers provide additional tools that Claude Code agents can use. This skill helps you configure popular MCP servers using the `claude mcp add` command-line interface.
14
+
15
+ ## Step 1: Choose a Setup Path
16
+
17
+ Use **AskUserQuestion** with **one question at a time** and **no more than 3 options per question**. Recent Claude Code builds reject larger option payloads as invalid tool parameters, so keep the MCP selection flow staged.
18
+
19
+ ### Step 1.1: First menu
20
+
21
+ **Question:** "What kind of MCP setup would you like?"
22
+
23
+ **Options:**
24
+ 1. **Recommended starter setup** - Fast path for the most common OMC MCP additions
25
+ 2. **Individual popular server** - Pick one built-in server from a short follow-up menu
26
+ 3. **Custom server** - Add your own stdio or HTTP MCP server
27
+
28
+ ### Step 1.2: If the user chooses "Recommended starter setup"
29
+
30
+ Ask a follow-up **AskUserQuestion**:
31
+
32
+ **Question:** "Which recommended MCP bundle should I configure?"
33
+
34
+ **Options:**
35
+ 1. **Context7 only (Recommended)** - Zero-config docs/context server
36
+ 2. **Context7 + Exa** - Docs/context plus enhanced web search
37
+ 3. **Full recommended bundle** - Context7, Exa, Filesystem, and GitHub
38
+
39
+ Map that choice to the server list you will configure.
40
+
41
+ ### Step 1.3: If the user chooses "Individual popular server"
42
+
43
+ Ask a follow-up **AskUserQuestion**:
44
+
45
+ **Question:** "Which server should I configure first?"
46
+
47
+ **Options:**
48
+ 1. **Context7 (Recommended)** - Documentation and code context from popular libraries
49
+ 2. **Exa Web Search** - Enhanced web search (replaces built-in websearch)
50
+ 3. **More server choices** - Filesystem, GitHub, or the full recommended bundle
51
+
52
+ If the user chooses **More server choices**, ask one more **AskUserQuestion**:
53
+
54
+ **Question:** "Which additional MCP option do you want?"
55
+
56
+ **Options:**
57
+ 1. **Filesystem (Recommended)** - Extended file system access with additional capabilities
58
+ 2. **GitHub** - GitHub API integration for issues, PRs, and repository management
59
+ 3. **Full recommended bundle** - Configure Context7, Exa, Filesystem, and GitHub together
60
+
61
+ ### Step 1.4: If the user chooses "Custom server"
62
+
63
+ Skip directly to the **Custom MCP Server** section below.
64
+
65
+ ## Step 2: Gather Required Information
66
+
67
+ ### For Context7:
68
+ No API key required. Ready to use immediately.
69
+
70
+ ### For Exa Web Search:
71
+ Ask for API key:
72
+ ```
73
+ Do you have an Exa API key?
74
+ - Get one at: https://exa.ai
75
+ - Enter your API key, or type 'skip' to configure later
76
+ ```
77
+
78
+ ### For Filesystem:
79
+ Ask for allowed directories:
80
+ ```
81
+ Which directories should the filesystem MCP have access to?
82
+ Default: Current working directory
83
+ Enter comma-separated paths, or press Enter for default
84
+ ```
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: medchem
3
+ description: Medicinal chemistry filters. Apply drug-likeness rules (Lipinski, Veber), PAINS filters, structural alerts, complexity metrics, for compound prioritization and library filtering.
4
+ ---
5
+
6
+ # Medchem
7
+
8
+ ## Overview
9
+
10
+ Medchem is a Python library for molecular filtering and prioritization in drug discovery workflows. Apply hundreds of well-established and novel molecular filters, structural alerts, and medicinal chemistry rules to efficiently triage and prioritize compound libraries at scale. Rules and filters are context-specific—use as guidelines combined with domain expertise.
11
+
12
+ ## When to Use This Skill
13
+
14
+ This skill should be used when:
15
+ - Applying drug-likeness rules (Lipinski, Veber, etc.) to compound libraries
16
+ - Filtering molecules by structural alerts or PAINS patterns
17
+ - Prioritizing compounds for lead optimization
18
+ - Assessing compound quality and medicinal chemistry properties
19
+ - Detecting reactive or problematic functional groups
20
+ - Calculating molecular complexity metrics
21
+
22
+ ## Core Capabilities
23
+
24
+ ### 1. Medicinal Chemistry Rules
25
+
26
+ Apply established drug-likeness rules to molecules using the `medchem.rules` module.
27
+
28
+ **Available Rules:**
29
+ - Rule of Five (Lipinski)
30
+ - Rule of Oprea
31
+ - Rule of CNS
32
+ - Rule of leadlike (soft and strict)
33
+ - Rule of three
34
+ - Rule of Reos
35
+ - Rule of drug
36
+ - Rule of Veber
37
+ - Golden triangle
38
+ - PAINS filters
39
+
40
+ # Apply Rule of Five to a SMILES string
41
+ smiles = "CC(=O)OC1=CC=CC=C1C(=O)O" # Aspirin
42
+ passes = mc.rules.basic_rules.rule_of_five(smiles)
43
+ # Returns: True
44
+
45
+ # Check specific rules
46
+ passes_oprea = mc.rules.basic_rules.rule_of_oprea(smiles)
47
+ passes_cns = mc.rules.basic_rules.rule_of_cns(smiles)
48
+ ```
49
+
50
+ **Multiple Rules with RuleFilters:**
51
+
52
+ ```python
53
+ import datamol as dm
54
+ import medchem as mc
55
+
56
+ # Load molecules
57
+ mols = [dm.to_mol(smiles) for smiles in smiles_list]
58
+
59
+ # Create filter with multiple rules
60
+ rfilter = mc.rules.RuleFilters(
61
+ rule_list=[
62
+ "rule_of_five",
63
+ "rule_of_oprea",
64
+ "rule_of_cns",
65
+ "rule_of_leadlike_soft"
66
+ ]
67
+ )
68
+
69
+ # Apply filters with parallelization
70
+ results = rfilter(
71
+ mols=mols,
72
+ n_jobs=-1, # Use all CPU cores
73
+ progress=True
74
+ )
75
+ ```
76
+
77
+ **Result Format:**
78
+ Results are returned as dictionaries with pass/fail status and detailed information for each rule.
79
+
80
+ ### 2. Structural Alert Filters
81
+
82
+ Detect potentially problematic structural patterns using the `medchem.structural` module.
83
+
84
+ **Available Filters:**
85
+
86
+ 1. **Common Alerts** - General structural alerts derived from ChEMBL curation and literature
87
+ 2. **NIBR Filters** - Novartis Institutes for BioMedical Research filter set
88
+ 3. **Lilly Demerits** - Eli Lilly's demerit-based system (275 rules, molecules rejected at >100 demerits)
89
+
90
+ **Common Alerts:**
91
+
92
+ ```python
93
+ import medchem as mc
94
+
95
+ # Create filter
96
+ alert_filter = mc.structural.CommonAlertsFilters()
97
+
98
+ # Check single molecule
99
+ mol = dm.to_mol("c1ccccc1")
100
+ has_alerts, details = alert_filter.check_mol(mol)
101
+
102
+ # Batch filtering with parallelization
103
+ results = alert_filter(
104
+ mols=mol_list,
105
+ n_jobs=-1,
106
+ progress=True
107
+ )
108
+
109
+