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