@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,202 @@
1
+ ---
2
+ name: large-document-reader
3
+ description: "Split and read long documents chapter-by-chapter for structured analysis"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "book"
7
+ category: "tools"
8
+ subcategory: "document"
9
+ keywords: ["document reading", "chunking", "long document", "chapter splitting", "structured reading"]
10
+ source: "https://github.com/wentor-ai/research-plugins"
11
+ ---
12
+
13
+ # Large Document Reader
14
+
15
+ Split long documents (books, reports, theses, legal filings, technical manuals) into structured chapters or sections for systematic, chapter-by-chapter reading and analysis within LLM context windows.
16
+
17
+ ## Overview
18
+
19
+ Large Language Models have finite context windows, and even models with 100K+ token limits can lose accuracy on information buried in the middle of very long inputs. Academic researchers frequently work with documents that exceed practical context limits: doctoral theses (200+ pages), government reports, book-length monographs, legal case compilations, and multi-volume technical standards.
20
+
21
+ This skill provides a systematic approach to splitting large documents into semantically meaningful chapters or sections, maintaining cross-references between parts, and reading each section with full comprehension. Rather than naive fixed-size chunking that breaks mid-sentence or mid-argument, this approach respects document structure -- headings, chapter breaks, section markers, and logical boundaries.
22
+
23
+ The result is a structured reading experience where each chapter is analyzed in full context, summaries are maintained across sessions, and the reader can navigate directly to any section of interest. This is especially valuable for literature reviews, systematic reviews, and comprehensive document analysis tasks.
24
+
25
+ ## Document Splitting Strategy
26
+
27
+ ### Hierarchy of Split Points
28
+
29
+ Documents should be split at the highest-level structural boundary that keeps each chunk within the target size:
30
+
31
+ | Priority | Boundary Type | Markers |
32
+ |----------|--------------|---------|
33
+ | 1 | Part/Volume | `PART I`, `Volume 2`, page breaks with Roman numerals |
34
+ | 2 | Chapter | `Chapter 1`, `CHAPTER`, numbered headings level 1 |
35
+ | 3 | Section | `1.1`, `Section`, headings level 2 |
36
+ | 4 | Subsection | `1.1.1`, headings level 3 |
37
+ | 5 | Paragraph break | Double newline, indentation change |
38
+ | 6 | Sentence boundary | Period + space + capital letter |
39
+
40
+ ### Splitting Algorithm
41
+
42
+ ```python
43
+ def split_document(text, max_tokens=8000, overlap_tokens=200):
44
+ """Split document respecting structural boundaries."""
45
+ # Step 1: Detect document structure
46
+ chapters = detect_chapters(text)
47
+
48
+ if not chapters:
49
+ # Fallback: split by sections
50
+ chapters = detect_sections(text)
51
+
52
+ if not chapters:
53
+ # Fallback: split by paragraphs with size limit
54
+ chapters = split_by_paragraphs(text, max_tokens)
55
+
56
+ # Step 2: Merge small adjacent sections
57
+ merged = merge_small_sections(chapters, min_tokens=500)
58
+
59
+ # Step 3: Split oversized sections
60
+ final = []
61
+ for chapter in merged:
62
+ if count_tokens(chapter.text) > max_tokens:
63
+ sub_parts = split_by_paragraphs(chapter.text, max_tokens)
64
+ for i, part in enumerate(sub_parts):
65
+ final.append(Section(
66
+ title=f"{chapter.title} (Part {i+1})",
67
+ text=part,
68
+ index=len(final)
69
+ ))
70
+ else:
71
+ chapter.index = len(final)
72
+ final.append(chapter)
73
+
74
+ # Step 4: Add overlap for continuity
75
+ for i in range(1, len(final)):
76
+ final[i].context_prefix = get_last_n_tokens(
77
+ final[i-1].text, overlap_tokens
78
+ )
79
+
80
+ return final
81
+ ```
82
+
83
+ ### Structure Detection Patterns
84
+
85
+ ```python
86
+ import re
87
+
88
+ CHAPTER_PATTERNS = [
89
+ r'^#{1,2}\s+.+', # Markdown H1/H2
90
+ r'^Chapter\s+\d+', # "Chapter 1"
91
+ r'^\d+\.\s+[A-Z]', # "1. Introduction"
92
+ r'^PART\s+[IVX]+', # "PART III"
93
+ r'^\\(chapter|section)\{', # LaTeX commands
94
+ r'^\f', # Form feed (page break)
95
+ ]
96
+
97
+ def detect_chapters(text):
98
+ sections = []
99
+ current_title = "Preamble"
100
+ current_start = 0
101
+
102
+ for match in re.finditer('|'.join(CHAPTER_PATTERNS), text, re.MULTILINE):
103
+ if match.start() > current_start:
104
+ sections.append(Section(
105
+ title=current_title,
106
+ text=text[current_start:match.start()].strip()
107
+ ))
108
+ current_title = match.group().strip()
109
+ current_start = match.start()
110
+
111
+ sections.append(Section(title=current_title, text=text[current_start:].strip()))
112
+ return sections
113
+ ```
114
+
115
+ ## Structured Reading Workflow
116
+
117
+ ### Phase 1: Survey
118
+
119
+ Read the table of contents, introduction, and conclusion first to build a mental model of the document's argument structure:
120
+
121
+ ```
122
+ 1. Extract and display Table of Contents
123
+ 2. Read Introduction (typically Chapter 1)
124
+ 3. Read Conclusion (typically last chapter)
125
+ 4. Generate a document map: chapter titles + estimated page counts
126
+ 5. Identify key themes and arguments
127
+ ```
128
+
129
+ ### Phase 2: Sequential Deep Reading
130
+
131
+ Process each chapter with a standardized analysis template:
132
+
133
+ ```
134
+ For each chapter:
135
+ - Chapter title and position in document
136
+ - Key arguments or findings (3-5 bullet points)
137
+ - Methodology described (if applicable)
138
+ - Data or evidence presented
139
+ - Connections to previous chapters
140
+ - Open questions or points for follow-up
141
+ - Notable quotes or passages (with page/section references)
142
+ ```
143
+
144
+ ### Phase 3: Synthesis
145
+
146
+ After all chapters are read, generate cross-cutting analyses:
147
+
148
+ ```
149
+ - Thematic summary across all chapters
150
+ - Argument progression map
151
+ - Methodology comparison (if multiple studies)
152
+ - Contradiction or tension identification
153
+ - Gap analysis relative to research questions
154
+ ```
155
+
156
+ ## Cross-Session Persistence
157
+
158
+ For documents that take multiple sessions to read, maintain a reading state file:
159
+
160
+ ```json
161
+ {
162
+ "document": "thesis_smith_2024.pdf",
163
+ "total_sections": 24,
164
+ "completed": [0, 1, 2, 3, 4, 5],
165
+ "current": 6,
166
+ "summaries": {
167
+ "0": "Preamble: Defines scope of study on...",
168
+ "1": "Chapter 1: Introduction to the problem of...",
169
+ "2": "Chapter 2: Literature review covering..."
170
+ },
171
+ "themes": ["data governance", "algorithmic fairness", "institutional trust"],
172
+ "open_questions": [
173
+ "How does the author reconcile findings in Ch3 with Ch5?"
174
+ ]
175
+ }
176
+ ```
177
+
178
+ ## Format-Specific Handling
179
+
180
+ | Format | Tool | Notes |
181
+ |--------|------|-------|
182
+ | PDF | `pdfplumber`, `PyMuPDF` | Extract text with layout awareness |
183
+ | EPUB | `ebooklib` | Chapters are HTML files in the spine |
184
+ | DOCX | `python-docx` | Headings define structure |
185
+ | LaTeX | Regex on `\chapter`, `\section` | Native structure markers |
186
+ | HTML | `BeautifulSoup` | Split on `<h1>`, `<h2>` tags |
187
+ | Plain text | Heuristic detection | Use blank lines, indentation, page breaks |
188
+
189
+ ## Best Practices
190
+
191
+ 1. **Preserve cross-references**: When a chapter references "as discussed in Section 3.2," maintain a reference index so the reader can retrieve that section.
192
+ 2. **Maintain running context**: Each chunk should include a brief summary of preceding material (the overlap window) to maintain narrative continuity.
193
+ 3. **Respect tables and figures**: Never split in the middle of a table, code block, or figure caption. These should be kept as atomic units.
194
+ 4. **Index creation**: Build a searchable index of key terms, names, and concepts with section references for rapid lookup.
195
+ 5. **Citation extraction**: Pull out all references cited in each chapter to build a cumulative bibliography.
196
+
197
+ ## References
198
+
199
+ - pdfplumber: https://github.com/jsvine/pdfplumber
200
+ - python-docx: https://python-docx.readthedocs.io
201
+ - ebooklib: https://github.com/aerkalov/ebooklib
202
+ - PyMuPDF (fitz): https://pymupdf.readthedocs.io
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: md2pdf-xelatex
3
+ description: "Convert Markdown to publication-ready PDF with LaTeX math and CJK support"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📄"
7
+ category: "tools"
8
+ subcategory: "document"
9
+ keywords: ["markdown to pdf", "xelatex", "document conversion", "CJK support", "math rendering", "pandoc"]
10
+ source: "https://clawhub.ai/huaruoji/md2pdf-xelatex"
11
+ ---
12
+
13
+ # Markdown to PDF Conversion with XeLaTeX
14
+
15
+ ## Overview
16
+
17
+ Converting Markdown documents to publication-quality PDF is a common research workflow need. This guide covers using Pandoc with XeLaTeX as the PDF engine, which provides full Unicode support (including CJK characters), LaTeX math rendering, custom fonts, and professional typography. This is the recommended approach when your document contains mathematical formulas, non-Latin scripts, or requires precise typographic control.
18
+
19
+ ## Prerequisites
20
+
21
+ ### Installation
22
+
23
+ ```bash
24
+ # macOS
25
+ brew install pandoc
26
+ brew install --cask mactex # or: brew install --cask basictex (smaller)
27
+
28
+ # Ubuntu/Debian
29
+ sudo apt install pandoc texlive-xetex texlive-fonts-recommended texlive-lang-cjk
30
+
31
+ # Windows (via Chocolatey)
32
+ choco install pandoc miktex
33
+
34
+ # Verify installation
35
+ pandoc --version
36
+ xelatex --version
37
+ ```
38
+
39
+ ### CJK Font Setup
40
+
41
+ For Chinese/Japanese/Korean documents, install appropriate fonts:
42
+
43
+ ```bash
44
+ # macOS — system fonts usually sufficient (PingFang, Hiragino)
45
+ # Ubuntu — install Noto CJK
46
+ sudo apt install fonts-noto-cjk fonts-noto-cjk-extra
47
+
48
+ # Verify available CJK fonts
49
+ fc-list :lang=zh family | sort | uniq
50
+ ```
51
+
52
+ ## Basic Conversion
53
+
54
+ ### Simple Markdown to PDF
55
+
56
+ ```bash
57
+ # Default conversion (pdflatex engine)
58
+ pandoc input.md -o output.pdf
59
+
60
+ # With XeLaTeX engine (required for Unicode/CJK)
61
+ pandoc input.md -o output.pdf --pdf-engine=xelatex
62
+
63
+ # With custom font
64
+ pandoc input.md -o output.pdf --pdf-engine=xelatex \
65
+ -V mainfont="Times New Roman" \
66
+ -V monofont="Fira Code"
67
+ ```
68
+
69
+ ### CJK Document
70
+
71
+ ```bash
72
+ # Chinese document with proper font
73
+ pandoc input.md -o output.pdf --pdf-engine=xelatex \
74
+ -V mainfont="Noto Serif CJK SC" \
75
+ -V CJKmainfont="Noto Serif CJK SC" \
76
+ -V monofont="Noto Sans Mono CJK SC" \
77
+ -V geometry:margin=2.5cm
78
+ ```
79
+
80
+ ### Document with Math
81
+
82
+ Markdown with LaTeX math renders natively:
83
+
84
+ ```markdown
85
+ The quadratic formula is:
86
+
87
+ $$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$
88
+
89
+ Inline math works too: $E = mc^2$.
90
+ ```
91
+
92
+ ```bash
93
+ pandoc math_doc.md -o output.pdf --pdf-engine=xelatex
94
+ ```
95
+
96
+ ## Advanced Configuration
97
+
98
+ ### YAML Front Matter
99
+
100
+ Add a YAML header to your Markdown for fine-grained control:
101
+
102
+ ```yaml
103
+ ---
104
+ title: "Research Report Title"
105
+ author: "Author Name"
106
+ date: "2026-03-10"
107
+ documentclass: article
108
+ fontsize: 11pt
109
+ geometry: margin=2.5cm
110
+ mainfont: "Libertinus Serif"
111
+ CJKmainfont: "Noto Serif CJK SC"
112
+ monofont: "Fira Code"
113
+ linestretch: 1.25
114
+ header-includes:
115
+ - \usepackage{amsmath}
116
+ - \usepackage{booktabs}
117
+ - \usepackage{hyperref}
118
+ - \usepackage{fancyhdr}
119
+ - \pagestyle{fancy}
120
+ ---
121
+ ```
122
+
123
+ ### Custom LaTeX Template
124
+
125
+ For full control, create a custom Pandoc template:
126
+
127
+ ```bash
128
+ # Export default template as starting point
129
+ pandoc -D latex > custom-template.tex
130
+
131
+ # Use custom template
132
+ pandoc input.md -o output.pdf --pdf-engine=xelatex \
133
+ --template=custom-template.tex
134
+ ```
135
+
136
+ ### Table of Contents and Numbering
137
+
138
+ ```bash
139
+ # Add table of contents
140
+ pandoc input.md -o output.pdf --pdf-engine=xelatex --toc
141
+
142
+ # Number sections
143
+ pandoc input.md -o output.pdf --pdf-engine=xelatex --toc -N
144
+
145
+ # TOC depth (default 3)
146
+ pandoc input.md -o output.pdf --pdf-engine=xelatex --toc --toc-depth=2
147
+ ```
148
+
149
+ ### Syntax-Highlighted Code Blocks
150
+
151
+ ```bash
152
+ # List available highlight styles
153
+ pandoc --list-highlight-styles
154
+
155
+ # Use a specific style
156
+ pandoc input.md -o output.pdf --pdf-engine=xelatex \
157
+ --highlight-style=tango
158
+ ```
159
+
160
+ ### Bibliography and Citations
161
+
162
+ ```bash
163
+ # With BibTeX bibliography
164
+ pandoc input.md -o output.pdf --pdf-engine=xelatex \
165
+ --citeproc --bibliography=references.bib \
166
+ --csl=ieee.csl
167
+ ```
168
+
169
+ In the Markdown file, cite as `[@smith2024]` or `@smith2024`.
170
+
171
+ ## Batch Conversion Script
172
+
173
+ ```bash
174
+ #!/bin/bash
175
+ # Convert all .md files in current directory to PDF
176
+
177
+ FONT_MAIN="Libertinus Serif"
178
+ FONT_CJK="Noto Serif CJK SC"
179
+ FONT_MONO="Fira Code"
180
+
181
+ for f in *.md; do
182
+ echo "Converting: $f"
183
+ pandoc "$f" -o "${f%.md}.pdf" \
184
+ --pdf-engine=xelatex \
185
+ -V mainfont="$FONT_MAIN" \
186
+ -V CJKmainfont="$FONT_CJK" \
187
+ -V monofont="$FONT_MONO" \
188
+ -V geometry:margin=2.5cm \
189
+ -V fontsize=11pt \
190
+ --toc -N \
191
+ --highlight-style=tango
192
+ done
193
+ echo "Done. Converted $(ls *.pdf | wc -l) files."
194
+ ```
195
+
196
+ ## Troubleshooting
197
+
198
+ | Problem | Cause | Solution |
199
+ |---------|-------|---------|
200
+ | CJK characters show as boxes | Missing CJK font | Install `fonts-noto-cjk` and set `CJKmainfont` |
201
+ | `! LaTeX Error: File 'xxx.sty' not found` | Missing LaTeX package | `tlmgr install xxx` or install full texlive |
202
+ | Math formulas not rendering | Using pdflatex engine | Switch to `--pdf-engine=xelatex` |
203
+ | Emoji not displaying | Font missing emoji glyphs | Add `-V mainfont="Noto Color Emoji"` as fallback |
204
+ | PDF too large | Embedded bitmap images | Convert images to vector (SVG→PDF) before inclusion |
205
+ | Line breaks in CJK text | Pandoc treats newlines as spaces | Use `\newline` or blank lines between paragraphs |
206
+
207
+ ## References
208
+
209
+ - [Pandoc User's Guide](https://pandoc.org/MANUAL.html)
210
+ - [XeLaTeX on Overleaf](https://www.overleaf.com/learn/latex/XeLaTeX)
211
+ - [Noto CJK Fonts](https://github.com/googlefonts/noto-cjk)
212
+ - [Pandoc Templates](https://pandoc.org/MANUAL.html#templates)
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: openpaper-guide
3
+ description: "Open-source tool for organizing and annotating research papers"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📄"
7
+ category: "tools"
8
+ subcategory: "document"
9
+ keywords: ["paper management", "PDF annotation", "research organizer", "paper reader", "document viewer", "open source"]
10
+ source: "https://github.com/nicehash/openpaper"
11
+ ---
12
+
13
+ # OpenPaper Guide
14
+
15
+ ## Overview
16
+
17
+ OpenPaper is an open-source research paper management and annotation tool. It provides PDF viewing with inline annotations, paper organization with tags and collections, metadata extraction, full-text search across your library, and export capabilities. Designed as a lightweight, privacy-focused alternative to commercial reference managers, running entirely locally.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ # Install via pip
23
+ pip install openpaper
24
+
25
+ # Or from source
26
+ git clone https://github.com/nicehash/openpaper.git
27
+ cd openpaper && pip install -e .
28
+
29
+ # Launch
30
+ openpaper
31
+ ```
32
+
33
+ ## Library Management
34
+
35
+ ```python
36
+ from openpaper import Library
37
+
38
+ library = Library("./my_research_library")
39
+
40
+ # Add papers
41
+ paper = library.add("path/to/paper.pdf")
42
+ print(f"Added: {paper.title}")
43
+ print(f"Authors: {paper.authors}")
44
+ print(f"Year: {paper.year}")
45
+
46
+ # Bulk import
47
+ added = library.import_directory(
48
+ "downloads/papers/",
49
+ recursive=True,
50
+ extract_metadata=True, # Auto-extract from PDF
51
+ deduplicate=True, # Skip duplicates by DOI/title
52
+ )
53
+ print(f"Imported {len(added)} papers, {added.duplicates} skipped")
54
+ ```
55
+
56
+ ## Organization
57
+
58
+ ```python
59
+ # Tags
60
+ paper.add_tag("transformer")
61
+ paper.add_tag("attention")
62
+ paper.add_tag("priority:high")
63
+
64
+ # Collections
65
+ library.create_collection("thesis-chapter-2")
66
+ library.add_to_collection("thesis-chapter-2", paper)
67
+
68
+ # Smart collections (auto-updating filters)
69
+ library.create_smart_collection(
70
+ name="Recent NLP",
71
+ filters={
72
+ "tags": ["nlp"],
73
+ "year": {"gte": 2023},
74
+ "read_status": "unread",
75
+ },
76
+ )
77
+
78
+ # List and browse
79
+ for p in library.search(tags=["transformer"], year=2024):
80
+ print(f"{p.title} ({p.year}) - {p.read_status}")
81
+ ```
82
+
83
+ ## Annotations
84
+
85
+ ```python
86
+ # Add annotations to papers
87
+ paper.annotate(
88
+ page=3,
89
+ type="highlight",
90
+ text="The attention mechanism allows the model to focus...",
91
+ color="yellow",
92
+ note="Key definition of attention",
93
+ )
94
+
95
+ paper.annotate(
96
+ page=5,
97
+ type="comment",
98
+ position=(100, 250), # x, y coordinates
99
+ note="This contradicts the claim in Smith et al. 2023",
100
+ )
101
+
102
+ # Export annotations
103
+ annotations = paper.get_annotations()
104
+ for ann in annotations:
105
+ print(f"[p.{ann.page}] {ann.type}: {ann.text[:60]}...")
106
+ if ann.note:
107
+ print(f" Note: {ann.note}")
108
+
109
+ # Export to markdown
110
+ paper.export_annotations("annotations.md")
111
+ ```
112
+
113
+ ## Search
114
+
115
+ ```python
116
+ # Full-text search across library
117
+ results = library.search_fulltext("attention mechanism")
118
+ for r in results:
119
+ print(f"{r.title} (relevance: {r.score:.2f})")
120
+ for match in r.matches[:3]:
121
+ print(f" p.{match.page}: ...{match.context}...")
122
+
123
+ # Metadata search
124
+ results = library.search(
125
+ query="transformer", # Title/abstract search
126
+ authors="Vaswani",
127
+ year_range=(2020, 2025),
128
+ tags=["nlp"],
129
+ )
130
+
131
+ # Semantic search (if embeddings enabled)
132
+ results = library.semantic_search(
133
+ "methods for reducing quadratic complexity of attention",
134
+ top_k=10,
135
+ )
136
+ ```
137
+
138
+ ## Metadata Extraction
139
+
140
+ ```python
141
+ # Auto-extract metadata from PDFs
142
+ metadata = library.extract_metadata("paper.pdf")
143
+ print(f"Title: {metadata.title}")
144
+ print(f"Authors: {metadata.authors}")
145
+ print(f"Abstract: {metadata.abstract[:200]}...")
146
+ print(f"DOI: {metadata.doi}")
147
+ print(f"Year: {metadata.year}")
148
+ print(f"References: {len(metadata.references)}")
149
+
150
+ # Enrich with external databases
151
+ enriched = library.enrich_metadata(
152
+ paper,
153
+ sources=["crossref", "semantic_scholar"],
154
+ )
155
+ print(f"Citations: {enriched.citation_count}")
156
+ print(f"Venue: {enriched.venue}")
157
+ ```
158
+
159
+ ## Export
160
+
161
+ ```python
162
+ # Export bibliography
163
+ library.export_bibtex("references.bib", collection="thesis-chapter-2")
164
+
165
+ # Export reading list
166
+ library.export_reading_list("reading_list.md", format="markdown")
167
+
168
+ # Export annotations from all papers
169
+ library.export_all_annotations("all_annotations.md")
170
+
171
+ # Sync with reference manager
172
+ library.export_ris("export.ris") # RIS format
173
+ library.export_csv("export.csv") # CSV with metadata
174
+ ```
175
+
176
+ ## Configuration
177
+
178
+ ```json
179
+ {
180
+ "library_path": "./research_library",
181
+ "pdf_viewer": "builtin",
182
+ "metadata": {
183
+ "auto_extract": true,
184
+ "enrich_sources": ["crossref"],
185
+ "language": "en"
186
+ },
187
+ "search": {
188
+ "fulltext_index": true,
189
+ "semantic_search": false,
190
+ "embedding_model": "all-MiniLM-L6-v2"
191
+ },
192
+ "storage": {
193
+ "copy_pdfs": true,
194
+ "organize_by": "year",
195
+ "max_library_size_gb": 10
196
+ }
197
+ }
198
+ ```
199
+
200
+ ## CLI Usage
201
+
202
+ ```bash
203
+ # Add paper
204
+ openpaper add paper.pdf --tags "nlp,transformer"
205
+
206
+ # Search
207
+ openpaper search "attention mechanism" --limit 10
208
+
209
+ # List library
210
+ openpaper list --sort year --tags "priority:high"
211
+
212
+ # Export
213
+ openpaper export bibtex --collection thesis --output refs.bib
214
+
215
+ # Stats
216
+ openpaper stats
217
+ # Papers: 342, Tagged: 289, Annotated: 156, Collections: 12
218
+ ```
219
+
220
+ ## Use Cases
221
+
222
+ 1. **Paper library**: Organize and search your PDF collection
223
+ 2. **Reading workflow**: Track read status, annotate, take notes
224
+ 3. **Reference management**: Export BibTeX for LaTeX papers
225
+ 4. **Literature review**: Tag and categorize papers by topic
226
+ 5. **Team sharing**: Export reading lists and annotations
227
+
228
+ ## References
229
+
230
+ - [OpenPaper GitHub](https://github.com/nicehash/openpaper)
231
+ - [Zotero](https://www.zotero.org/) — Popular open-source alternative
232
+ - [Semantic Scholar API](https://api.semanticscholar.org/) — Metadata enrichment