@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,193 @@
1
+ ---
2
+ name: quantitative-methods-guide
3
+ description: "Design and execute statistical analyses with regression modeling"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📈"
7
+ category: "analysis"
8
+ subcategory: "statistics"
9
+ keywords: ["regression analysis", "quantitative methods", "research design", "statistical modeling", "OLS", "logistic regression"]
10
+ source: "https://github.com/AcademicSkills/quantitative-methods-guide"
11
+ ---
12
+
13
+ # Quantitative Methods Guide
14
+
15
+ A skill for designing and executing rigorous quantitative analyses in academic research. Covers the full pipeline from research question formulation through variable operationalization, model specification, estimation, diagnostics, and interpretation, with emphasis on regression modeling as the workhorse of empirical research.
16
+
17
+ ## Overview
18
+
19
+ Quantitative methods form the foundation of empirical research across the social sciences, health sciences, economics, education, and many STEM fields. This skill provides a structured approach to the entire quantitative analysis workflow, ensuring that researchers make methodologically sound choices at each stage. It treats regression analysis as the central tool, covering ordinary least squares (OLS), logistic regression, Poisson regression, and multilevel models, while also addressing the broader issues of research design, measurement, and causal inference that determine whether regression results are meaningful.
20
+
21
+ The skill is designed for graduate students and researchers who have basic statistics knowledge but need guidance on applying methods correctly in their own research contexts.
22
+
23
+ ## Research Design and Variable Specification
24
+
25
+ ### From Question to Model
26
+
27
+ ```
28
+ Research Question: "Does mentoring frequency affect publication output among
29
+ junior faculty, controlling for department size and funding?"
30
+
31
+ Step 1: Identify variables
32
+ - Outcome (Y): publication_count (count data)
33
+ - Predictor (X1): mentoring_hours_per_month (continuous)
34
+ - Controls: department_size (continuous), total_funding (continuous)
35
+ - Potential moderator: career_stage (categorical: assistant/associate)
36
+
37
+ Step 2: Choose model family
38
+ - Count outcome → Poisson or Negative Binomial regression
39
+ - Check for overdispersion before deciding
40
+
41
+ Step 3: Specify the model
42
+ publications ~ mentoring_hours + department_size + log(funding) + career_stage
43
+ Optional: publications ~ mentoring_hours * career_stage + controls (interaction)
44
+ ```
45
+
46
+ ### Variable Types and Measurement
47
+
48
+ | Variable Type | Examples | Modeling Considerations |
49
+ |--------------|----------|----------------------|
50
+ | Continuous | Income, GPA, temperature | Check distribution, consider transformations |
51
+ | Binary | Pass/fail, treatment/control | Logistic regression |
52
+ | Count | Publications, citations, events | Poisson or negative binomial |
53
+ | Ordinal | Likert scales, rankings | Ordinal logistic or treat as continuous if 5+ levels |
54
+ | Nominal | Department, country, method | Dummy coding (k-1 indicators) |
55
+ | Time-to-event | Months until graduation | Survival analysis |
56
+
57
+ ## Regression Analysis
58
+
59
+ ### Ordinary Least Squares (OLS)
60
+
61
+ ```python
62
+ import statsmodels.formula.api as smf
63
+ import pandas as pd
64
+
65
+ def run_ols_analysis(df: pd.DataFrame, formula: str) -> dict:
66
+ """
67
+ Fit an OLS regression model with full diagnostics.
68
+
69
+ Args:
70
+ df: DataFrame with all variables
71
+ formula: Patsy formula (e.g., 'y ~ x1 + x2 + C(group)')
72
+ """
73
+ model = smf.ols(formula=formula, data=df).fit(cov_type='HC3') # robust SE
74
+
75
+ results = {
76
+ 'coefficients': model.params.to_dict(),
77
+ 'std_errors': model.bse.to_dict(),
78
+ 'p_values': model.pvalues.to_dict(),
79
+ 'conf_int': model.conf_int().to_dict(),
80
+ 'r_squared': model.rsquared,
81
+ 'adj_r_squared': model.rsquared_adj,
82
+ 'f_statistic': model.fvalue,
83
+ 'f_pvalue': model.f_pvalue,
84
+ 'n_obs': int(model.nobs),
85
+ 'aic': model.aic,
86
+ 'bic': model.bic
87
+ }
88
+ return results
89
+
90
+ # Example usage:
91
+ # results = run_ols_analysis(df, 'gpa ~ study_hours + sleep_hours + C(major)')
92
+ ```
93
+
94
+ ### Logistic Regression
95
+
96
+ ```python
97
+ def run_logistic_analysis(df: pd.DataFrame, formula: str) -> dict:
98
+ """
99
+ Fit a logistic regression for binary outcomes.
100
+ Reports odds ratios alongside coefficients.
101
+ """
102
+ model = smf.logit(formula=formula, data=df).fit(disp=False)
103
+
104
+ import numpy as np
105
+ results = {
106
+ 'coefficients': model.params.to_dict(),
107
+ 'odds_ratios': np.exp(model.params).to_dict(),
108
+ 'p_values': model.pvalues.to_dict(),
109
+ 'conf_int_OR': np.exp(model.conf_int()).to_dict(),
110
+ 'pseudo_r_squared': model.prsquared,
111
+ 'log_likelihood': model.llf,
112
+ 'aic': model.aic,
113
+ 'n_obs': int(model.nobs)
114
+ }
115
+ return results
116
+ ```
117
+
118
+ ## Model Diagnostics
119
+
120
+ ### OLS Assumption Checks
121
+
122
+ Run these diagnostics after fitting any OLS model:
123
+
124
+ 1. **Linearity**: Plot residuals vs. fitted values. Look for no systematic pattern.
125
+ 2. **Normality of residuals**: Q-Q plot and Shapiro-Wilk test on residuals.
126
+ 3. **Homoscedasticity**: Breusch-Pagan test (`statsmodels.stats.diagnostic.het_breuschpagan`).
127
+ 4. **No multicollinearity**: Variance Inflation Factor (VIF) for each predictor.
128
+ 5. **Independence**: Durbin-Watson statistic for autocorrelation (especially panel/time data).
129
+
130
+ ```python
131
+ from statsmodels.stats.outliers_influence import variance_inflation_factor
132
+ from statsmodels.stats.diagnostic import het_breuschpagan
133
+
134
+ def check_ols_assumptions(model, X_matrix) -> dict:
135
+ """
136
+ Run standard OLS diagnostic tests.
137
+ """
138
+ residuals = model.resid
139
+ fitted = model.fittedvalues
140
+
141
+ # VIF for multicollinearity
142
+ vif = {X_matrix.columns[i]: variance_inflation_factor(X_matrix.values, i)
143
+ for i in range(X_matrix.shape[1])}
144
+ multicollinearity_flag = any(v > 10 for v in vif.values())
145
+
146
+ # Breusch-Pagan for heteroscedasticity
147
+ bp_stat, bp_p, _, _ = het_breuschpagan(residuals, X_matrix)
148
+
149
+ from scipy import stats
150
+ _, normality_p = stats.shapiro(residuals[:5000]) # cap at 5000
151
+
152
+ return {
153
+ 'vif': vif,
154
+ 'multicollinearity_problem': multicollinearity_flag,
155
+ 'breusch_pagan_p': round(bp_p, 4),
156
+ 'heteroscedasticity_problem': bp_p < 0.05,
157
+ 'residual_normality_p': round(normality_p, 4),
158
+ 'recommendation': 'Use HC3 robust standard errors if heteroscedasticity detected'
159
+ }
160
+ ```
161
+
162
+ ## Reporting Regression Results
163
+
164
+ ### Standard Regression Table Format
165
+
166
+ | Variable | Coefficient | SE | t | p | 95% CI |
167
+ |----------|-----------|------|------|-------|---------|
168
+ | (Intercept) | 2.34 | 0.45 | 5.20 | <.001 | [1.45, 3.23] |
169
+ | Mentoring hours | 0.18 | 0.06 | 3.00 | .003 | [0.06, 0.30] |
170
+ | Dept. size | -0.02 | 0.01 | -2.00 | .048 | [-0.04, -0.00] |
171
+ | Log(Funding) | 0.31 | 0.12 | 2.58 | .011 | [0.07, 0.55] |
172
+
173
+ Report: N, R-squared, Adjusted R-squared, F-statistic with df and p-value, and the type of standard errors used (e.g., HC3 robust).
174
+
175
+ ### Interpretation Template
176
+
177
+ "A one-unit increase in [predictor] is associated with a [coefficient] [unit] change in [outcome], holding all other variables constant (b = [coef], SE = [se], p = [p], 95% CI [[lower], [upper]])."
178
+
179
+ For logistic regression: "A one-unit increase in [predictor] is associated with [OR]-times higher odds of [outcome] (OR = [or], 95% CI [[lower], [upper]], p = [p])."
180
+
181
+ ## Common Pitfalls
182
+
183
+ - **Omitted variable bias**: Failing to control for confounders that affect both X and Y.
184
+ - **Overfitting**: Including too many predictors relative to sample size (rule of thumb: 10-20 observations per predictor).
185
+ - **p-hacking**: Running many models and reporting only significant results. Pre-register your analysis plan.
186
+ - **Misinterpreting R-squared**: High R-squared does not imply causation; low R-squared does not mean the model is useless.
187
+ - **Ignoring assumptions**: Always run diagnostics. Violated assumptions can invalidate standard errors and p-values.
188
+
189
+ ## References
190
+
191
+ - Wooldridge, J. M. (2019). *Introductory Econometrics* (7th ed.). Cengage.
192
+ - Gelman, A. & Hill, J. (2007). *Data Analysis Using Regression and Multilevel/Hierarchical Models*. Cambridge University Press.
193
+ - King, G. (1986). How Not to Lie with Statistics. *American Journal of Political Science*, 30(3), 666-687.
@@ -0,0 +1,223 @@
1
+ ---
2
+ name: senior-data-scientist-guide
3
+ description: "Statistical modeling, experimentation design, and causal inference"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🎯"
7
+ category: "analysis"
8
+ subcategory: "statistics"
9
+ keywords: ["statistical modeling", "causal inference", "A/B testing", "experimentation", "feature engineering", "data science"]
10
+ source: "https://github.com/AcademicSkills/senior-data-scientist-guide"
11
+ ---
12
+
13
+ # Senior Data Scientist Guide
14
+
15
+ A skill embodying the analytical mindset and methodological rigor of a senior data scientist applied to academic research. Covers advanced statistical modeling, experimental design, causal inference, feature engineering, and the critical thinking required to move from data to defensible conclusions.
16
+
17
+ ## Overview
18
+
19
+ Senior data scientists distinguish themselves not by knowing more algorithms but by asking better questions, designing cleaner experiments, and being honest about what the data can and cannot tell them. This skill translates that professional discipline into a research context, helping academics apply modern data science practices to their empirical work. It covers the strategic decisions that matter most: when to use simple models versus complex ones, how to establish causality rather than mere correlation, and how to communicate uncertainty honestly.
20
+
21
+ The skill is particularly useful for researchers working with observational data who need causal inference techniques, those designing randomized experiments who need proper power calculations and analysis plans, and anyone building predictive models who needs to avoid common overfitting and leakage pitfalls.
22
+
23
+ ## Strategic Modeling Decisions
24
+
25
+ ### Model Selection Philosophy
26
+
27
+ ```
28
+ Decision Framework:
29
+ 1. Start with the simplest model that could answer your question
30
+ 2. Add complexity only when diagnostics reveal inadequacy
31
+ 3. Prefer interpretable models unless prediction accuracy is the sole goal
32
+ 4. Always have a baseline (mean, majority class, last observation)
33
+
34
+ Model Complexity Ladder:
35
+ Level 1: Descriptive statistics, cross-tabulations
36
+ Level 2: Linear/logistic regression
37
+ Level 3: Regularized regression (Lasso, Ridge, Elastic Net)
38
+ Level 4: Tree ensembles (Random Forest, Gradient Boosting)
39
+ Level 5: Deep learning (only with sufficient data and clear justification)
40
+ ```
41
+
42
+ ### Feature Engineering Principles
43
+
44
+ ```python
45
+ import pandas as pd
46
+ import numpy as np
47
+
48
+ def engineer_features(df: pd.DataFrame, config: dict) -> pd.DataFrame:
49
+ """
50
+ Apply systematic feature engineering based on domain knowledge.
51
+
52
+ config example:
53
+ {
54
+ 'log_transform': ['income', 'citations'],
55
+ 'interactions': [('experience', 'education')],
56
+ 'polynomial': {'age': 2},
57
+ 'time_features': 'date_column',
58
+ 'lag_features': {'metric': [1, 7, 30]}
59
+ }
60
+ """
61
+ df = df.copy()
62
+
63
+ # Log transforms for right-skewed variables
64
+ for col in config.get('log_transform', []):
65
+ df[f'{col}_log'] = np.log1p(df[col])
66
+
67
+ # Interaction terms
68
+ for col_a, col_b in config.get('interactions', []):
69
+ df[f'{col_a}_x_{col_b}'] = df[col_a] * df[col_b]
70
+
71
+ # Polynomial features
72
+ for col, degree in config.get('polynomial', {}).items():
73
+ for d in range(2, degree + 1):
74
+ df[f'{col}_pow{d}'] = df[col] ** d
75
+
76
+ # Time-based features
77
+ if 'time_features' in config:
78
+ time_col = config['time_features']
79
+ df[time_col] = pd.to_datetime(df[time_col])
80
+ df[f'{time_col}_month'] = df[time_col].dt.month
81
+ df[f'{time_col}_dayofweek'] = df[time_col].dt.dayofweek
82
+ df[f'{time_col}_quarter'] = df[time_col].dt.quarter
83
+
84
+ return df
85
+ ```
86
+
87
+ ## Causal Inference Methods
88
+
89
+ ### Beyond Correlation
90
+
91
+ | Method | When to Use | Key Assumption |
92
+ |--------|-----------|---------------|
93
+ | Randomized experiment | You can randomly assign treatment | Proper randomization, no attrition |
94
+ | Difference-in-differences | Policy change affects one group | Parallel trends pre-treatment |
95
+ | Regression discontinuity | Treatment assigned by cutoff | No manipulation near cutoff |
96
+ | Instrumental variables | Endogeneity present | Valid instrument (relevance + exclusion) |
97
+ | Propensity score matching | Observational data, many confounders | No unobserved confounders |
98
+ | Synthetic control | Single treated unit, many controls | Good pre-treatment fit |
99
+
100
+ ### Propensity Score Matching
101
+
102
+ ```python
103
+ from sklearn.linear_model import LogisticRegression
104
+ from sklearn.neighbors import NearestNeighbors
105
+
106
+ def propensity_score_match(df, treatment_col, covariates, caliper=0.05):
107
+ """
108
+ Match treated and control units based on propensity scores.
109
+ """
110
+ # Estimate propensity scores
111
+ X = df[covariates].values
112
+ y = df[treatment_col].values
113
+
114
+ lr = LogisticRegression(max_iter=1000, random_state=42)
115
+ lr.fit(X, y)
116
+ df['pscore'] = lr.predict_proba(X)[:, 1]
117
+
118
+ # Match using nearest neighbor within caliper
119
+ treated = df[df[treatment_col] == 1]
120
+ control = df[df[treatment_col] == 0]
121
+
122
+ nn = NearestNeighbors(n_neighbors=1, metric='euclidean')
123
+ nn.fit(control[['pscore']].values)
124
+
125
+ distances, indices = nn.kneighbors(treated[['pscore']].values)
126
+
127
+ # Apply caliper
128
+ valid = distances.flatten() < caliper
129
+ matched_treated = treated[valid].index.tolist()
130
+ matched_control = control.iloc[indices.flatten()[valid]].index.tolist()
131
+
132
+ return {
133
+ 'matched_treated': matched_treated,
134
+ 'matched_control': matched_control,
135
+ 'n_matched': sum(valid),
136
+ 'n_unmatched': sum(~valid),
137
+ 'balance_check': 'Run standardized mean differences on covariates'
138
+ }
139
+ ```
140
+
141
+ ## Experimentation Design
142
+
143
+ ### A/B Testing for Research
144
+
145
+ ```python
146
+ from scipy import stats
147
+ import numpy as np
148
+
149
+ def design_experiment(baseline_rate, mde, alpha=0.05, power=0.80):
150
+ """
151
+ Calculate required sample size for a two-proportion z-test.
152
+
153
+ Args:
154
+ baseline_rate: Current conversion/success rate
155
+ mde: Minimum detectable effect (absolute change)
156
+ alpha: Significance level
157
+ power: Statistical power
158
+ """
159
+ from statsmodels.stats.power import NormalIndPower
160
+ effect_size = mde / np.sqrt(baseline_rate * (1 - baseline_rate))
161
+ analysis = NormalIndPower()
162
+ n = analysis.solve_power(
163
+ effect_size=effect_size, alpha=alpha, power=power, ratio=1.0
164
+ )
165
+ return {
166
+ 'sample_size_per_group': int(np.ceil(n)),
167
+ 'total_sample_size': int(np.ceil(n)) * 2,
168
+ 'baseline_rate': baseline_rate,
169
+ 'minimum_detectable_effect': mde,
170
+ 'alpha': alpha,
171
+ 'power': power
172
+ }
173
+ ```
174
+
175
+ ### Pre-Analysis Plan Template
176
+
177
+ Before running any experiment, document:
178
+
179
+ 1. **Primary hypothesis**: One clearly stated prediction.
180
+ 2. **Primary outcome metric**: One pre-specified metric for the main test.
181
+ 3. **Sample size justification**: Power calculation with assumptions.
182
+ 4. **Randomization procedure**: How units are assigned to conditions.
183
+ 5. **Analysis method**: Exact statistical test and model specification.
184
+ 6. **Multiple comparisons**: How secondary analyses will be corrected.
185
+ 7. **Stopping rules**: Conditions for early termination (if applicable).
186
+
187
+ ## Model Validation
188
+
189
+ ### Cross-Validation Strategy
190
+
191
+ | Data Type | Recommended CV | Rationale |
192
+ |-----------|---------------|-----------|
193
+ | i.i.d. data | Stratified K-fold (K=5 or 10) | Preserves class balance |
194
+ | Time series | Time-series split (expanding window) | Prevents look-ahead bias |
195
+ | Grouped data | Group K-fold | Prevents data leakage across groups |
196
+ | Small dataset (n<200) | Leave-one-out or repeated K-fold | Maximizes training data |
197
+ | Spatial data | Spatial blocking | Prevents spatial autocorrelation leakage |
198
+
199
+ ### Leakage Detection Checklist
200
+
201
+ - [ ] No future information used as features (check timestamps)
202
+ - [ ] No target-derived features (e.g., group means computed on full data)
203
+ - [ ] Train/test split performed before any preprocessing
204
+ - [ ] Cross-validation folds respect group structure
205
+ - [ ] Feature selection performed inside CV loop, not before
206
+ - [ ] If accuracy seems too good to be true, it probably is
207
+
208
+ ## Communication and Reporting
209
+
210
+ ### The Senior DS Reporting Standard
211
+
212
+ - Lead with the business/research question, not the algorithm.
213
+ - Report confidence intervals, not just point estimates.
214
+ - Show what you tried that did not work (negative results matter).
215
+ - Quantify uncertainty: "The model predicts X with a 95% interval of [a, b]."
216
+ - Be explicit about limitations and assumptions.
217
+ - Use visualizations that a domain expert (not a statistician) can interpret.
218
+
219
+ ## References
220
+
221
+ - Angrist, J. D. & Pischke, J.-S. (2009). *Mostly Harmless Econometrics*. Princeton University Press.
222
+ - Cunningham, S. (2021). *Causal Inference: The Mixtape*. Yale University Press.
223
+ - Hastie, T., Tibshirani, R., & Friedman, J. (2009). *The Elements of Statistical Learning* (2nd ed.). Springer.
@@ -0,0 +1,100 @@
1
+ ---
2
+ name: claude-data-analysis-guide
3
+ description: "Claude Code-based conversational data analysis agent"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🔬"
7
+ category: "analysis"
8
+ subcategory: "wrangling"
9
+ keywords: ["Claude Code", "data analysis", "conversational", "pandas", "visualization", "interactive"]
10
+ source: "https://github.com/liangdabiao/claude-data-analysis"
11
+ ---
12
+
13
+ # Claude Data Analysis Guide
14
+
15
+ ## Overview
16
+
17
+ A Claude Code-based data analysis agent that provides conversational data exploration and analysis. Upload datasets and ask questions in natural language — the agent writes and executes Python code for data cleaning, statistical analysis, visualization, and reporting. Leverages Claude Code's ability to read files, run code, and iterate on results.
18
+
19
+ ## Setup
20
+
21
+ ```markdown
22
+ ### CLAUDE.md Configuration
23
+ # Data Analysis Project
24
+
25
+ ## Instructions
26
+ - Analyze data files in the data/ directory
27
+ - Use pandas, numpy, scipy, matplotlib, seaborn
28
+ - Always show data shape and dtypes first
29
+ - Include statistical tests where appropriate
30
+ - Generate publication-quality figures (300 DPI)
31
+ - Save outputs to output/ directory
32
+
33
+ ## Conventions
34
+ - Use seaborn for statistical plots
35
+ - Report confidence intervals, not just p-values
36
+ - Handle missing data explicitly (report, then impute)
37
+ - Set random_state=42 for reproducibility
38
+ ```
39
+
40
+ ## Workflow
41
+
42
+ ```markdown
43
+ ### Interactive Analysis Loop
44
+ 1. "Load the experiment data from data/results.csv"
45
+ → Agent reads file, shows shape, dtypes, head()
46
+
47
+ 2. "How many missing values are there?"
48
+ → Agent runs df.isnull().sum(), reports per column
49
+
50
+ 3. "Show the distribution of response time by condition"
51
+ → Agent creates violin plots, reports summary stats
52
+
53
+ 4. "Is there a significant difference between groups?"
54
+ → Agent runs appropriate test (t-test, ANOVA, etc.)
55
+
56
+ 5. "Build a regression model predicting response time"
57
+ → Agent fits model, reports coefficients, R², diagnostics
58
+
59
+ 6. "Create a summary report with all findings"
60
+ → Agent generates markdown report with embedded figures
61
+ ```
62
+
63
+ ## Common Analysis Patterns
64
+
65
+ ```python
66
+ # Data profiling
67
+ import pandas as pd
68
+ df = pd.read_csv("data/experiment.csv")
69
+ print(f"Shape: {df.shape}")
70
+ print(f"\nDtypes:\n{df.dtypes}")
71
+ print(f"\nMissing:\n{df.isnull().sum()}")
72
+ print(f"\nDescribe:\n{df.describe()}")
73
+
74
+ # Statistical comparison
75
+ from scipy import stats
76
+ group_a = df[df["condition"] == "A"]["score"]
77
+ group_b = df[df["condition"] == "B"]["score"]
78
+ t_stat, p_value = stats.ttest_ind(group_a, group_b)
79
+ print(f"t={t_stat:.3f}, p={p_value:.4f}")
80
+
81
+ # Visualization
82
+ import seaborn as sns
83
+ import matplotlib.pyplot as plt
84
+ fig, ax = plt.subplots(figsize=(8, 5))
85
+ sns.violinplot(data=df, x="condition", y="score", ax=ax)
86
+ plt.savefig("output/comparison.png", dpi=300, bbox_inches="tight")
87
+ ```
88
+
89
+ ## Use Cases
90
+
91
+ 1. **Experiment analysis**: Interactive analysis of lab data
92
+ 2. **EDA**: Rapid exploration of unfamiliar datasets
93
+ 3. **Statistical testing**: Guided hypothesis testing
94
+ 4. **Report generation**: Analysis reports with figures
95
+ 5. **Learning**: Interactive data science exploration
96
+
97
+ ## References
98
+
99
+ - [claude-data-analysis GitHub](https://github.com/liangdabiao/claude-data-analysis)
100
+ - [Claude Code](https://docs.anthropic.com/en/docs/claude-code)
@@ -0,0 +1,170 @@
1
+ ---
2
+ name: csv-data-analyzer
3
+ description: "Load, explore, clean, and analyze CSV data with statistical summaries"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📊"
7
+ category: "analysis"
8
+ subcategory: "wrangling"
9
+ keywords: ["CSV analysis", "data exploration", "data cleaning", "statistical summary", "tabular data", "pandas"]
10
+ source: "https://github.com/AcademicSkills/csv-data-analyzer"
11
+ ---
12
+
13
+ # CSV Data Analyzer
14
+
15
+ A comprehensive skill for loading, exploring, cleaning, and analyzing CSV datasets within research workflows. Designed for researchers who need to quickly understand the structure, quality, and statistical properties of tabular data before conducting deeper analysis.
16
+
17
+ ## Overview
18
+
19
+ Research datasets commonly arrive as CSV files from instrument exports, survey platforms, government repositories, and collaborator handoffs. This skill provides a structured approach to the entire CSV analysis pipeline: ingestion, profiling, quality assessment, cleaning, transformation, and summary statistics. It emphasizes reproducibility by generating audit logs of every transformation applied to the raw data.
20
+
21
+ The skill supports datasets of varying complexity, from single-table survey results to multi-file longitudinal study exports with hundreds of columns. It works with standard Python data science libraries (pandas, numpy, scipy) and produces outputs suitable for inclusion in methods sections and supplementary materials.
22
+
23
+ ## Data Loading and Initial Profiling
24
+
25
+ ### Loading Strategies
26
+
27
+ ```python
28
+ import pandas as pd
29
+ import numpy as np
30
+
31
+ def load_and_profile_csv(filepath: str, encoding: str = 'utf-8') -> dict:
32
+ """
33
+ Load a CSV file and generate an initial data profile.
34
+ Handles common encoding issues and delimiter detection.
35
+ """
36
+ # Try multiple encodings if default fails
37
+ encodings = [encoding, 'latin-1', 'utf-8-sig', 'cp1252']
38
+ df = None
39
+ for enc in encodings:
40
+ try:
41
+ df = pd.read_csv(filepath, encoding=enc, low_memory=False)
42
+ break
43
+ except (UnicodeDecodeError, pd.errors.ParserError):
44
+ continue
45
+
46
+ if df is None:
47
+ raise ValueError(f"Could not parse {filepath} with any supported encoding")
48
+
49
+ profile = {
50
+ 'rows': len(df),
51
+ 'columns': len(df.columns),
52
+ 'memory_mb': df.memory_usage(deep=True).sum() / 1e6,
53
+ 'dtypes': df.dtypes.value_counts().to_dict(),
54
+ 'missing_pct': (df.isnull().sum() / len(df) * 100).to_dict(),
55
+ 'duplicates': df.duplicated().sum(),
56
+ 'column_names': df.columns.tolist()
57
+ }
58
+ return df, profile
59
+ ```
60
+
61
+ ### Column Type Inference
62
+
63
+ ```python
64
+ def infer_semantic_types(df: pd.DataFrame) -> dict:
65
+ """
66
+ Infer semantic column types beyond pandas dtypes.
67
+ Detects dates, identifiers, categorical, continuous, and text columns.
68
+ """
69
+ semantic_types = {}
70
+ for col in df.columns:
71
+ nunique = df[col].nunique()
72
+ ratio = nunique / len(df) if len(df) > 0 else 0
73
+
74
+ if ratio > 0.95 and df[col].dtype == 'object':
75
+ semantic_types[col] = 'identifier'
76
+ elif nunique <= 20 and df[col].dtype in ['object', 'int64']:
77
+ semantic_types[col] = 'categorical'
78
+ elif df[col].dtype in ['float64', 'int64']:
79
+ semantic_types[col] = 'continuous'
80
+ elif pd.to_datetime(df[col], errors='coerce').notna().mean() > 0.8:
81
+ semantic_types[col] = 'datetime'
82
+ else:
83
+ semantic_types[col] = 'text'
84
+ return semantic_types
85
+ ```
86
+
87
+ ## Data Cleaning Pipeline
88
+
89
+ ### Systematic Cleaning Steps
90
+
91
+ 1. **Remove fully empty rows and columns**: Drop rows/columns where all values are NaN.
92
+ 2. **Standardize column names**: Convert to snake_case, remove special characters.
93
+ 3. **Handle missing data**: Assess missingness patterns (MCAR/MAR/MNAR) before choosing imputation strategy.
94
+ 4. **Detect and handle duplicates**: Identify exact and near-duplicates using fuzzy matching.
95
+ 5. **Validate value ranges**: Flag values outside expected domain ranges.
96
+ 6. **Standardize categorical labels**: Merge inconsistent spellings (e.g., "Male", "male", "M").
97
+
98
+ ```python
99
+ def clean_column_names(df: pd.DataFrame) -> pd.DataFrame:
100
+ """Standardize column names to snake_case."""
101
+ import re
102
+ df.columns = [
103
+ re.sub(r'[^a-z0-9]+', '_', col.lower().strip()).strip('_')
104
+ for col in df.columns
105
+ ]
106
+ return df
107
+
108
+ def assess_missingness(df: pd.DataFrame) -> pd.DataFrame:
109
+ """Generate a missingness report for each column."""
110
+ report = pd.DataFrame({
111
+ 'missing_count': df.isnull().sum(),
112
+ 'missing_pct': (df.isnull().sum() / len(df) * 100).round(2),
113
+ 'dtype': df.dtypes
114
+ })
115
+ report['action'] = report['missing_pct'].apply(
116
+ lambda x: 'drop' if x > 60 else ('impute' if x > 0 else 'ok')
117
+ )
118
+ return report.sort_values('missing_pct', ascending=False)
119
+ ```
120
+
121
+ ## Statistical Summary Generation
122
+
123
+ ### Descriptive Statistics
124
+
125
+ ```python
126
+ def generate_statistical_summary(df: pd.DataFrame) -> dict:
127
+ """
128
+ Generate comprehensive descriptive statistics for all columns.
129
+ Includes measures of central tendency, dispersion, and distribution shape.
130
+ """
131
+ numeric_cols = df.select_dtypes(include=[np.number])
132
+ summary = {
133
+ 'numeric': numeric_cols.describe().T.assign(
134
+ skewness=numeric_cols.skew(),
135
+ kurtosis=numeric_cols.kurtosis(),
136
+ iqr=numeric_cols.quantile(0.75) - numeric_cols.quantile(0.25),
137
+ cv=numeric_cols.std() / numeric_cols.mean() # coefficient of variation
138
+ ),
139
+ 'categorical': {
140
+ col: df[col].value_counts().head(10).to_dict()
141
+ for col in df.select_dtypes(include=['object']).columns
142
+ },
143
+ 'correlations': numeric_cols.corr().round(3)
144
+ }
145
+ return summary
146
+ ```
147
+
148
+ ### Normality and Distribution Testing
149
+
150
+ | Test | Use Case | Function |
151
+ |------|----------|----------|
152
+ | Shapiro-Wilk | Normality test (n < 5000) | `scipy.stats.shapiro()` |
153
+ | D'Agostino-Pearson | Normality test (n >= 5000) | `scipy.stats.normaltest()` |
154
+ | Kolmogorov-Smirnov | Compare to any distribution | `scipy.stats.kstest()` |
155
+ | Levene's test | Homogeneity of variance | `scipy.stats.levene()` |
156
+
157
+ ## Best Practices for Reproducibility
158
+
159
+ - Always save the raw CSV separately; never overwrite original files.
160
+ - Log every cleaning step with timestamps in a transformation audit trail.
161
+ - Export cleaned datasets with a version suffix (e.g., `data_v2_cleaned.csv`).
162
+ - Include the cleaning script or notebook alongside the published dataset.
163
+ - Report the number of rows removed at each step in your methods section.
164
+ - Use `random_state` parameters consistently for any stochastic operations.
165
+
166
+ ## References
167
+
168
+ - McKinney, W. (2022). *Python for Data Analysis* (3rd ed.). O'Reilly Media.
169
+ - Wickham, H. (2014). Tidy Data. *Journal of Statistical Software*, 59(10).
170
+ - Van den Broeck, J., et al. (2005). Data Cleaning: Detecting, Diagnosing, and Editing Data Abnormalities. *PLoS Medicine*, 2(10).