@wentorai/research-plugins 1.0.0 → 1.2.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 (415) hide show
  1. package/README.md +22 -22
  2. package/curated/analysis/README.md +82 -56
  3. package/curated/domains/README.md +225 -69
  4. package/curated/literature/README.md +115 -46
  5. package/curated/research/README.md +106 -58
  6. package/curated/tools/README.md +107 -87
  7. package/curated/writing/README.md +92 -45
  8. package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
  9. package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
  10. package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
  11. package/mcp-configs/academic-db/gibs-mcp.json +20 -0
  12. package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
  13. package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
  14. package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
  15. package/mcp-configs/academic-db/medical-mcp.json +21 -0
  16. package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
  17. package/mcp-configs/academic-db/omop-mcp.json +20 -0
  18. package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
  19. package/mcp-configs/academic-db/openedu-mcp.json +20 -0
  20. package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
  21. package/mcp-configs/academic-db/openstax-mcp.json +21 -0
  22. package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
  23. package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
  24. package/mcp-configs/academic-db/pdb-mcp.json +21 -0
  25. package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
  26. package/mcp-configs/ai-platform/magi-researchers.json +21 -0
  27. package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
  28. package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
  29. package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
  30. package/mcp-configs/ai-platform/paper-reader.json +21 -0
  31. package/mcp-configs/ai-platform/paperdebugger.json +21 -0
  32. package/mcp-configs/browser/exa-mcp.json +20 -0
  33. package/mcp-configs/browser/mcp-searxng.json +21 -0
  34. package/mcp-configs/browser/mcp-webresearch.json +20 -0
  35. package/mcp-configs/cloud-docs/confluence-mcp.json +37 -0
  36. package/mcp-configs/cloud-docs/google-drive-mcp.json +35 -0
  37. package/mcp-configs/cloud-docs/notion-mcp.json +29 -0
  38. package/mcp-configs/communication/discord-mcp.json +29 -0
  39. package/mcp-configs/communication/discourse-mcp.json +21 -0
  40. package/mcp-configs/communication/slack-mcp.json +29 -0
  41. package/mcp-configs/communication/telegram-mcp.json +28 -0
  42. package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
  43. package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
  44. package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
  45. package/mcp-configs/data-platform/mcp-stata.json +21 -0
  46. package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
  47. package/mcp-configs/data-platform/ml-mcp.json +21 -0
  48. package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
  49. package/mcp-configs/data-platform/numpy-mcp.json +21 -0
  50. package/mcp-configs/database/neo4j-mcp.json +37 -0
  51. package/mcp-configs/database/postgres-mcp.json +28 -0
  52. package/mcp-configs/database/sqlite-mcp.json +29 -0
  53. package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
  54. package/mcp-configs/dev-platform/github-mcp.json +31 -0
  55. package/mcp-configs/dev-platform/gitlab-mcp.json +34 -0
  56. package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
  57. package/mcp-configs/dev-platform/manim-mcp.json +20 -0
  58. package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
  59. package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
  60. package/mcp-configs/dev-platform/paperbanana.json +20 -0
  61. package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
  62. package/mcp-configs/dev-platform/texmcp.json +20 -0
  63. package/mcp-configs/dev-platform/typst-mcp.json +21 -0
  64. package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
  65. package/mcp-configs/email/email-mcp.json +40 -0
  66. package/mcp-configs/email/gmail-mcp.json +37 -0
  67. package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
  68. package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
  69. package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
  70. package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
  71. package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
  72. package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
  73. package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
  74. package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
  75. package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
  76. package/mcp-configs/reference-mgr/academix.json +20 -0
  77. package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
  78. package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
  79. package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
  80. package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
  81. package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
  82. package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
  83. package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
  84. package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
  85. package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
  86. package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
  87. package/mcp-configs/reference-mgr/onecite.json +21 -0
  88. package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
  89. package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
  90. package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
  91. package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
  92. package/mcp-configs/reference-mgr/seerai.json +21 -0
  93. package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
  94. package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
  95. package/mcp-configs/registry.json +178 -149
  96. package/mcp-configs/repository/dataverse-mcp.json +33 -0
  97. package/mcp-configs/repository/huggingface-mcp.json +29 -0
  98. package/openclaw.plugin.json +2 -2
  99. package/package.json +2 -2
  100. package/skills/analysis/dataviz/algorithm-visualizer-guide/SKILL.md +259 -0
  101. package/skills/analysis/dataviz/bokeh-visualization-guide/SKILL.md +270 -0
  102. package/skills/analysis/dataviz/chart-image-generator/SKILL.md +229 -0
  103. package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
  104. package/skills/analysis/dataviz/d3-visualization-guide/SKILL.md +281 -0
  105. package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
  106. package/skills/analysis/dataviz/echarts-visualization-guide/SKILL.md +250 -0
  107. package/skills/analysis/dataviz/metabase-analytics-guide/SKILL.md +242 -0
  108. package/skills/analysis/dataviz/plotly-interactive-guide/SKILL.md +266 -0
  109. package/skills/analysis/dataviz/redash-analytics-guide/SKILL.md +284 -0
  110. package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +163 -0
  111. package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
  112. package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +139 -0
  113. package/skills/analysis/econometrics/panel-data-analyst/SKILL.md +259 -0
  114. package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
  115. package/skills/analysis/econometrics/python-causality-guide/SKILL.md +134 -0
  116. package/skills/analysis/econometrics/stata-accounting-guide/SKILL.md +269 -0
  117. package/skills/analysis/econometrics/stata-analyst-guide/SKILL.md +245 -0
  118. package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
  119. package/skills/analysis/statistics/data-anomaly-detection/SKILL.md +157 -0
  120. package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
  121. package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
  122. package/skills/analysis/statistics/ml-experiment-tracker/SKILL.md +212 -0
  123. package/skills/analysis/statistics/pywayne-statistics-guide/SKILL.md +192 -0
  124. package/skills/analysis/statistics/quantitative-methods-guide/SKILL.md +193 -0
  125. package/skills/analysis/statistics/senior-data-scientist-guide/SKILL.md +223 -0
  126. package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
  127. package/skills/analysis/wrangling/csv-data-analyzer/SKILL.md +170 -0
  128. package/skills/analysis/wrangling/data-cleaning-pipeline/SKILL.md +266 -0
  129. package/skills/analysis/wrangling/data-cog-guide/SKILL.md +178 -0
  130. package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
  131. package/skills/analysis/wrangling/stata-data-cleaning/SKILL.md +276 -0
  132. package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
  133. package/skills/analysis/wrangling/survey-data-processing/SKILL.md +298 -0
  134. package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
  135. package/skills/domains/ai-ml/ai-model-benchmarking/SKILL.md +209 -0
  136. package/skills/domains/ai-ml/annotated-dl-papers-guide/SKILL.md +159 -0
  137. package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
  138. package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
  139. package/skills/domains/ai-ml/dl-transformer-finetune/SKILL.md +239 -0
  140. package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
  141. package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +146 -0
  142. package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
  143. package/skills/domains/ai-ml/huggingface-inference-guide/SKILL.md +196 -0
  144. package/skills/domains/ai-ml/keras-deep-learning/SKILL.md +210 -0
  145. package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
  146. package/skills/domains/ai-ml/llm-from-scratch-guide/SKILL.md +124 -0
  147. package/skills/domains/ai-ml/ml-pipeline-guide/SKILL.md +295 -0
  148. package/skills/domains/ai-ml/nlp-toolkit-guide/SKILL.md +247 -0
  149. package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
  150. package/skills/domains/ai-ml/pytorch-guide/SKILL.md +281 -0
  151. package/skills/domains/ai-ml/pytorch-lightning-guide/SKILL.md +244 -0
  152. package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
  153. package/skills/domains/ai-ml/tensorflow-guide/SKILL.md +241 -0
  154. package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
  155. package/skills/domains/biomedical/bioagents-guide/SKILL.md +308 -0
  156. package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
  157. package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
  158. package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
  159. package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
  160. package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
  161. package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
  162. package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
  163. package/skills/domains/biomedical/medgeclaw-guide/SKILL.md +345 -0
  164. package/skills/domains/biomedical/medical-imaging-guide/SKILL.md +305 -0
  165. package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
  166. package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
  167. package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
  168. package/skills/domains/business/architecture-design-guide/SKILL.md +279 -0
  169. package/skills/domains/business/innovation-management-guide/SKILL.md +257 -0
  170. package/skills/domains/business/operations-research-guide/SKILL.md +258 -0
  171. package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
  172. package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
  173. package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
  174. package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
  175. package/skills/domains/chemistry/molecular-dynamics-guide/SKILL.md +237 -0
  176. package/skills/domains/chemistry/pubchem-api-guide/SKILL.md +180 -0
  177. package/skills/domains/chemistry/spectroscopy-analysis-guide/SKILL.md +290 -0
  178. package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
  179. package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
  180. package/skills/domains/cs/distributed-systems-guide/SKILL.md +268 -0
  181. package/skills/domains/cs/formal-verification-guide/SKILL.md +298 -0
  182. package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
  183. package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
  184. package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
  185. package/skills/domains/ecology/species-distribution-guide/SKILL.md +343 -0
  186. package/skills/domains/economics/imf-data-api-guide/SKILL.md +174 -0
  187. package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
  188. package/skills/domains/economics/post-labor-economics/SKILL.md +254 -0
  189. package/skills/domains/economics/pricing-psychology-guide/SKILL.md +273 -0
  190. package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
  191. package/skills/domains/economics/world-bank-data-guide/SKILL.md +179 -0
  192. package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
  193. package/skills/domains/education/assessment-design-guide/SKILL.md +213 -0
  194. package/skills/domains/education/educational-research-methods/SKILL.md +179 -0
  195. package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
  196. package/skills/domains/education/mooc-analytics-guide/SKILL.md +206 -0
  197. package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
  198. package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
  199. package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
  200. package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
  201. package/skills/domains/finance/portfolio-optimization-guide/SKILL.md +279 -0
  202. package/skills/domains/finance/risk-modeling-guide/SKILL.md +260 -0
  203. package/skills/domains/finance/stata-accounting-research/SKILL.md +372 -0
  204. package/skills/domains/geoscience/climate-modeling-guide/SKILL.md +215 -0
  205. package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
  206. package/skills/domains/geoscience/satellite-remote-sensing/SKILL.md +193 -0
  207. package/skills/domains/geoscience/seismology-data-guide/SKILL.md +208 -0
  208. package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
  209. package/skills/domains/humanities/ethical-philosophy-guide/SKILL.md +244 -0
  210. package/skills/domains/humanities/history-research-guide/SKILL.md +260 -0
  211. package/skills/domains/humanities/political-history-guide/SKILL.md +241 -0
  212. package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
  213. package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
  214. package/skills/domains/law/legal-nlp-guide/SKILL.md +236 -0
  215. package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
  216. package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
  217. package/skills/domains/law/patent-analysis-guide/SKILL.md +257 -0
  218. package/skills/domains/law/regulatory-compliance-guide/SKILL.md +267 -0
  219. package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
  220. package/skills/domains/math/symbolic-computation-guide/SKILL.md +263 -0
  221. package/skills/domains/math/topology-data-analysis/SKILL.md +305 -0
  222. package/skills/domains/pharma/clinical-trial-design-guide/SKILL.md +271 -0
  223. package/skills/domains/pharma/drug-target-interaction/SKILL.md +242 -0
  224. package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
  225. package/skills/domains/pharma/pharmacovigilance-guide/SKILL.md +216 -0
  226. package/skills/domains/physics/astrophysics-data-guide/SKILL.md +305 -0
  227. package/skills/domains/physics/particle-physics-guide/SKILL.md +287 -0
  228. package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
  229. package/skills/domains/social-science/network-analysis-guide/SKILL.md +310 -0
  230. package/skills/domains/social-science/psychology-research-guide/SKILL.md +270 -0
  231. package/skills/domains/social-science/sociology-research-guide/SKILL.md +238 -0
  232. package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
  233. package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
  234. package/skills/literature/discovery/paper-recommendation-guide/SKILL.md +120 -0
  235. package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
  236. package/skills/literature/discovery/semantic-paper-radar/SKILL.md +144 -0
  237. package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +94 -0
  238. package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
  239. package/skills/literature/fulltext/core-api-guide/SKILL.md +144 -0
  240. package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
  241. package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
  242. package/skills/literature/fulltext/institutional-repository-guide/SKILL.md +212 -0
  243. package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +341 -0
  244. package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
  245. package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
  246. package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
  247. package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
  248. package/skills/literature/metadata/academic-paper-summarizer/SKILL.md +101 -0
  249. package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
  250. package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
  251. package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
  252. package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
  253. package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
  254. package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
  255. package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
  256. package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
  257. package/skills/literature/metadata/wikidata-api-guide/SKILL.md +156 -0
  258. package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
  259. package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
  260. package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
  261. package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
  262. package/skills/literature/search/arxiv-batch-reporting/SKILL.md +133 -0
  263. package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
  264. package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
  265. package/skills/literature/search/arxiv-paper-processor/SKILL.md +141 -0
  266. package/skills/literature/search/baidu-scholar-guide/SKILL.md +110 -0
  267. package/skills/literature/search/base-academic-search/SKILL.md +196 -0
  268. package/skills/literature/search/chatpaper-guide/SKILL.md +122 -0
  269. package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
  270. package/skills/literature/search/deep-literature-search/SKILL.md +149 -0
  271. package/skills/literature/search/deepgit-search-guide/SKILL.md +147 -0
  272. package/skills/literature/search/eric-education-api/SKILL.md +199 -0
  273. package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
  274. package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
  275. package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
  276. package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
  277. package/skills/literature/search/open-library-api/SKILL.md +196 -0
  278. package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
  279. package/skills/literature/search/openaire-api/SKILL.md +141 -0
  280. package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
  281. package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
  282. package/skills/literature/search/pasa-paper-search-guide/SKILL.md +138 -0
  283. package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
  284. package/skills/literature/search/scielo-api/SKILL.md +182 -0
  285. package/skills/literature/search/share-research-api/SKILL.md +129 -0
  286. package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
  287. package/skills/research/automation/ai-scientist-v2-guide/SKILL.md +284 -0
  288. package/skills/research/automation/aim-experiment-guide/SKILL.md +234 -0
  289. package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
  290. package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
  291. package/skills/research/automation/datagen-research-guide/SKILL.md +131 -0
  292. package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
  293. package/skills/research/automation/kedro-pipeline-guide/SKILL.md +216 -0
  294. package/skills/research/automation/mle-agent-guide/SKILL.md +139 -0
  295. package/skills/research/automation/paper-to-agent-guide/SKILL.md +116 -0
  296. package/skills/research/automation/rd-agent-guide/SKILL.md +246 -0
  297. package/skills/research/automation/research-paper-orchestrator/SKILL.md +254 -0
  298. package/skills/research/deep-research/academic-deep-research/SKILL.md +190 -0
  299. package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +141 -0
  300. package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
  301. package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
  302. package/skills/research/deep-research/deep-research-pro/SKILL.md +213 -0
  303. package/skills/research/deep-research/deep-research-work/SKILL.md +204 -0
  304. package/skills/research/deep-research/deep-searcher-guide/SKILL.md +253 -0
  305. package/skills/research/deep-research/gpt-researcher-guide/SKILL.md +191 -0
  306. package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
  307. package/skills/research/deep-research/khoj-research-guide/SKILL.md +200 -0
  308. package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
  309. package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
  310. package/skills/research/deep-research/local-deep-research-guide/SKILL.md +253 -0
  311. package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
  312. package/skills/research/deep-research/tongyi-deep-research-guide/SKILL.md +217 -0
  313. package/skills/research/funding/eu-horizon-guide/SKILL.md +244 -0
  314. package/skills/research/funding/grant-budget-guide/SKILL.md +284 -0
  315. package/skills/research/funding/nih-reporter-api-guide/SKILL.md +166 -0
  316. package/skills/research/funding/nsf-award-api-guide/SKILL.md +133 -0
  317. package/skills/research/methodology/academic-mentor-guide/SKILL.md +169 -0
  318. package/skills/research/methodology/claude-scientific-guide/SKILL.md +122 -0
  319. package/skills/research/methodology/deep-innovator-guide/SKILL.md +242 -0
  320. package/skills/research/methodology/osf-api-guide/SKILL.md +165 -0
  321. package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
  322. package/skills/research/methodology/research-paper-kb/SKILL.md +263 -0
  323. package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
  324. package/skills/research/methodology/research-town-guide/SKILL.md +263 -0
  325. package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
  326. package/skills/research/paper-review/automated-review-guide/SKILL.md +281 -0
  327. package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
  328. package/skills/research/paper-review/paper-compare-guide/SKILL.md +238 -0
  329. package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
  330. package/skills/research/paper-review/paper-digest-guide/SKILL.md +240 -0
  331. package/skills/research/paper-review/paper-research-assistant/SKILL.md +231 -0
  332. package/skills/research/paper-review/research-quality-filter/SKILL.md +261 -0
  333. package/skills/research/paper-review/review-response-guide/SKILL.md +275 -0
  334. package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
  335. package/skills/tools/code-exec/google-colab-guide/SKILL.md +276 -0
  336. package/skills/tools/code-exec/kaggle-api-guide/SKILL.md +216 -0
  337. package/skills/tools/code-exec/overleaf-cli-guide/SKILL.md +279 -0
  338. package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
  339. package/skills/tools/diagram/code-flow-visualizer/SKILL.md +197 -0
  340. package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +170 -0
  341. package/skills/tools/diagram/json-data-visualizer/SKILL.md +270 -0
  342. package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
  343. package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +219 -0
  344. package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
  345. package/skills/tools/diagram/tldraw-whiteboard-guide/SKILL.md +397 -0
  346. package/skills/tools/document/docsgpt-guide/SKILL.md +130 -0
  347. package/skills/tools/document/large-document-reader/SKILL.md +202 -0
  348. package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
  349. package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
  350. package/skills/tools/document/paper-parse-guide/SKILL.md +243 -0
  351. package/skills/tools/document/weknora-guide/SKILL.md +216 -0
  352. package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
  353. package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
  354. package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
  355. package/skills/tools/knowledge-graph/citation-network-builder/SKILL.md +244 -0
  356. package/skills/tools/knowledge-graph/concept-map-generator/SKILL.md +284 -0
  357. package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +219 -0
  358. package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
  359. package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
  360. package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
  361. package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
  362. package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
  363. package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
  364. package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
  365. package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
  366. package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +141 -0
  367. package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +95 -0
  368. package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +143 -0
  369. package/skills/tools/scraping/dataset-finder-guide/SKILL.md +253 -0
  370. package/skills/tools/scraping/easy-spider-guide/SKILL.md +250 -0
  371. package/skills/tools/scraping/google-scholar-scraper/SKILL.md +255 -0
  372. package/skills/tools/scraping/repository-harvesting-guide/SKILL.md +310 -0
  373. package/skills/writing/citation/academic-citation-manager/SKILL.md +314 -0
  374. package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
  375. package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
  376. package/skills/writing/citation/jabref-reference-guide/SKILL.md +127 -0
  377. package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +103 -0
  378. package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
  379. package/skills/writing/citation/obsidian-citation-guide/SKILL.md +164 -0
  380. package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +137 -0
  381. package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
  382. package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +132 -0
  383. package/skills/writing/citation/papis-cli-guide/SKILL.md +213 -0
  384. package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +107 -0
  385. package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +121 -0
  386. package/skills/writing/citation/zotero-gpt-guide/SKILL.md +111 -0
  387. package/skills/writing/citation/zotero-mcp-guide/SKILL.md +164 -0
  388. package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +162 -0
  389. package/skills/writing/citation/zotero-reference-guide/SKILL.md +139 -0
  390. package/skills/writing/citation/zotero-scholar-guide/SKILL.md +294 -0
  391. package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +140 -0
  392. package/skills/writing/composition/ml-paper-writing/SKILL.md +163 -0
  393. package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
  394. package/skills/writing/composition/paper-debugger-guide/SKILL.md +143 -0
  395. package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
  396. package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
  397. package/skills/writing/composition/scientific-writing-resources/SKILL.md +151 -0
  398. package/skills/writing/composition/scientific-writing-wrapper/SKILL.md +153 -0
  399. package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
  400. package/skills/writing/latex/latex-drawing-collection/SKILL.md +154 -0
  401. package/skills/writing/latex/latex-templates-collection/SKILL.md +159 -0
  402. package/skills/writing/latex/md-to-pdf-academic/SKILL.md +230 -0
  403. package/skills/writing/latex/tex-render-guide/SKILL.md +243 -0
  404. package/skills/writing/polish/academic-tone-guide/SKILL.md +209 -0
  405. package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
  406. package/skills/writing/polish/conciseness-editing-guide/SKILL.md +225 -0
  407. package/skills/writing/polish/paper-polish-guide/SKILL.md +160 -0
  408. package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
  409. package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
  410. package/skills/writing/templates/graphical-abstract-guide/SKILL.md +183 -0
  411. package/skills/writing/templates/novathesis-guide/SKILL.md +152 -0
  412. package/skills/writing/templates/scientific-article-pdf/SKILL.md +261 -0
  413. package/skills/writing/templates/sjtuthesis-guide/SKILL.md +197 -0
  414. package/skills/writing/templates/thuthesis-guide/SKILL.md +181 -0
  415. package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +0 -207
@@ -0,0 +1,266 @@
1
+ ---
2
+ name: plotly-interactive-guide
3
+ description: "Guide to Plotly.py for interactive scientific visualizations in Python"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🔬"
7
+ category: "analysis"
8
+ subcategory: "dataviz"
9
+ keywords: ["Plotly", "interactive visualization", "Dash", "Python charts", "scientific plots", "research figures"]
10
+ source: "https://github.com/plotly/plotly.py"
11
+ ---
12
+
13
+ # Plotly Interactive Visualization Guide
14
+
15
+ ## Overview
16
+
17
+ Plotly.py is a high-level, interactive graphing library for Python with over 18K stars on GitHub. Built on top of plotly.js (which itself uses D3.js and WebGL), Plotly enables researchers to create publication-quality interactive figures directly from Python code. The library integrates seamlessly with pandas DataFrames, NumPy arrays, and the broader scientific Python ecosystem.
18
+
19
+ What sets Plotly apart for academic researchers is its Plotly Express module, which provides a concise, high-level API for creating complex visualizations in a single function call. Researchers can go from a pandas DataFrame to a fully interactive figure in one line of code, then customize it further as needed. Every Plotly figure is inherently interactive, supporting hover tooltips, zoom, pan, and selection out of the box.
20
+
21
+ Plotly also offers Dash, a framework for building analytical web applications entirely in Python. This allows researchers to create interactive dashboards for exploring experimental data, sharing results with collaborators, or building supplementary interactive materials for publications without needing front-end development skills.
22
+
23
+ ## Plotly Express for Quick Research Figures
24
+
25
+ Plotly Express provides the fastest path from data to visualization. It works directly with pandas DataFrames and supports faceting, color mapping, animation, and trendlines.
26
+
27
+ ### Scatter Plot with Regression
28
+
29
+ ```python
30
+ import plotly.express as px
31
+ import pandas as pd
32
+ import numpy as np
33
+
34
+ # Simulated experimental data
35
+ np.random.seed(42)
36
+ df = pd.DataFrame({
37
+ 'concentration': np.random.uniform(0.1, 10, 200),
38
+ 'response': np.random.normal(0, 1, 200),
39
+ 'treatment': np.random.choice(['Drug A', 'Drug B', 'Control'], 200),
40
+ 'cell_line': np.random.choice(['HeLa', 'MCF7', 'A549'], 200)
41
+ })
42
+ df['response'] = df['concentration'] * 0.8 + df['response']
43
+
44
+ fig = px.scatter(
45
+ df,
46
+ x='concentration',
47
+ y='response',
48
+ color='treatment',
49
+ facet_col='cell_line',
50
+ trendline='ols',
51
+ title='Dose-Response Across Cell Lines',
52
+ labels={'concentration': 'Concentration (uM)', 'response': 'Normalized Response'},
53
+ template='plotly_white'
54
+ )
55
+ fig.update_layout(font=dict(family='Arial', size=12))
56
+ fig.show()
57
+ ```
58
+
59
+ ### Box Plot with Individual Data Points
60
+
61
+ ```python
62
+ fig = px.box(
63
+ df,
64
+ x='treatment',
65
+ y='response',
66
+ color='treatment',
67
+ points='all',
68
+ title='Treatment Response Distribution',
69
+ template='plotly_white'
70
+ )
71
+ fig.update_traces(quartilemethod='linear')
72
+ fig.update_layout(showlegend=False)
73
+ fig.show()
74
+ ```
75
+
76
+ ### Violin Plot for Distribution Comparison
77
+
78
+ ```python
79
+ fig = px.violin(
80
+ df,
81
+ x='treatment',
82
+ y='response',
83
+ color='treatment',
84
+ box=True,
85
+ points='outliers',
86
+ title='Response Distribution by Treatment Group',
87
+ template='plotly_white'
88
+ )
89
+ fig.show()
90
+ ```
91
+
92
+ ## Graph Objects for Fine-Grained Control
93
+
94
+ For more customized figures, Plotly's graph_objects module provides full control over every visual element.
95
+
96
+ ### Error Bar Plot for Experimental Results
97
+
98
+ ```python
99
+ import plotly.graph_objects as go
100
+
101
+ groups = ['Control', 'Low Dose', 'Medium Dose', 'High Dose']
102
+ means = [1.0, 1.8, 3.2, 4.5]
103
+ sems = [0.15, 0.22, 0.31, 0.28]
104
+
105
+ fig = go.Figure()
106
+
107
+ fig.add_trace(go.Bar(
108
+ x=groups,
109
+ y=means,
110
+ error_y=dict(type='data', array=sems, visible=True),
111
+ marker_color=['#6B7280', '#3B82F6', '#3B82F6', '#3B82F6'],
112
+ text=[f'{m:.2f}' for m in means],
113
+ textposition='outside'
114
+ ))
115
+
116
+ fig.update_layout(
117
+ title='Treatment Effect on Biomarker Levels',
118
+ yaxis_title='Relative Expression',
119
+ xaxis_title='Treatment Group',
120
+ template='plotly_white',
121
+ font=dict(family='Arial', size=13),
122
+ bargap=0.3,
123
+ yaxis=dict(range=[0, max(means) * 1.3])
124
+ )
125
+
126
+ # Add significance brackets
127
+ fig.add_annotation(
128
+ x=0.5, y=max(means) * 1.15,
129
+ text='*** p < 0.001',
130
+ showarrow=False,
131
+ font=dict(size=12)
132
+ )
133
+
134
+ fig.show()
135
+ ```
136
+
137
+ ### Heatmap for Correlation Analysis
138
+
139
+ ```python
140
+ import plotly.figure_factory as ff
141
+
142
+ # Compute correlation matrix
143
+ corr_matrix = df[['concentration', 'response']].corr()
144
+ variables = corr_matrix.columns.tolist()
145
+
146
+ fig = ff.create_annotated_heatmap(
147
+ z=corr_matrix.values,
148
+ x=variables,
149
+ y=variables,
150
+ colorscale='RdBu_r',
151
+ zmin=-1, zmax=1,
152
+ showscale=True
153
+ )
154
+
155
+ fig.update_layout(
156
+ title='Variable Correlation Matrix',
157
+ template='plotly_white',
158
+ width=600, height=500
159
+ )
160
+ fig.show()
161
+ ```
162
+
163
+ ## 3D and Specialized Scientific Plots
164
+
165
+ ### 3D Surface Plot for Response Surfaces
166
+
167
+ ```python
168
+ import plotly.graph_objects as go
169
+ import numpy as np
170
+
171
+ x = np.linspace(-3, 3, 50)
172
+ y = np.linspace(-3, 3, 50)
173
+ X, Y = np.meshgrid(x, y)
174
+ Z = np.sin(np.sqrt(X**2 + Y**2)) * np.exp(-0.1 * (X**2 + Y**2))
175
+
176
+ fig = go.Figure(data=[go.Surface(
177
+ x=X, y=Y, z=Z,
178
+ colorscale='Viridis',
179
+ contours=dict(
180
+ z=dict(show=True, usecolormap=True, project_z=True)
181
+ )
182
+ )])
183
+
184
+ fig.update_layout(
185
+ title='Response Surface Analysis',
186
+ scene=dict(
187
+ xaxis_title='Factor A',
188
+ yaxis_title='Factor B',
189
+ zaxis_title='Response'
190
+ ),
191
+ width=700, height=600
192
+ )
193
+ fig.show()
194
+ ```
195
+
196
+ ### Animated Time-Series for Temporal Data
197
+
198
+ ```python
199
+ # Create animated scatter showing progression over experimental phases
200
+ fig = px.scatter(
201
+ temporal_df,
202
+ x='metric_a',
203
+ y='metric_b',
204
+ animation_frame='time_point',
205
+ animation_group='sample_id',
206
+ size='magnitude',
207
+ color='cluster',
208
+ hover_name='sample_id',
209
+ title='Sample Trajectories Over Time',
210
+ template='plotly_white',
211
+ range_x=[0, 10],
212
+ range_y=[0, 10]
213
+ )
214
+ fig.layout.updatemenus[0].buttons[0].args[1]['frame']['duration'] = 800
215
+ fig.show()
216
+ ```
217
+
218
+ ## Exporting for Publications
219
+
220
+ Plotly provides multiple export options for journal-ready figures.
221
+
222
+ ```python
223
+ # Static export (requires kaleido)
224
+ fig.write_image('figure_1.pdf', width=800, height=500, scale=3)
225
+ fig.write_image('figure_1.svg', width=800, height=500)
226
+ fig.write_image('figure_1.png', width=800, height=500, scale=3)
227
+
228
+ # Interactive HTML for supplementary materials
229
+ fig.write_html('interactive_figure.html', include_plotlyjs='cdn')
230
+
231
+ # Save as JSON for reproducibility
232
+ fig.write_json('figure_data.json')
233
+ ```
234
+
235
+ ## Dash for Interactive Research Dashboards
236
+
237
+ ```python
238
+ from dash import Dash, dcc, html, Input, Output
239
+ import plotly.express as px
240
+
241
+ app = Dash(__name__)
242
+
243
+ app.layout = html.Div([
244
+ html.H1('Experiment Data Explorer'),
245
+ dcc.Dropdown(
246
+ id='variable-select',
247
+ options=[{'label': v, 'value': v} for v in variables],
248
+ value=variables[0]
249
+ ),
250
+ dcc.Graph(id='main-plot')
251
+ ])
252
+
253
+ @app.callback(Output('main-plot', 'figure'), Input('variable-select', 'value'))
254
+ def update_plot(selected_var):
255
+ return px.histogram(df, x=selected_var, nbins=30, template='plotly_white')
256
+
257
+ if __name__ == '__main__':
258
+ app.run(debug=True, port=8050)
259
+ ```
260
+
261
+ ## References
262
+
263
+ - Plotly Python documentation: https://plotly.com/python/
264
+ - Plotly.py GitHub repository: https://github.com/plotly/plotly.py
265
+ - Dash documentation: https://dash.plotly.com
266
+ - Plotly Express reference: https://plotly.com/python/plotly-express/
@@ -0,0 +1,284 @@
1
+ ---
2
+ name: redash-analytics-guide
3
+ description: "Guide to Redash for SQL-driven research data dashboards and sharing"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📊"
7
+ category: "analysis"
8
+ subcategory: "dataviz"
9
+ keywords: ["Redash", "SQL dashboards", "data visualization", "query tool", "research analytics", "collaborative BI"]
10
+ source: "https://github.com/getredash/redash"
11
+ ---
12
+
13
+ # Redash Analytics Guide
14
+
15
+ ## Overview
16
+
17
+ Redash is an open-source data visualization and dashboarding tool with over 28K stars on GitHub. It is designed for analysts and researchers who prefer writing SQL to explore and visualize data. Redash connects to virtually any data source that supports SQL or has an API, and provides a browser-based query editor with autocomplete, visualization builder, and dashboard composer.
18
+
19
+ For academic research groups, Redash offers a lightweight, self-hosted alternative to commercial BI tools. Its SQL-first approach is natural for researchers who already work with databases, and its sharing features make it straightforward to create dashboards that the entire lab can access. Unlike Metabase which emphasizes no-code exploration, Redash is specifically designed for users who are comfortable writing queries and want direct control over their data retrieval logic.
20
+
21
+ Redash supports over 35 data source types, including PostgreSQL, MySQL, SQLite, BigQuery, Elasticsearch, MongoDB, Google Sheets, CSV files, and even custom Python scripts. This versatility means researchers can build unified dashboards that pull data from multiple sources: experiment databases, survey platforms, instrument logs, and cloud storage.
22
+
23
+ ## Installation and Configuration
24
+
25
+ ### Docker Compose Deployment
26
+
27
+ ```bash
28
+ # Clone the Redash setup repository
29
+ git clone https://github.com/getredash/setup.git redash-setup
30
+ cd redash-setup
31
+
32
+ # Generate configuration
33
+ ./setup.sh
34
+
35
+ # Or manually configure with Docker Compose
36
+ ```
37
+
38
+ ### Docker Compose Configuration for Research Labs
39
+
40
+ ```yaml
41
+ version: "3"
42
+ services:
43
+ redash:
44
+ image: redash/redash:latest
45
+ command: server
46
+ ports:
47
+ - "5000:5000"
48
+ environment:
49
+ REDASH_DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/redash
50
+ REDASH_REDIS_URL: redis://redis:6379/0
51
+ REDASH_SECRET_KEY: ${REDASH_SECRET_KEY}
52
+ REDASH_MAIL_SERVER: smtp.university.edu
53
+ REDASH_MAIL_PORT: 587
54
+ REDASH_MAIL_USERNAME: ${MAIL_USERNAME}
55
+ REDASH_MAIL_PASSWORD: ${MAIL_PASSWORD}
56
+ depends_on:
57
+ - postgres
58
+ - redis
59
+
60
+ worker:
61
+ image: redash/redash:latest
62
+ command: worker
63
+ environment:
64
+ REDASH_DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/redash
65
+ REDASH_REDIS_URL: redis://redis:6379/0
66
+ depends_on:
67
+ - redash
68
+
69
+ scheduler:
70
+ image: redash/redash:latest
71
+ command: scheduler
72
+ environment:
73
+ REDASH_DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres/redash
74
+ REDASH_REDIS_URL: redis://redis:6379/0
75
+ depends_on:
76
+ - redash
77
+
78
+ postgres:
79
+ image: postgres:16
80
+ environment:
81
+ POSTGRES_DB: redash
82
+ POSTGRES_USER: ${POSTGRES_USER}
83
+ POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
84
+ volumes:
85
+ - pg-data:/var/lib/postgresql/data
86
+
87
+ redis:
88
+ image: redis:7-alpine
89
+ volumes:
90
+ - redis-data:/data
91
+
92
+ volumes:
93
+ pg-data:
94
+ redis-data:
95
+ ```
96
+
97
+ ## Writing Research Queries
98
+
99
+ ### Experiment Results Summary
100
+
101
+ ```sql
102
+ -- Aggregate experiment results by condition and time period
103
+ SELECT
104
+ e.condition_name,
105
+ DATE_TRUNC('month', e.run_date) AS month,
106
+ COUNT(*) AS num_runs,
107
+ ROUND(AVG(e.primary_outcome)::NUMERIC, 4) AS mean_outcome,
108
+ ROUND(STDDEV(e.primary_outcome)::NUMERIC, 4) AS std_outcome,
109
+ ROUND(AVG(e.primary_outcome)::NUMERIC - 1.96 * STDDEV(e.primary_outcome)::NUMERIC / SQRT(COUNT(*)), 4) AS ci_lower,
110
+ ROUND(AVG(e.primary_outcome)::NUMERIC + 1.96 * STDDEV(e.primary_outcome)::NUMERIC / SQRT(COUNT(*)), 4) AS ci_upper
111
+ FROM experiments e
112
+ WHERE e.project_id = {{project_id}}
113
+ AND e.run_date >= {{start_date}}
114
+ GROUP BY e.condition_name, DATE_TRUNC('month', e.run_date)
115
+ ORDER BY month, condition_name;
116
+ ```
117
+
118
+ The `{{project_id}}` and `{{start_date}}` syntax creates interactive parameter widgets that users can modify without editing the query.
119
+
120
+ ### Literature Review Metrics
121
+
122
+ ```sql
123
+ -- Track literature search and screening progress
124
+ SELECT
125
+ r.review_name,
126
+ r.search_database,
127
+ COUNT(DISTINCT a.article_id) AS total_found,
128
+ COUNT(DISTINCT CASE WHEN s.decision = 'include' THEN a.article_id END) AS included,
129
+ COUNT(DISTINCT CASE WHEN s.decision = 'exclude' THEN a.article_id END) AS excluded,
130
+ COUNT(DISTINCT CASE WHEN s.decision IS NULL THEN a.article_id END) AS pending,
131
+ ROUND(
132
+ COUNT(DISTINCT CASE WHEN s.decision IS NOT NULL THEN a.article_id END)::NUMERIC /
133
+ NULLIF(COUNT(DISTINCT a.article_id), 0) * 100, 1
134
+ ) AS screening_progress_pct
135
+ FROM systematic_reviews r
136
+ JOIN articles a ON a.review_id = r.id
137
+ LEFT JOIN screening_decisions s ON s.article_id = a.article_id
138
+ WHERE r.review_name = {{review_name}}
139
+ GROUP BY r.review_name, r.search_database
140
+ ORDER BY total_found DESC;
141
+ ```
142
+
143
+ ### Grant Funding and Budget Tracking
144
+
145
+ ```sql
146
+ -- Monitor research grant expenditures
147
+ SELECT
148
+ g.grant_name,
149
+ g.funding_agency,
150
+ g.total_budget,
151
+ SUM(t.amount) AS total_spent,
152
+ g.total_budget - SUM(t.amount) AS remaining,
153
+ ROUND(SUM(t.amount)::NUMERIC / g.total_budget * 100, 1) AS pct_spent,
154
+ g.end_date,
155
+ (g.end_date - CURRENT_DATE) AS days_remaining,
156
+ ROUND(
157
+ (g.total_budget - SUM(t.amount))::NUMERIC /
158
+ NULLIF((g.end_date - CURRENT_DATE), 0), 2
159
+ ) AS daily_burn_budget
160
+ FROM grants g
161
+ JOIN transactions t ON t.grant_id = g.id
162
+ WHERE g.status = 'active'
163
+ GROUP BY g.grant_name, g.funding_agency, g.total_budget, g.end_date
164
+ ORDER BY pct_spent DESC;
165
+ ```
166
+
167
+ ## Visualization Types for Research
168
+
169
+ Redash supports multiple visualization types that can be attached to any query result.
170
+
171
+ ### Available Chart Types
172
+
173
+ - **Line Chart** - Time-series data, experiment progression, longitudinal studies
174
+ - **Bar Chart** - Categorical comparisons, group means, frequency counts
175
+ - **Scatter Plot** - Correlation analysis, cluster visualization
176
+ - **Pie / Donut Chart** - Distribution breakdowns, category proportions
177
+ - **Area Chart** - Cumulative metrics, stacked comparisons
178
+ - **Heatmap** - Correlation matrices, temporal patterns
179
+ - **Box Plot** - Distribution comparison across groups
180
+ - **Map** - Geographic distribution of samples or collaborators
181
+ - **Pivot Table** - Cross-tabulation of experimental factors
182
+ - **Counter** - Single key metrics (total papers, h-index, sample count)
183
+ - **Word Cloud** - Keyword frequency from abstracts or text analysis
184
+
185
+ ### Configuring a Visualization
186
+
187
+ After running a query, click "New Visualization" and configure:
188
+
189
+ 1. Select the chart type appropriate for your data
190
+ 2. Map columns to X axis, Y axis, group, and size dimensions
191
+ 3. Configure axis labels, ranges, and formatting
192
+ 4. Add annotations for significance levels or thresholds
193
+ 5. Save and add to a dashboard
194
+
195
+ ## Dashboard Design for Research Labs
196
+
197
+ ### Creating an Effective Research Dashboard
198
+
199
+ A well-designed research lab dashboard typically includes the following widgets arranged in a logical layout:
200
+
201
+ 1. **Header row**: Key counters (active projects, publications this year, pending reviews)
202
+ 2. **Progress section**: Line charts showing experiment completion over time
203
+ 3. **Results section**: Bar charts or box plots comparing treatment conditions
204
+ 4. **Quality section**: Scatter plots of quality metrics and control charts
205
+ 5. **Pipeline section**: Tables showing upcoming deadlines and task assignments
206
+
207
+ ### Parameterized Dashboards
208
+
209
+ Redash dashboards support global parameters that filter all widgets simultaneously:
210
+
211
+ ```
212
+ Dashboard Parameters:
213
+ - Project: dropdown linked to projects table
214
+ - Date Range: date range picker
215
+ - Researcher: dropdown linked to team members table
216
+ ```
217
+
218
+ This allows a single dashboard template to serve multiple research projects.
219
+
220
+ ## Scheduled Queries and Alerts
221
+
222
+ ### Automatic Data Refresh
223
+
224
+ Configure queries to run on a schedule to keep dashboards current:
225
+
226
+ - **Every 5 minutes**: Instrument monitoring, live experiment tracking
227
+ - **Hourly**: Computing cluster job status, data pipeline health
228
+ - **Daily**: Experiment summaries, publication metrics
229
+ - **Weekly**: Lab progress reports, budget summaries
230
+
231
+ ### Alert Configuration
232
+
233
+ ```
234
+ Alert: "Low Sample Quality Detected"
235
+ Query: samples with quality_score < threshold in last 24h
236
+ Condition: When query returns results
237
+ Destination: Email to lab manager, Slack channel notification
238
+ Rearm after: 1 hour
239
+ ```
240
+
241
+ ## API Access for Automation
242
+
243
+ Redash provides a REST API that researchers can use to integrate dashboards into automated workflows.
244
+
245
+ ```python
246
+ import requests
247
+
248
+ REDASH_URL = "http://redash.lab.internal"
249
+ redash_key = os.environ["REDASH_API_KEY"]
250
+
251
+ # Execute a query and get results
252
+ def run_query(query_id, parameters=None):
253
+ url = f"{REDASH_URL}/api/queries/{query_id}/results"
254
+ headers = {"Authorization": f"Key {redash_key}"}
255
+ payload = {"parameters": parameters or {}}
256
+
257
+ response = requests.post(url, json=payload, headers=headers)
258
+ job = response.json().get("job", {})
259
+
260
+ # Poll for results
261
+ while job.get("status") not in (3, 4):
262
+ result = requests.get(
263
+ f"{REDASH_URL}/api/jobs/{job['id']}",
264
+ headers=headers
265
+ )
266
+ job = result.json().get("job", {})
267
+
268
+ # Fetch final results
269
+ result = requests.get(
270
+ f"{REDASH_URL}/api/queries/{query_id}/results.json",
271
+ headers=headers
272
+ )
273
+ return result.json()
274
+
275
+ # Export dashboard data for reporting
276
+ results = run_query(42, {"project_id": 7})
277
+ ```
278
+
279
+ ## References
280
+
281
+ - Redash official documentation: https://redash.io/help
282
+ - Redash GitHub repository: https://github.com/getredash/redash
283
+ - Redash setup guide: https://redash.io/help/open-source/setup
284
+ - Redash API reference: https://redash.io/help/user-guide/integrations-and-api/api