@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,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: core-api-guide
|
|
3
|
+
description: "Search and retrieve open access research papers via CORE aggregator"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔬"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["open-access", "fulltext", "research-papers", "aggregator", "CORE"]
|
|
10
|
+
source: "https://core.ac.uk/documentation/api"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# CORE API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
CORE (COnnecting REpositories) is the world's largest aggregator of open access research papers, providing access to over 130 million articles harvested from thousands of data providers worldwide. The CORE API enables programmatic search, retrieval, and analysis of scholarly full-text content across repositories, journals, and preprint servers.
|
|
18
|
+
|
|
19
|
+
The API is particularly valuable for researchers conducting systematic reviews, bibliometric analyses, and literature mining tasks. Unlike many scholarly APIs that only provide metadata, CORE specializes in delivering full-text content, making it essential for text mining and natural language processing workflows in academic research.
|
|
20
|
+
|
|
21
|
+
CORE's v3 API provides a RESTful interface with JSON responses, supporting complex search queries with Boolean operators, field-specific filtering, and batch operations. It is free for non-commercial academic use, though an API key is required to access the service.
|
|
22
|
+
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
CORE requires a free API key for all requests. Register at https://core.ac.uk/services/api to obtain one.
|
|
26
|
+
|
|
27
|
+
Always store your API key in an environment variable and reference it in requests:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
export CORE_API_KEY=$CORE_API_KEY
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Pass the key via the `Authorization` header:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
curl -H "Authorization: Bearer $CORE_API_KEY" \
|
|
37
|
+
"https://api.core.ac.uk/v3/search/works?q=machine+learning"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Core Endpoints
|
|
41
|
+
|
|
42
|
+
### Search Works
|
|
43
|
+
|
|
44
|
+
Search across the entire CORE corpus with full-text and metadata queries.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
GET https://api.core.ac.uk/v3/search/works?q={query}&limit={n}&offset={n}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Parameters:**
|
|
51
|
+
- `q` (required): Search query string, supports Boolean operators (AND, OR, NOT)
|
|
52
|
+
- `limit`: Number of results (default 10, max 100)
|
|
53
|
+
- `offset`: Pagination offset
|
|
54
|
+
- `entity_type`: Filter by type (e.g., `journal-article`, `preprint`)
|
|
55
|
+
|
|
56
|
+
**Example: Search for climate change papers with full text:**
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
curl -s -H "Authorization: Bearer $CORE_API_KEY" \
|
|
60
|
+
"https://api.core.ac.uk/v3/search/works?q=climate+change+adaptation&limit=5" \
|
|
61
|
+
| python3 -m json.tool
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Python example:**
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
import requests
|
|
68
|
+
import os
|
|
69
|
+
|
|
70
|
+
headers = {"Authorization": f"Bearer {os.environ['CORE_API_KEY']}"}
|
|
71
|
+
params = {
|
|
72
|
+
"q": "deep learning AND medical imaging",
|
|
73
|
+
"limit": 20,
|
|
74
|
+
"offset": 0
|
|
75
|
+
}
|
|
76
|
+
resp = requests.get("https://api.core.ac.uk/v3/search/works", headers=headers, params=params)
|
|
77
|
+
data = resp.json()
|
|
78
|
+
|
|
79
|
+
for result in data.get("results", []):
|
|
80
|
+
print(f"Title: {result.get('title')}")
|
|
81
|
+
print(f"DOI: {result.get('doi')}")
|
|
82
|
+
print(f"Year: {result.get('yearPublished')}")
|
|
83
|
+
print(f"Full text length: {len(result.get('fullText', ''))}")
|
|
84
|
+
print("---")
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Get Work by ID
|
|
88
|
+
|
|
89
|
+
Retrieve a specific paper by its CORE ID or DOI.
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
GET https://api.core.ac.uk/v3/works/{core_id}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
curl -s -H "Authorization: Bearer $CORE_API_KEY" \
|
|
97
|
+
"https://api.core.ac.uk/v3/works/doi:10.1234/example.doi" \
|
|
98
|
+
| python3 -m json.tool
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Batch Retrieval
|
|
102
|
+
|
|
103
|
+
Retrieve multiple works in a single request using POST with a list of IDs.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
curl -s -X POST -H "Authorization: Bearer $CORE_API_KEY" \
|
|
107
|
+
-H "Content-Type: application/json" \
|
|
108
|
+
-d '[12345, 67890, 11111]' \
|
|
109
|
+
"https://api.core.ac.uk/v3/works"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Search Data Providers
|
|
113
|
+
|
|
114
|
+
List or search CORE's data providers (repositories, journals).
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
GET https://api.core.ac.uk/v3/data-providers?q={query}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Common Research Patterns
|
|
121
|
+
|
|
122
|
+
**Systematic Literature Review:** Use Boolean queries to replicate a search strategy across the full-text corpus. Combine with date filters to identify papers within a specific time window, then export results for screening in tools like Rayyan or Covidence.
|
|
123
|
+
|
|
124
|
+
**Full-Text Mining:** Retrieve full-text content programmatically for NLP pipelines. Extract named entities, key phrases, or citation contexts at scale across thousands of papers.
|
|
125
|
+
|
|
126
|
+
**Repository Coverage Analysis:** Query data providers to understand which institutional repositories contribute to a specific field, useful for bibliometric and open-access policy research.
|
|
127
|
+
|
|
128
|
+
**Trend Detection:** Run time-series queries for specific terms and track publication volume over years to identify emerging research fronts.
|
|
129
|
+
|
|
130
|
+
## Rate Limits and Best Practices
|
|
131
|
+
|
|
132
|
+
- **Free tier:** 150 requests per 15-minute window (10 req/min effective)
|
|
133
|
+
- **Batch endpoints:** Use batch retrieval for multiple IDs to minimize request count
|
|
134
|
+
- **Pagination:** Always use `offset` and `limit` for large result sets; do not fetch all results in one call
|
|
135
|
+
- **Caching:** Cache responses locally for repeat queries, especially for static metadata
|
|
136
|
+
- **Respect robots.txt:** When downloading full texts, add delays between requests
|
|
137
|
+
- **Error handling:** The API returns standard HTTP status codes; implement exponential backoff for 429 (rate limit) responses
|
|
138
|
+
|
|
139
|
+
## References
|
|
140
|
+
|
|
141
|
+
- CORE API v3 Documentation: https://core.ac.uk/documentation/api
|
|
142
|
+
- CORE Dashboard and Key Registration: https://core.ac.uk/services/api
|
|
143
|
+
- CORE Data Dumps (for bulk access): https://core.ac.uk/documentation/dataset
|
|
144
|
+
- CORE GitHub: https://github.com/oacore
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dataverse-api
|
|
3
|
+
description: "Deposit and discover research datasets via Harvard Dataverse API"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🗄️"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["Dataverse", "research data", "data repository", "Harvard", "dataset deposit", "data sharing"]
|
|
10
|
+
source: "https://dataverse.org/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Harvard Dataverse API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Dataverse is an open-source research data repository platform developed by Harvard IQSS, hosting 150K+ datasets across 80+ installations worldwide. The Harvard Dataverse alone has 130K+ datasets covering social science, natural science, and humanities. The API supports search, metadata retrieval, file download, and dataset deposit. Free, no authentication for read access.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Base URL
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
https://dataverse.harvard.edu/api
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Search
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Search datasets
|
|
31
|
+
curl "https://dataverse.harvard.edu/api/search?q=climate+change&type=dataset&per_page=20"
|
|
32
|
+
|
|
33
|
+
# Search files within datasets
|
|
34
|
+
curl "https://dataverse.harvard.edu/api/search?q=temperature+data&type=file&per_page=20"
|
|
35
|
+
|
|
36
|
+
# Filter by subject
|
|
37
|
+
curl "https://dataverse.harvard.edu/api/search?q=survey+data&type=dataset&\
|
|
38
|
+
fq=subject_ss:\"Social Sciences\""
|
|
39
|
+
|
|
40
|
+
# Filter by publication date
|
|
41
|
+
curl "https://dataverse.harvard.edu/api/search?q=genomics&type=dataset&\
|
|
42
|
+
fq=dateSort:[2024-01-01T00:00:00Z TO *]"
|
|
43
|
+
|
|
44
|
+
# Sort by relevance or date
|
|
45
|
+
curl "https://dataverse.harvard.edu/api/search?q=machine+learning&type=dataset&\
|
|
46
|
+
sort=date&order=desc"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Get Dataset Metadata
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# By persistent ID (DOI)
|
|
53
|
+
curl "https://dataverse.harvard.edu/api/datasets/:persistentId/?persistentId=doi:10.7910/DVN/EXAMPLE"
|
|
54
|
+
|
|
55
|
+
# By dataset ID
|
|
56
|
+
curl "https://dataverse.harvard.edu/api/datasets/12345"
|
|
57
|
+
|
|
58
|
+
# Get dataset versions
|
|
59
|
+
curl "https://dataverse.harvard.edu/api/datasets/:persistentId/versions?persistentId=doi:10.7910/DVN/EXAMPLE"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Download Files
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Download a specific file by ID
|
|
66
|
+
curl -O "https://dataverse.harvard.edu/api/access/datafile/67890"
|
|
67
|
+
|
|
68
|
+
# Download with original format
|
|
69
|
+
curl -O "https://dataverse.harvard.edu/api/access/datafile/67890?format=original"
|
|
70
|
+
|
|
71
|
+
# Download all files in a dataset (as zip)
|
|
72
|
+
curl -O "https://dataverse.harvard.edu/api/access/dataset/:persistentId/?persistentId=doi:10.7910/DVN/EXAMPLE"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Query Parameters (Search)
|
|
76
|
+
|
|
77
|
+
| Parameter | Description | Example |
|
|
78
|
+
|-----------|-------------|---------|
|
|
79
|
+
| `q` | Search query | `q=voter+turnout` |
|
|
80
|
+
| `type` | Item type | `dataset`, `file`, `dataverse` |
|
|
81
|
+
| `per_page` | Results per page (max 1000) | `per_page=50` |
|
|
82
|
+
| `start` | Pagination offset | `start=50` |
|
|
83
|
+
| `sort` | Sort field | `name`, `date` |
|
|
84
|
+
| `order` | Sort order | `asc`, `desc` |
|
|
85
|
+
| `fq` | Filter query (Solr) | `fq=subject_ss:"Medicine"` |
|
|
86
|
+
|
|
87
|
+
## Response Structure
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"status": "OK",
|
|
92
|
+
"data": {
|
|
93
|
+
"q": "climate change",
|
|
94
|
+
"total_count": 2450,
|
|
95
|
+
"items": [
|
|
96
|
+
{
|
|
97
|
+
"name": "Global Temperature Dataset 2024",
|
|
98
|
+
"type": "dataset",
|
|
99
|
+
"url": "https://doi.org/10.7910/DVN/EXAMPLE",
|
|
100
|
+
"global_id": "doi:10.7910/DVN/EXAMPLE",
|
|
101
|
+
"description": "Monthly global temperature anomalies...",
|
|
102
|
+
"published_at": "2024-03-15",
|
|
103
|
+
"publisher": "Harvard Dataverse",
|
|
104
|
+
"subjects": ["Earth and Environmental Sciences"],
|
|
105
|
+
"fileCount": 12,
|
|
106
|
+
"citation": "Smith, J. (2024). Global Temperature Dataset..."
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Python Usage
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
import requests
|
|
117
|
+
|
|
118
|
+
BASE_URL = "https://dataverse.harvard.edu/api"
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def search_datasets(query: str, per_page: int = 20,
|
|
122
|
+
subject: str = None) -> list:
|
|
123
|
+
"""Search Harvard Dataverse for datasets."""
|
|
124
|
+
params = {
|
|
125
|
+
"q": query,
|
|
126
|
+
"type": "dataset",
|
|
127
|
+
"per_page": per_page,
|
|
128
|
+
"sort": "date",
|
|
129
|
+
"order": "desc",
|
|
130
|
+
}
|
|
131
|
+
if subject:
|
|
132
|
+
params["fq"] = f'subject_ss:"{subject}"'
|
|
133
|
+
|
|
134
|
+
resp = requests.get(f"{BASE_URL}/search", params=params)
|
|
135
|
+
resp.raise_for_status()
|
|
136
|
+
data = resp.json()
|
|
137
|
+
|
|
138
|
+
results = []
|
|
139
|
+
for item in data.get("data", {}).get("items", []):
|
|
140
|
+
results.append({
|
|
141
|
+
"name": item.get("name"),
|
|
142
|
+
"doi": item.get("global_id"),
|
|
143
|
+
"description": item.get("description", "")[:300],
|
|
144
|
+
"published": item.get("published_at"),
|
|
145
|
+
"subjects": item.get("subjects", []),
|
|
146
|
+
"files": item.get("fileCount", 0),
|
|
147
|
+
"url": item.get("url"),
|
|
148
|
+
})
|
|
149
|
+
return results
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def get_dataset_files(doi: str) -> list:
|
|
153
|
+
"""List files in a dataset."""
|
|
154
|
+
resp = requests.get(
|
|
155
|
+
f"{BASE_URL}/datasets/:persistentId/",
|
|
156
|
+
params={"persistentId": doi},
|
|
157
|
+
)
|
|
158
|
+
resp.raise_for_status()
|
|
159
|
+
data = resp.json().get("data", {})
|
|
160
|
+
|
|
161
|
+
files = []
|
|
162
|
+
version = data.get("latestVersion", {})
|
|
163
|
+
for f in version.get("files", []):
|
|
164
|
+
df = f.get("dataFile", {})
|
|
165
|
+
files.append({
|
|
166
|
+
"id": df.get("id"),
|
|
167
|
+
"filename": df.get("filename"),
|
|
168
|
+
"size": df.get("filesize"),
|
|
169
|
+
"content_type": df.get("contentType"),
|
|
170
|
+
"md5": df.get("md5"),
|
|
171
|
+
})
|
|
172
|
+
return files
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def download_file(file_id: int, output_path: str):
|
|
176
|
+
"""Download a file from Dataverse."""
|
|
177
|
+
resp = requests.get(
|
|
178
|
+
f"{BASE_URL}/access/datafile/{file_id}",
|
|
179
|
+
stream=True,
|
|
180
|
+
)
|
|
181
|
+
resp.raise_for_status()
|
|
182
|
+
with open(output_path, "wb") as f:
|
|
183
|
+
for chunk in resp.iter_content(chunk_size=8192):
|
|
184
|
+
f.write(chunk)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
# Example: find social science datasets
|
|
188
|
+
datasets = search_datasets("income inequality",
|
|
189
|
+
subject="Social Sciences")
|
|
190
|
+
for ds in datasets:
|
|
191
|
+
print(f"[{ds['published']}] {ds['name']} ({ds['files']} files)")
|
|
192
|
+
print(f" DOI: {ds['doi']}")
|
|
193
|
+
|
|
194
|
+
# Example: list files in a dataset
|
|
195
|
+
# files = get_dataset_files("doi:10.7910/DVN/EXAMPLE")
|
|
196
|
+
# for f in files:
|
|
197
|
+
# print(f" {f['filename']} ({f['size']} bytes)")
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Other Dataverse Installations
|
|
201
|
+
|
|
202
|
+
| Installation | URL | Focus |
|
|
203
|
+
|-------------|-----|-------|
|
|
204
|
+
| Harvard Dataverse | dataverse.harvard.edu | Multi-discipline |
|
|
205
|
+
| UNC Dataverse | dataverse.unc.edu | Social science |
|
|
206
|
+
| AUSSDA | data.aussda.at | Austrian social science |
|
|
207
|
+
| Borealis (Canada) | borealisdata.ca | Canadian research |
|
|
208
|
+
| DataverseNL | dataverse.nl | Dutch research |
|
|
209
|
+
|
|
210
|
+
## References
|
|
211
|
+
|
|
212
|
+
- [Harvard Dataverse](https://dataverse.harvard.edu/)
|
|
213
|
+
- [Dataverse API Guide](https://guides.dataverse.org/en/latest/api/)
|
|
214
|
+
- [Dataverse Project](https://dataverse.org/)
|
|
215
|
+
- King, G. (2007). "An Introduction to the Dataverse Network." *Sociological Methods & Research* 36(2).
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hal-archive-api
|
|
3
|
+
description: "Access French and European research via the HAL open archive API"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🇫🇷"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["HAL", "French research", "open archive", "CNRS", "European research", "institutional repository"]
|
|
10
|
+
source: "https://api.archives-ouvertes.fr/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# HAL Open Archive API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
HAL (Hyper Articles en Ligne) is France's national open archive for scholarly deposits. Managed by CNRS, it hosts 4M+ full-text documents from French research institutions and international collaborators. The API provides Solr-based search with full metadata, PDF links, and OAI-PMH harvesting. Free, no authentication required.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Search API
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Keyword search
|
|
25
|
+
curl "https://api.archives-ouvertes.fr/search/?q=machine+learning&rows=20&wt=json"
|
|
26
|
+
|
|
27
|
+
# Search specific fields
|
|
28
|
+
curl "https://api.archives-ouvertes.fr/search/?q=title_s:\"deep learning\"&wt=json"
|
|
29
|
+
|
|
30
|
+
# Filter by document type
|
|
31
|
+
curl "https://api.archives-ouvertes.fr/search/?q=neural+networks&\
|
|
32
|
+
fq=docType_s:ART&rows=20&wt=json"
|
|
33
|
+
|
|
34
|
+
# Filter by year and language
|
|
35
|
+
curl "https://api.archives-ouvertes.fr/search/?q=climate+change&\
|
|
36
|
+
fq=producedDateY_i:[2023 TO 2026]&fq=language_s:en&wt=json"
|
|
37
|
+
|
|
38
|
+
# Filter by institution
|
|
39
|
+
curl "https://api.archives-ouvertes.fr/search/?q=robotics&\
|
|
40
|
+
fq=structId_i:441569&wt=json"
|
|
41
|
+
|
|
42
|
+
# Return specific fields
|
|
43
|
+
curl "https://api.archives-ouvertes.fr/search/?q=CRISPR&\
|
|
44
|
+
fl=halId_s,title_s,authFullName_s,producedDateY_i,uri_s,files_s&wt=json"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Search Fields
|
|
48
|
+
|
|
49
|
+
| Field | Description | Example |
|
|
50
|
+
|-------|-------------|---------|
|
|
51
|
+
| `title_s` | Title | `title_s:"attention mechanism"` |
|
|
52
|
+
| `authFullName_s` | Author name | `authFullName_s:"Yann LeCun"` |
|
|
53
|
+
| `abstract_s` | Abstract | `abstract_s:transformer` |
|
|
54
|
+
| `keyword_s` | Keywords | `keyword_s:"natural language"` |
|
|
55
|
+
| `producedDateY_i` | Year | `producedDateY_i:2024` |
|
|
56
|
+
| `docType_s` | Document type | `docType_s:ART` |
|
|
57
|
+
| `language_s` | Language | `language_s:en` |
|
|
58
|
+
| `domain_s` | Domain/subject | `domain_s:info.info-ai` |
|
|
59
|
+
| `journalTitle_s` | Journal name | `journalTitle_s:"Nature"` |
|
|
60
|
+
| `structId_i` | Institution ID | Lab/university ID |
|
|
61
|
+
|
|
62
|
+
### Document Types
|
|
63
|
+
|
|
64
|
+
| Code | Type |
|
|
65
|
+
|------|------|
|
|
66
|
+
| `ART` | Journal article |
|
|
67
|
+
| `COMM` | Conference paper |
|
|
68
|
+
| `THESE` | PhD thesis |
|
|
69
|
+
| `HDR` | Habilitation thesis |
|
|
70
|
+
| `REPORT` | Report |
|
|
71
|
+
| `COUV` | Book chapter |
|
|
72
|
+
| `OUV` | Book |
|
|
73
|
+
| `POSTER` | Poster |
|
|
74
|
+
| `UNDEFINED` | Preprint/other |
|
|
75
|
+
|
|
76
|
+
### Query Parameters
|
|
77
|
+
|
|
78
|
+
| Parameter | Description |
|
|
79
|
+
|-----------|-------------|
|
|
80
|
+
| `q` | Solr query |
|
|
81
|
+
| `fq` | Filter query |
|
|
82
|
+
| `fl` | Fields to return |
|
|
83
|
+
| `rows` | Results per page (max 10000) |
|
|
84
|
+
| `start` | Pagination offset |
|
|
85
|
+
| `sort` | Sort order (e.g., `producedDateY_i desc`) |
|
|
86
|
+
| `wt` | Format: `json`, `xml`, `csv` |
|
|
87
|
+
|
|
88
|
+
## Response Structure
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"response": {
|
|
93
|
+
"numFound": 12500,
|
|
94
|
+
"start": 0,
|
|
95
|
+
"docs": [
|
|
96
|
+
{
|
|
97
|
+
"halId_s": "hal-01234567",
|
|
98
|
+
"title_s": ["Deep Learning for Climate Modeling"],
|
|
99
|
+
"authFullName_s": ["Marie Dupont", "Jean Martin"],
|
|
100
|
+
"producedDateY_i": 2024,
|
|
101
|
+
"docType_s": "ART",
|
|
102
|
+
"journalTitle_s": "Environmental Modelling",
|
|
103
|
+
"uri_s": "https://hal.science/hal-01234567",
|
|
104
|
+
"files_s": ["https://hal.science/hal-01234567/document"],
|
|
105
|
+
"domain_s": ["sde.es", "info.info-ai"],
|
|
106
|
+
"abstract_s": ["We propose a novel deep learning approach..."],
|
|
107
|
+
"language_s": ["en"]
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Python Usage
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
import requests
|
|
118
|
+
|
|
119
|
+
BASE_URL = "https://api.archives-ouvertes.fr/search/"
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def search_hal(query: str, rows: int = 20,
|
|
123
|
+
doc_type: str = None, from_year: int = None,
|
|
124
|
+
language: str = None) -> list:
|
|
125
|
+
"""Search HAL open archive."""
|
|
126
|
+
params = {
|
|
127
|
+
"q": query,
|
|
128
|
+
"wt": "json",
|
|
129
|
+
"rows": rows,
|
|
130
|
+
"fl": "halId_s,title_s,authFullName_s,producedDateY_i,"
|
|
131
|
+
"uri_s,files_s,docType_s,journalTitle_s,abstract_s",
|
|
132
|
+
"sort": "producedDateY_i desc",
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
fq = []
|
|
136
|
+
if doc_type:
|
|
137
|
+
fq.append(f"docType_s:{doc_type}")
|
|
138
|
+
if from_year:
|
|
139
|
+
fq.append(f"producedDateY_i:[{from_year} TO 2030]")
|
|
140
|
+
if language:
|
|
141
|
+
fq.append(f"language_s:{language}")
|
|
142
|
+
if fq:
|
|
143
|
+
params["fq"] = fq
|
|
144
|
+
|
|
145
|
+
resp = requests.get(BASE_URL, params=params)
|
|
146
|
+
resp.raise_for_status()
|
|
147
|
+
data = resp.json()
|
|
148
|
+
|
|
149
|
+
results = []
|
|
150
|
+
for doc in data.get("response", {}).get("docs", []):
|
|
151
|
+
title = doc.get("title_s", [""])[0] if isinstance(
|
|
152
|
+
doc.get("title_s"), list) else doc.get("title_s", "")
|
|
153
|
+
results.append({
|
|
154
|
+
"hal_id": doc.get("halId_s"),
|
|
155
|
+
"title": title,
|
|
156
|
+
"authors": doc.get("authFullName_s", []),
|
|
157
|
+
"year": doc.get("producedDateY_i"),
|
|
158
|
+
"type": doc.get("docType_s"),
|
|
159
|
+
"journal": doc.get("journalTitle_s"),
|
|
160
|
+
"url": doc.get("uri_s"),
|
|
161
|
+
"pdf": doc.get("files_s", [None])[0],
|
|
162
|
+
})
|
|
163
|
+
return results
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
def search_theses(topic: str, from_year: int = 2020) -> list:
|
|
167
|
+
"""Find French PhD theses on a topic."""
|
|
168
|
+
return search_hal(topic, rows=50, doc_type="THESE",
|
|
169
|
+
from_year=from_year)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def get_institution_publications(struct_id: int,
|
|
173
|
+
from_year: int = 2023) -> list:
|
|
174
|
+
"""Get publications from a specific institution."""
|
|
175
|
+
params = {
|
|
176
|
+
"q": "*:*",
|
|
177
|
+
"fq": [f"structId_i:{struct_id}",
|
|
178
|
+
f"producedDateY_i:[{from_year} TO 2030]"],
|
|
179
|
+
"wt": "json",
|
|
180
|
+
"rows": 100,
|
|
181
|
+
"fl": "halId_s,title_s,authFullName_s,producedDateY_i,docType_s",
|
|
182
|
+
"sort": "producedDateY_i desc",
|
|
183
|
+
}
|
|
184
|
+
resp = requests.get(BASE_URL, params=params)
|
|
185
|
+
resp.raise_for_status()
|
|
186
|
+
return resp.json().get("response", {}).get("docs", [])
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
# Example: find recent French AI research
|
|
190
|
+
papers = search_hal("intelligence artificielle", from_year=2024)
|
|
191
|
+
for p in papers:
|
|
192
|
+
pdf = " [PDF]" if p["pdf"] else ""
|
|
193
|
+
print(f"[{p['year']}] {p['title']}{pdf}")
|
|
194
|
+
|
|
195
|
+
# Example: find PhD theses on NLP
|
|
196
|
+
theses = search_theses("natural language processing")
|
|
197
|
+
for t in theses:
|
|
198
|
+
print(f"{t['title']} — {', '.join(t['authors'][:2])}")
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## HAL Domains
|
|
202
|
+
|
|
203
|
+
| Code | Domain |
|
|
204
|
+
|------|--------|
|
|
205
|
+
| `info` | Computer Science |
|
|
206
|
+
| `math` | Mathematics |
|
|
207
|
+
| `phys` | Physics |
|
|
208
|
+
| `sde` | Environmental Sciences |
|
|
209
|
+
| `sdv` | Life Sciences |
|
|
210
|
+
| `shs` | Social Sciences & Humanities |
|
|
211
|
+
| `chim` | Chemistry |
|
|
212
|
+
| `spi` | Engineering Sciences |
|
|
213
|
+
|
|
214
|
+
## References
|
|
215
|
+
|
|
216
|
+
- [HAL Open Archive](https://hal.science/)
|
|
217
|
+
- [HAL API Documentation](https://api.archives-ouvertes.fr/docs)
|
|
218
|
+
- [HAL Search Guide](https://doc.archives-ouvertes.fr/en/)
|