@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,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ror-organization-api
|
|
3
|
+
description: "Identify and link research organizations via the ROR registry API"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🏢"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "metadata"
|
|
9
|
+
keywords: ["ROR", "research organizations", "institution registry", "affiliation", "organization identifiers", "ISNI"]
|
|
10
|
+
source: "https://ror.org/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ROR (Research Organization Registry) API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
ROR is the community-led registry of open persistent identifiers for research organizations worldwide — 110,000+ entries covering universities, research institutes, government agencies, hospitals, and companies. The API enables affiliation disambiguation, institutional search, and metadata retrieval. Essential for bibliometrics, funder compliance, and research analytics. Free, no authentication required.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Base URL
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
https://api.ror.org/v2
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Search Organizations
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Text search
|
|
31
|
+
curl "https://api.ror.org/v2/organizations?query=MIT"
|
|
32
|
+
|
|
33
|
+
# Affiliation matching (fuzzy match for messy affiliation strings)
|
|
34
|
+
curl "https://api.ror.org/v2/organizations?affiliation=Dept+of+CS,+Massachusetts+Inst+of+Technology"
|
|
35
|
+
|
|
36
|
+
# Filter by country
|
|
37
|
+
curl "https://api.ror.org/v2/organizations?query=university&filter=locations.geonames_details.country_code:US"
|
|
38
|
+
|
|
39
|
+
# Filter by organization type
|
|
40
|
+
curl "https://api.ror.org/v2/organizations?query=research&filter=types:facility"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Get Organization by ROR ID
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Retrieve full record
|
|
47
|
+
curl "https://api.ror.org/v2/organizations/https://ror.org/042nb2s44"
|
|
48
|
+
|
|
49
|
+
# Also works with just the ID portion
|
|
50
|
+
curl "https://api.ror.org/v2/organizations/042nb2s44"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Query Parameters
|
|
54
|
+
|
|
55
|
+
| Parameter | Description | Example |
|
|
56
|
+
|-----------|-------------|---------|
|
|
57
|
+
| `query` | Text search | `query=Harvard` |
|
|
58
|
+
| `affiliation` | Fuzzy affiliation match | `affiliation=MIT Cambridge MA` |
|
|
59
|
+
| `filter` | Faceted filtering | `filter=types:education` |
|
|
60
|
+
| `page` | Page number (1-based) | `page=2` |
|
|
61
|
+
|
|
62
|
+
### Organization Types
|
|
63
|
+
|
|
64
|
+
| Type | Description |
|
|
65
|
+
|------|-------------|
|
|
66
|
+
| `education` | Universities, colleges |
|
|
67
|
+
| `facility` | Research facilities, labs |
|
|
68
|
+
| `healthcare` | Hospitals, medical centers |
|
|
69
|
+
| `company` | Companies with research activities |
|
|
70
|
+
| `government` | Government agencies |
|
|
71
|
+
| `nonprofit` | Non-profit research organizations |
|
|
72
|
+
| `funder` | Funding agencies |
|
|
73
|
+
| `archive` | Archives, libraries |
|
|
74
|
+
|
|
75
|
+
## Response Structure
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"number_of_results": 3,
|
|
80
|
+
"items": [
|
|
81
|
+
{
|
|
82
|
+
"id": "https://ror.org/042nb2s44",
|
|
83
|
+
"names": [
|
|
84
|
+
{"value": "Massachusetts Institute of Technology", "types": ["ror_display"]},
|
|
85
|
+
{"value": "MIT", "types": ["acronym"]}
|
|
86
|
+
],
|
|
87
|
+
"types": ["education"],
|
|
88
|
+
"locations": [
|
|
89
|
+
{
|
|
90
|
+
"geonames_details": {
|
|
91
|
+
"country_code": "US",
|
|
92
|
+
"country_name": "United States",
|
|
93
|
+
"name": "Cambridge"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"external_ids": [
|
|
98
|
+
{"type": "isni", "all": ["0000 0001 2341 2786"]},
|
|
99
|
+
{"type": "grid", "all": ["grid.116068.8"]},
|
|
100
|
+
{"type": "wikidata", "all": ["Q49108"]}
|
|
101
|
+
],
|
|
102
|
+
"links": [{"type": "website", "value": "https://www.mit.edu/"}],
|
|
103
|
+
"relationships": [
|
|
104
|
+
{"id": "https://ror.org/01a8ajp77", "label": "Lincoln Laboratory", "type": "child"}
|
|
105
|
+
],
|
|
106
|
+
"status": "active",
|
|
107
|
+
"established": 1861
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Python Usage
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
import requests
|
|
117
|
+
|
|
118
|
+
BASE_URL = "https://api.ror.org/v2/organizations"
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def search_organizations(query: str,
|
|
122
|
+
country: str = None,
|
|
123
|
+
org_type: str = None) -> list:
|
|
124
|
+
"""Search ROR for research organizations."""
|
|
125
|
+
params = {"query": query}
|
|
126
|
+
filters = []
|
|
127
|
+
if country:
|
|
128
|
+
filters.append(
|
|
129
|
+
f"locations.geonames_details.country_code:{country}")
|
|
130
|
+
if org_type:
|
|
131
|
+
filters.append(f"types:{org_type}")
|
|
132
|
+
if filters:
|
|
133
|
+
params["filter"] = ",".join(filters)
|
|
134
|
+
|
|
135
|
+
resp = requests.get(BASE_URL, params=params)
|
|
136
|
+
resp.raise_for_status()
|
|
137
|
+
data = resp.json()
|
|
138
|
+
|
|
139
|
+
results = []
|
|
140
|
+
for org in data.get("items", []):
|
|
141
|
+
display_name = next(
|
|
142
|
+
(n["value"] for n in org.get("names", [])
|
|
143
|
+
if "ror_display" in n.get("types", [])),
|
|
144
|
+
org.get("names", [{}])[0].get("value", ""),
|
|
145
|
+
)
|
|
146
|
+
acronyms = [n["value"] for n in org.get("names", [])
|
|
147
|
+
if "acronym" in n.get("types", [])]
|
|
148
|
+
loc = org.get("locations", [{}])[0].get("geonames_details", {})
|
|
149
|
+
|
|
150
|
+
results.append({
|
|
151
|
+
"ror_id": org.get("id"),
|
|
152
|
+
"name": display_name,
|
|
153
|
+
"acronyms": acronyms,
|
|
154
|
+
"types": org.get("types", []),
|
|
155
|
+
"country": loc.get("country_name"),
|
|
156
|
+
"city": loc.get("name"),
|
|
157
|
+
"established": org.get("established"),
|
|
158
|
+
})
|
|
159
|
+
return results
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
def match_affiliation(affiliation_string: str) -> dict:
|
|
163
|
+
"""Disambiguate a messy affiliation string to a ROR record."""
|
|
164
|
+
resp = requests.get(
|
|
165
|
+
BASE_URL,
|
|
166
|
+
params={"affiliation": affiliation_string},
|
|
167
|
+
)
|
|
168
|
+
resp.raise_for_status()
|
|
169
|
+
items = resp.json().get("items", [])
|
|
170
|
+
if items and items[0].get("chosen"):
|
|
171
|
+
return items[0].get("organization", {})
|
|
172
|
+
return items[0] if items else {}
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def get_organization(ror_id: str) -> dict:
|
|
176
|
+
"""Get full ROR record for an organization."""
|
|
177
|
+
resp = requests.get(f"{BASE_URL}/{ror_id}")
|
|
178
|
+
resp.raise_for_status()
|
|
179
|
+
return resp.json()
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
# Example: find German research institutes
|
|
183
|
+
orgs = search_organizations("Max Planck", country="DE",
|
|
184
|
+
org_type="facility")
|
|
185
|
+
for o in orgs:
|
|
186
|
+
print(f"{o['name']} ({', '.join(o['acronyms'])}) "
|
|
187
|
+
f"— {o['city']}, {o['country']} (est. {o['established']})")
|
|
188
|
+
|
|
189
|
+
# Example: disambiguate messy affiliations
|
|
190
|
+
result = match_affiliation(
|
|
191
|
+
"Dept. of Computer Sci., Stanford Univ., CA, USA")
|
|
192
|
+
print(f"Matched: {result.get('id')} — "
|
|
193
|
+
f"{result.get('names', [{}])[0].get('value')}")
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Use Cases
|
|
197
|
+
|
|
198
|
+
1. **Affiliation disambiguation**: Clean messy author affiliation strings
|
|
199
|
+
2. **Bibliometric analysis**: Aggregate publications by institution
|
|
200
|
+
3. **Funder compliance**: Link outputs to institutional identifiers
|
|
201
|
+
4. **Research profiling**: Map institutional research portfolios
|
|
202
|
+
5. **Collaboration networks**: Trace inter-institutional partnerships
|
|
203
|
+
|
|
204
|
+
## References
|
|
205
|
+
|
|
206
|
+
- [ROR](https://ror.org/)
|
|
207
|
+
- [ROR API Documentation](https://ror.readme.io/)
|
|
208
|
+
- [ROR Data Dump](https://doi.org/10.5281/zenodo.6347574)
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sophosia-reference-guide
|
|
3
|
+
description: "Reference manager with PDF viewer and Markdown note support"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "📚"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "metadata"
|
|
9
|
+
keywords: ["reference manager", "PDF viewer", "Markdown notes", "Excalidraw", "paper organization", "open source"]
|
|
10
|
+
source: "https://github.com/sophosia/sophosia"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Sophosia Reference Manager Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Sophosia is an open-source reference manager that combines PDF viewing, Markdown note-taking, and Excalidraw visual notes in a single application. Unlike traditional reference managers, it treats each paper as a rich workspace with typed annotations, linked notes, and visual diagrams. Built with modern web technologies (Electron + Vue), it runs on all desktop platforms.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Download from GitHub releases (Windows/macOS/Linux)
|
|
23
|
+
# Or build from source:
|
|
24
|
+
git clone https://github.com/sophosia/sophosia.git
|
|
25
|
+
cd sophosia
|
|
26
|
+
npm install && npm run build
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Features
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
### Core Capabilities
|
|
33
|
+
- **PDF Viewer**: Built-in reader with annotations
|
|
34
|
+
- **Markdown Notes**: Rich note editor per paper
|
|
35
|
+
- **Excalidraw**: Visual whiteboard for diagrams
|
|
36
|
+
- **Tags & Collections**: Flexible organization
|
|
37
|
+
- **BibTeX Support**: Import/export bibliography
|
|
38
|
+
- **Full-text Search**: Search across all papers
|
|
39
|
+
- **Citation Graph**: Visual paper relationships
|
|
40
|
+
|
|
41
|
+
### Note Types
|
|
42
|
+
1. **Text notes** — Markdown with LaTeX math
|
|
43
|
+
2. **Visual notes** — Excalidraw canvas
|
|
44
|
+
3. **Annotation notes** — Linked to PDF highlights
|
|
45
|
+
4. **Outline notes** — Structured paper summaries
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Workspace Structure
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
### Per-Paper Workspace
|
|
52
|
+
Paper: "Attention Is All You Need"
|
|
53
|
+
├── PDF (with highlights and annotations)
|
|
54
|
+
├── Notes/
|
|
55
|
+
│ ├── summary.md (structured summary)
|
|
56
|
+
│ ├── ideas.md (research ideas sparked)
|
|
57
|
+
│ └── architecture.excalidraw (visual diagram)
|
|
58
|
+
├── Metadata (title, authors, year, DOI, tags)
|
|
59
|
+
└── Links (related papers, concept connections)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Note-Taking Features
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
### Markdown Notes Support
|
|
66
|
+
- Standard Markdown formatting
|
|
67
|
+
- LaTeX math: $E = mc^2$ and display equations
|
|
68
|
+
- Code blocks with syntax highlighting
|
|
69
|
+
- Tables and checklists
|
|
70
|
+
- Wikilinks: [[other-paper]] for cross-referencing
|
|
71
|
+
- Embeds: ![[figure.png]] for inline images
|
|
72
|
+
- Templates for consistent note structure
|
|
73
|
+
|
|
74
|
+
### Excalidraw Integration
|
|
75
|
+
- Draw architecture diagrams
|
|
76
|
+
- Mind maps for paper concepts
|
|
77
|
+
- Comparison charts between methods
|
|
78
|
+
- Hand-drawn style for informal notes
|
|
79
|
+
- Export as SVG/PNG for presentations
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Import/Export
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
### Import Sources
|
|
86
|
+
- BibTeX (.bib)
|
|
87
|
+
- RIS format
|
|
88
|
+
- DOI lookup (auto-fetch metadata)
|
|
89
|
+
- PDF drag-and-drop (auto-extract metadata)
|
|
90
|
+
- Zotero export files
|
|
91
|
+
|
|
92
|
+
### Export Formats
|
|
93
|
+
- BibTeX for LaTeX
|
|
94
|
+
- Markdown bibliography
|
|
95
|
+
- CSV metadata export
|
|
96
|
+
- HTML reading lists
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Use Cases
|
|
100
|
+
|
|
101
|
+
1. **Reading workflow**: PDF + notes in single workspace
|
|
102
|
+
2. **Visual thinking**: Excalidraw diagrams alongside papers
|
|
103
|
+
3. **Literature review**: Linked notes across paper collection
|
|
104
|
+
4. **Presentation prep**: Visual notes exportable as diagrams
|
|
105
|
+
5. **Research journal**: Rich per-paper documentation
|
|
106
|
+
|
|
107
|
+
## References
|
|
108
|
+
|
|
109
|
+
- [Sophosia GitHub](https://github.com/sophosia/sophosia)
|
|
110
|
+
- [Excalidraw](https://excalidraw.com/)
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: viaf-authority-api
|
|
3
|
+
description: "Disambiguate author identities via the VIAF authority file API"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "👤"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "metadata"
|
|
9
|
+
keywords: ["VIAF", "authority control", "author disambiguation", "name authority", "OCLC", "library catalog"]
|
|
10
|
+
source: "https://viaf.org/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# VIAF (Virtual International Authority File) API
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
VIAF clusters authority records from 50+ national libraries worldwide, linking different forms of an author's name into a single canonical identity. It covers 50M+ personal, corporate, and geographic name entries. Essential for author disambiguation in bibliometric research — resolving "J. Smith", "John Smith", and "Smith, J.A." to the same person. Free, no authentication.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Base URL
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
https://viaf.org
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Search
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Search by name (AutoSuggest)
|
|
31
|
+
curl "https://viaf.org/viaf/AutoSuggest?query=einstein+albert"
|
|
32
|
+
|
|
33
|
+
# Search via SRU (structured query)
|
|
34
|
+
curl "https://viaf.org/viaf/search?query=local.personalNames+all+\"hinton+geoffrey\"&\
|
|
35
|
+
sortKeys=holdingscount&httpAccept=application/json"
|
|
36
|
+
|
|
37
|
+
# Search corporate names
|
|
38
|
+
curl "https://viaf.org/viaf/search?query=local.corporateNames+all+\"MIT\"&\
|
|
39
|
+
httpAccept=application/json"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Get Record by VIAF ID
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# JSON format
|
|
46
|
+
curl "https://viaf.org/viaf/75121530/viaf.json"
|
|
47
|
+
|
|
48
|
+
# Linked data formats
|
|
49
|
+
curl -H "Accept: application/json" "https://viaf.org/viaf/75121530"
|
|
50
|
+
|
|
51
|
+
# Cluster data (all linked identities)
|
|
52
|
+
curl "https://viaf.org/viaf/75121530/justlinks.json"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Cross-Reference by External ID
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Look up by Library of Congress ID
|
|
59
|
+
curl "https://viaf.org/viaf/lccn/n79021164/viaf.json"
|
|
60
|
+
|
|
61
|
+
# Look up by ISNI
|
|
62
|
+
curl "https://viaf.org/viaf/isni/0000000121174331/viaf.json"
|
|
63
|
+
|
|
64
|
+
# Look up by ORCID
|
|
65
|
+
curl "https://viaf.org/viaf/sourceID/ORCID|0000-0002-1825-0097/viaf.json"
|
|
66
|
+
|
|
67
|
+
# Look up by Wikidata QID
|
|
68
|
+
curl "https://viaf.org/viaf/sourceID/WKP|Q937/viaf.json"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Source Codes
|
|
72
|
+
|
|
73
|
+
| Code | Library/Source |
|
|
74
|
+
|------|---------------|
|
|
75
|
+
| `LC` | Library of Congress |
|
|
76
|
+
| `DNB` | German National Library |
|
|
77
|
+
| `BNF` | Bibliothèque nationale de France |
|
|
78
|
+
| `NLA` | National Library of Australia |
|
|
79
|
+
| `NDL` | National Diet Library (Japan) |
|
|
80
|
+
| `NKC` | National Library of Czech Republic |
|
|
81
|
+
| `WKP` | Wikidata |
|
|
82
|
+
| `ISNI` | ISNI |
|
|
83
|
+
|
|
84
|
+
## Response Structure
|
|
85
|
+
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"viafID": "75121530",
|
|
89
|
+
"nameType": "Personal",
|
|
90
|
+
"mainHeadings": {
|
|
91
|
+
"data": [
|
|
92
|
+
{
|
|
93
|
+
"text": "Einstein, Albert, 1879-1955",
|
|
94
|
+
"sources": {"s": ["LC", "DNB", "BNF"]}
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"x400s": {
|
|
99
|
+
"x400": [
|
|
100
|
+
{"datafield": {"subfield": [{"text": "Albert Einstein"}]}}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"birthDate": "1879",
|
|
104
|
+
"deathDate": "1955",
|
|
105
|
+
"sources": {
|
|
106
|
+
"source": [
|
|
107
|
+
{"nsid": "n79022889", "sid": "LC|n79022889"},
|
|
108
|
+
{"nsid": "118529579", "sid": "DNB|118529579"}
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Python Usage
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
import requests
|
|
118
|
+
|
|
119
|
+
BASE_URL = "https://viaf.org/viaf"
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def search_person(name: str, limit: int = 10) -> list:
|
|
123
|
+
"""Search VIAF for personal name authorities."""
|
|
124
|
+
resp = requests.get(
|
|
125
|
+
f"{BASE_URL}/AutoSuggest",
|
|
126
|
+
params={"query": name},
|
|
127
|
+
)
|
|
128
|
+
resp.raise_for_status()
|
|
129
|
+
data = resp.json()
|
|
130
|
+
|
|
131
|
+
results = []
|
|
132
|
+
for item in data.get("result", [])[:limit]:
|
|
133
|
+
results.append({
|
|
134
|
+
"viaf_id": item.get("viafid"),
|
|
135
|
+
"name": item.get("displayForm"),
|
|
136
|
+
"name_type": item.get("nametype"),
|
|
137
|
+
"source_count": len(item.get("sources", "").split("|")),
|
|
138
|
+
})
|
|
139
|
+
return results
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def get_authority(viaf_id: str) -> dict:
|
|
143
|
+
"""Get full VIAF authority record."""
|
|
144
|
+
resp = requests.get(f"{BASE_URL}/{viaf_id}/viaf.json")
|
|
145
|
+
resp.raise_for_status()
|
|
146
|
+
data = resp.json()
|
|
147
|
+
|
|
148
|
+
name_forms = []
|
|
149
|
+
for heading in data.get("mainHeadings", {}).get("data", []):
|
|
150
|
+
if isinstance(heading, dict):
|
|
151
|
+
name_forms.append({
|
|
152
|
+
"text": heading.get("text"),
|
|
153
|
+
"sources": heading.get("sources", {}).get("s", []),
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
external_ids = {}
|
|
157
|
+
for src in data.get("sources", {}).get("source", []):
|
|
158
|
+
sid = src.get("sid", "")
|
|
159
|
+
if "|" in sid:
|
|
160
|
+
prefix, local_id = sid.split("|", 1)
|
|
161
|
+
external_ids[prefix] = local_id
|
|
162
|
+
|
|
163
|
+
return {
|
|
164
|
+
"viaf_id": data.get("viafID"),
|
|
165
|
+
"name_forms": name_forms,
|
|
166
|
+
"birth": data.get("birthDate"),
|
|
167
|
+
"death": data.get("deathDate"),
|
|
168
|
+
"external_ids": external_ids,
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def resolve_by_orcid(orcid: str) -> dict:
|
|
173
|
+
"""Resolve ORCID to VIAF authority record."""
|
|
174
|
+
resp = requests.get(
|
|
175
|
+
f"{BASE_URL}/sourceID/ORCID|{orcid}/viaf.json"
|
|
176
|
+
)
|
|
177
|
+
resp.raise_for_status()
|
|
178
|
+
return resp.json()
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
# Example: disambiguate an author name
|
|
182
|
+
candidates = search_person("Geoffrey Hinton")
|
|
183
|
+
for c in candidates:
|
|
184
|
+
print(f"VIAF {c['viaf_id']}: {c['name']} "
|
|
185
|
+
f"({c['source_count']} libraries)")
|
|
186
|
+
|
|
187
|
+
# Example: get all name forms for an author
|
|
188
|
+
if candidates:
|
|
189
|
+
record = get_authority(candidates[0]["viaf_id"])
|
|
190
|
+
print(f"\nName forms for {record['viaf_id']}:")
|
|
191
|
+
for form in record["name_forms"]:
|
|
192
|
+
sources = ", ".join(form["sources"][:3])
|
|
193
|
+
print(f" {form['text']} [{sources}]")
|
|
194
|
+
print(f"External IDs: {record['external_ids']}")
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Use Cases
|
|
198
|
+
|
|
199
|
+
1. **Author disambiguation**: Resolve name variants to canonical identities
|
|
200
|
+
2. **Cross-library linking**: Connect records across national catalogs
|
|
201
|
+
3. **Bibliometric deduplication**: Merge author records from different databases
|
|
202
|
+
4. **Identity verification**: Confirm author identity via multiple authority sources
|
|
203
|
+
5. **Linked data enrichment**: Bridge ORCID, Wikidata, and library authorities
|
|
204
|
+
|
|
205
|
+
## References
|
|
206
|
+
|
|
207
|
+
- [VIAF](https://viaf.org/)
|
|
208
|
+
- [VIAF API Documentation](https://www.oclc.org/developer/api/oclc-apis/viaf.en.html)
|
|
209
|
+
- [VIAF Guidelines](https://www.oclc.org/research/activities/viaf.html)
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wikidata-api-guide
|
|
3
|
+
description: "Query Wikidata SPARQL for scholarly metadata, authors, and entities"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🌐"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "metadata"
|
|
9
|
+
keywords: ["wikidata", "sparql", "linked-data", "metadata", "knowledge-graph", "scholarly"]
|
|
10
|
+
source: "https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Wikidata SPARQL API Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Wikidata is a free, collaborative, multilingual knowledge base maintained by the Wikimedia Foundation. It contains structured data about millions of entities including scholarly articles, academic journals, researchers, universities, and scientific concepts. Each entity has a unique QID and properties linking it to other entities, forming a rich knowledge graph.
|
|
18
|
+
|
|
19
|
+
For academic researchers, Wikidata serves as a powerful tool for bibliometric analysis, disambiguation of author names, mapping institutional relationships, and linking scholarly outputs across different identifier systems (DOI, ORCID, PubMed ID, arXiv ID, etc.). The SPARQL query service provides a flexible, standards-based interface for complex graph queries.
|
|
20
|
+
|
|
21
|
+
The Wikidata Query Service is entirely free, requires no authentication, and supports the full SPARQL 1.1 query language. It is especially powerful for cross-referencing scholarly metadata that spans multiple databases and identifier systems.
|
|
22
|
+
|
|
23
|
+
## Authentication
|
|
24
|
+
|
|
25
|
+
No authentication is required. The Wikidata SPARQL endpoint is free and open.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# No API key needed -- set a descriptive User-Agent header as courtesy
|
|
29
|
+
curl -G "https://query.wikidata.org/sparql" \
|
|
30
|
+
--data-urlencode "query=SELECT ?item WHERE { ?item wdt:P31 wd:Q5 } LIMIT 5" \
|
|
31
|
+
-H "Accept: application/json" \
|
|
32
|
+
-H "User-Agent: ResearchClaw/1.0 (academic research tool)"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Core Endpoints
|
|
36
|
+
|
|
37
|
+
### SPARQL Query Endpoint
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
GET https://query.wikidata.org/sparql?query={SPARQL}&format=json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Parameters:**
|
|
44
|
+
- `query` (required): URL-encoded SPARQL query
|
|
45
|
+
- `format`: Response format (`json`, `xml`, `csv`, `tsv`)
|
|
46
|
+
|
|
47
|
+
### Query: Find Papers by a Researcher (via ORCID)
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
curl -G "https://query.wikidata.org/sparql" \
|
|
51
|
+
--data-urlencode 'query=
|
|
52
|
+
SELECT ?paper ?paperLabel ?doi WHERE {
|
|
53
|
+
?author wdt:P496 "0000-0002-1825-0097" .
|
|
54
|
+
?paper wdt:P50 ?author ;
|
|
55
|
+
wdt:P356 ?doi .
|
|
56
|
+
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
|
|
57
|
+
} LIMIT 20' \
|
|
58
|
+
-H "Accept: application/json" \
|
|
59
|
+
-H "User-Agent: ResearchClaw/1.0"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Query: Journal Impact and Article Counts
|
|
63
|
+
|
|
64
|
+
```sparql
|
|
65
|
+
SELECT ?journal ?journalLabel ?issn (COUNT(?article) AS ?articleCount) WHERE {
|
|
66
|
+
?journal wdt:P31 wd:Q5633421 ;
|
|
67
|
+
wdt:P236 ?issn .
|
|
68
|
+
?article wdt:P1433 ?journal .
|
|
69
|
+
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
|
|
70
|
+
}
|
|
71
|
+
GROUP BY ?journal ?journalLabel ?issn
|
|
72
|
+
ORDER BY DESC(?articleCount)
|
|
73
|
+
LIMIT 20
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Python Example: Cross-Reference Author Identifiers
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
import requests
|
|
80
|
+
|
|
81
|
+
SPARQL_URL = "https://query.wikidata.org/sparql"
|
|
82
|
+
HEADERS = {
|
|
83
|
+
"Accept": "application/json",
|
|
84
|
+
"User-Agent": "ResearchClaw/1.0 (academic research tool)"
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
def query_wikidata(sparql_query):
|
|
88
|
+
"""Execute a SPARQL query against Wikidata."""
|
|
89
|
+
resp = requests.get(
|
|
90
|
+
SPARQL_URL,
|
|
91
|
+
params={"query": sparql_query},
|
|
92
|
+
headers=HEADERS
|
|
93
|
+
)
|
|
94
|
+
resp.raise_for_status()
|
|
95
|
+
data = resp.json()
|
|
96
|
+
return data["results"]["bindings"]
|
|
97
|
+
|
|
98
|
+
# Find all identifier mappings for a researcher
|
|
99
|
+
sparql = """
|
|
100
|
+
SELECT ?person ?personLabel ?orcid ?scopus ?dblp ?gscholar WHERE {
|
|
101
|
+
?person wdt:P496 "0000-0002-1825-0097" .
|
|
102
|
+
OPTIONAL { ?person wdt:P496 ?orcid . }
|
|
103
|
+
OPTIONAL { ?person wdt:P1153 ?scopus . }
|
|
104
|
+
OPTIONAL { ?person wdt:P2456 ?dblp . }
|
|
105
|
+
OPTIONAL { ?person wdt:P1960 ?gscholar . }
|
|
106
|
+
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
|
|
107
|
+
}
|
|
108
|
+
"""
|
|
109
|
+
results = query_wikidata(sparql)
|
|
110
|
+
for r in results:
|
|
111
|
+
print(f"Name: {r.get('personLabel', {}).get('value', 'N/A')}")
|
|
112
|
+
print(f" ORCID: {r.get('orcid', {}).get('value', 'N/A')}")
|
|
113
|
+
print(f" Scopus: {r.get('scopus', {}).get('value', 'N/A')}")
|
|
114
|
+
print(f" DBLP: {r.get('dblp', {}).get('value', 'N/A')}")
|
|
115
|
+
print(f" Google Scholar: {r.get('gscholar', {}).get('value', 'N/A')}")
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Query: Institutions by Country with Coordinates
|
|
119
|
+
|
|
120
|
+
```sparql
|
|
121
|
+
SELECT ?uni ?uniLabel ?country ?countryLabel ?coord WHERE {
|
|
122
|
+
?uni wdt:P31 wd:Q3918 ;
|
|
123
|
+
wdt:P17 ?country ;
|
|
124
|
+
wdt:P625 ?coord .
|
|
125
|
+
FILTER(?country = wd:Q30)
|
|
126
|
+
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
|
|
127
|
+
}
|
|
128
|
+
LIMIT 50
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Common Research Patterns
|
|
132
|
+
|
|
133
|
+
**Author Disambiguation:** Use Wikidata to resolve author names by cross-referencing ORCID, Scopus ID, DBLP, and Google Scholar identifiers. This is particularly useful when a common name maps to multiple researchers.
|
|
134
|
+
|
|
135
|
+
**Bibliometric Graph Construction:** Build citation and co-authorship networks by querying the relationships between authors, papers, journals, and institutions in the Wikidata graph.
|
|
136
|
+
|
|
137
|
+
**Identifier Translation:** Convert between DOI, PubMed ID, arXiv ID, and other identifiers using Wikidata's comprehensive property mappings. This enables linking records across heterogeneous databases.
|
|
138
|
+
|
|
139
|
+
**Institutional Analysis:** Map university affiliations, geographic distributions, and organizational hierarchies for researchers in a specific field.
|
|
140
|
+
|
|
141
|
+
## Rate Limits and Best Practices
|
|
142
|
+
|
|
143
|
+
- **Query timeout:** 60 seconds; optimize complex queries with filters and limits
|
|
144
|
+
- **Request rate:** No strict published limit, but keep requests under 1 per second for sustained usage
|
|
145
|
+
- **User-Agent required:** Always include a descriptive User-Agent header identifying your application
|
|
146
|
+
- **LIMIT clause:** Always include a LIMIT clause to prevent accidentally fetching millions of results
|
|
147
|
+
- **Label service:** Use `SERVICE wikibase:label` for human-readable labels instead of QIDs
|
|
148
|
+
- **Caching:** Wikidata results are fairly stable; cache results for repeated queries
|
|
149
|
+
- **Bulk queries:** For large-scale data extraction, consider using Wikidata dumps instead of the query service
|
|
150
|
+
|
|
151
|
+
## References
|
|
152
|
+
|
|
153
|
+
- Wikidata SPARQL Query Service: https://query.wikidata.org/
|
|
154
|
+
- Wikidata SPARQL Tutorial: https://www.wikidata.org/wiki/Wikidata:SPARQL_tutorial
|
|
155
|
+
- Wikidata Properties for Scholarly Articles: https://www.wikidata.org/wiki/Wikidata:WikiProject_Source_MetaData
|
|
156
|
+
- Wikidata REST API: https://www.wikidata.org/wiki/Wikidata:REST_API
|