@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,294 @@
1
+ ---
2
+ name: zotero-scholar-guide
3
+ description: "Save papers with metadata to Zotero via its API programmatically"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📚"
7
+ category: "writing"
8
+ subcategory: "citation"
9
+ keywords: ["zotero", "reference manager", "citation management", "API", "metadata", "bibliography", "paper organization"]
10
+ source: "https://github.com/zotero/zotero"
11
+ ---
12
+
13
+ # Zotero Scholar Guide
14
+
15
+ ## Overview
16
+
17
+ Zotero is the most widely used open-source reference manager in academia, offering a powerful combination of local storage, cloud sync, browser integration, and a comprehensive API. While most researchers use Zotero through its desktop application and browser connector, the Zotero API enables programmatic access that is essential for automated research workflows—saving papers from scripts, batch-importing search results, organizing libraries algorithmically, and integrating reference management into custom research pipelines.
18
+
19
+ This skill covers using the Zotero Web API to create, read, update, and organize library items programmatically. It is designed for researchers who want to automate parts of their reference management workflow: importing papers from arXiv or Semantic Scholar searches directly into Zotero, auto-tagging papers based on content analysis, organizing collections programmatically, and exporting citations in various formats.
20
+
21
+ The skill complements the existing `zotero-api` skill by focusing specifically on practical scholar workflows—the common patterns a researcher uses when integrating Zotero into their daily literature management.
22
+
23
+ ## Authentication and Setup
24
+
25
+ ### Obtaining API Credentials
26
+
27
+ 1. Log in to your Zotero account at https://www.zotero.org
28
+ 2. Navigate to Settings > Feeds/API (https://www.zotero.org/settings/keys)
29
+ 3. Click "Create new private key"
30
+ 4. Set permissions:
31
+ - Personal Library: Read/Write access
32
+ - Default Group Permissions: Read/Write (if you use group libraries)
33
+ - Allow access to notes (recommended)
34
+ 5. Save the API key securely
35
+
36
+ ```bash
37
+ # Store your credentials as environment variables
38
+ export ZOTERO_API_KEY=your-zotero-key # from zotero.org/settings/keys
39
+ export ZOTERO_USER_ID="your_user_id" # Found on the API keys page
40
+ ```
41
+
42
+ ### Testing Your Connection
43
+
44
+ ```bash
45
+ # Verify API access
46
+ curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
47
+ "https://api.zotero.org/users/$ZOTERO_USER_ID/items?limit=5&format=json" \
48
+ | python3 -m json.tool | head -20
49
+ ```
50
+
51
+ If you see your recent library items, authentication is working correctly.
52
+
53
+ ## Saving Papers to Zotero
54
+
55
+ ### Adding a Single Paper by DOI
56
+
57
+ The simplest way to add a well-cataloged paper is by DOI. Zotero can resolve DOI metadata automatically:
58
+
59
+ ```python
60
+ import requests
61
+ import os
62
+
63
+ API_KEY = os.environ["ZOTERO_API_KEY"]
64
+ USER_ID = os.environ["ZOTERO_USER_ID"]
65
+ BASE_URL = f"https://api.zotero.org/users/{USER_ID}"
66
+ HEADERS = {
67
+ "Zotero-API-Key": API_KEY,
68
+ "Content-Type": "application/json"
69
+ }
70
+
71
+ def add_paper_by_doi(doi):
72
+ """Resolve DOI metadata and add to Zotero."""
73
+ # Step 1: Get metadata from DOI via Crossref
74
+ cr_resp = requests.get(
75
+ f"https://api.crossref.org/works/{doi}",
76
+ headers={"User-Agent": "ResearchClaw/1.0 (mailto:you@example.edu)"}
77
+ )
78
+ cr_data = cr_resp.json()["message"]
79
+
80
+ # Step 2: Build Zotero item
81
+ item = {
82
+ "itemType": "journalArticle",
83
+ "title": cr_data.get("title", [""])[0],
84
+ "creators": [
85
+ {"creatorType": "author", "firstName": a.get("given", ""),
86
+ "lastName": a.get("family", "")}
87
+ for a in cr_data.get("author", [])
88
+ ],
89
+ "abstractNote": cr_data.get("abstract", ""),
90
+ "DOI": doi,
91
+ "url": f"https://doi.org/{doi}",
92
+ "date": cr_data.get("published-print", {}).get("date-parts", [[""]])[0][0],
93
+ "publicationTitle": cr_data.get("container-title", [""])[0],
94
+ "volume": cr_data.get("volume", ""),
95
+ "issue": cr_data.get("issue", ""),
96
+ "pages": cr_data.get("page", ""),
97
+ "tags": [{"tag": "auto-imported"}]
98
+ }
99
+
100
+ # Step 3: POST to Zotero
101
+ resp = requests.post(
102
+ f"{BASE_URL}/items",
103
+ headers=HEADERS,
104
+ json=[item]
105
+ )
106
+
107
+ if resp.status_code == 200:
108
+ print(f"Added: {item['title']}")
109
+ return resp.json()
110
+ else:
111
+ print(f"Error: {resp.status_code} - {resp.text}")
112
+ return None
113
+
114
+ # Usage
115
+ add_paper_by_doi("10.1038/s41586-023-06747-5")
116
+ ```
117
+
118
+ ### Adding arXiv Papers
119
+
120
+ arXiv papers often lack DOIs. Use the arXiv API to fetch metadata:
121
+
122
+ ```python
123
+ import feedparser
124
+
125
+ def add_arxiv_paper(arxiv_id):
126
+ """Fetch arXiv metadata and add to Zotero."""
127
+ feed = feedparser.parse(
128
+ f"http://export.arxiv.org/api/query?id_list={arxiv_id}"
129
+ )
130
+ entry = feed.entries[0]
131
+
132
+ item = {
133
+ "itemType": "preprint",
134
+ "title": entry.title.replace("\n", " "),
135
+ "creators": [
136
+ {"creatorType": "author",
137
+ "firstName": name.rsplit(" ", 1)[0] if " " in name else "",
138
+ "lastName": name.rsplit(" ", 1)[-1]}
139
+ for name in [a.name for a in entry.authors]
140
+ ],
141
+ "abstractNote": entry.summary.replace("\n", " "),
142
+ "url": entry.link,
143
+ "date": entry.published[:10],
144
+ "repository": "arXiv",
145
+ "archiveID": f"arXiv:{arxiv_id}",
146
+ "tags": [
147
+ {"tag": "arxiv"},
148
+ {"tag": entry.arxiv_primary_category["term"]}
149
+ ]
150
+ }
151
+
152
+ resp = requests.post(
153
+ f"{BASE_URL}/items",
154
+ headers=HEADERS,
155
+ json=[item]
156
+ )
157
+ if resp.status_code == 200:
158
+ print(f"Added arXiv paper: {item['title'][:80]}")
159
+ return resp
160
+
161
+ # Usage
162
+ add_arxiv_paper("2301.07041")
163
+ ```
164
+
165
+ ### Batch Import from Search Results
166
+
167
+ When you run a literature search and want to import all results into Zotero:
168
+
169
+ ```python
170
+ def batch_import(papers, collection_key=None):
171
+ """Import a list of paper dicts into Zotero.
172
+ Zotero API accepts up to 50 items per request.
173
+ """
174
+ batch_size = 50
175
+ for i in range(0, len(papers), batch_size):
176
+ batch = papers[i:i + batch_size]
177
+ items = [build_zotero_item(p) for p in batch]
178
+
179
+ # Add to specific collection if provided
180
+ if collection_key:
181
+ for item in items:
182
+ item["collections"] = [collection_key]
183
+
184
+ resp = requests.post(
185
+ f"{BASE_URL}/items",
186
+ headers=HEADERS,
187
+ json=items
188
+ )
189
+ print(f"Batch {i//batch_size + 1}: {resp.status_code}")
190
+ ```
191
+
192
+ ## Organizing with Collections and Tags
193
+
194
+ ### Creating Collections Programmatically
195
+
196
+ ```python
197
+ def create_collection(name, parent_key=None):
198
+ """Create a new Zotero collection."""
199
+ collection = {
200
+ "name": name,
201
+ "parentCollection": parent_key or False
202
+ }
203
+ resp = requests.post(
204
+ f"{BASE_URL}/collections",
205
+ headers=HEADERS,
206
+ json=[collection]
207
+ )
208
+ if resp.status_code == 200:
209
+ key = resp.json()["successful"]["0"]["key"]
210
+ print(f"Created collection '{name}' with key: {key}")
211
+ return key
212
+ return None
213
+
214
+ # Create a hierarchical structure
215
+ lit_review = create_collection("Literature Review 2026")
216
+ methods = create_collection("Methods Papers", parent_key=lit_review)
217
+ results = create_collection("Results Papers", parent_key=lit_review)
218
+ ```
219
+
220
+ ### Auto-Tagging Based on Content
221
+
222
+ ```python
223
+ def auto_tag_items(keyword_map):
224
+ """Tag existing items based on abstract content.
225
+ keyword_map: dict of {tag: [keywords]}
226
+ """
227
+ # Fetch all items
228
+ items = requests.get(
229
+ f"{BASE_URL}/items?limit=100&format=json",
230
+ headers=HEADERS
231
+ ).json()
232
+
233
+ for item in items:
234
+ abstract = item["data"].get("abstractNote", "").lower()
235
+ new_tags = list(item["data"].get("tags", []))
236
+ existing_tag_names = {t["tag"] for t in new_tags}
237
+
238
+ for tag, keywords in keyword_map.items():
239
+ if tag not in existing_tag_names:
240
+ if any(kw.lower() in abstract for kw in keywords):
241
+ new_tags.append({"tag": tag})
242
+
243
+ if len(new_tags) > len(item["data"].get("tags", [])):
244
+ requests.patch(
245
+ f"{BASE_URL}/items/{item['key']}",
246
+ headers={**HEADERS, "If-Unmodified-Since-Version": str(item["version"])},
247
+ json={"tags": new_tags}
248
+ )
249
+
250
+ # Usage
251
+ auto_tag_items({
252
+ "deep-learning": ["deep learning", "neural network", "CNN", "transformer"],
253
+ "nlp": ["natural language", "text classification", "language model"],
254
+ "computer-vision": ["image classification", "object detection", "segmentation"]
255
+ })
256
+ ```
257
+
258
+ ## Exporting Citations
259
+
260
+ ### Export in Various Formats
261
+
262
+ ```bash
263
+ # Export entire library as BibTeX
264
+ curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
265
+ "https://api.zotero.org/users/$ZOTERO_USER_ID/items?format=bibtex&limit=100" \
266
+ > library.bib
267
+
268
+ # Export a specific collection as CSL-JSON
269
+ curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
270
+ "https://api.zotero.org/users/$ZOTERO_USER_ID/collections/ABCD1234/items?format=csljson" \
271
+ > collection.json
272
+
273
+ # Export as RIS (for import into other tools)
274
+ curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
275
+ "https://api.zotero.org/users/$ZOTERO_USER_ID/items?format=ris&limit=100" \
276
+ > library.ris
277
+ ```
278
+
279
+ ### Generating a Bibliography
280
+
281
+ ```bash
282
+ # Generate formatted bibliography in APA style
283
+ curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
284
+ -H "Content-Type: application/json" \
285
+ "https://api.zotero.org/users/$ZOTERO_USER_ID/items?format=bib&style=apa&limit=50"
286
+ ```
287
+
288
+ ## References
289
+
290
+ - Zotero Web API v3 documentation: https://www.zotero.org/support/dev/web_api/v3/start
291
+ - Zotero source code: https://github.com/zotero/zotero
292
+ - pyzotero (Python library): https://github.com/urschrei/pyzotero
293
+ - Crossref API: https://api.crossref.org
294
+ - Zotero Better BibTeX plugin: https://retorque.re/zotero-better-bibtex/
@@ -0,0 +1,140 @@
1
+ ---
2
+ name: zotfile-attachment-guide
3
+ description: "Guide to ZotFile for Zotero attachment management, renaming, and syncing"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📂"
7
+ category: "writing"
8
+ subcategory: "citation"
9
+ keywords: ["zotero", "zotfile", "attachment", "pdf-management", "file-organization", "sync"]
10
+ source: "https://github.com/jlegewie/zotfile"
11
+ ---
12
+
13
+ # ZotFile Attachment Management Guide
14
+
15
+ ## Overview
16
+
17
+ ZotFile is one of the most established Zotero plugins with over 4,000 GitHub stars, providing advanced file management capabilities for PDF attachments and other documents linked to your Zotero library. It handles the critical but often neglected task of organizing, renaming, and synchronizing the actual files that make up a research library.
18
+
19
+ Without ZotFile, researchers often end up with a chaotic collection of PDFs named with meaningless publisher-generated identifiers, scattered across different directories, and difficult to manage outside of Zotero itself. ZotFile brings order to this chaos by automatically renaming files according to customizable patterns based on bibliographic metadata, moving them to organized directory structures, and managing tablet-based reading workflows.
20
+
21
+ The plugin is especially valuable for researchers with large libraries who need their PDFs accessible outside Zotero, whether for backup, sharing, or use with other tools. By maintaining a predictable, human-readable file naming and directory structure, ZotFile ensures that your research documents remain organized and accessible regardless of how you access them.
22
+
23
+ ## Installation and Setup
24
+
25
+ Install ZotFile through the Zotero add-on mechanism:
26
+
27
+ 1. Download the latest `.xpi` file from https://github.com/jlegewie/zotfile/releases
28
+ 2. In Zotero, navigate to Tools > Add-ons > gear icon > Install Add-on From File
29
+ 3. Select the `.xpi` file and restart Zotero
30
+
31
+ Configure ZotFile after installation:
32
+
33
+ - Open Tools > ZotFile Preferences
34
+ - **General Settings**:
35
+ - Set the source folder for new files (where your browser downloads PDFs)
36
+ - Set the custom location for linked attachments (e.g., `~/Documents/Research/Papers`)
37
+ - Choose between "Attach stored copy" (files in Zotero data directory) or "Linked file" (files in custom location)
38
+
39
+ - **Renaming Rules**:
40
+ - Configure the filename pattern using wildcards:
41
+ - `{%a}` - Author last name
42
+ - `{%y}` - Year
43
+ - `{%t}` - Title
44
+ - `{%j}` - Journal abbreviation
45
+ - Example pattern: `{%a}_{%y}_{%t}` produces `Smith_2024_Deep_Learning_for_Protein.pdf`
46
+ - Set maximum title length to prevent overly long filenames
47
+ - Configure treatment of special characters and spaces
48
+
49
+ - **Tablet Settings** (if using a tablet for reading):
50
+ - Set the tablet files directory (e.g., a cloud-synced folder)
51
+ - Configure background file handling
52
+ - Enable automatic extraction of annotations from returned tablet PDFs
53
+
54
+ ## Core Features
55
+
56
+ **Automatic File Renaming**: When you add a new item with an attachment to Zotero, ZotFile can automatically rename the PDF based on the item's metadata. This transforms `10.1038_s41586-024-07487-w.pdf` into `Smith_2024_Title_of_Paper.pdf` without any manual intervention.
57
+
58
+ Renaming patterns support rich formatting:
59
+
60
+ | Pattern | Output Example | Description |
61
+ |---------|---------------|-------------|
62
+ | `{%a}_{%y}_{%t}` | `Smith_2024_Deep_Learning` | Author, year, title |
63
+ | `{%a}_{%y}_{%j}` | `Smith_2024_Nature` | Author, year, journal |
64
+ | `{%y}/{%a}_{%t}` | `2024/Smith_Deep_Learning` | Year subfolder, author, title |
65
+ | `{%a_zotero}_{%y}` | `SmithAndJones_2024` | Multiple authors |
66
+
67
+ **Custom File Location**: Move attachments from Zotero's internal storage to a custom directory structure. This is essential for researchers who:
68
+ - Want PDFs accessible from file managers and other applications
69
+ - Need to store files on specific drives with more storage capacity
70
+ - Want a predictable directory structure for scripting and automation
71
+ - Prefer linked files over Zotero-managed storage for portability
72
+
73
+ **Subfolder Organization**: Create automatic subfolder structures based on metadata:
74
+ - Organize by year: `{%y}/` creates `2024/`, `2023/`, etc.
75
+ - Organize by author: `{%a}/` creates `Smith/`, `Jones/`, etc.
76
+ - Organize by collection: mirror your Zotero collection hierarchy
77
+ - Combine patterns: `{%y}/{%j}/` creates `2024/Nature/`, `2024/Science/`
78
+
79
+ **Tablet Reading Workflow**: ZotFile manages a bidirectional sync between your Zotero library and a tablet reading folder:
80
+
81
+ 1. Select papers you want to read on your tablet
82
+ 2. Right-click > Manage Attachments > Send to Tablet
83
+ 3. ZotFile copies PDFs to your configured tablet directory (typically a cloud-synced folder)
84
+ 4. Read and annotate on your tablet using your preferred PDF reader
85
+ 5. When finished, right-click > Manage Attachments > Get from Tablet
86
+ 6. ZotFile retrieves the annotated PDFs and extracts new annotations into Zotero notes
87
+
88
+ **PDF Annotation Extraction**: ZotFile can extract highlights and text annotations from PDFs and convert them into Zotero notes. This works with annotations made in any PDF reader, not just Zotero's built-in reader. Each annotation includes:
89
+ - The highlighted or annotated text
90
+ - The page number for reference
91
+ - Color coding information
92
+ - Any comments you added
93
+
94
+ **Batch Operations**: Process your entire library or selected collections at once:
95
+ - Rename all attachments according to current rules
96
+ - Move all files to the custom location
97
+ - Extract annotations from all PDFs
98
+ - Update file links after moving directories
99
+
100
+ ## Research Workflow Best Practices
101
+
102
+ **Setting Up a New Library**:
103
+ 1. Configure ZotFile with your preferred naming pattern and directory
104
+ 2. Import your existing PDFs into Zotero with metadata
105
+ 3. Select all items and run "Rename and Move Attachments" to normalize everything
106
+ 4. Verify the resulting file structure meets your needs
107
+
108
+ **Daily Workflow**:
109
+ 1. Download new papers through your browser
110
+ 2. Add them to Zotero (drag and drop or browser connector)
111
+ 3. ZotFile automatically renames and moves the PDF
112
+ 4. The file appears in your organized directory with a readable name
113
+
114
+ **Backup Strategy**: With ZotFile managing files in a known directory:
115
+ - Use Time Machine, rsync, or cloud storage to back up the PDF directory
116
+ - Back up the Zotero database separately
117
+ - The combination ensures full recoverability
118
+
119
+ **Collaboration**: Share your organized PDF directory with collaborators:
120
+ - The human-readable filenames make it easy to find specific papers
121
+ - The directory structure provides intuitive browsing
122
+ - Pair with a shared BibTeX file for complete reference sharing
123
+
124
+ **Migration from Other Managers**: When switching from Mendeley, EndNote, or other tools:
125
+ 1. Export your library to a standard format (BibTeX or RIS)
126
+ 2. Import into Zotero
127
+ 3. Add your existing PDFs
128
+ 4. Run ZotFile renaming to normalize all filenames to your chosen convention
129
+ 5. Verify all file links are correct
130
+
131
+ ## Compatibility Notes
132
+
133
+ ZotFile was originally developed for Zotero 5 and earlier versions. For Zotero 7 users, check the GitHub repository for the latest compatibility information. Some features may be handled natively in newer Zotero versions, while others may require the updated plugin. The Zotero community actively maintains compatibility guides for major plugin migrations.
134
+
135
+ ## References
136
+
137
+ - GitHub Repository: https://github.com/jlegewie/zotfile
138
+ - ZotFile Documentation: http://zotfile.com
139
+ - Zotero Plugin Directory: https://www.zotero.org/support/plugins
140
+ - Zotero File Management Guide: https://www.zotero.org/support/attaching_files
@@ -0,0 +1,163 @@
1
+ ---
2
+ name: ml-paper-writing
3
+ description: "Write ML/AI research papers targeting NeurIPS, ICML, and ICLR venues"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🧠"
7
+ category: "writing"
8
+ subcategory: "composition"
9
+ keywords: ["machine learning", "NeurIPS", "ICML", "ICLR", "AI paper", "deep learning", "conference paper"]
10
+ source: "https://github.com/karpathy/arxiv-sanity-lite"
11
+ ---
12
+
13
+ # ML Paper Writing
14
+
15
+ ## Overview
16
+
17
+ Publishing at top machine learning venues—NeurIPS, ICML, ICLR, AAAI, and similar conferences—requires not only strong technical contributions but also clear, persuasive writing that follows community conventions. The reviewing process at these venues is highly competitive (acceptance rates of 15-30%), and the difference between a borderline accept and a borderline reject often comes down to how well the paper communicates its contributions.
18
+
19
+ This skill provides a comprehensive guide to writing ML/AI research papers that meet the expectations of reviewers at top venues. It covers paper structure, the specific writing conventions of the ML community, common reviewer complaints to avoid, and practical templates for each section.
20
+
21
+ The guidance here is based on published reviewer guidelines from NeurIPS, ICML, and ICLR, as well as widely-cited advice from established researchers in the field.
22
+
23
+ ## Paper Structure and Section Guide
24
+
25
+ ### Title
26
+
27
+ Your title should be specific and informative. Avoid generic titles like "A Novel Approach to X." Include:
28
+ - The key technical contribution or method name
29
+ - The problem domain or task
30
+ - Optionally, a hint at the result
31
+
32
+ **Good examples:**
33
+ - "Attention Is All You Need"
34
+ - "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding"
35
+ - "Scaling Laws for Neural Language Models"
36
+
37
+ **Avoid:**
38
+ - "A Deep Learning Approach for Better Results" (too vague)
39
+ - "On Some Properties of Neural Networks" (uninformative)
40
+
41
+ ### Abstract (150-250 words)
42
+
43
+ Structure your abstract as four implicit paragraphs, even if written as a single block:
44
+
45
+ 1. **Context** (1-2 sentences): What problem area are you working in? Why does it matter?
46
+ 2. **Gap/Problem** (1-2 sentences): What specific limitation or open question does your work address?
47
+ 3. **Approach** (2-3 sentences): What is your method? What is the key insight?
48
+ 4. **Results** (2-3 sentences): What are your main empirical results? Include specific numbers (accuracy, speedup, etc.).
49
+
50
+ ### Introduction (1-1.5 pages)
51
+
52
+ The introduction expands the abstract with more context and should accomplish:
53
+
54
+ 1. Motivate the problem with a concrete example or real-world impact
55
+ 2. Summarize the current state of the art and its limitations
56
+ 3. State your contributions as a numbered or bulleted list (typically 3-4 points)
57
+ 4. Briefly describe the paper's organization
58
+
59
+ **The contribution list is critical.** Reviewers often decide their initial impression from the contribution bullets. Each contribution should be specific and falsifiable, not vague ("We propose a novel method" is weak; "We propose X, which achieves Y% improvement on Z benchmark" is strong).
60
+
61
+ ### Related Work (0.5-1.5 pages)
62
+
63
+ In ML papers, Related Work can appear after the Introduction or before the Conclusion. Position it after the Introduction if your method is best understood in the context of prior work; put it near the end if it would interrupt the flow of your technical exposition.
64
+
65
+ - Organize by theme, not chronologically
66
+ - Explicitly state how your work differs from each group of related methods
67
+ - Be fair and generous—reviewers may be the authors of cited papers
68
+ - Cover the most recent work (last 2 years); missing recent papers is a common reviewer complaint
69
+
70
+ ### Method (2-3 pages)
71
+
72
+ This is the core of your paper. Structure it as:
73
+
74
+ 1. **Problem formulation**: Define notation, input/output, and the objective mathematically
75
+ 2. **Method overview**: A high-level description (ideally with a figure showing the architecture or pipeline)
76
+ 3. **Detailed description**: Each component of your method in its own subsection
77
+ 4. **Training procedure**: Loss functions, optimization details, any tricks
78
+
79
+ **Tips:**
80
+ - Use a method figure (architecture diagram) early in this section
81
+ - Define all notation before first use
82
+ - Use consistent notation throughout (common complaint: variable names change between sections)
83
+ - If your method has multiple components, use an algorithm box (Algorithm 1) to summarize
84
+
85
+ ### Experiments (2-3 pages)
86
+
87
+ This section must answer: "Does the proposed method work, and why?"
88
+
89
+ Structure:
90
+ 1. **Experimental setup**: Datasets, baselines, evaluation metrics, implementation details
91
+ 2. **Main results**: Comparison tables against baselines on standard benchmarks
92
+ 3. **Ablation study**: Remove or modify each component of your method to show each one matters
93
+ 4. **Analysis**: Qualitative examples, visualization of learned representations, failure cases
94
+
95
+ **Common reviewer complaints to preempt:**
96
+ - "The baselines are weak/outdated" — Include SOTA methods from the last 1-2 years
97
+ - "Missing ablation study" — Always include one
98
+ - "No error bars/confidence intervals" — Report mean and standard deviation over 3-5 runs
99
+ - "No computational cost comparison" — Report FLOPs, wall-clock time, or parameter counts
100
+
101
+ ### Conclusion
102
+
103
+ Keep it short (0.5 pages). Summarize contributions, state limitations honestly (reviewers appreciate this), and suggest future directions.
104
+
105
+ ## Writing Style for ML Papers
106
+
107
+ ### Clarity and Precision
108
+
109
+ - Use active voice: "We propose" not "It is proposed"
110
+ - Define acronyms at first use
111
+ - Keep sentences short—aim for one idea per sentence
112
+ - Use mathematical notation consistently
113
+ - Avoid hedge words unless truly uncertain ("Our method achieves" not "Our method seems to achieve")
114
+
115
+ ### Figures and Tables
116
+
117
+ - Every figure and table must be referenced in the text
118
+ - Use vector graphics (PDF/SVG) for plots, not rasterized PNG
119
+ - Tables should have clear column headers and the best result should be **bolded**
120
+ - Include a descriptive caption that lets the figure/table stand alone
121
+
122
+ ### Reproducibility Checklist
123
+
124
+ NeurIPS and ICML now require a reproducibility checklist. Address these in your paper:
125
+
126
+ - Exact hyperparameters and how they were selected
127
+ - Random seeds used
128
+ - Computational resources (GPU type, training time)
129
+ - Dataset splits and preprocessing details
130
+ - Code availability (link to anonymized repository for review)
131
+
132
+ ## Submission Logistics
133
+
134
+ ### Formatting
135
+
136
+ - Use the official LaTeX template for your target venue (NeurIPS, ICML, ICLR each have their own)
137
+ - Do not exceed the page limit (typically 8-9 pages for main content, unlimited for references and appendix)
138
+ - Anonymous submission: remove author names, avoid self-identifying references ("In our prior work [Author, 2024]" should be "In prior work [Anonymous, 2024]")
139
+
140
+ ### Supplementary Material
141
+
142
+ Use the appendix for:
143
+ - Extended proofs
144
+ - Additional experimental results
145
+ - Implementation details and pseudocode
146
+ - Dataset details and preprocessing steps
147
+
148
+ Reviewers are not required to read the appendix, so the main paper must be self-contained.
149
+
150
+ ### Rebuttal Preparation
151
+
152
+ After reviews come in, you typically have 1 week for a rebuttal. Prepare by:
153
+ - Running additional experiments that reviewers might request (start before reviews arrive)
154
+ - Having a collaborator re-read the paper to anticipate potential criticisms
155
+ - Drafting template responses for common concerns (computational cost, additional baselines, etc.)
156
+
157
+ ## References
158
+
159
+ - NeurIPS 2025 Call for Papers and Reviewer Guidelines: https://neurips.cc
160
+ - ICML Author Instructions: https://icml.cc
161
+ - ICLR Submission Guidelines: https://iclr.cc
162
+ - Karpathy's arXiv Sanity: https://github.com/karpathy/arxiv-sanity-lite
163
+ - Liang, P. "How to Write a Good ML Paper" (Stanford CS229 handout)