@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,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paper-recommendation-guide
|
|
3
|
+
description: "Systematic paper recommendation and discovery using multiple methods"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🎯"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["paper recommendation", "literature discovery", "related papers", "reading list", "citation-based", "algorithmic discovery"]
|
|
10
|
+
source: "https://github.com/pengzhenghao/paper-recommendation"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Paper Recommendation Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Finding the right papers to read is a research skill in itself. Beyond keyword searches, modern researchers have access to a rich ecosystem of recommendation tools that use citation networks, semantic similarity, co-authorship patterns, and collaborative filtering to surface relevant papers you might otherwise miss.
|
|
18
|
+
|
|
19
|
+
This skill provides a systematic approach to paper discovery that goes beyond passive reading. It covers algorithmic recommendation services, citation-based discovery techniques, social and community-driven methods, and strategies for building and maintaining a well-curated reading pipeline. The goal is to minimize the chance that you miss an important paper while avoiding information overload.
|
|
20
|
+
|
|
21
|
+
Whether you are entering a new field and need foundational papers, tracking the frontier of a mature research area, or looking for interdisciplinary connections, this guide provides concrete methods for each scenario.
|
|
22
|
+
|
|
23
|
+
## Algorithmic Recommendation Services
|
|
24
|
+
|
|
25
|
+
### Semantic Scholar Recommendations
|
|
26
|
+
|
|
27
|
+
Semantic Scholar provides a free recommendation API that suggests papers based on a set of seed papers you provide:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Get recommendations based on positive and negative example papers
|
|
31
|
+
curl -X POST "https://api.semanticscholar.org/recommendations/v1/papers/" \
|
|
32
|
+
-H "Content-Type: application/json" \
|
|
33
|
+
-d '{
|
|
34
|
+
"positivePaperIds": ["CorpusId:12345", "CorpusId:67890"],
|
|
35
|
+
"negativePaperIds": ["CorpusId:11111"],
|
|
36
|
+
"fields": "title,authors,year,citationCount,url"
|
|
37
|
+
}'
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The positive/negative seed approach lets you steer recommendations toward the specific intersection of topics you care about. Start with 3-5 highly relevant papers as positive seeds and 1-2 off-topic papers as negative seeds.
|
|
41
|
+
|
|
42
|
+
### Connected Papers
|
|
43
|
+
|
|
44
|
+
Connected Papers (connectedpapers.com) builds a visual graph of papers related to a seed paper. It uses co-citation and bibliographic coupling analysis rather than direct citation links, which means it can surface related work even when two papers do not cite each other directly. Use this when:
|
|
45
|
+
|
|
46
|
+
- You have one key paper and want to map the surrounding literature
|
|
47
|
+
- You want to identify distinct clusters of related research
|
|
48
|
+
- You need to find the "origin paper" for an idea by tracing the graph backward
|
|
49
|
+
|
|
50
|
+
### Google Scholar Recommendations
|
|
51
|
+
|
|
52
|
+
Google Scholar's "Related articles" feature and the personalized recommendation emails (if you maintain a Google Scholar profile) use a combination of citation analysis and content similarity. To maximize their usefulness:
|
|
53
|
+
|
|
54
|
+
- Maintain an up-to-date Google Scholar profile with your publications
|
|
55
|
+
- Use the "Library" feature to save papers—this trains the recommendation algorithm
|
|
56
|
+
- Set up Google Scholar Alerts for key queries and author names
|
|
57
|
+
- Check the "Related articles" link on every important paper you read
|
|
58
|
+
|
|
59
|
+
### Research Rabbit
|
|
60
|
+
|
|
61
|
+
Research Rabbit (researchrabbitapp.com) lets you build collections of papers and then visualizes networks of related work, similar work, and suggested papers. It integrates with Zotero for importing existing libraries. Key features:
|
|
62
|
+
|
|
63
|
+
- "Similar Work" tab: finds papers with semantic similarity
|
|
64
|
+
- "All References" and "All Citations": explores the citation tree
|
|
65
|
+
- "These Authors" and "Suggested Authors": discovers researchers working on related topics
|
|
66
|
+
- Shareable collections for collaborative literature discovery
|
|
67
|
+
|
|
68
|
+
## Citation-Based Discovery Methods
|
|
69
|
+
|
|
70
|
+
When algorithmic tools are insufficient, manual citation-based techniques remain powerful:
|
|
71
|
+
|
|
72
|
+
### Forward Citation Chaining
|
|
73
|
+
Start with a foundational paper. Find all papers that cite it (using Google Scholar, Semantic Scholar, or Web of Science). Screen these citing papers by title and abstract to find relevant descendants. Repeat for the most important descendants.
|
|
74
|
+
|
|
75
|
+
### Backward Citation Mining
|
|
76
|
+
Read the reference list of a key paper. Identify and retrieve the most important cited works. This traces the intellectual lineage of ideas and helps you find the seminal papers in a subfield.
|
|
77
|
+
|
|
78
|
+
### Co-Citation Analysis
|
|
79
|
+
Two papers that are frequently cited together in other papers are likely related, even if they do not cite each other. Tools like VOSviewer and CiteSpace can visualize co-citation clusters from a set of papers, revealing the intellectual structure of a field.
|
|
80
|
+
|
|
81
|
+
### Bibliographic Coupling
|
|
82
|
+
Two papers that share many references are likely addressing related questions. This is the inverse of co-citation and is more useful for discovering recent papers that have not yet accumulated citations.
|
|
83
|
+
|
|
84
|
+
## Building a Reading Pipeline
|
|
85
|
+
|
|
86
|
+
A sustainable paper discovery practice requires more than one-off searches. Build a pipeline that continuously surfaces new relevant work:
|
|
87
|
+
|
|
88
|
+
### Weekly Routine
|
|
89
|
+
|
|
90
|
+
1. **Check preprint alerts**: Review your arXiv, bioRxiv, or SSRN email alerts or RSS feeds (15 min).
|
|
91
|
+
2. **Scan citation alerts**: Review Google Scholar citation alerts for new papers citing your key references (10 min).
|
|
92
|
+
3. **Process recommendation queue**: Review suggestions from Semantic Scholar, Research Rabbit, or Connected Papers for any recently added seed papers (10 min).
|
|
93
|
+
4. **Social signals**: Scan academic Twitter/Mastodon, relevant subreddits, or lab group Slack channels for shared papers (10 min).
|
|
94
|
+
5. **Triage and queue**: Add promising papers to your "to read" queue with a priority tag (high/medium/low) and the reason you flagged them.
|
|
95
|
+
|
|
96
|
+
### Managing the Reading Queue
|
|
97
|
+
|
|
98
|
+
Avoid the trap of an ever-growing, never-read paper queue:
|
|
99
|
+
|
|
100
|
+
- **Time-box reading**: Dedicate specific blocks (e.g., 2 hours Tuesday/Thursday) to reading queued papers.
|
|
101
|
+
- **Triage aggressively**: Not every flagged paper needs a full read. Use a 3-tier system: skim (5 min), selective read (20 min), deep read (60+ min).
|
|
102
|
+
- **Expire old items**: Papers that have been in your queue for more than 8 weeks without being read should be re-evaluated. If they are still relevant, read them now; otherwise, archive them.
|
|
103
|
+
- **Track what you read**: Maintain a reading log with dates and brief notes to build a personal knowledge base.
|
|
104
|
+
|
|
105
|
+
## Interdisciplinary Discovery
|
|
106
|
+
|
|
107
|
+
Finding papers outside your primary field is particularly challenging because you may not know the right terminology. Strategies include:
|
|
108
|
+
|
|
109
|
+
- **Concept-based search**: Use tools like OpenAlex that organize papers by research concepts rather than keywords.
|
|
110
|
+
- **Review articles**: Find review articles in the adjacent field—they provide curated entry points and vocabulary.
|
|
111
|
+
- **Cross-field citation chaining**: When your field's paper cites work from another discipline, follow that reference chain.
|
|
112
|
+
- **Ask experts**: Reach out to researchers in adjacent fields and ask for their recommended reading list for a newcomer.
|
|
113
|
+
|
|
114
|
+
## References
|
|
115
|
+
|
|
116
|
+
- Semantic Scholar API: https://api.semanticscholar.org
|
|
117
|
+
- Connected Papers: https://www.connectedpapers.com
|
|
118
|
+
- Research Rabbit: https://www.researchrabbitapp.com
|
|
119
|
+
- Paper Recommendation: https://github.com/pengzhenghao/paper-recommendation
|
|
120
|
+
- VOSviewer: https://www.vosviewer.com
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: papers-we-love-guide
|
|
3
|
+
description: "Community-curated directory of influential CS research papers"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "❤️"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["papers we love", "CS papers", "reading groups", "classic papers", "paper recommendations", "curated list"]
|
|
10
|
+
source: "https://github.com/papers-we-love/papers-we-love"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Papers We Love Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Papers We Love (PWL) is a community-driven repository of influential computer science research papers organized by topic, with worldwide reading groups. The repository contains direct links to PDFs and summaries for hundreds of landmark papers across distributed systems, programming languages, machine learning, security, and more. A go-to resource for discovering foundational and impactful research.
|
|
18
|
+
|
|
19
|
+
## Repository Structure
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
papers-we-love/
|
|
23
|
+
├── distributed_systems/
|
|
24
|
+
│ ├── README.md # Curated list with descriptions
|
|
25
|
+
│ ├── lamport-clocks.pdf
|
|
26
|
+
│ └── raft.pdf
|
|
27
|
+
├── machine_learning/
|
|
28
|
+
├── programming_languages/
|
|
29
|
+
├── security/
|
|
30
|
+
├── databases/
|
|
31
|
+
├── networking/
|
|
32
|
+
├── information_retrieval/
|
|
33
|
+
├── artificial_intelligence/
|
|
34
|
+
├── concurrency/
|
|
35
|
+
├── operating_systems/
|
|
36
|
+
└── ... (40+ categories)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Topic Categories
|
|
40
|
+
|
|
41
|
+
| Category | Notable Papers |
|
|
42
|
+
|----------|---------------|
|
|
43
|
+
| **Distributed Systems** | Paxos, Raft, MapReduce, Dynamo |
|
|
44
|
+
| **Machine Learning** | Backpropagation, Dropout, Attention, BatchNorm |
|
|
45
|
+
| **Programming Languages** | Lambda calculus, Type inference, Hindley-Milner |
|
|
46
|
+
| **Databases** | B-Trees, LSM-Trees, MVCC, Column stores |
|
|
47
|
+
| **Security** | Public-key crypto, Zero-knowledge proofs, TLS |
|
|
48
|
+
| **Networking** | TCP congestion, BGP, Software-defined networking |
|
|
49
|
+
| **Operating Systems** | Unix, Microkernel debate, Virtual memory |
|
|
50
|
+
| **Concurrency** | CSP, Actor model, Software transactional memory |
|
|
51
|
+
|
|
52
|
+
## Using PWL for Research
|
|
53
|
+
|
|
54
|
+
### Finding Papers by Topic
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Clone the repository
|
|
58
|
+
git clone https://github.com/papers-we-love/papers-we-love.git
|
|
59
|
+
|
|
60
|
+
# Browse categories
|
|
61
|
+
ls papers-we-love/
|
|
62
|
+
|
|
63
|
+
# Each directory has a README with curated descriptions
|
|
64
|
+
cat papers-we-love/distributed_systems/README.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Programmatic Access
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
import os
|
|
71
|
+
import glob
|
|
72
|
+
|
|
73
|
+
PWL_PATH = "./papers-we-love"
|
|
74
|
+
|
|
75
|
+
# List all categories
|
|
76
|
+
categories = [d for d in os.listdir(PWL_PATH)
|
|
77
|
+
if os.path.isdir(os.path.join(PWL_PATH, d))
|
|
78
|
+
and not d.startswith('.')]
|
|
79
|
+
print(f"Categories: {len(categories)}")
|
|
80
|
+
|
|
81
|
+
# Find papers in a category
|
|
82
|
+
ml_papers = glob.glob(f"{PWL_PATH}/machine_learning/*.pdf")
|
|
83
|
+
for p in ml_papers:
|
|
84
|
+
print(f" {os.path.basename(p)}")
|
|
85
|
+
|
|
86
|
+
# Search across all READMEs for a topic
|
|
87
|
+
import re
|
|
88
|
+
for readme in glob.glob(f"{PWL_PATH}/*/README.md"):
|
|
89
|
+
with open(readme) as f:
|
|
90
|
+
content = f.read()
|
|
91
|
+
if re.search(r"consensus|paxos|raft", content, re.I):
|
|
92
|
+
category = os.path.basename(os.path.dirname(readme))
|
|
93
|
+
print(f"Found in: {category}")
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Reading Group Integration
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
# PWL chapters host monthly meetups worldwide
|
|
100
|
+
# Find local chapters at paperswelove.org
|
|
101
|
+
|
|
102
|
+
chapters = {
|
|
103
|
+
"New York": "meetup.com/papers-we-love",
|
|
104
|
+
"San Francisco": "meetup.com/papers-we-love-too",
|
|
105
|
+
"London": "meetup.com/papers-we-love-london",
|
|
106
|
+
"Berlin": "meetup.com/papers-we-love-berlin",
|
|
107
|
+
# 40+ chapters globally
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
# Video talks on YouTube
|
|
111
|
+
# youtube.com/@PapersWeLove — recorded presentations
|
|
112
|
+
# Each talk: 30-60 min paper walkthrough by practitioner
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Building a Reading List
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
# Curate a personal reading list from PWL
|
|
119
|
+
essential_distributed = [
|
|
120
|
+
"Time, Clocks, and the Ordering of Events (Lamport, 1978)",
|
|
121
|
+
"The Byzantine Generals Problem (Lamport et al., 1982)",
|
|
122
|
+
"Impossibility of Distributed Consensus (FLP, 1985)",
|
|
123
|
+
"Paxos Made Simple (Lamport, 2001)",
|
|
124
|
+
"In Search of an Understandable Consensus Algorithm (Raft, 2014)",
|
|
125
|
+
"Dynamo: Amazon's Key-Value Store (DeCandia et al., 2007)",
|
|
126
|
+
"MapReduce: Simplified Data Processing (Dean & Ghemawat, 2004)",
|
|
127
|
+
]
|
|
128
|
+
|
|
129
|
+
essential_ml = [
|
|
130
|
+
"A Few Useful Things to Know About ML (Domingos, 2012)",
|
|
131
|
+
"Dropout: A Simple Way to Prevent Overfitting (Srivastava, 2014)",
|
|
132
|
+
"Batch Normalization (Ioffe & Szegedy, 2015)",
|
|
133
|
+
"Attention Is All You Need (Vaswani et al., 2017)",
|
|
134
|
+
"BERT: Pre-training of Deep Bidirectional Transformers (2018)",
|
|
135
|
+
]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Contributing to PWL
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
## How to Contribute
|
|
142
|
+
|
|
143
|
+
1. Fork the repository
|
|
144
|
+
2. Add paper PDF to appropriate category directory
|
|
145
|
+
3. Update the category README.md with:
|
|
146
|
+
- Paper title and authors
|
|
147
|
+
- Year of publication
|
|
148
|
+
- Brief description (2-3 sentences)
|
|
149
|
+
- Why it matters
|
|
150
|
+
4. Submit a pull request
|
|
151
|
+
|
|
152
|
+
### README Entry Format
|
|
153
|
+
- :scroll: [Paper Title](link) — Brief description.
|
|
154
|
+
Authors (Year). *Venue*.
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Use Cases
|
|
158
|
+
|
|
159
|
+
1. **Literature exploration**: Discover landmark papers by topic
|
|
160
|
+
2. **Reading groups**: Structured paper discussions with community
|
|
161
|
+
3. **Course preparation**: Curate reading lists for CS courses
|
|
162
|
+
4. **Onboarding**: Get up to speed on a new research area
|
|
163
|
+
5. **Historical context**: Trace the evolution of CS ideas
|
|
164
|
+
|
|
165
|
+
## References
|
|
166
|
+
|
|
167
|
+
- [Papers We Love GitHub](https://github.com/papers-we-love/papers-we-love)
|
|
168
|
+
- [Papers We Love Website](https://paperswelove.org/)
|
|
169
|
+
- [PWL YouTube Channel](https://www.youtube.com/@PapersWeLove)
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: semantic-paper-radar
|
|
3
|
+
description: "Semantic literature discovery and synthesis using embeddings"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "📡"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["semantic search", "embeddings", "literature synthesis", "paper discovery", "vector search", "knowledge mapping"]
|
|
10
|
+
source: "https://github.com/mukulpatnaik/researchgpt"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Semantic Paper Radar
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Traditional literature search relies on keyword matching—you find papers that contain the exact terms you search for. Semantic paper discovery goes further by understanding the meaning of research content and finding papers that are conceptually related, even when they use different terminology. This is especially powerful for interdisciplinary research, where the same idea may be expressed in completely different vocabularies across fields.
|
|
18
|
+
|
|
19
|
+
The Semantic Paper Radar skill provides methods for using embedding-based semantic search, vector databases, and AI-powered synthesis to build a comprehensive, continuously updated view of the literature relevant to your research. It enables you to discover papers you would never find through keyword search alone and to synthesize findings across large bodies of work.
|
|
20
|
+
|
|
21
|
+
This skill covers setting up a personal semantic search index over your paper collection, querying public semantic search APIs, and using LLM-powered analysis to extract themes and connections from clusters of related papers.
|
|
22
|
+
|
|
23
|
+
## Semantic Search Fundamentals
|
|
24
|
+
|
|
25
|
+
### How Embedding-Based Search Works
|
|
26
|
+
|
|
27
|
+
Semantic search represents both your query and each paper as dense numerical vectors (embeddings) in a high-dimensional space. Papers whose embeddings are close to your query's embedding are semantically similar, regardless of the specific words used.
|
|
28
|
+
|
|
29
|
+
Key components:
|
|
30
|
+
- **Embedding model**: Converts text to vectors. Models like SPECTER2, SciBERT, or general-purpose models like `text-embedding-3-small` work well for academic text.
|
|
31
|
+
- **Vector database**: Stores and indexes embeddings for fast similarity search. Options include ChromaDB (local), Qdrant, Pinecone, or Weaviate.
|
|
32
|
+
- **Similarity metric**: Cosine similarity is standard for comparing text embeddings.
|
|
33
|
+
|
|
34
|
+
### Using Semantic Scholar's Embedding Search
|
|
35
|
+
|
|
36
|
+
Semantic Scholar provides pre-computed SPECTER embeddings for millions of papers. You can use their search API for semantic queries:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Semantic search via the Semantic Scholar API
|
|
40
|
+
curl "https://api.semanticscholar.org/graph/v1/paper/search?query=attention+mechanisms+for+graph+neural+networks&fields=title,abstract,year,citationCount&limit=20"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The search endpoint uses semantic matching, not just keyword matching. A query like "methods for handling missing values in longitudinal studies" will find papers about imputation techniques, dropout analysis, and panel data methods even if they do not use the phrase "missing values."
|
|
44
|
+
|
|
45
|
+
### Building a Personal Semantic Index
|
|
46
|
+
|
|
47
|
+
For deeper control, build a local semantic search index over your own paper collection:
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
import chromadb
|
|
51
|
+
from sentence_transformers import SentenceTransformer
|
|
52
|
+
|
|
53
|
+
# Initialize
|
|
54
|
+
model = SentenceTransformer("allenai/specter2")
|
|
55
|
+
client = chromadb.PersistentClient(path="./paper_index")
|
|
56
|
+
collection = client.get_or_create_collection(
|
|
57
|
+
name="my_papers",
|
|
58
|
+
metadata={"hnsw:space": "cosine"}
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# Index a paper
|
|
62
|
+
abstract = "We propose a novel attention mechanism for graph neural networks..."
|
|
63
|
+
embedding = model.encode(abstract).tolist()
|
|
64
|
+
collection.add(
|
|
65
|
+
documents=[abstract],
|
|
66
|
+
embeddings=[embedding],
|
|
67
|
+
metadatas=[{"title": "Graph Attention v2", "year": 2025, "arxiv_id": "2501.xxxxx"}],
|
|
68
|
+
ids=["paper_001"]
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
# Query
|
|
72
|
+
results = collection.query(
|
|
73
|
+
query_embeddings=[model.encode("message passing in GNNs").tolist()],
|
|
74
|
+
n_results=10
|
|
75
|
+
)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
This local index lets you search across all papers you have collected using natural language queries. As you add more papers, the index becomes a personalized discovery tool tuned to your specific research interests.
|
|
79
|
+
|
|
80
|
+
## Discovery Workflows
|
|
81
|
+
|
|
82
|
+
### Concept Expansion Radar
|
|
83
|
+
|
|
84
|
+
Use semantic search to expand your awareness beyond your current reading:
|
|
85
|
+
|
|
86
|
+
1. **Seed**: Take the abstract of your current paper (or a paragraph describing your research question).
|
|
87
|
+
2. **Search**: Run it as a semantic query against a large corpus (Semantic Scholar, OpenAlex, or your local index).
|
|
88
|
+
3. **Filter**: Remove papers you have already read. Sort by a combination of semantic similarity and recency.
|
|
89
|
+
4. **Cluster**: Group the top 50 results into thematic clusters using k-means or HDBSCAN on their embeddings.
|
|
90
|
+
5. **Explore clusters**: Each cluster represents a related subtopic. Read the most-cited paper in each cluster to understand the connection to your work.
|
|
91
|
+
|
|
92
|
+
### Cross-Disciplinary Bridge Detection
|
|
93
|
+
|
|
94
|
+
Semantic search excels at finding papers from other fields that address similar problems:
|
|
95
|
+
|
|
96
|
+
1. Describe your research problem in plain, non-technical language.
|
|
97
|
+
2. Run this as a semantic query without restricting to your field's journals or categories.
|
|
98
|
+
3. Review results from unexpected fields—these are potential interdisciplinary connections.
|
|
99
|
+
4. For each bridge paper, check its reference list for more domain-specific work in that field.
|
|
100
|
+
|
|
101
|
+
### Novelty Radar
|
|
102
|
+
|
|
103
|
+
Set up periodic semantic searches to detect new papers in your area:
|
|
104
|
+
|
|
105
|
+
1. Define 3-5 "concept vectors" by encoding descriptions of your core research interests.
|
|
106
|
+
2. Weekly, search against newly published papers (last 7 days) from arXiv or Semantic Scholar.
|
|
107
|
+
3. Rank new papers by maximum similarity to any of your concept vectors.
|
|
108
|
+
4. Papers above your similarity threshold enter your reading queue automatically.
|
|
109
|
+
|
|
110
|
+
## Semantic Synthesis
|
|
111
|
+
|
|
112
|
+
Once you have discovered a cluster of related papers, use AI-assisted synthesis to extract insights across the collection:
|
|
113
|
+
|
|
114
|
+
### Theme Extraction
|
|
115
|
+
|
|
116
|
+
Feed the abstracts of a cluster of papers to an LLM and ask for:
|
|
117
|
+
- Common themes and findings across the papers
|
|
118
|
+
- Points of disagreement or contradiction
|
|
119
|
+
- Methodological trends (what approaches are gaining vs. losing popularity)
|
|
120
|
+
- Open questions that none of the papers fully address
|
|
121
|
+
|
|
122
|
+
### Evidence Mapping
|
|
123
|
+
|
|
124
|
+
Create a structured evidence map from your semantic cluster:
|
|
125
|
+
|
|
126
|
+
| Theme | Supporting Papers | Contradicting Papers | Strength of Evidence |
|
|
127
|
+
|-------|-------------------|----------------------|---------------------|
|
|
128
|
+
| Theme A | [1], [3], [7] | [5] | Strong |
|
|
129
|
+
| Theme B | [2], [4] | None | Moderate |
|
|
130
|
+
| Theme C | [6] | [1], [8] | Contested |
|
|
131
|
+
|
|
132
|
+
This provides a bird's-eye view of where consensus exists and where debates remain open.
|
|
133
|
+
|
|
134
|
+
### Gap Identification
|
|
135
|
+
|
|
136
|
+
Compare your research question against the semantic landscape of existing work. Regions of embedding space where your query falls but few papers exist represent potential research gaps—areas where your contribution would be most novel.
|
|
137
|
+
|
|
138
|
+
## References
|
|
139
|
+
|
|
140
|
+
- Semantic Scholar API: https://api.semanticscholar.org
|
|
141
|
+
- SPECTER2 model: https://huggingface.co/allenai/specter2
|
|
142
|
+
- ChromaDB: https://www.trychroma.com
|
|
143
|
+
- ResearchGPT: https://github.com/mukulpatnaik/researchgpt
|
|
144
|
+
- OpenAlex: https://openalex.org
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zotero-arxiv-daily-guide
|
|
3
|
+
description: "Guide to Zotero arXiv Daily for personalized daily paper recommendations"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "📰"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["zotero", "arxiv", "daily-papers", "recommendations", "preprint", "discovery"]
|
|
10
|
+
source: "https://github.com/TechPenguineer/zotero-arxiv-daily"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Zotero arXiv Daily Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Zotero arXiv Daily is a popular Zotero plugin with over 5,000 GitHub stars that delivers personalized daily paper recommendations from arXiv directly into your Zotero library. By analyzing the papers you already have in your collections, the plugin identifies your research interests and surfaces new preprints that are most relevant to your work.
|
|
18
|
+
|
|
19
|
+
The challenge of staying current with preprint literature is well known to researchers. ArXiv publishes thousands of new papers daily across dozens of categories, and manually scanning listings or relying solely on keyword alerts often results in information overload or missed relevant work. Zotero arXiv Daily addresses this by using your existing library as a profile of your interests, producing recommendations that improve as your library grows.
|
|
20
|
+
|
|
21
|
+
The plugin integrates naturally into the Zotero workflow. Recommended papers appear in a dedicated collection where you can review titles and abstracts, save promising papers to your working collections, and dismiss irrelevant suggestions. Over time the recommendation engine learns from your accept and dismiss decisions, refining its model of your interests.
|
|
22
|
+
|
|
23
|
+
## Installation and Setup
|
|
24
|
+
|
|
25
|
+
Install Zotero arXiv Daily through the standard Zotero plugin process:
|
|
26
|
+
|
|
27
|
+
1. Download the latest `.xpi` release from https://github.com/TechPenguineer/zotero-arxiv-daily/releases
|
|
28
|
+
2. In Zotero, go to Tools > Add-ons > gear icon > Install Add-on From File
|
|
29
|
+
3. Select the `.xpi` file and restart Zotero
|
|
30
|
+
|
|
31
|
+
Configure the plugin after installation:
|
|
32
|
+
|
|
33
|
+
- Open Zotero Preferences > arXiv Daily
|
|
34
|
+
- Select the arXiv categories relevant to your research (e.g., cs.AI, cs.CL, stat.ML, physics.comp-ph)
|
|
35
|
+
- Choose which Zotero collections to use as the basis for recommendations (your core research collections work best)
|
|
36
|
+
- Set the number of daily recommendations (10-30 is typical)
|
|
37
|
+
- Configure the schedule for fetching new recommendations (daily at a specific time or on-demand)
|
|
38
|
+
- Set up a dedicated Zotero collection where recommendations will appear
|
|
39
|
+
|
|
40
|
+
For enhanced recommendation quality, ensure your library collections are well-organized. The algorithm performs better when it can distinguish between your core research interests and peripheral references. Consider creating a dedicated collection of your most representative papers to serve as the recommendation seed.
|
|
41
|
+
|
|
42
|
+
## Core Features
|
|
43
|
+
|
|
44
|
+
**Personalized Recommendations**: The plugin analyzes titles, abstracts, authors, and citation patterns in your Zotero library to build a profile of your research interests. New arXiv submissions are scored against this profile and the top matches are presented as daily recommendations.
|
|
45
|
+
|
|
46
|
+
**Category Filtering**: Select specific arXiv categories to narrow the recommendation scope. This prevents the system from suggesting papers in completely unrelated fields while still allowing cross-disciplinary discoveries within your selected categories.
|
|
47
|
+
|
|
48
|
+
**Daily Digest View**: Recommendations appear in a dedicated Zotero collection organized by date. Each entry includes the paper title, authors, abstract, arXiv identifier, and a relevance score indicating how closely it matches your library profile.
|
|
49
|
+
|
|
50
|
+
**Quick Actions**: For each recommended paper, you can:
|
|
51
|
+
- Save to a working collection with one click
|
|
52
|
+
- Open the full paper on arXiv
|
|
53
|
+
- Download the PDF directly to Zotero
|
|
54
|
+
- Dismiss the recommendation (improves future suggestions)
|
|
55
|
+
- Add tags for later organization
|
|
56
|
+
|
|
57
|
+
**Trend Detection**: The plugin can highlight papers that are receiving unusual attention in your field based on early citation velocity and social media mentions. This helps you identify potentially important work before it becomes widely known.
|
|
58
|
+
|
|
59
|
+
**Author Tracking**: When the plugin detects papers by authors who are frequently cited in your library, it flags these with higher priority. This ensures you never miss new work from the researchers most relevant to your field.
|
|
60
|
+
|
|
61
|
+
## Research Workflow Integration
|
|
62
|
+
|
|
63
|
+
**Morning Review Routine**: Start your research day by spending 10-15 minutes reviewing the daily arXiv recommendations. Scan titles and abstracts, save promising papers to a "To Read" collection, and dismiss irrelevant ones. This disciplined approach keeps you current without consuming excessive time.
|
|
64
|
+
|
|
65
|
+
**Literature Review Enhancement**: During active literature review phases, increase the number of daily recommendations and expand the arXiv categories. The plugin helps identify relevant preprints that may not yet appear in traditional databases, giving your review a more comprehensive and timely scope.
|
|
66
|
+
|
|
67
|
+
**Collaborative Discovery**: Share your recommended papers collection with lab members through a Zotero group library. This creates a collective discovery mechanism where the entire group benefits from each member's library-driven recommendations.
|
|
68
|
+
|
|
69
|
+
**Research Trend Monitoring**: Track which topics appear frequently in your recommendations over weeks and months. Shifts in the recommendation patterns can signal emerging trends in your field, helping you anticipate where the research community is heading.
|
|
70
|
+
|
|
71
|
+
**Optimizing Recommendation Quality**:
|
|
72
|
+
- Maintain a well-curated "seed" collection of your most important papers
|
|
73
|
+
- Regularly dismiss irrelevant recommendations to refine the algorithm
|
|
74
|
+
- Update your arXiv category selections as your interests evolve
|
|
75
|
+
- Add newly published papers from your own group to keep the profile current
|
|
76
|
+
- Review recommendations from adjacent categories periodically for cross-disciplinary insights
|
|
77
|
+
|
|
78
|
+
## Configuring Notification Preferences
|
|
79
|
+
|
|
80
|
+
Control how and when you receive recommendation alerts:
|
|
81
|
+
|
|
82
|
+
- **Desktop Notifications**: Enable system notifications when new recommendations arrive
|
|
83
|
+
- **Batch Mode**: Accumulate recommendations and review them at a scheduled time
|
|
84
|
+
- **Threshold Filtering**: Only show recommendations above a configurable relevance score
|
|
85
|
+
- **Keyword Highlighting**: Specify key terms to highlight in recommended paper titles and abstracts
|
|
86
|
+
|
|
87
|
+
For researchers who find the default recommendation volume too high, set a higher relevance threshold to receive only the most closely matched papers. Conversely, those in rapidly moving fields may want to lower the threshold and increase the daily count to ensure broad coverage.
|
|
88
|
+
|
|
89
|
+
## References
|
|
90
|
+
|
|
91
|
+
- GitHub Repository: https://github.com/TechPenguineer/zotero-arxiv-daily
|
|
92
|
+
- arXiv API Documentation: https://info.arxiv.org/help/api
|
|
93
|
+
- Zotero Plugin Directory: https://www.zotero.org/support/plugins
|
|
94
|
+
- arXiv Category Taxonomy: https://arxiv.org/category_taxonomy
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bioc-pmc-api
|
|
3
|
+
description: "Access PMC Open Access articles in BioC format for text mining"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🧬"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["bioc", "pmc", "text mining", "biomedical nlp", "full text", "pubmed central"]
|
|
10
|
+
source: "https://www.ncbi.nlm.nih.gov/research/bionlp/APIs/BioC-PMC/"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# BioC API for PMC Open Access
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
The BioC API provides full-text articles from PubMed Central (PMC) in the BioC format — a simplified XML/JSON structure designed specifically for biomedical text mining. Unlike the standard PMC OAI service (which returns JATS XML), BioC pre-segments text into passages with offset annotations, making it ideal for NLP pipelines, named entity recognition, relation extraction, and other text mining tasks. Free, no authentication required.
|
|
18
|
+
|
|
19
|
+
## API Endpoints
|
|
20
|
+
|
|
21
|
+
### Base URL
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
https://www.ncbi.nlm.nih.gov/research/bionlp/RESTful/pmcoa.cgi/BioC_json/{PMCID}/unicode
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Retrieve by PMC ID
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# JSON format (recommended for programmatic use)
|
|
31
|
+
curl "https://www.ncbi.nlm.nih.gov/research/bionlp/RESTful/pmcoa.cgi/BioC_json/PMC6267067/unicode"
|
|
32
|
+
|
|
33
|
+
# XML format
|
|
34
|
+
curl "https://www.ncbi.nlm.nih.gov/research/bionlp/RESTful/pmcoa.cgi/BioC_xml/PMC6267067/unicode"
|
|
35
|
+
|
|
36
|
+
# ASCII encoding (strips non-ASCII characters)
|
|
37
|
+
curl "https://www.ncbi.nlm.nih.gov/research/bionlp/RESTful/pmcoa.cgi/BioC_json/PMC6267067/ascii"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Retrieve by PubMed ID
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Convert PMID to PMCID first, then query
|
|
44
|
+
curl "https://www.ncbi.nlm.nih.gov/pmc/utils/idconv/v1.0/?ids=29346600&format=json"
|
|
45
|
+
# Returns: {"records": [{"pmid": "29346600", "pmcid": "PMC6267067", ...}]}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## BioC JSON Structure
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"source": "PMC",
|
|
53
|
+
"date": "2024-01-15",
|
|
54
|
+
"key": "collection.key",
|
|
55
|
+
"documents": [
|
|
56
|
+
{
|
|
57
|
+
"id": "PMC6267067",
|
|
58
|
+
"passages": [
|
|
59
|
+
{
|
|
60
|
+
"infons": {
|
|
61
|
+
"section_type": "TITLE",
|
|
62
|
+
"type": "title"
|
|
63
|
+
},
|
|
64
|
+
"offset": 0,
|
|
65
|
+
"text": "Article Title Here"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"infons": {
|
|
69
|
+
"section_type": "ABSTRACT",
|
|
70
|
+
"type": "abstract"
|
|
71
|
+
},
|
|
72
|
+
"offset": 25,
|
|
73
|
+
"text": "Background: This study investigates..."
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"infons": {
|
|
77
|
+
"section_type": "INTRO",
|
|
78
|
+
"type": "paragraph"
|
|
79
|
+
},
|
|
80
|
+
"offset": 350,
|
|
81
|
+
"text": "The introduction text..."
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Key fields:
|
|
90
|
+
- `passages[].infons.section_type`: TITLE, ABSTRACT, INTRO, METHODS, RESULTS, DISCUSS, CONCL, REF, FIG, TABLE
|
|
91
|
+
- `passages[].offset`: Character offset from document start
|
|
92
|
+
- `passages[].text`: Plain text content of the passage
|
|
93
|
+
|
|
94
|
+
## Python Usage
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
import requests
|
|
98
|
+
import json
|
|
99
|
+
|
|
100
|
+
def get_bioc_article(pmcid: str, fmt: str = "json") -> dict:
|
|
101
|
+
"""Fetch a PMC article in BioC format."""
|
|
102
|
+
url = f"https://www.ncbi.nlm.nih.gov/research/bionlp/RESTful/pmcoa.cgi/BioC_{fmt}/{pmcid}/unicode"
|
|
103
|
+
resp = requests.get(url, timeout=30)
|
|
104
|
+
resp.raise_for_status()
|
|
105
|
+
return resp.json() if fmt == "json" else resp.text
|
|
106
|
+
|
|
107
|
+
def extract_sections(bioc_doc: dict) -> dict:
|
|
108
|
+
"""Extract text organized by section type."""
|
|
109
|
+
sections = {}
|
|
110
|
+
for doc in bioc_doc.get("documents", []):
|
|
111
|
+
for passage in doc.get("passages", []):
|
|
112
|
+
section = passage.get("infons", {}).get("section_type", "OTHER")
|
|
113
|
+
text = passage.get("text", "")
|
|
114
|
+
sections.setdefault(section, []).append(text)
|
|
115
|
+
return {k: "\n".join(v) for k, v in sections.items()}
|
|
116
|
+
|
|
117
|
+
# Example: fetch and parse
|
|
118
|
+
article = get_bioc_article("PMC6267067")
|
|
119
|
+
sections = extract_sections(article)
|
|
120
|
+
print(f"Title: {sections.get('TITLE', 'N/A')}")
|
|
121
|
+
print(f"Abstract length: {len(sections.get('ABSTRACT', ''))} chars")
|
|
122
|
+
print(f"Sections found: {list(sections.keys())}")
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Data Coverage
|
|
126
|
+
|
|
127
|
+
- **PMC Open Access Subset**: ~4M+ articles with CC licenses
|
|
128
|
+
- **Author Manuscript Collection**: NIH-funded author manuscripts
|
|
129
|
+
- Updates: New articles added daily
|
|
130
|
+
|
|
131
|
+
## Rate Limits
|
|
132
|
+
|
|
133
|
+
- Follow NCBI standard: **3 requests per second**
|
|
134
|
+
- For bulk access, use the PMC FTP service instead
|
|
135
|
+
- Add `tool=your_tool_name&email=your@email.com` to requests for priority queue
|
|
136
|
+
|
|
137
|
+
## Citation
|
|
138
|
+
|
|
139
|
+
When using this API in publications, cite:
|
|
140
|
+
> Comeau DC, Wei CH, Islamaj Dogan R, Lu Z. PMC text mining subset in BioC: about 3 million full text articles and growing. *Bioinformatics*, btz070, 2019.
|
|
141
|
+
|
|
142
|
+
## References
|
|
143
|
+
|
|
144
|
+
- [BioC-PMC API Documentation](https://www.ncbi.nlm.nih.gov/research/bionlp/APIs/BioC-PMC/)
|
|
145
|
+
- [BioC Format Specification](http://bioc.sourceforge.net/)
|
|
146
|
+
- [PMC Open Access Subset](https://www.ncbi.nlm.nih.gov/pmc/tools/openftlist/)
|