@wentorai/research-plugins 1.0.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 (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +204 -0
  3. package/curated/analysis/README.md +64 -0
  4. package/curated/domains/README.md +104 -0
  5. package/curated/literature/README.md +53 -0
  6. package/curated/research/README.md +62 -0
  7. package/curated/tools/README.md +87 -0
  8. package/curated/writing/README.md +61 -0
  9. package/index.ts +39 -0
  10. package/mcp-configs/academic-db/ChatSpatial.json +17 -0
  11. package/mcp-configs/academic-db/academia-mcp.json +17 -0
  12. package/mcp-configs/academic-db/academic-paper-explorer.json +17 -0
  13. package/mcp-configs/academic-db/academic-search-mcp-server.json +17 -0
  14. package/mcp-configs/academic-db/agentinterviews-mcp.json +17 -0
  15. package/mcp-configs/academic-db/all-in-mcp.json +17 -0
  16. package/mcp-configs/academic-db/apple-health-mcp.json +17 -0
  17. package/mcp-configs/academic-db/arxiv-latex-mcp.json +17 -0
  18. package/mcp-configs/academic-db/arxiv-mcp-server.json +17 -0
  19. package/mcp-configs/academic-db/bgpt-mcp.json +17 -0
  20. package/mcp-configs/academic-db/biomcp.json +17 -0
  21. package/mcp-configs/academic-db/biothings-mcp.json +17 -0
  22. package/mcp-configs/academic-db/catalysishub-mcp-server.json +17 -0
  23. package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +17 -0
  24. package/mcp-configs/academic-db/deep-research-mcp.json +17 -0
  25. package/mcp-configs/academic-db/dicom-mcp.json +17 -0
  26. package/mcp-configs/academic-db/enrichr-mcp-server.json +17 -0
  27. package/mcp-configs/academic-db/fec-mcp-server.json +17 -0
  28. package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +17 -0
  29. package/mcp-configs/academic-db/fhir-mcp.json +19 -0
  30. package/mcp-configs/academic-db/gget-mcp.json +17 -0
  31. package/mcp-configs/academic-db/google-researcher-mcp.json +17 -0
  32. package/mcp-configs/academic-db/idea-reality-mcp.json +17 -0
  33. package/mcp-configs/academic-db/legiscan-mcp.json +19 -0
  34. package/mcp-configs/academic-db/lex.json +17 -0
  35. package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +17 -0
  36. package/mcp-configs/ai-platform/ai-counsel.json +17 -0
  37. package/mcp-configs/ai-platform/atlas-mcp-server.json +17 -0
  38. package/mcp-configs/ai-platform/counsel-mcp.json +17 -0
  39. package/mcp-configs/ai-platform/cross-llm-mcp.json +17 -0
  40. package/mcp-configs/ai-platform/gptr-mcp.json +17 -0
  41. package/mcp-configs/browser/decipher-research-agent.json +17 -0
  42. package/mcp-configs/browser/deep-research.json +17 -0
  43. package/mcp-configs/browser/everything-claude-code.json +17 -0
  44. package/mcp-configs/browser/gpt-researcher.json +17 -0
  45. package/mcp-configs/browser/heurist-agent-framework.json +17 -0
  46. package/mcp-configs/data-platform/4everland-hosting-mcp.json +17 -0
  47. package/mcp-configs/data-platform/context-keeper.json +17 -0
  48. package/mcp-configs/data-platform/context7.json +19 -0
  49. package/mcp-configs/data-platform/contextstream-mcp.json +17 -0
  50. package/mcp-configs/data-platform/email-mcp.json +17 -0
  51. package/mcp-configs/note-knowledge/ApeRAG.json +17 -0
  52. package/mcp-configs/note-knowledge/In-Memoria.json +17 -0
  53. package/mcp-configs/note-knowledge/agent-memory.json +17 -0
  54. package/mcp-configs/note-knowledge/aimemo.json +17 -0
  55. package/mcp-configs/note-knowledge/biel-mcp.json +19 -0
  56. package/mcp-configs/note-knowledge/cognee.json +17 -0
  57. package/mcp-configs/note-knowledge/context-awesome.json +17 -0
  58. package/mcp-configs/note-knowledge/context-mcp.json +17 -0
  59. package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +17 -0
  60. package/mcp-configs/note-knowledge/cortex.json +17 -0
  61. package/mcp-configs/note-knowledge/devrag.json +17 -0
  62. package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +17 -0
  63. package/mcp-configs/note-knowledge/engram.json +17 -0
  64. package/mcp-configs/note-knowledge/gnosis-mcp.json +17 -0
  65. package/mcp-configs/note-knowledge/graphlit-mcp-server.json +19 -0
  66. package/mcp-configs/reference-mgr/arxiv-cli.json +17 -0
  67. package/mcp-configs/reference-mgr/arxiv-search-mcp.json +17 -0
  68. package/mcp-configs/reference-mgr/chiken.json +17 -0
  69. package/mcp-configs/reference-mgr/claude-scholar.json +17 -0
  70. package/mcp-configs/reference-mgr/devonthink-mcp.json +17 -0
  71. package/mcp-configs/registry.json +447 -0
  72. package/openclaw.plugin.json +21 -0
  73. package/package.json +61 -0
  74. package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +230 -0
  75. package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +218 -0
  76. package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +287 -0
  77. package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +195 -0
  78. package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +238 -0
  79. package/skills/analysis/dataviz/python-dataviz-guide/SKILL.md +195 -0
  80. package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +197 -0
  81. package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +198 -0
  82. package/skills/analysis/econometrics/panel-data-guide/SKILL.md +274 -0
  83. package/skills/analysis/econometrics/robustness-checks/SKILL.md +250 -0
  84. package/skills/analysis/econometrics/stata-regression/SKILL.md +117 -0
  85. package/skills/analysis/econometrics/time-series-guide/SKILL.md +235 -0
  86. package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +221 -0
  87. package/skills/analysis/statistics/hypothesis-testing-guide/SKILL.md +210 -0
  88. package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +206 -0
  89. package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +221 -0
  90. package/skills/analysis/statistics/power-analysis-guide/SKILL.md +240 -0
  91. package/skills/analysis/statistics/sem-guide/SKILL.md +231 -0
  92. package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +195 -0
  93. package/skills/analysis/wrangling/missing-data-handling/SKILL.md +224 -0
  94. package/skills/analysis/wrangling/pandas-data-wrangling/SKILL.md +242 -0
  95. package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +234 -0
  96. package/skills/analysis/wrangling/text-mining-guide/SKILL.md +225 -0
  97. package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +213 -0
  98. package/skills/domains/ai-ml/deep-learning-papers-guide/SKILL.md +200 -0
  99. package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +194 -0
  100. package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +233 -0
  101. package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +254 -0
  102. package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +233 -0
  103. package/skills/domains/biomedical/clinical-research-guide/SKILL.md +232 -0
  104. package/skills/domains/biomedical/clinicaltrials-api/SKILL.md +177 -0
  105. package/skills/domains/biomedical/epidemiology-guide/SKILL.md +200 -0
  106. package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +270 -0
  107. package/skills/domains/business/market-analysis-guide/SKILL.md +112 -0
  108. package/skills/domains/business/strategic-management-guide/SKILL.md +154 -0
  109. package/skills/domains/chemistry/computational-chemistry-guide/SKILL.md +266 -0
  110. package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +215 -0
  111. package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +194 -0
  112. package/skills/domains/cs/dblp-api/SKILL.md +129 -0
  113. package/skills/domains/cs/software-engineering-research/SKILL.md +218 -0
  114. package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +296 -0
  115. package/skills/domains/ecology/conservation-biology-guide/SKILL.md +198 -0
  116. package/skills/domains/ecology/gbif-api/SKILL.md +158 -0
  117. package/skills/domains/ecology/inaturalist-api/SKILL.md +173 -0
  118. package/skills/domains/economics/behavioral-economics-guide/SKILL.md +239 -0
  119. package/skills/domains/economics/development-economics-guide/SKILL.md +181 -0
  120. package/skills/domains/economics/fred-api/SKILL.md +189 -0
  121. package/skills/domains/education/curriculum-design-guide/SKILL.md +144 -0
  122. package/skills/domains/education/learning-science-guide/SKILL.md +150 -0
  123. package/skills/domains/finance/financial-data-analysis/SKILL.md +152 -0
  124. package/skills/domains/finance/quantitative-finance-guide/SKILL.md +151 -0
  125. package/skills/domains/geoscience/climate-science-guide/SKILL.md +158 -0
  126. package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +129 -0
  127. package/skills/domains/humanities/digital-humanities-guide/SKILL.md +181 -0
  128. package/skills/domains/humanities/philosophy-research-guide/SKILL.md +148 -0
  129. package/skills/domains/law/courtlistener-api/SKILL.md +213 -0
  130. package/skills/domains/law/legal-research-guide/SKILL.md +250 -0
  131. package/skills/domains/math/linear-algebra-applications/SKILL.md +227 -0
  132. package/skills/domains/math/numerical-methods-guide/SKILL.md +236 -0
  133. package/skills/domains/math/oeis-api/SKILL.md +158 -0
  134. package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +165 -0
  135. package/skills/domains/pharma/drug-development-guide/SKILL.md +177 -0
  136. package/skills/domains/physics/computational-physics-guide/SKILL.md +300 -0
  137. package/skills/domains/physics/nasa-ads-api/SKILL.md +150 -0
  138. package/skills/domains/physics/quantum-computing-guide/SKILL.md +234 -0
  139. package/skills/domains/social-science/social-research-methods/SKILL.md +194 -0
  140. package/skills/domains/social-science/survey-research-guide/SKILL.md +182 -0
  141. package/skills/literature/discovery/citation-alert-guide/SKILL.md +154 -0
  142. package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +142 -0
  143. package/skills/literature/discovery/literature-mapping-guide/SKILL.md +175 -0
  144. package/skills/literature/discovery/paper-tracking-guide/SKILL.md +211 -0
  145. package/skills/literature/discovery/rss-paper-feeds/SKILL.md +214 -0
  146. package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +164 -0
  147. package/skills/literature/fulltext/doaj-api/SKILL.md +120 -0
  148. package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +163 -0
  149. package/skills/literature/fulltext/open-access-guide/SKILL.md +183 -0
  150. package/skills/literature/fulltext/pmc-oai-api/SKILL.md +184 -0
  151. package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +128 -0
  152. package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +207 -0
  153. package/skills/literature/fulltext/unpaywall-api/SKILL.md +113 -0
  154. package/skills/literature/metadata/altmetrics-guide/SKILL.md +132 -0
  155. package/skills/literature/metadata/citation-network-guide/SKILL.md +236 -0
  156. package/skills/literature/metadata/crossref-api/SKILL.md +133 -0
  157. package/skills/literature/metadata/datacite-api/SKILL.md +126 -0
  158. package/skills/literature/metadata/doi-resolution-guide/SKILL.md +168 -0
  159. package/skills/literature/metadata/h-index-guide/SKILL.md +183 -0
  160. package/skills/literature/metadata/journal-metrics-guide/SKILL.md +188 -0
  161. package/skills/literature/metadata/opencitations-api/SKILL.md +128 -0
  162. package/skills/literature/metadata/orcid-api/SKILL.md +136 -0
  163. package/skills/literature/metadata/orcid-integration-guide/SKILL.md +178 -0
  164. package/skills/literature/search/arxiv-api/SKILL.md +95 -0
  165. package/skills/literature/search/biorxiv-api/SKILL.md +123 -0
  166. package/skills/literature/search/boolean-search-guide/SKILL.md +199 -0
  167. package/skills/literature/search/citation-chaining-guide/SKILL.md +148 -0
  168. package/skills/literature/search/database-comparison-guide/SKILL.md +100 -0
  169. package/skills/literature/search/europe-pmc-api/SKILL.md +120 -0
  170. package/skills/literature/search/google-scholar-guide/SKILL.md +182 -0
  171. package/skills/literature/search/mesh-terms-guide/SKILL.md +164 -0
  172. package/skills/literature/search/openalex-api/SKILL.md +134 -0
  173. package/skills/literature/search/pubmed-api/SKILL.md +130 -0
  174. package/skills/literature/search/scientify-literature-survey/SKILL.md +203 -0
  175. package/skills/literature/search/semantic-scholar-api/SKILL.md +134 -0
  176. package/skills/literature/search/systematic-search-strategy/SKILL.md +214 -0
  177. package/skills/research/automation/ai-scientist-guide/SKILL.md +228 -0
  178. package/skills/research/automation/data-collection-automation/SKILL.md +248 -0
  179. package/skills/research/automation/research-workflow-automation/SKILL.md +266 -0
  180. package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +174 -0
  181. package/skills/research/deep-research/research-cog/SKILL.md +153 -0
  182. package/skills/research/deep-research/scoping-review-guide/SKILL.md +217 -0
  183. package/skills/research/deep-research/systematic-review-guide/SKILL.md +250 -0
  184. package/skills/research/funding/figshare-api/SKILL.md +163 -0
  185. package/skills/research/funding/grant-writing-guide/SKILL.md +233 -0
  186. package/skills/research/funding/nsf-grant-guide/SKILL.md +206 -0
  187. package/skills/research/funding/open-science-guide/SKILL.md +255 -0
  188. package/skills/research/funding/zenodo-api/SKILL.md +174 -0
  189. package/skills/research/methodology/action-research-guide/SKILL.md +201 -0
  190. package/skills/research/methodology/experimental-design-guide/SKILL.md +236 -0
  191. package/skills/research/methodology/grad-school-guide/SKILL.md +182 -0
  192. package/skills/research/methodology/grounded-theory-guide/SKILL.md +171 -0
  193. package/skills/research/methodology/mixed-methods-guide/SKILL.md +208 -0
  194. package/skills/research/methodology/qualitative-research-guide/SKILL.md +234 -0
  195. package/skills/research/methodology/scientify-idea-generation/SKILL.md +222 -0
  196. package/skills/research/paper-review/paper-reading-assistant/SKILL.md +266 -0
  197. package/skills/research/paper-review/peer-review-guide/SKILL.md +227 -0
  198. package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +185 -0
  199. package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +209 -0
  200. package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +178 -0
  201. package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +341 -0
  202. package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +236 -0
  203. package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +221 -0
  204. package/skills/tools/diagram/mermaid-diagram-guide/SKILL.md +269 -0
  205. package/skills/tools/diagram/plantuml-guide/SKILL.md +397 -0
  206. package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +225 -0
  207. package/skills/tools/document/anystyle-api/SKILL.md +199 -0
  208. package/skills/tools/document/grobid-pdf-parsing/SKILL.md +294 -0
  209. package/skills/tools/document/markdown-academic-guide/SKILL.md +217 -0
  210. package/skills/tools/document/pdf-extraction-guide/SKILL.md +321 -0
  211. package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +306 -0
  212. package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +214 -0
  213. package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +325 -0
  214. package/skills/tools/ocr-translate/formula-recognition-guide/SKILL.md +367 -0
  215. package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +211 -0
  216. package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +204 -0
  217. package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +234 -0
  218. package/skills/tools/scraping/academic-web-scraping/SKILL.md +326 -0
  219. package/skills/tools/scraping/api-data-collection-guide/SKILL.md +301 -0
  220. package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +250 -0
  221. package/skills/writing/citation/bibtex-management-guide/SKILL.md +246 -0
  222. package/skills/writing/citation/citation-style-guide/SKILL.md +248 -0
  223. package/skills/writing/citation/reference-manager-comparison/SKILL.md +208 -0
  224. package/skills/writing/citation/zotero-api/SKILL.md +188 -0
  225. package/skills/writing/composition/abstract-writing-guide/SKILL.md +188 -0
  226. package/skills/writing/composition/discussion-writing-guide/SKILL.md +194 -0
  227. package/skills/writing/composition/introduction-writing-guide/SKILL.md +194 -0
  228. package/skills/writing/composition/literature-review-writing/SKILL.md +196 -0
  229. package/skills/writing/composition/methods-section-guide/SKILL.md +185 -0
  230. package/skills/writing/composition/response-to-reviewers/SKILL.md +215 -0
  231. package/skills/writing/composition/scientific-writing-guide/SKILL.md +152 -0
  232. package/skills/writing/latex/bibliography-management-guide/SKILL.md +206 -0
  233. package/skills/writing/latex/latex-drawing-guide/SKILL.md +234 -0
  234. package/skills/writing/latex/latex-ecosystem-guide/SKILL.md +240 -0
  235. package/skills/writing/latex/math-typesetting-guide/SKILL.md +231 -0
  236. package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +211 -0
  237. package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +211 -0
  238. package/skills/writing/polish/academic-translation-guide/SKILL.md +175 -0
  239. package/skills/writing/polish/academic-writing-refiner/SKILL.md +143 -0
  240. package/skills/writing/polish/ai-writing-humanizer/SKILL.md +178 -0
  241. package/skills/writing/polish/grammar-checker-guide/SKILL.md +184 -0
  242. package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +167 -0
  243. package/skills/writing/templates/beamer-presentation-guide/SKILL.md +263 -0
  244. package/skills/writing/templates/conference-paper-template/SKILL.md +219 -0
  245. package/skills/writing/templates/thesis-template-guide/SKILL.md +200 -0
  246. package/skills/writing/templates/thesis-writing-guide/SKILL.md +220 -0
  247. package/src/tools/arxiv.ts +131 -0
  248. package/src/tools/crossref.ts +112 -0
  249. package/src/tools/openalex.ts +174 -0
  250. package/src/tools/pubmed.ts +166 -0
  251. package/src/tools/semantic-scholar.ts +108 -0
  252. package/src/tools/unpaywall.ts +58 -0
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: preprint-servers-guide
3
+ description: "Guide to preprint servers across scientific disciplines"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "paper"
7
+ category: "literature"
8
+ subcategory: "fulltext"
9
+ keywords: ["preprint server", "preprint submission", "arXiv", "bioRxiv", "open access"]
10
+ source: "wentor-research-plugins"
11
+ ---
12
+
13
+ # Preprint Servers Guide
14
+
15
+ A comprehensive guide to preprint servers across all major academic disciplines, covering submission workflows, licensing, and programmatic access.
16
+
17
+ ## What Are Preprints?
18
+
19
+ Preprints are complete research manuscripts shared publicly before formal peer review. They enable rapid dissemination of findings, establish priority of discovery, and invite community feedback before journal submission.
20
+
21
+ Key characteristics:
22
+ - **Not peer reviewed** (but increasingly moderated for basic quality)
23
+ - **Freely accessible** to anyone
24
+ - **Citable** with a DOI
25
+ - **Versioned** (authors can post revisions)
26
+ - **Compatible** with most journal submissions (check journal policy first)
27
+
28
+ ## Major Preprint Servers by Discipline
29
+
30
+ | Server | Disciplines | Operator | Moderation | DOI Prefix |
31
+ |--------|-------------|----------|------------|------------|
32
+ | arXiv | Physics, Math, CS, Econ, EE, Stats, Q-Bio | Cornell | Light screening | 10.48550 |
33
+ | bioRxiv | Biology (all subfields) | Cold Spring Harbor | Basic screening | 10.1101 |
34
+ | medRxiv | Clinical/health sciences | Yale/BMJ/CSHL | Enhanced screening | 10.1101 |
35
+ | ChemRxiv | Chemistry | ACS | Moderate screening | 10.26434 |
36
+ | EarthArXiv | Earth/planetary sciences | Community-led | Light screening | 10.31223 |
37
+ | PsyArXiv | Psychology | COS/OSF | Light screening | 10.31234 |
38
+ | SocArXiv | Social sciences | COS/OSF | Light screening | 10.31235 |
39
+ | SSRN | Social sciences, law, economics | Elsevier | Minimal | various |
40
+ | engrXiv | Engineering | COS/OSF | Light screening | 10.31224 |
41
+ | EdArXiv | Education | COS/OSF | Light screening | 10.35542 |
42
+ | Preprints.org | Multidisciplinary | MDPI | Basic screening | 10.20944 |
43
+ | Research Square | Multidisciplinary | Springer Nature | In Review service | 10.21203 |
44
+ | TechRxiv | Electrical eng., CS | IEEE | Moderate | 10.36227 |
45
+
46
+ ## Submission Workflow
47
+
48
+ ### arXiv Submission
49
+
50
+ 1. **Create an account** at arxiv.org and get endorsed (new users need endorsement in the relevant category).
51
+ 2. **Prepare your manuscript**:
52
+ - LaTeX source (preferred): upload `.tex` + figures + `.bbl` as a single archive
53
+ - PDF: accepted but LaTeX is strongly preferred
54
+ 3. **Select categories**: Choose a primary category (e.g., `cs.CL`) and optional cross-lists.
55
+ 4. **Submit metadata**: Title, abstract, authors, comments, journal-ref (if applicable).
56
+ 5. **Wait for processing**: Papers appear in the next daily posting (submissions before 14:00 ET on weekdays).
57
+ 6. **Receive arXiv ID**: Format `YYMM.NNNNN` (e.g., `2401.12345`).
58
+
59
+ ```bash
60
+ # Download arXiv paper PDF programmatically
61
+ curl -o paper.pdf https://arxiv.org/pdf/2401.12345
62
+
63
+ # Get metadata via arXiv API
64
+ curl "http://export.arxiv.org/api/query?id_list=2401.12345"
65
+ ```
66
+
67
+ ### bioRxiv/medRxiv Submission
68
+
69
+ 1. **Create an account** at biorxiv.org or medrxiv.org.
70
+ 2. **Upload manuscript** as a single Word or PDF file.
71
+ 3. **Add metadata**: Title, authors with ORCIDs, abstract, subject area.
72
+ 4. **Select license**: CC-BY, CC-BY-NC, CC-BY-ND, CC-BY-NC-ND, or CC0.
73
+ 5. **Screening**: bioRxiv screens for plagiarism, dual submission, and non-scientific content. medRxiv applies additional clinical content screening.
74
+ 6. **Posting**: Typically within 24-48 hours after screening.
75
+
76
+ ```python
77
+ # bioRxiv API: search recent preprints
78
+ import requests
79
+
80
+ response = requests.get(
81
+ "https://api.biorxiv.org/details/biorxiv/2024-01-01/2024-01-31",
82
+ params={"cursor": 0, "format": "json"}
83
+ )
84
+ papers = response.json()["collection"]
85
+ for p in papers[:5]:
86
+ print(f"[{p['date']}] {p['title']} (doi: {p['doi']})")
87
+ ```
88
+
89
+ ## Licensing Options
90
+
91
+ | License | Allows Reuse | Allows Commercial | Allows Derivatives | Requires Attribution |
92
+ |---------|-------------|-------------------|--------------------|---------------------|
93
+ | CC-BY | Yes | Yes | Yes | Yes |
94
+ | CC-BY-NC | Yes | No | Yes | Yes |
95
+ | CC-BY-ND | Yes | Yes | No | Yes |
96
+ | CC-BY-NC-ND | Yes | No | No | Yes |
97
+ | CC0 | Yes | Yes | Yes | No |
98
+
99
+ **Recommendation**: Use CC-BY for maximum openness and compatibility with funder mandates (NIH, Wellcome Trust, ERC). Use CC-BY-NC if you want to restrict commercial reuse.
100
+
101
+ ## Journal Policies on Preprints
102
+
103
+ Most major publishers now accept manuscripts previously posted as preprints:
104
+
105
+ - **Accepts preprints**: Nature, Science, PNAS, Cell, Lancet, BMJ, PLOS, eLife, all IEEE journals, most ACM venues
106
+ - **Does not accept preprints**: Some society journals in certain fields (check SHERPA/RoMEO at sherpa.ac.uk/romeo for specific policies)
107
+
108
+ Important considerations:
109
+ - Some journals require you to update the preprint with a link to the published version.
110
+ - Dual posting on multiple preprint servers may violate policies.
111
+ - Embargo periods may apply for some clinical journals (especially medRxiv).
112
+
113
+ ## Programmatic Access Comparison
114
+
115
+ | Server | API Available | Bulk Download | OAI-PMH | Rate Limit |
116
+ |--------|--------------|---------------|---------|------------|
117
+ | arXiv | Yes (Atom) | Yes (S3 bulk) | Yes | 1 req/3 sec |
118
+ | bioRxiv | Yes (REST) | No | No | Polite use |
119
+ | SSRN | No public API | No | No | N/A |
120
+ | OSF Preprints | Yes (SHARE) | Yes | Yes | Polite use |
121
+
122
+ ## Best Practices
123
+
124
+ 1. **Post before or at submission**: Maximize the time for community feedback.
125
+ 2. **Use ORCIDs**: Link your preprint to your ORCID profile for discoverability.
126
+ 3. **Update with journal DOI**: After acceptance, add a comment or new version linking to the published article.
127
+ 4. **Choose the right server**: Use the discipline-specific server for maximum visibility within your community.
128
+ 5. **Check funder requirements**: Some funders (NIH, Plan S) mandate preprint posting for funded research.
@@ -0,0 +1,207 @@
1
+ ---
2
+ name: repository-harvesting-guide
3
+ description: "Harvest papers from institutional and subject repositories at scale"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "inbox_tray"
7
+ category: "literature"
8
+ subcategory: "fulltext"
9
+ keywords: ["repository harvesting", "OAI-PMH", "institutional repository", "open access", "metadata harvesting", "preprints"]
10
+ source: "wentor-research-plugins"
11
+ ---
12
+
13
+ # Repository Harvesting Guide
14
+
15
+ A skill for systematically harvesting research papers and metadata from institutional repositories, preprint servers, and open access archives. Covers OAI-PMH protocol, API-based harvesting, and tools for building comprehensive literature datasets.
16
+
17
+ ## Repository Landscape
18
+
19
+ ### Types of Repositories
20
+
21
+ ```
22
+ Institutional Repositories (IR):
23
+ - Run by universities to archive their researchers' output
24
+ - Examples: DSpace, EPrints, Fedora-based systems
25
+ - Discovery: OpenDOAR directory (v2.sherpa.ac.uk/opendoar)
26
+
27
+ Subject Repositories:
28
+ - Discipline-specific archives
29
+ - arXiv (physics, CS, math), bioRxiv, SSRN, RePEc, EarthArXiv
30
+
31
+ Aggregators:
32
+ - Harvest from many repositories into a single search interface
33
+ - BASE (Bielefeld Academic Search Engine)
34
+ - CORE (core.ac.uk, 200M+ open access articles)
35
+ - OpenAIRE (European research output)
36
+ ```
37
+
38
+ ## OAI-PMH Harvesting
39
+
40
+ ### Protocol Overview
41
+
42
+ The Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) is the standard protocol for harvesting metadata from repositories. Most institutional repositories support it.
43
+
44
+ ```python
45
+ import xml.etree.ElementTree as ET
46
+ import urllib.request
47
+
48
+
49
+ def harvest_oai_records(base_url: str, metadata_prefix: str = "oai_dc",
50
+ set_spec: str = None, from_date: str = None) -> list:
51
+ """
52
+ Harvest metadata records from an OAI-PMH endpoint.
53
+
54
+ Args:
55
+ base_url: The OAI-PMH base URL of the repository
56
+ metadata_prefix: Metadata format (oai_dc, datacite, mets, etc.)
57
+ set_spec: Optional set to restrict harvesting
58
+ from_date: Optional date filter (YYYY-MM-DD)
59
+ """
60
+ params = f"?verb=ListRecords&metadataPrefix={metadata_prefix}"
61
+ if set_spec:
62
+ params += f"&set={set_spec}"
63
+ if from_date:
64
+ params += f"&from={from_date}"
65
+
66
+ url = base_url + params
67
+ records = []
68
+
69
+ while url:
70
+ response = urllib.request.urlopen(url)
71
+ tree = ET.parse(response)
72
+ root = tree.getroot()
73
+
74
+ ns = {"oai": "http://www.openarchives.org/OAI/2.0/"}
75
+
76
+ for record in root.findall(".//oai:record", ns):
77
+ header = record.find("oai:header", ns)
78
+ identifier = header.find("oai:identifier", ns).text
79
+ datestamp = header.find("oai:datestamp", ns).text
80
+ records.append({
81
+ "identifier": identifier,
82
+ "datestamp": datestamp
83
+ })
84
+
85
+ # Handle resumption token for pagination
86
+ token_elem = root.find(".//oai:resumptionToken", ns)
87
+ if token_elem is not None and token_elem.text:
88
+ url = f"{base_url}?verb=ListRecords&resumptionToken={token_elem.text}"
89
+ else:
90
+ url = None
91
+
92
+ return records
93
+ ```
94
+
95
+ ### OAI-PMH Verbs
96
+
97
+ ```
98
+ Identify — Get repository information
99
+ ListSets — List available sets (collections)
100
+ ListMetadataFormats — List supported metadata formats
101
+ ListIdentifiers — List record headers (lightweight)
102
+ ListRecords — List full metadata records
103
+ GetRecord — Retrieve a single record by identifier
104
+ ```
105
+
106
+ ## API-Based Harvesting
107
+
108
+ ### CORE API
109
+
110
+ ```python
111
+ import urllib.request
112
+ import json
113
+ import os
114
+
115
+
116
+ def search_core_api(query: str, limit: int = 100) -> list:
117
+ """
118
+ Search CORE.ac.uk for open access papers.
119
+
120
+ Args:
121
+ query: Search query string
122
+ limit: Maximum number of results
123
+ """
124
+ api_key = os.environ["CORE_API_KEY"]
125
+ url = "https://api.core.ac.uk/v3/search/works"
126
+ headers = {"Authorization": f"Bearer {api_key}"}
127
+
128
+ params = f"?q={urllib.parse.quote(query)}&limit={limit}"
129
+ req = urllib.request.Request(url + params, headers=headers)
130
+ response = urllib.request.urlopen(req)
131
+ data = json.loads(response.read())
132
+
133
+ results = []
134
+ for item in data.get("results", []):
135
+ results.append({
136
+ "title": item.get("title"),
137
+ "doi": item.get("doi"),
138
+ "year": item.get("yearPublished"),
139
+ "download_url": item.get("downloadUrl"),
140
+ "repository": item.get("sourceFulltextUrls", [])
141
+ })
142
+
143
+ return results
144
+ ```
145
+
146
+ ### Crossref and Unpaywall APIs
147
+
148
+ ```python
149
+ def find_open_access_version(doi: str) -> dict:
150
+ """
151
+ Check Unpaywall for an open access version of a paper.
152
+
153
+ Args:
154
+ doi: The DOI of the paper
155
+ """
156
+ email = os.environ["CONTACT_EMAIL"]
157
+ url = f"https://api.unpaywall.org/v2/{doi}?email={email}"
158
+
159
+ req = urllib.request.Request(url)
160
+ response = urllib.request.urlopen(req)
161
+ data = json.loads(response.read())
162
+
163
+ best_oa = data.get("best_oa_location", {})
164
+
165
+ return {
166
+ "is_oa": data.get("is_oa", False),
167
+ "oa_status": data.get("oa_status"),
168
+ "pdf_url": best_oa.get("url_for_pdf") if best_oa else None,
169
+ "host_type": best_oa.get("host_type") if best_oa else None
170
+ }
171
+ ```
172
+
173
+ ## Building a Harvesting Pipeline
174
+
175
+ ### Workflow for Systematic Collection
176
+
177
+ ```
178
+ 1. Identify target repositories
179
+ - Use OpenDOAR to find IRs in your research area
180
+ - List preprint servers relevant to your discipline
181
+
182
+ 2. Test OAI-PMH endpoints
183
+ - Send an Identify request to verify the endpoint is active
184
+ - Check ListMetadataFormats for available schemas
185
+
186
+ 3. Harvest incrementally
187
+ - Use the "from" parameter to harvest only new records
188
+ - Store the last harvest date for each repository
189
+ - Respect rate limits (typically 1 request per second)
190
+
191
+ 4. Deduplicate
192
+ - Match records by DOI when available
193
+ - Use title + author fuzzy matching for records without DOIs
194
+ - Flag duplicates rather than deleting (keep provenance)
195
+
196
+ 5. Store and index
197
+ - Save metadata in a structured format (JSON, SQLite, or CSV)
198
+ - Build a local search index for efficient retrieval
199
+ ```
200
+
201
+ ## Ethical and Legal Considerations
202
+
203
+ - Always respect robots.txt and rate limits
204
+ - Harvesting metadata is generally permitted; bulk full-text download may require permission
205
+ - Check each repository's terms of use
206
+ - Use harvested data for research purposes, not commercial redistribution
207
+ - Attribute the source repository in any publications using harvested data
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: unpaywall-api
3
+ description: "Find free legal full-text versions of scholarly articles via Unpaywall"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🔍"
7
+ category: "literature"
8
+ subcategory: "fulltext"
9
+ keywords: ["full-text retrieval", "open access", "journal copyright policy", "self-archiving"]
10
+ source: "https://unpaywall.org/products/api"
11
+ requires:
12
+ env: ["UNPAYWALL_EMAIL"]
13
+ ---
14
+
15
+ # Unpaywall API Guide
16
+
17
+ ## Overview
18
+
19
+ Unpaywall is a free, open database of over 40 million free scholarly articles. Built by the nonprofit OurResearch, Unpaywall indexes legal open access (OA) copies of papers from thousands of institutional repositories, preprint servers, publisher websites, and government archives. It is the most comprehensive source for finding freely available versions of paywalled academic literature.
20
+
21
+ Researchers, librarians, and tool developers use Unpaywall to locate open access copies of papers they need, assess the OA status of publications, and integrate OA discovery into their workflows. The database is updated daily, scanning repositories and publisher sites for new open access content. Unpaywall categorizes OA into types: gold (published OA), green (repository copy), hybrid (OA in subscription journal), and bronze (free to read on publisher site).
22
+
23
+ The API requires only an email address for authentication and is free for non-commercial use with a generous rate limit of 100,000 requests per day.
24
+
25
+ ## Authentication
26
+
27
+ Authentication is via email address passed as a query parameter. No API key or registration is needed -- just provide a valid email:
28
+
29
+ ```
30
+ ?email=your@email.com
31
+ ```
32
+
33
+ This email is used for contact purposes only and to identify your application. The API will reject requests without a valid email address. For commercial use or higher rate limits, contact OurResearch for an API key.
34
+
35
+ ## Core Endpoints
36
+
37
+ ### DOI Lookup: Find Open Access for a Paper
38
+
39
+ - **URL**: `GET https://api.unpaywall.org/v2/{doi}`
40
+ - **Parameters**:
41
+ | Param | Type | Required | Description |
42
+ |-------|------|----------|-------------|
43
+ | doi | string | Yes | The DOI of the paper (URL-encoded in path) |
44
+ | email | string | Yes | Your email address |
45
+ - **Example**:
46
+ ```bash
47
+ curl "https://api.unpaywall.org/v2/10.1038/nature12373?email=user@example.com"
48
+ ```
49
+ - **Response**: JSON with comprehensive OA information:
50
+ - `is_oa`: boolean indicating if any OA version exists
51
+ - `best_oa_location`: the best available OA copy with `url`, `url_for_pdf`, `evidence`, `host_type`, `license`, and `version`
52
+ - `oa_locations`: array of all known OA copies
53
+ - `oa_status`: gold, green, hybrid, bronze, or closed
54
+ - `title`, `doi`, `year`, `genre`, `journal_name`, `publisher`
55
+
56
+ ### Batch DOI Lookup: Multiple Papers
57
+
58
+ - **URL**: `GET https://api.unpaywall.org/v2/{doi}` (repeated per DOI)
59
+ - **Parameters**:
60
+ | Param | Type | Required | Description |
61
+ |-------|------|----------|-------------|
62
+ | doi | string | Yes | One DOI per request (batch via multiple requests) |
63
+ | email | string | Yes | Your email address |
64
+ - **Example**:
65
+ ```bash
66
+ # Process multiple DOIs sequentially
67
+ for doi in "10.1038/nature12373" "10.1126/science.aaa8685" "10.1016/j.cell.2015.05.002"; do
68
+ curl -s "https://api.unpaywall.org/v2/$doi?email=user@example.com" | jq '{doi: .doi, is_oa: .is_oa, oa_status: .oa_status, best_url: .best_oa_location.url}'
69
+ sleep 0.01
70
+ done
71
+ ```
72
+ - **Response**: Same JSON structure as single lookup, for each DOI.
73
+
74
+ ### Data Feed: Bulk Access
75
+
76
+ For large-scale analyses, Unpaywall provides a complete database snapshot and a weekly data feed, rather than requiring millions of individual API calls. Access is available at https://unpaywall.org/products/data-feed for registered users.
77
+
78
+ ## Rate Limits
79
+
80
+ The API allows 100,000 requests per day (approximately 1.15 requests per second sustained). There is no strict per-second rate limit, so burst traffic is acceptable as long as the daily cap is respected. Exceeding the limit returns HTTP 429. For analyses requiring more than 100K lookups, use the Unpaywall Data Feed (database snapshot) instead.
81
+
82
+ ## Common Patterns
83
+
84
+ ### Check OA Status for a Reading List
85
+
86
+ Determine which papers in your reading list have freely available versions:
87
+
88
+ ```bash
89
+ curl -s "https://api.unpaywall.org/v2/10.1038/s41586-021-03819-2?email=user@example.com" | jq '{title: .title, is_oa: .is_oa, oa_status: .oa_status, pdf: .best_oa_location.url_for_pdf}'
90
+ ```
91
+
92
+ ### Find the Best Available PDF
93
+
94
+ Get a direct link to the best open access PDF for a paper:
95
+
96
+ ```bash
97
+ curl -s "https://api.unpaywall.org/v2/10.1145/3292500.3330672?email=user@example.com" | jq '.best_oa_location | {url: .url, pdf: .url_for_pdf, version: .version, license: .license}'
98
+ ```
99
+
100
+ ### Audit Open Access Compliance for a Grant
101
+
102
+ Check whether publications from a funded project comply with OA mandates:
103
+
104
+ ```bash
105
+ # For each publication DOI from the grant
106
+ curl -s "https://api.unpaywall.org/v2/10.1038/nature12373?email=user@example.com" | jq '{doi: .doi, title: .title, is_oa: .is_oa, oa_status: .oa_status, locations: [.oa_locations[] | {host: .host_type, license: .license, version: .version}]}'
107
+ ```
108
+
109
+ ## References
110
+
111
+ - Official documentation: https://unpaywall.org/products/api
112
+ - Unpaywall data format: https://unpaywall.org/data-format
113
+ - OurResearch: https://ourresearch.org/
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: altmetrics-guide
3
+ description: "Guide to altmetrics and research impact beyond traditional citations"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "chart"
7
+ category: "literature"
8
+ subcategory: "metadata"
9
+ keywords: ["altmetrics", "attention score", "social impact", "online mentions", "academic metrics"]
10
+ source: "wentor-research-plugins"
11
+ ---
12
+
13
+ # Altmetrics Guide
14
+
15
+ Understand and use alternative metrics (altmetrics) to measure the broader impact and reach of research outputs beyond traditional citation counts.
16
+
17
+ ## What Are Altmetrics?
18
+
19
+ Altmetrics capture the online attention and engagement that research receives across diverse platforms. Unlike citation-based metrics (which can take years to accumulate), altmetrics provide near-real-time signals of how research is being discussed, shared, and used.
20
+
21
+ | Source Category | Examples | What It Measures |
22
+ |----------------|----------|------------------|
23
+ | Social media | Twitter/X, Facebook, Reddit, Weibo | Public discussion and sharing |
24
+ | News & blogs | Mainstream media, science blogs | Media coverage and science communication |
25
+ | Policy documents | Government reports, clinical guidelines | Policy relevance |
26
+ | Reference managers | Mendeley, Zotero readership | Academic readership and interest |
27
+ | Wikipedia | Article citations | Educational and encyclopedic use |
28
+ | Peer review | Publons, post-publication review | Formal and informal peer evaluation |
29
+ | Patents | Patent citations | Commercial and industrial relevance |
30
+
31
+ ## Key Altmetric Providers and Scores
32
+
33
+ ### Altmetric.com Attention Score
34
+
35
+ The Altmetric Attention Score is a weighted composite of online mentions:
36
+
37
+ | Source | Weight | Rationale |
38
+ |--------|--------|-----------|
39
+ | News outlets | 8 | Editorial curation, wide audience |
40
+ | Blog posts | 5 | Expert commentary |
41
+ | Wikipedia | 3 | Encyclopedic significance |
42
+ | Policy documents | 3 | Real-world impact |
43
+ | Twitter/X posts | 1 | Broad sharing but low barrier |
44
+ | Facebook posts | 0.25 | General public engagement |
45
+ | Reddit posts | 0.25 | Community discussion |
46
+ | Mendeley readers | 0 (separate) | Tracked but not in score |
47
+
48
+ ### PlumX Metrics (Elsevier)
49
+
50
+ PlumX organizes metrics into five categories:
51
+
52
+ 1. **Usage**: Downloads, views, library holdings
53
+ 2. **Captures**: Bookmarks, readers, watchers
54
+ 3. **Mentions**: Blog posts, news articles, reviews, Wikipedia
55
+ 4. **Social Media**: Tweets, Facebook likes, Reddit activity
56
+ 5. **Citations**: Scopus, CrossRef, patent citations
57
+
58
+ ### Dimensions Badge
59
+
60
+ Dimensions provides citation counts alongside altmetric-style attention data, integrating grants, patents, clinical trials, and policy documents.
61
+
62
+ ## Querying the Altmetric.com API
63
+
64
+ ```python
65
+ import requests
66
+
67
+ # Look up altmetrics by DOI
68
+ doi = "10.1038/s41586-021-03819-2"
69
+ response = requests.get(f"https://api.altmetric.com/v1/doi/{doi}")
70
+
71
+ if response.status_code == 200:
72
+ data = response.json()
73
+ print(f"Title: {data.get('title')}")
74
+ print(f"Altmetric Score: {data.get('score')}")
75
+ print(f"Twitter mentions: {data.get('cited_by_tweeters_count', 0)}")
76
+ print(f"News mentions: {data.get('cited_by_msm_count', 0)}")
77
+ print(f"Blog mentions: {data.get('cited_by_feeds_count', 0)}")
78
+ print(f"Wikipedia mentions: {data.get('cited_by_wikipedia_count', 0)}")
79
+ print(f"Mendeley readers: {data.get('readers', {}).get('mendeley', 0)}")
80
+ print(f"Detail URL: {data.get('details_url')}")
81
+ else:
82
+ print("No altmetric data found for this DOI")
83
+ ```
84
+
85
+ ### Batch Queries
86
+
87
+ ```python
88
+ # Query multiple DOIs using the Altmetric Explorer API (requires subscription)
89
+ # Free API supports individual lookups by DOI, PubMed ID, or arXiv ID
90
+
91
+ # Look up by PubMed ID
92
+ pmid = "34234348"
93
+ response = requests.get(f"https://api.altmetric.com/v1/pmid/{pmid}")
94
+
95
+ # Look up by arXiv ID
96
+ arxiv_id = "2103.14030"
97
+ response = requests.get(f"https://api.altmetric.com/v1/arxiv/{arxiv_id}")
98
+ ```
99
+
100
+ ## Interpreting Altmetrics Responsibly
101
+
102
+ ### What Altmetrics Tell You
103
+
104
+ - **Speed of dissemination**: How quickly research is being noticed
105
+ - **Audience breadth**: Whether attention comes from academics, media, public, or policymakers
106
+ - **Geographic reach**: Where in the world the work is being discussed
107
+ - **Interdisciplinary interest**: Engagement from unexpected fields
108
+
109
+ ### What Altmetrics Do NOT Tell You
110
+
111
+ - **Quality**: High attention does not equal high quality (controversial or flawed papers can go viral)
112
+ - **Field-normalized comparison**: Raw scores are not comparable across disciplines
113
+ - **Gaming resistance**: Social media metrics can be artificially inflated
114
+ - **Comprehensive coverage**: Not all platforms and languages are tracked equally
115
+
116
+ ## Best Practices for Using Altmetrics
117
+
118
+ 1. **Combine with traditional metrics**: Use altmetrics alongside citation counts, h-index, and peer review to build a complete picture of impact.
119
+ 2. **Context matters**: A score of 50 might be exceptional in pure mathematics but ordinary in public health. Check the "Compared to outputs of the same age" percentile.
120
+ 3. **Report responsibly**: When including altmetrics in CVs or grant applications, explain what the numbers mean (e.g., "Top 5% of all research outputs tracked by Altmetric.com").
121
+ 4. **Track over time**: Set up alerts for your publications to monitor engagement trends.
122
+ 5. **Explore the sources**: Click through to see who is discussing your work and in what context. A single policy document mention may be more meaningful than 100 tweets.
123
+
124
+ ## Tools for Tracking Your Research Impact
125
+
126
+ | Tool | Cost | Features |
127
+ |------|------|----------|
128
+ | Altmetric.com Bookmarklet | Free | One-click altmetrics for any paper |
129
+ | ImpactStory / OurResearch | Free | ORCID-based open access and impact profiles |
130
+ | Google Scholar Profile | Free | Citation tracking, h-index, i10-index |
131
+ | PlumX Dashboard | Institutional | Comprehensive multi-source tracking |
132
+ | Dimensions | Free tier | Citations + grants + patents + clinical trials |