@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.
- package/README.md +22 -22
- package/curated/analysis/README.md +82 -56
- package/curated/domains/README.md +225 -69
- package/curated/literature/README.md +115 -46
- package/curated/research/README.md +106 -58
- package/curated/tools/README.md +107 -87
- package/curated/writing/README.md +92 -45
- package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
- package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
- package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
- package/mcp-configs/academic-db/gibs-mcp.json +20 -0
- package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
- package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
- package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
- package/mcp-configs/academic-db/medical-mcp.json +21 -0
- package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
- package/mcp-configs/academic-db/omop-mcp.json +20 -0
- package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
- package/mcp-configs/academic-db/openedu-mcp.json +20 -0
- package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
- package/mcp-configs/academic-db/openstax-mcp.json +21 -0
- package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
- package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
- package/mcp-configs/academic-db/pdb-mcp.json +21 -0
- package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
- package/mcp-configs/ai-platform/magi-researchers.json +21 -0
- package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
- package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
- package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
- package/mcp-configs/ai-platform/paper-reader.json +21 -0
- package/mcp-configs/ai-platform/paperdebugger.json +21 -0
- package/mcp-configs/browser/exa-mcp.json +20 -0
- package/mcp-configs/browser/mcp-searxng.json +21 -0
- package/mcp-configs/browser/mcp-webresearch.json +20 -0
- package/mcp-configs/cloud-docs/confluence-mcp.json +37 -0
- package/mcp-configs/cloud-docs/google-drive-mcp.json +35 -0
- package/mcp-configs/cloud-docs/notion-mcp.json +29 -0
- package/mcp-configs/communication/discord-mcp.json +29 -0
- package/mcp-configs/communication/discourse-mcp.json +21 -0
- package/mcp-configs/communication/slack-mcp.json +29 -0
- package/mcp-configs/communication/telegram-mcp.json +28 -0
- package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
- package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
- package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
- package/mcp-configs/data-platform/mcp-stata.json +21 -0
- package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
- package/mcp-configs/data-platform/ml-mcp.json +21 -0
- package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
- package/mcp-configs/data-platform/numpy-mcp.json +21 -0
- package/mcp-configs/database/neo4j-mcp.json +37 -0
- package/mcp-configs/database/postgres-mcp.json +28 -0
- package/mcp-configs/database/sqlite-mcp.json +29 -0
- package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
- package/mcp-configs/dev-platform/github-mcp.json +31 -0
- package/mcp-configs/dev-platform/gitlab-mcp.json +34 -0
- package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
- package/mcp-configs/dev-platform/manim-mcp.json +20 -0
- package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
- package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
- package/mcp-configs/dev-platform/paperbanana.json +20 -0
- package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
- package/mcp-configs/dev-platform/texmcp.json +20 -0
- package/mcp-configs/dev-platform/typst-mcp.json +21 -0
- package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
- package/mcp-configs/email/email-mcp.json +40 -0
- package/mcp-configs/email/gmail-mcp.json +37 -0
- package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
- package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
- package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
- package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
- package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
- package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
- package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
- package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
- package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
- package/mcp-configs/reference-mgr/academix.json +20 -0
- package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
- package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
- package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
- package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
- package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
- package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
- package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
- package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
- package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
- package/mcp-configs/reference-mgr/onecite.json +21 -0
- package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
- package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
- package/mcp-configs/reference-mgr/seerai.json +21 -0
- package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
- package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
- package/mcp-configs/registry.json +178 -149
- package/mcp-configs/repository/dataverse-mcp.json +33 -0
- package/mcp-configs/repository/huggingface-mcp.json +29 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +2 -2
- package/skills/analysis/dataviz/algorithm-visualizer-guide/SKILL.md +259 -0
- package/skills/analysis/dataviz/bokeh-visualization-guide/SKILL.md +270 -0
- package/skills/analysis/dataviz/chart-image-generator/SKILL.md +229 -0
- package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
- package/skills/analysis/dataviz/d3-visualization-guide/SKILL.md +281 -0
- package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
- package/skills/analysis/dataviz/echarts-visualization-guide/SKILL.md +250 -0
- package/skills/analysis/dataviz/metabase-analytics-guide/SKILL.md +242 -0
- package/skills/analysis/dataviz/plotly-interactive-guide/SKILL.md +266 -0
- package/skills/analysis/dataviz/redash-analytics-guide/SKILL.md +284 -0
- package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +163 -0
- package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
- package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +139 -0
- package/skills/analysis/econometrics/panel-data-analyst/SKILL.md +259 -0
- package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
- package/skills/analysis/econometrics/python-causality-guide/SKILL.md +134 -0
- package/skills/analysis/econometrics/stata-accounting-guide/SKILL.md +269 -0
- package/skills/analysis/econometrics/stata-analyst-guide/SKILL.md +245 -0
- package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
- package/skills/analysis/statistics/data-anomaly-detection/SKILL.md +157 -0
- package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
- package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
- package/skills/analysis/statistics/ml-experiment-tracker/SKILL.md +212 -0
- package/skills/analysis/statistics/pywayne-statistics-guide/SKILL.md +192 -0
- package/skills/analysis/statistics/quantitative-methods-guide/SKILL.md +193 -0
- package/skills/analysis/statistics/senior-data-scientist-guide/SKILL.md +223 -0
- package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
- package/skills/analysis/wrangling/csv-data-analyzer/SKILL.md +170 -0
- package/skills/analysis/wrangling/data-cleaning-pipeline/SKILL.md +266 -0
- package/skills/analysis/wrangling/data-cog-guide/SKILL.md +178 -0
- package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
- package/skills/analysis/wrangling/stata-data-cleaning/SKILL.md +276 -0
- package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
- package/skills/analysis/wrangling/survey-data-processing/SKILL.md +298 -0
- package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/ai-model-benchmarking/SKILL.md +209 -0
- package/skills/domains/ai-ml/annotated-dl-papers-guide/SKILL.md +159 -0
- package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
- package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
- package/skills/domains/ai-ml/dl-transformer-finetune/SKILL.md +239 -0
- package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
- package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +146 -0
- package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
- package/skills/domains/ai-ml/huggingface-inference-guide/SKILL.md +196 -0
- package/skills/domains/ai-ml/keras-deep-learning/SKILL.md +210 -0
- package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
- package/skills/domains/ai-ml/llm-from-scratch-guide/SKILL.md +124 -0
- package/skills/domains/ai-ml/ml-pipeline-guide/SKILL.md +295 -0
- package/skills/domains/ai-ml/nlp-toolkit-guide/SKILL.md +247 -0
- package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
- package/skills/domains/ai-ml/pytorch-guide/SKILL.md +281 -0
- package/skills/domains/ai-ml/pytorch-lightning-guide/SKILL.md +244 -0
- package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
- package/skills/domains/ai-ml/tensorflow-guide/SKILL.md +241 -0
- package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
- package/skills/domains/biomedical/bioagents-guide/SKILL.md +308 -0
- package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
- package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
- package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
- package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
- package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
- package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
- package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
- package/skills/domains/biomedical/medgeclaw-guide/SKILL.md +345 -0
- package/skills/domains/biomedical/medical-imaging-guide/SKILL.md +305 -0
- package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
- package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
- package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
- package/skills/domains/business/architecture-design-guide/SKILL.md +279 -0
- package/skills/domains/business/innovation-management-guide/SKILL.md +257 -0
- package/skills/domains/business/operations-research-guide/SKILL.md +258 -0
- package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
- package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
- package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
- package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
- package/skills/domains/chemistry/molecular-dynamics-guide/SKILL.md +237 -0
- package/skills/domains/chemistry/pubchem-api-guide/SKILL.md +180 -0
- package/skills/domains/chemistry/spectroscopy-analysis-guide/SKILL.md +290 -0
- package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
- package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
- package/skills/domains/cs/distributed-systems-guide/SKILL.md +268 -0
- package/skills/domains/cs/formal-verification-guide/SKILL.md +298 -0
- package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
- package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
- package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
- package/skills/domains/ecology/species-distribution-guide/SKILL.md +343 -0
- package/skills/domains/economics/imf-data-api-guide/SKILL.md +174 -0
- package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
- package/skills/domains/economics/post-labor-economics/SKILL.md +254 -0
- package/skills/domains/economics/pricing-psychology-guide/SKILL.md +273 -0
- package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
- package/skills/domains/economics/world-bank-data-guide/SKILL.md +179 -0
- package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
- package/skills/domains/education/assessment-design-guide/SKILL.md +213 -0
- package/skills/domains/education/educational-research-methods/SKILL.md +179 -0
- package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
- package/skills/domains/education/mooc-analytics-guide/SKILL.md +206 -0
- package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
- package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
- package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
- package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
- package/skills/domains/finance/portfolio-optimization-guide/SKILL.md +279 -0
- package/skills/domains/finance/risk-modeling-guide/SKILL.md +260 -0
- package/skills/domains/finance/stata-accounting-research/SKILL.md +372 -0
- package/skills/domains/geoscience/climate-modeling-guide/SKILL.md +215 -0
- package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
- package/skills/domains/geoscience/satellite-remote-sensing/SKILL.md +193 -0
- package/skills/domains/geoscience/seismology-data-guide/SKILL.md +208 -0
- package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
- package/skills/domains/humanities/ethical-philosophy-guide/SKILL.md +244 -0
- package/skills/domains/humanities/history-research-guide/SKILL.md +260 -0
- package/skills/domains/humanities/political-history-guide/SKILL.md +241 -0
- package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
- package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
- package/skills/domains/law/legal-nlp-guide/SKILL.md +236 -0
- package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
- package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
- package/skills/domains/law/patent-analysis-guide/SKILL.md +257 -0
- package/skills/domains/law/regulatory-compliance-guide/SKILL.md +267 -0
- package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
- package/skills/domains/math/symbolic-computation-guide/SKILL.md +263 -0
- package/skills/domains/math/topology-data-analysis/SKILL.md +305 -0
- package/skills/domains/pharma/clinical-trial-design-guide/SKILL.md +271 -0
- package/skills/domains/pharma/drug-target-interaction/SKILL.md +242 -0
- package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
- package/skills/domains/pharma/pharmacovigilance-guide/SKILL.md +216 -0
- package/skills/domains/physics/astrophysics-data-guide/SKILL.md +305 -0
- package/skills/domains/physics/particle-physics-guide/SKILL.md +287 -0
- package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
- package/skills/domains/social-science/network-analysis-guide/SKILL.md +310 -0
- package/skills/domains/social-science/psychology-research-guide/SKILL.md +270 -0
- package/skills/domains/social-science/sociology-research-guide/SKILL.md +238 -0
- package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
- package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
- package/skills/literature/discovery/paper-recommendation-guide/SKILL.md +120 -0
- package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
- package/skills/literature/discovery/semantic-paper-radar/SKILL.md +144 -0
- package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +94 -0
- package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
- package/skills/literature/fulltext/core-api-guide/SKILL.md +144 -0
- package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
- package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
- package/skills/literature/fulltext/institutional-repository-guide/SKILL.md +212 -0
- package/skills/literature/fulltext/open-access-mining-guide/SKILL.md +341 -0
- package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
- package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
- package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
- package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
- package/skills/literature/metadata/academic-paper-summarizer/SKILL.md +101 -0
- package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
- package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
- package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
- package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
- package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
- package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
- package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
- package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
- package/skills/literature/metadata/wikidata-api-guide/SKILL.md +156 -0
- package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
- package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
- package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
- package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
- package/skills/literature/search/arxiv-batch-reporting/SKILL.md +133 -0
- package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
- package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
- package/skills/literature/search/arxiv-paper-processor/SKILL.md +141 -0
- package/skills/literature/search/baidu-scholar-guide/SKILL.md +110 -0
- package/skills/literature/search/base-academic-search/SKILL.md +196 -0
- package/skills/literature/search/chatpaper-guide/SKILL.md +122 -0
- package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
- package/skills/literature/search/deep-literature-search/SKILL.md +149 -0
- package/skills/literature/search/deepgit-search-guide/SKILL.md +147 -0
- package/skills/literature/search/eric-education-api/SKILL.md +199 -0
- package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
- package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
- package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
- package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
- package/skills/literature/search/open-library-api/SKILL.md +196 -0
- package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
- package/skills/literature/search/openaire-api/SKILL.md +141 -0
- package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
- package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
- package/skills/literature/search/pasa-paper-search-guide/SKILL.md +138 -0
- package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
- package/skills/literature/search/scielo-api/SKILL.md +182 -0
- package/skills/literature/search/share-research-api/SKILL.md +129 -0
- package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
- package/skills/research/automation/ai-scientist-v2-guide/SKILL.md +284 -0
- package/skills/research/automation/aim-experiment-guide/SKILL.md +234 -0
- package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
- package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
- package/skills/research/automation/datagen-research-guide/SKILL.md +131 -0
- package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
- package/skills/research/automation/kedro-pipeline-guide/SKILL.md +216 -0
- package/skills/research/automation/mle-agent-guide/SKILL.md +139 -0
- package/skills/research/automation/paper-to-agent-guide/SKILL.md +116 -0
- package/skills/research/automation/rd-agent-guide/SKILL.md +246 -0
- package/skills/research/automation/research-paper-orchestrator/SKILL.md +254 -0
- package/skills/research/deep-research/academic-deep-research/SKILL.md +190 -0
- package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +141 -0
- package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
- package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
- package/skills/research/deep-research/deep-research-pro/SKILL.md +213 -0
- package/skills/research/deep-research/deep-research-work/SKILL.md +204 -0
- package/skills/research/deep-research/deep-searcher-guide/SKILL.md +253 -0
- package/skills/research/deep-research/gpt-researcher-guide/SKILL.md +191 -0
- package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
- package/skills/research/deep-research/khoj-research-guide/SKILL.md +200 -0
- package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
- package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
- package/skills/research/deep-research/local-deep-research-guide/SKILL.md +253 -0
- package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
- package/skills/research/deep-research/tongyi-deep-research-guide/SKILL.md +217 -0
- package/skills/research/funding/eu-horizon-guide/SKILL.md +244 -0
- package/skills/research/funding/grant-budget-guide/SKILL.md +284 -0
- package/skills/research/funding/nih-reporter-api-guide/SKILL.md +166 -0
- package/skills/research/funding/nsf-award-api-guide/SKILL.md +133 -0
- package/skills/research/methodology/academic-mentor-guide/SKILL.md +169 -0
- package/skills/research/methodology/claude-scientific-guide/SKILL.md +122 -0
- package/skills/research/methodology/deep-innovator-guide/SKILL.md +242 -0
- package/skills/research/methodology/osf-api-guide/SKILL.md +165 -0
- package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
- package/skills/research/methodology/research-paper-kb/SKILL.md +263 -0
- package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
- package/skills/research/methodology/research-town-guide/SKILL.md +263 -0
- package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
- package/skills/research/paper-review/automated-review-guide/SKILL.md +281 -0
- package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
- package/skills/research/paper-review/paper-compare-guide/SKILL.md +238 -0
- package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
- package/skills/research/paper-review/paper-digest-guide/SKILL.md +240 -0
- package/skills/research/paper-review/paper-research-assistant/SKILL.md +231 -0
- package/skills/research/paper-review/research-quality-filter/SKILL.md +261 -0
- package/skills/research/paper-review/review-response-guide/SKILL.md +275 -0
- package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
- package/skills/tools/code-exec/google-colab-guide/SKILL.md +276 -0
- package/skills/tools/code-exec/kaggle-api-guide/SKILL.md +216 -0
- package/skills/tools/code-exec/overleaf-cli-guide/SKILL.md +279 -0
- package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
- package/skills/tools/diagram/code-flow-visualizer/SKILL.md +197 -0
- package/skills/tools/diagram/excalidraw-diagram-guide/SKILL.md +170 -0
- package/skills/tools/diagram/json-data-visualizer/SKILL.md +270 -0
- package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
- package/skills/tools/diagram/mermaid-architect-guide/SKILL.md +219 -0
- package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
- package/skills/tools/diagram/tldraw-whiteboard-guide/SKILL.md +397 -0
- package/skills/tools/document/docsgpt-guide/SKILL.md +130 -0
- package/skills/tools/document/large-document-reader/SKILL.md +202 -0
- package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
- package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
- package/skills/tools/document/paper-parse-guide/SKILL.md +243 -0
- package/skills/tools/document/weknora-guide/SKILL.md +216 -0
- package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
- package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
- package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
- package/skills/tools/knowledge-graph/citation-network-builder/SKILL.md +244 -0
- package/skills/tools/knowledge-graph/concept-map-generator/SKILL.md +284 -0
- package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +219 -0
- package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
- package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
- package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
- package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
- package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
- package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
- package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
- package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
- package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +141 -0
- package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +95 -0
- package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +143 -0
- package/skills/tools/scraping/dataset-finder-guide/SKILL.md +253 -0
- package/skills/tools/scraping/easy-spider-guide/SKILL.md +250 -0
- package/skills/tools/scraping/google-scholar-scraper/SKILL.md +255 -0
- package/skills/tools/scraping/repository-harvesting-guide/SKILL.md +310 -0
- package/skills/writing/citation/academic-citation-manager/SKILL.md +314 -0
- package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
- package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
- package/skills/writing/citation/jabref-reference-guide/SKILL.md +127 -0
- package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +103 -0
- package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
- package/skills/writing/citation/obsidian-citation-guide/SKILL.md +164 -0
- package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +137 -0
- package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
- package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +132 -0
- package/skills/writing/citation/papis-cli-guide/SKILL.md +213 -0
- package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +107 -0
- package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +121 -0
- package/skills/writing/citation/zotero-gpt-guide/SKILL.md +111 -0
- package/skills/writing/citation/zotero-mcp-guide/SKILL.md +164 -0
- package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +162 -0
- package/skills/writing/citation/zotero-reference-guide/SKILL.md +139 -0
- package/skills/writing/citation/zotero-scholar-guide/SKILL.md +294 -0
- package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +140 -0
- package/skills/writing/composition/ml-paper-writing/SKILL.md +163 -0
- package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
- package/skills/writing/composition/paper-debugger-guide/SKILL.md +143 -0
- package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
- package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
- package/skills/writing/composition/scientific-writing-resources/SKILL.md +151 -0
- package/skills/writing/composition/scientific-writing-wrapper/SKILL.md +153 -0
- package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
- package/skills/writing/latex/latex-drawing-collection/SKILL.md +154 -0
- package/skills/writing/latex/latex-templates-collection/SKILL.md +159 -0
- package/skills/writing/latex/md-to-pdf-academic/SKILL.md +230 -0
- package/skills/writing/latex/tex-render-guide/SKILL.md +243 -0
- package/skills/writing/polish/academic-tone-guide/SKILL.md +209 -0
- package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
- package/skills/writing/polish/conciseness-editing-guide/SKILL.md +225 -0
- package/skills/writing/polish/paper-polish-guide/SKILL.md +160 -0
- package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
- package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
- package/skills/writing/templates/graphical-abstract-guide/SKILL.md +183 -0
- package/skills/writing/templates/novathesis-guide/SKILL.md +152 -0
- package/skills/writing/templates/scientific-article-pdf/SKILL.md +261 -0
- package/skills/writing/templates/sjtuthesis-guide/SKILL.md +197 -0
- package/skills/writing/templates/thuthesis-guide/SKILL.md +181 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +0 -207
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: osf-api
|
|
3
|
+
description: "Manage open science projects and preprints via the OSF REST API"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔓"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["OSF", "Open Science Framework", "preprints", "open data", "reproducibility", "COS"]
|
|
10
|
+
source: "https://osf.io/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# OSF (Open Science Framework) API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The Open Science Framework by the Center for Open Science provides infrastructure for the entire research lifecycle — project management, file storage, preprint hosting, and registrations. The API enables search, project creation, file management, and preprint discovery across OSF Preprints, PsyArXiv, SocArXiv, and 25+ community preprint servers. Free, no auth for read access.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Base URL
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
https://api.osf.io/v2
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Search
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Search across all OSF content
|
|
31
|
+
curl "https://api.osf.io/v2/search/?q=replication+crisis&page[size]=20"
|
|
32
|
+
|
|
33
|
+
# Search preprints
|
|
34
|
+
curl "https://api.osf.io/v2/preprints/?filter[q]=machine+learning&page[size]=20"
|
|
35
|
+
|
|
36
|
+
# Filter by preprint provider
|
|
37
|
+
curl "https://api.osf.io/v2/preprints/?filter[provider]=psyarxiv&filter[q]=cognitive+bias"
|
|
38
|
+
|
|
39
|
+
# Search registrations (pre-registered studies)
|
|
40
|
+
curl "https://api.osf.io/v2/registrations/?filter[q]=randomized+controlled+trial"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Projects
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Get public projects
|
|
47
|
+
curl "https://api.osf.io/v2/nodes/?filter[public]=true&filter[q]=neuroimaging"
|
|
48
|
+
|
|
49
|
+
# Get project details
|
|
50
|
+
curl "https://api.osf.io/v2/nodes/{node_id}/"
|
|
51
|
+
|
|
52
|
+
# Get project files
|
|
53
|
+
curl "https://api.osf.io/v2/nodes/{node_id}/files/"
|
|
54
|
+
|
|
55
|
+
# Get project contributors
|
|
56
|
+
curl "https://api.osf.io/v2/nodes/{node_id}/contributors/"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Preprint Providers
|
|
60
|
+
|
|
61
|
+
| Provider | Filter | Disciplines |
|
|
62
|
+
|----------|--------|-------------|
|
|
63
|
+
| OSF Preprints | `osf` | Multidisciplinary |
|
|
64
|
+
| PsyArXiv | `psyarxiv` | Psychology |
|
|
65
|
+
| SocArXiv | `socarxiv` | Social sciences |
|
|
66
|
+
| EarthArXiv | `eartharxiv` | Earth sciences |
|
|
67
|
+
| BioHackrXiv | `biohackrxiv` | Bioinformatics |
|
|
68
|
+
| engrXiv | `engrxiv` | Engineering |
|
|
69
|
+
| MedArXiv | `medarxiv` | Medical sciences |
|
|
70
|
+
| NutriXiv | `nutrixiv` | Nutrition |
|
|
71
|
+
|
|
72
|
+
### Query Parameters
|
|
73
|
+
|
|
74
|
+
| Parameter | Description | Example |
|
|
75
|
+
|-----------|-------------|---------|
|
|
76
|
+
| `filter[q]` | Text search | `filter[q]=open+data` |
|
|
77
|
+
| `filter[provider]` | Preprint server | `filter[provider]=psyarxiv` |
|
|
78
|
+
| `filter[subjects]` | Subject filter | Subject taxonomy ID |
|
|
79
|
+
| `filter[date_created]` | Date filter | `filter[date_created][gte]=2024-01-01` |
|
|
80
|
+
| `page[size]` | Results per page (max 100) | `page[size]=50` |
|
|
81
|
+
| `page` | Page number | `page=2` |
|
|
82
|
+
|
|
83
|
+
## Response Structure (Preprint)
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"data": [
|
|
88
|
+
{
|
|
89
|
+
"id": "abc12",
|
|
90
|
+
"type": "preprints",
|
|
91
|
+
"attributes": {
|
|
92
|
+
"title": "Replication of the Ego Depletion Effect",
|
|
93
|
+
"description": "We attempted to replicate...",
|
|
94
|
+
"date_created": "2024-06-15T10:00:00Z",
|
|
95
|
+
"date_published": "2024-06-16T08:00:00Z",
|
|
96
|
+
"doi": "10.31234/osf.io/abc12",
|
|
97
|
+
"is_published": true,
|
|
98
|
+
"subjects": [["Social and Behavioral Sciences", "Psychology"]],
|
|
99
|
+
"tags": ["replication", "ego depletion"]
|
|
100
|
+
},
|
|
101
|
+
"relationships": {
|
|
102
|
+
"contributors": {"links": {"related": {"href": "..."}}},
|
|
103
|
+
"primary_file": {"links": {"related": {"href": "..."}}}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Python Usage
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
import requests
|
|
114
|
+
|
|
115
|
+
BASE_URL = "https://api.osf.io/v2"
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def search_preprints(query: str, provider: str = None,
|
|
119
|
+
page_size: int = 20) -> list:
|
|
120
|
+
"""Search OSF preprints across providers."""
|
|
121
|
+
params = {
|
|
122
|
+
"filter[q]": query,
|
|
123
|
+
"page[size]": page_size,
|
|
124
|
+
}
|
|
125
|
+
if provider:
|
|
126
|
+
params["filter[provider]"] = provider
|
|
127
|
+
|
|
128
|
+
resp = requests.get(f"{BASE_URL}/preprints/", params=params)
|
|
129
|
+
resp.raise_for_status()
|
|
130
|
+
data = resp.json()
|
|
131
|
+
|
|
132
|
+
results = []
|
|
133
|
+
for item in data.get("data", []):
|
|
134
|
+
attrs = item.get("attributes", {})
|
|
135
|
+
results.append({
|
|
136
|
+
"id": item.get("id"),
|
|
137
|
+
"title": attrs.get("title"),
|
|
138
|
+
"description": (attrs.get("description") or "")[:300],
|
|
139
|
+
"doi": attrs.get("doi"),
|
|
140
|
+
"date": attrs.get("date_published", "")[:10],
|
|
141
|
+
"tags": attrs.get("tags", []),
|
|
142
|
+
"url": f"https://osf.io/{item.get('id')}/",
|
|
143
|
+
})
|
|
144
|
+
return results
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
def search_registrations(query: str,
|
|
148
|
+
page_size: int = 20) -> list:
|
|
149
|
+
"""Search pre-registered studies on OSF."""
|
|
150
|
+
params = {
|
|
151
|
+
"filter[q]": query,
|
|
152
|
+
"page[size]": page_size,
|
|
153
|
+
}
|
|
154
|
+
resp = requests.get(f"{BASE_URL}/registrations/", params=params)
|
|
155
|
+
resp.raise_for_status()
|
|
156
|
+
data = resp.json()
|
|
157
|
+
|
|
158
|
+
results = []
|
|
159
|
+
for item in data.get("data", []):
|
|
160
|
+
attrs = item.get("attributes", {})
|
|
161
|
+
results.append({
|
|
162
|
+
"id": item.get("id"),
|
|
163
|
+
"title": attrs.get("title"),
|
|
164
|
+
"description": (attrs.get("description") or "")[:300],
|
|
165
|
+
"date_registered": attrs.get("date_registered", "")[:10],
|
|
166
|
+
"registration_schema": attrs.get("registration_supplement"),
|
|
167
|
+
})
|
|
168
|
+
return results
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def get_project_files(node_id: str) -> list:
|
|
172
|
+
"""List files in an OSF project."""
|
|
173
|
+
resp = requests.get(f"{BASE_URL}/nodes/{node_id}/files/")
|
|
174
|
+
resp.raise_for_status()
|
|
175
|
+
data = resp.json()
|
|
176
|
+
|
|
177
|
+
providers = []
|
|
178
|
+
for item in data.get("data", []):
|
|
179
|
+
attrs = item.get("attributes", {})
|
|
180
|
+
providers.append({
|
|
181
|
+
"provider": attrs.get("provider"),
|
|
182
|
+
"name": attrs.get("name"),
|
|
183
|
+
})
|
|
184
|
+
return providers
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
# Example: search psychology preprints
|
|
188
|
+
preprints = search_preprints("cognitive load", provider="psyarxiv")
|
|
189
|
+
for p in preprints[:5]:
|
|
190
|
+
print(f"[{p['date']}] {p['title']}")
|
|
191
|
+
print(f" DOI: {p['doi']}")
|
|
192
|
+
|
|
193
|
+
# Example: find pre-registered clinical trials
|
|
194
|
+
regs = search_registrations("randomized placebo")
|
|
195
|
+
for r in regs[:5]:
|
|
196
|
+
print(f"[{r['date_registered']}] {r['title']}")
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Use Cases
|
|
200
|
+
|
|
201
|
+
1. **Preprint discovery**: Search across 25+ preprint servers
|
|
202
|
+
2. **Pre-registration search**: Find registered study protocols
|
|
203
|
+
3. **Open data access**: Download shared research datasets
|
|
204
|
+
4. **Reproducibility**: Access materials, data, and code for published studies
|
|
205
|
+
5. **Project management**: Programmatic project and file management
|
|
206
|
+
|
|
207
|
+
## References
|
|
208
|
+
|
|
209
|
+
- [OSF](https://osf.io/)
|
|
210
|
+
- [OSF API Documentation](https://developer.osf.io/)
|
|
211
|
+
- [OSF Preprints](https://osf.io/preprints/)
|
|
212
|
+
- [Center for Open Science](https://cos.io/)
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pmc-ftp-bulk-download
|
|
3
|
+
description: "Bulk download PMC Open Access articles via FTP for large-scale mining"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "📦"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["pmc", "bulk download", "ftp", "text mining", "open access", "pubmed central"]
|
|
10
|
+
source: "https://www.ncbi.nlm.nih.gov/pmc/tools/ftp/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# PMC FTP Bulk Download
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The PMC FTP Service provides bulk download access to millions of full-text articles from PubMed Central's Open Access Subset. Unlike the single-article APIs (E-utilities, BioC), the FTP service is designed for large-scale corpus construction — downloading entire collections for text mining, NLP training, systematic reviews, and bibliometric analysis. Free, no authentication required.
|
|
18
|
+
|
|
19
|
+
**Note**: PMC is migrating to AWS-based Cloud Service in August 2026. FTP paths may change; check official docs for updates.
|
|
20
|
+
|
|
21
|
+
## FTP Access Points
|
|
22
|
+
|
|
23
|
+
### Connection
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# FTP (classic)
|
|
27
|
+
ftp ftp.ncbi.nlm.nih.gov
|
|
28
|
+
# Navigate to: /pub/pmc
|
|
29
|
+
|
|
30
|
+
# HTTPS alternative (recommended)
|
|
31
|
+
# Base: https://ftp.ncbi.nlm.nih.gov/pub/pmc/
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Available Datasets
|
|
35
|
+
|
|
36
|
+
| Dataset | Path | Content | Format |
|
|
37
|
+
|---------|------|---------|--------|
|
|
38
|
+
| **OA Commercial** | `/pub/pmc/oa_comm/` | CC BY/CC0 articles (commercial use OK) | .tar.gz packages |
|
|
39
|
+
| **OA Non-Commercial** | `/pub/pmc/oa_noncomm/` | CC BY-NC articles | .tar.gz packages |
|
|
40
|
+
| **OA Other** | `/pub/pmc/oa_other/` | Other open licenses | .tar.gz packages |
|
|
41
|
+
| **Author Manuscripts** | `/pub/pmc/manuscript/` | NIH-funded manuscripts | .tar.gz packages |
|
|
42
|
+
| **Historical OCR** | `/pub/pmc/historical_ocr/` | Pre-digital scanned articles | .tar.gz |
|
|
43
|
+
| **File lists** | `/pub/pmc/oa_file_list.csv` | Index of all OA articles | CSV |
|
|
44
|
+
|
|
45
|
+
### File List Index
|
|
46
|
+
|
|
47
|
+
Download the master index to plan your downloads:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Download the OA file list (CSV, ~200MB)
|
|
51
|
+
wget https://ftp.ncbi.nlm.nih.gov/pub/pmc/oa_file_list.csv
|
|
52
|
+
|
|
53
|
+
# CSV columns:
|
|
54
|
+
# File, Article Citation, AccessionID, LastUpdated, PMID, License
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Download Strategies
|
|
58
|
+
|
|
59
|
+
### Strategy 1: Download Specific Articles
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
import requests
|
|
63
|
+
import tarfile
|
|
64
|
+
import io
|
|
65
|
+
import csv
|
|
66
|
+
|
|
67
|
+
def download_article_package(pmcid: str, base_url: str = "https://ftp.ncbi.nlm.nih.gov/pub/pmc"):
|
|
68
|
+
"""Download and extract a specific PMC article package."""
|
|
69
|
+
# First, look up the file path from the file list
|
|
70
|
+
# (In practice, you'd load this once and index by PMCID)
|
|
71
|
+
file_list_url = f"{base_url}/oa_file_list.csv"
|
|
72
|
+
# ... lookup pmcid in file list to get path ...
|
|
73
|
+
|
|
74
|
+
# Download the tar.gz package
|
|
75
|
+
resp = requests.get(f"{base_url}/{file_path}", stream=True)
|
|
76
|
+
resp.raise_for_status()
|
|
77
|
+
|
|
78
|
+
# Extract
|
|
79
|
+
with tarfile.open(fileobj=io.BytesIO(resp.content), mode="r:gz") as tar:
|
|
80
|
+
tar.extractall(path=f"./articles/{pmcid}")
|
|
81
|
+
print(f"Extracted {pmcid}")
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Strategy 2: Bulk Download by License
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
#!/bin/bash
|
|
88
|
+
# Download all commercial-use articles (CC BY / CC0)
|
|
89
|
+
# WARNING: This is ~100GB+ compressed
|
|
90
|
+
|
|
91
|
+
mkdir -p pmc_corpus/commercial
|
|
92
|
+
cd pmc_corpus/commercial
|
|
93
|
+
|
|
94
|
+
# Download the baseline (all current articles)
|
|
95
|
+
wget -r -np -nH --cut-dirs=3 \
|
|
96
|
+
https://ftp.ncbi.nlm.nih.gov/pub/pmc/oa_comm/xml/
|
|
97
|
+
|
|
98
|
+
# Incremental updates (run periodically)
|
|
99
|
+
wget -r -np -nH --cut-dirs=3 -N \
|
|
100
|
+
https://ftp.ncbi.nlm.nih.gov/pub/pmc/oa_comm/xml/
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Strategy 3: Filtered Download via File List
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
import csv
|
|
107
|
+
import requests
|
|
108
|
+
from pathlib import Path
|
|
109
|
+
|
|
110
|
+
def download_filtered_corpus(file_list_path: str, output_dir: str,
|
|
111
|
+
license_filter: str = "CC BY",
|
|
112
|
+
max_articles: int = 1000):
|
|
113
|
+
"""Download articles matching a license filter."""
|
|
114
|
+
output = Path(output_dir)
|
|
115
|
+
output.mkdir(parents=True, exist_ok=True)
|
|
116
|
+
base = "https://ftp.ncbi.nlm.nih.gov/pub/pmc"
|
|
117
|
+
downloaded = 0
|
|
118
|
+
|
|
119
|
+
with open(file_list_path) as f:
|
|
120
|
+
reader = csv.DictReader(f)
|
|
121
|
+
for row in reader:
|
|
122
|
+
if license_filter and license_filter not in row.get("License", ""):
|
|
123
|
+
continue
|
|
124
|
+
if downloaded >= max_articles:
|
|
125
|
+
break
|
|
126
|
+
|
|
127
|
+
file_path = row["File"]
|
|
128
|
+
url = f"{base}/{file_path}"
|
|
129
|
+
local_path = output / Path(file_path).name
|
|
130
|
+
|
|
131
|
+
if local_path.exists():
|
|
132
|
+
continue
|
|
133
|
+
|
|
134
|
+
resp = requests.get(url, stream=True, timeout=60)
|
|
135
|
+
if resp.status_code == 200:
|
|
136
|
+
local_path.write_bytes(resp.content)
|
|
137
|
+
downloaded += 1
|
|
138
|
+
if downloaded % 100 == 0:
|
|
139
|
+
print(f"Downloaded {downloaded} articles...")
|
|
140
|
+
|
|
141
|
+
print(f"Total downloaded: {downloaded}")
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## PMC ID Cross-Referencing
|
|
145
|
+
|
|
146
|
+
Convert between different article identifiers:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# PMID → PMCID → DOI conversion
|
|
150
|
+
curl "https://www.ncbi.nlm.nih.gov/pmc/utils/idconv/v1.0/?ids=29346600&format=json"
|
|
151
|
+
|
|
152
|
+
# Batch conversion (up to 200 IDs)
|
|
153
|
+
curl "https://www.ncbi.nlm.nih.gov/pmc/utils/idconv/v1.0/?ids=29346600,30266829,31048553&format=json"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Package Contents
|
|
157
|
+
|
|
158
|
+
Each article package (.tar.gz) typically contains:
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
PMC1234567/
|
|
162
|
+
├── PMC1234567.xml # Full text in JATS XML
|
|
163
|
+
├── PMC1234567.pdf # PDF (if available)
|
|
164
|
+
├── figure1.jpg # Figures
|
|
165
|
+
├── figure2.jpg
|
|
166
|
+
├── table1.html # Tables (sometimes)
|
|
167
|
+
└── supplement1.pdf # Supplementary materials
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Best Practices
|
|
171
|
+
|
|
172
|
+
- **Start with the file list**: Download `oa_file_list.csv` first and filter locally
|
|
173
|
+
- **Respect rate limits**: Space requests 0.3s apart for individual downloads
|
|
174
|
+
- **Use incremental updates**: After initial download, use `-N` flag to only get new/updated files
|
|
175
|
+
- **Check licenses**: OA Commercial (CC BY) allows any use; Non-Commercial restricts commercial applications
|
|
176
|
+
- **Storage planning**: Full OA Subset is ~500GB+ uncompressed
|
|
177
|
+
|
|
178
|
+
## References
|
|
179
|
+
|
|
180
|
+
- [PMC FTP Documentation](https://www.ncbi.nlm.nih.gov/pmc/tools/ftp/)
|
|
181
|
+
- [PMC Open Access Subset](https://www.ncbi.nlm.nih.gov/pmc/tools/openftlist/)
|
|
182
|
+
- [PMC ID Converter API](https://www.ncbi.nlm.nih.gov/pmc/tools/id-converter-api/)
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zotero-ai-butler-guide
|
|
3
|
+
description: "AI-powered paper summarization plugin for Zotero"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🤵"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["Zotero", "AI summary", "paper summarization", "LLM", "abstract generation", "reading assistant"]
|
|
10
|
+
source: "https://github.com/steven-jianhao-li/zotero-AI-Butler"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Zotero AI Butler Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Zotero AI Butler is a Zotero plugin that uses LLMs to summarize, analyze, and annotate academic papers directly within Zotero. It can generate structured summaries, extract key findings, compare papers, and answer questions about documents — all without leaving the reference manager. Supports multiple LLM backends (OpenAI, Claude, local models).
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Download .xpi from GitHub releases
|
|
23
|
+
# Zotero 7: Tools → Add-ons → Install Add-on From File
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Configuration
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
### LLM Backend Setup (Preferences → AI Butler)
|
|
30
|
+
|
|
31
|
+
**Option 1: OpenAI**
|
|
32
|
+
- Provider: OpenAI
|
|
33
|
+
- Model: gpt-4o
|
|
34
|
+
- Set environment variable for credentials
|
|
35
|
+
|
|
36
|
+
**Option 2: Anthropic**
|
|
37
|
+
- Provider: Anthropic
|
|
38
|
+
- Model: claude-sonnet-4-20250514
|
|
39
|
+
|
|
40
|
+
**Option 3: Local (Ollama)**
|
|
41
|
+
- Provider: Ollama
|
|
42
|
+
- Endpoint: http://localhost:11434
|
|
43
|
+
- Model: llama3.1
|
|
44
|
+
|
|
45
|
+
**Option 4: Custom API**
|
|
46
|
+
- Provider: Custom
|
|
47
|
+
- Endpoint: your-api-url
|
|
48
|
+
- Compatible with OpenAI API format
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Features
|
|
52
|
+
|
|
53
|
+
### Paper Summarization
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
### Usage
|
|
57
|
+
1. Select paper in Zotero
|
|
58
|
+
2. Right-click → AI Butler → Summarize
|
|
59
|
+
3. Summary added as Zotero note
|
|
60
|
+
|
|
61
|
+
### Summary Templates
|
|
62
|
+
- **Quick Summary** (1 paragraph): Core contribution + method + result
|
|
63
|
+
- **Structured Summary**: Background / Method / Results / Limitations
|
|
64
|
+
- **Executive Brief**: Who should read this and why
|
|
65
|
+
- **Technical Deep-Dive**: Detailed methodology and math
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Key Finding Extraction
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
### Extract structured information:
|
|
72
|
+
- **Research question**: What problem does this paper address?
|
|
73
|
+
- **Methodology**: What approach do the authors use?
|
|
74
|
+
- **Key results**: What are the main findings?
|
|
75
|
+
- **Contributions**: What is novel about this work?
|
|
76
|
+
- **Limitations**: What are the acknowledged limitations?
|
|
77
|
+
- **Future work**: What directions do the authors suggest?
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Paper Comparison
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
### Compare multiple papers:
|
|
84
|
+
1. Select 2+ papers in Zotero
|
|
85
|
+
2. Right-click → AI Butler → Compare Papers
|
|
86
|
+
3. Generates comparison table:
|
|
87
|
+
- Shared and unique contributions
|
|
88
|
+
- Methodological differences
|
|
89
|
+
- Performance comparison (if applicable)
|
|
90
|
+
- Complementary insights
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Q&A Mode
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
### Ask questions about papers:
|
|
97
|
+
1. Open paper in Zotero reader
|
|
98
|
+
2. AI Butler sidebar → Ask a question
|
|
99
|
+
3. Answers grounded in paper content with page references
|
|
100
|
+
|
|
101
|
+
Example questions:
|
|
102
|
+
- "What loss function do they use?"
|
|
103
|
+
- "How does this compare to prior work?"
|
|
104
|
+
- "What are the hyperparameters?"
|
|
105
|
+
- "Explain equation 3 in simpler terms"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Batch Processing
|
|
109
|
+
|
|
110
|
+
```markdown
|
|
111
|
+
### Summarize multiple papers:
|
|
112
|
+
1. Select papers (or entire collection)
|
|
113
|
+
2. Right-click → AI Butler → Batch Summarize
|
|
114
|
+
3. Progress bar shows completion
|
|
115
|
+
4. Each paper gets a summary note attached
|
|
116
|
+
|
|
117
|
+
### Reading List Generation:
|
|
118
|
+
1. Select collection
|
|
119
|
+
2. AI Butler → Generate Reading Order
|
|
120
|
+
3. Suggests optimal reading sequence based on:
|
|
121
|
+
- Citation relationships
|
|
122
|
+
- Conceptual dependencies
|
|
123
|
+
- Publication chronology
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Custom Prompts
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
### Create custom analysis prompts:
|
|
130
|
+
# In AI Butler preferences → Custom Prompts
|
|
131
|
+
|
|
132
|
+
Prompt: "Systematic Review Extraction"
|
|
133
|
+
Template: |
|
|
134
|
+
Extract the following from this paper:
|
|
135
|
+
1. Study design (RCT, cohort, etc.)
|
|
136
|
+
2. Sample size
|
|
137
|
+
3. Primary outcome
|
|
138
|
+
4. Effect size with CI
|
|
139
|
+
5. Risk of bias indicators
|
|
140
|
+
Format as structured JSON.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Integration with Zotero Workflow
|
|
144
|
+
|
|
145
|
+
```markdown
|
|
146
|
+
### Combined Plugin Workflow
|
|
147
|
+
1. **Zotero Connector** → Import paper
|
|
148
|
+
2. **Zotero Sci-Hub** → Fetch PDF
|
|
149
|
+
3. **AI Butler** → Generate summary note
|
|
150
|
+
4. **Zotero Actions Tags** → Auto-tag based on summary
|
|
151
|
+
5. **Notero** → Sync to Notion with summary
|
|
152
|
+
6. **Better BibTeX** → Export citations for writing
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Use Cases
|
|
156
|
+
|
|
157
|
+
1. **Rapid screening**: Quick summaries for literature triage
|
|
158
|
+
2. **Paper comprehension**: Ask clarifying questions
|
|
159
|
+
3. **Comparison studies**: Side-by-side paper analysis
|
|
160
|
+
4. **Data extraction**: Structured information for systematic reviews
|
|
161
|
+
5. **Reading preparation**: Generate briefings before journal club
|
|
162
|
+
|
|
163
|
+
## References
|
|
164
|
+
|
|
165
|
+
- [Zotero AI Butler GitHub](https://github.com/steven-jianhao-li/zotero-AI-Butler)
|
|
166
|
+
- [Zotero Plugin Development](https://www.zotero.org/support/dev/client_coding/plugin_development)
|