@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,279 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: overleaf-cli-guide
|
|
3
|
+
description: "Sync and manage Overleaf LaTeX projects from the command line"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "terminal"
|
|
7
|
+
category: "tools"
|
|
8
|
+
subcategory: "code-exec"
|
|
9
|
+
keywords: ["Overleaf", "LaTeX", "CLI", "sync", "git", "collaboration", "academic writing"]
|
|
10
|
+
source: "https://github.com/overleaf/overleaf"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Overleaf CLI Guide
|
|
14
|
+
|
|
15
|
+
Sync, manage, and automate Overleaf LaTeX projects from the command line. Work in your preferred local editor while keeping Overleaf as the collaboration and compilation hub for your research team.
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
Overleaf is the dominant online LaTeX editor in academia, used by millions of researchers for collaborative paper writing. However, many researchers prefer local editors (VS Code, Neovim, Emacs) for their superior editing capabilities, version control integration, and ability to run custom scripts. The Overleaf CLI bridge enables a hybrid workflow: edit locally with full tooling, then sync changes to Overleaf for collaboration and compilation.
|
|
20
|
+
|
|
21
|
+
This skill covers three approaches to Overleaf CLI integration: Overleaf's built-in Git bridge (available on paid plans), the open-source `overleaf-sync` tool (works with free plans), and direct API interaction. Each approach has different trade-offs in terms of cost, features, and reliability.
|
|
22
|
+
|
|
23
|
+
Beyond simple sync, this guide covers automation workflows that are particularly valuable for research: automated bibliography updates from reference managers, figure regeneration from data analysis scripts, CI-based PDF compilation, and multi-author merge conflict resolution.
|
|
24
|
+
|
|
25
|
+
## Overleaf Git Bridge
|
|
26
|
+
|
|
27
|
+
Overleaf Server Pro and paid plans include a Git bridge that exposes each project as a Git repository.
|
|
28
|
+
|
|
29
|
+
### Setup
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Clone your Overleaf project (requires paid plan)
|
|
33
|
+
git clone https://git.overleaf.com/YOUR_PROJECT_ID my-paper
|
|
34
|
+
cd my-paper
|
|
35
|
+
|
|
36
|
+
# The remote is already configured
|
|
37
|
+
git remote -v
|
|
38
|
+
# origin https://git.overleaf.com/YOUR_PROJECT_ID (fetch)
|
|
39
|
+
# origin https://git.overleaf.com/YOUR_PROJECT_ID (push)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Daily Workflow
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Pull latest changes from collaborators
|
|
46
|
+
git pull origin master
|
|
47
|
+
|
|
48
|
+
# Edit locally in your preferred editor
|
|
49
|
+
vim main.tex
|
|
50
|
+
|
|
51
|
+
# Push changes back to Overleaf
|
|
52
|
+
git add -A
|
|
53
|
+
git commit -m "Revise methodology section"
|
|
54
|
+
git push origin master
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Conflict Resolution
|
|
58
|
+
|
|
59
|
+
When collaborators edit the same section simultaneously:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git pull origin master
|
|
63
|
+
# If conflicts occur:
|
|
64
|
+
# 1. Open conflicted files
|
|
65
|
+
# 2. Resolve LaTeX merge conflicts (look for <<<<<<< markers)
|
|
66
|
+
# 3. Verify the document compiles
|
|
67
|
+
git add -A
|
|
68
|
+
git commit -m "Resolve merge conflict in results section"
|
|
69
|
+
git push origin master
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Open-Source Sync Tools
|
|
73
|
+
|
|
74
|
+
### overleaf-sync (Python)
|
|
75
|
+
|
|
76
|
+
For free Overleaf accounts without Git bridge access:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Install
|
|
80
|
+
pip install overleaf-sync
|
|
81
|
+
|
|
82
|
+
# Login (stores credentials securely)
|
|
83
|
+
ols login
|
|
84
|
+
|
|
85
|
+
# List your projects
|
|
86
|
+
ols list
|
|
87
|
+
|
|
88
|
+
# Download a project
|
|
89
|
+
ols download "My Research Paper" --path ./my-paper
|
|
90
|
+
|
|
91
|
+
# Upload local changes
|
|
92
|
+
ols upload ./my-paper --project "My Research Paper"
|
|
93
|
+
|
|
94
|
+
# Two-way sync (pull then push)
|
|
95
|
+
ols sync ./my-paper --project "My Research Paper"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Automated Sync Script
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
#!/bin/bash
|
|
102
|
+
# sync-overleaf.sh - Run periodically or before/after editing sessions
|
|
103
|
+
|
|
104
|
+
PROJECT_DIR="$1"
|
|
105
|
+
PROJECT_NAME="$2"
|
|
106
|
+
|
|
107
|
+
echo "Pulling latest from Overleaf..."
|
|
108
|
+
ols download "$PROJECT_NAME" --path "$PROJECT_DIR" --skip-existing
|
|
109
|
+
|
|
110
|
+
echo "Compiling locally to verify..."
|
|
111
|
+
cd "$PROJECT_DIR"
|
|
112
|
+
latexmk -pdf -interaction=nonstopmode main.tex
|
|
113
|
+
|
|
114
|
+
if [ $? -eq 0 ]; then
|
|
115
|
+
echo "Compilation successful. Pushing to Overleaf..."
|
|
116
|
+
ols upload "$PROJECT_DIR" --project "$PROJECT_NAME"
|
|
117
|
+
else
|
|
118
|
+
echo "Compilation failed. Fix errors before syncing."
|
|
119
|
+
exit 1
|
|
120
|
+
fi
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Automation Workflows
|
|
124
|
+
|
|
125
|
+
### Auto-Update Bibliography from Zotero
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
import subprocess
|
|
129
|
+
from pathlib import Path
|
|
130
|
+
|
|
131
|
+
def sync_bibliography(zotero_lib_id, bib_file, project_dir):
|
|
132
|
+
"""Export Zotero library and sync to Overleaf project."""
|
|
133
|
+
# Export from Zotero using Better BibTeX
|
|
134
|
+
subprocess.run([
|
|
135
|
+
"curl", "-s",
|
|
136
|
+
f"http://localhost:23119/better-bibtex/export/library?/"
|
|
137
|
+
f"{zotero_lib_id}/library.biblatex",
|
|
138
|
+
"-o", str(Path(project_dir) / bib_file)
|
|
139
|
+
])
|
|
140
|
+
print(f"Updated {bib_file} from Zotero library {zotero_lib_id}")
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Auto-Regenerate Figures from Data
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
import subprocess
|
|
147
|
+
from pathlib import Path
|
|
148
|
+
|
|
149
|
+
def regenerate_figures(scripts_dir, figures_dir):
|
|
150
|
+
"""Run all figure generation scripts and update outputs."""
|
|
151
|
+
scripts = sorted(Path(scripts_dir).glob("fig_*.py"))
|
|
152
|
+
for script in scripts:
|
|
153
|
+
print(f"Running {script.name}...")
|
|
154
|
+
subprocess.run(["python", str(script)], cwd=figures_dir)
|
|
155
|
+
|
|
156
|
+
print(f"Regenerated {len(scripts)} figures in {figures_dir}")
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### CI/CD PDF Compilation
|
|
160
|
+
|
|
161
|
+
```yaml
|
|
162
|
+
# .github/workflows/compile-paper.yml
|
|
163
|
+
name: Compile LaTeX Paper
|
|
164
|
+
on:
|
|
165
|
+
push:
|
|
166
|
+
branches: [main]
|
|
167
|
+
paths: ['**.tex', '**.bib', '**.sty']
|
|
168
|
+
|
|
169
|
+
jobs:
|
|
170
|
+
compile:
|
|
171
|
+
runs-on: ubuntu-latest
|
|
172
|
+
container:
|
|
173
|
+
image: texlive/texlive:latest
|
|
174
|
+
steps:
|
|
175
|
+
- uses: actions/checkout@v4
|
|
176
|
+
- name: Compile PDF
|
|
177
|
+
run: |
|
|
178
|
+
latexmk -pdf -interaction=nonstopmode main.tex
|
|
179
|
+
- name: Upload PDF
|
|
180
|
+
uses: actions/upload-artifact@v4
|
|
181
|
+
with:
|
|
182
|
+
name: paper-pdf
|
|
183
|
+
path: main.pdf
|
|
184
|
+
- name: Check for warnings
|
|
185
|
+
run: |
|
|
186
|
+
grep -i "warning" main.log | grep -v "Font" || true
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Project Organization
|
|
190
|
+
|
|
191
|
+
Recommended directory structure for CLI-managed Overleaf projects:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
my-paper/
|
|
195
|
+
main.tex # Main document
|
|
196
|
+
sections/
|
|
197
|
+
01-introduction.tex
|
|
198
|
+
02-related-work.tex
|
|
199
|
+
03-methodology.tex
|
|
200
|
+
04-results.tex
|
|
201
|
+
05-discussion.tex
|
|
202
|
+
06-conclusion.tex
|
|
203
|
+
figures/
|
|
204
|
+
fig1-architecture.pdf
|
|
205
|
+
fig2-results.pdf
|
|
206
|
+
tables/
|
|
207
|
+
tab1-comparison.tex
|
|
208
|
+
references.bib
|
|
209
|
+
custom.sty # Custom LaTeX macros
|
|
210
|
+
scripts/ # Not synced to Overleaf
|
|
211
|
+
fig_architecture.py
|
|
212
|
+
fig_results.py
|
|
213
|
+
sync.sh
|
|
214
|
+
.gitignore
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### .gitignore for LaTeX Projects
|
|
218
|
+
|
|
219
|
+
```gitignore
|
|
220
|
+
# LaTeX build artifacts
|
|
221
|
+
*.aux
|
|
222
|
+
*.bbl
|
|
223
|
+
*.blg
|
|
224
|
+
*.fdb_latexmk
|
|
225
|
+
*.fls
|
|
226
|
+
*.log
|
|
227
|
+
*.out
|
|
228
|
+
*.synctex.gz
|
|
229
|
+
*.toc
|
|
230
|
+
|
|
231
|
+
# Local scripts (don't sync to Overleaf)
|
|
232
|
+
scripts/
|
|
233
|
+
|
|
234
|
+
# OS files
|
|
235
|
+
.DS_Store
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Editor Integration
|
|
239
|
+
|
|
240
|
+
### VS Code
|
|
241
|
+
|
|
242
|
+
Install the "LaTeX Workshop" extension and configure local compilation:
|
|
243
|
+
|
|
244
|
+
```json
|
|
245
|
+
{
|
|
246
|
+
"latex-workshop.latex.tools": [
|
|
247
|
+
{
|
|
248
|
+
"name": "latexmk",
|
|
249
|
+
"command": "latexmk",
|
|
250
|
+
"args": ["-pdf", "-interaction=nonstopmode", "%DOC%"]
|
|
251
|
+
}
|
|
252
|
+
]
|
|
253
|
+
}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Neovim with VimTeX
|
|
257
|
+
|
|
258
|
+
```lua
|
|
259
|
+
-- init.lua
|
|
260
|
+
vim.g.vimtex_compiler_method = 'latexmk'
|
|
261
|
+
vim.g.vimtex_view_method = 'skim' -- macOS
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## Troubleshooting
|
|
265
|
+
|
|
266
|
+
| Issue | Solution |
|
|
267
|
+
|-------|----------|
|
|
268
|
+
| Git push rejected | Pull first, resolve conflicts, then push |
|
|
269
|
+
| Sync tool authentication error | Re-run login, check 2FA settings |
|
|
270
|
+
| Compilation differs locally vs Overleaf | Match TeX Live versions; Overleaf uses TeX Live 2024 |
|
|
271
|
+
| Binary files (images) cause large diffs | Use `.gitattributes` to mark as binary |
|
|
272
|
+
| Overleaf rate limiting | Add delays between API calls, use Git bridge if available |
|
|
273
|
+
|
|
274
|
+
## References
|
|
275
|
+
|
|
276
|
+
- Overleaf Git bridge documentation: https://www.overleaf.com/learn/how-to/Git_integration
|
|
277
|
+
- overleaf-sync: https://github.com/moritzgloeckl/overleaf-sync
|
|
278
|
+
- LaTeX Workshop (VS Code): https://github.com/James-Yu/LaTeX-Workshop
|
|
279
|
+
- latexmk documentation: https://mg.readthedocs.io/latexmk.html
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: clawphd-guide
|
|
3
|
+
description: "Agent for converting papers to diagrams, posters, and videos"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🎬"
|
|
7
|
+
category: "tools"
|
|
8
|
+
subcategory: "diagram"
|
|
9
|
+
keywords: ["paper visualization", "poster generation", "research video", "diagram agent", "visual abstract", "presentation"]
|
|
10
|
+
source: "https://github.com/ZhihaoAIRobotic/ClawPhD"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ClawPhD Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
ClawPhD is an AI agent that converts research papers into visual formats — architecture diagrams, research posters, visual abstracts, and video presentations. It reads paper PDFs, extracts key concepts and results, and generates publication-ready visual materials. Useful for conference presentations, social media dissemination, and research communication.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Paper PDF / LaTeX
|
|
23
|
+
↓
|
|
24
|
+
Content Extraction Agent
|
|
25
|
+
├── Key contributions
|
|
26
|
+
├── Architecture / method
|
|
27
|
+
├── Results tables and figures
|
|
28
|
+
└── Abstract and conclusions
|
|
29
|
+
↓
|
|
30
|
+
Visual Generation Agent
|
|
31
|
+
├── Architecture diagram (SVG/PNG)
|
|
32
|
+
├── Research poster (A0 PDF)
|
|
33
|
+
├── Visual abstract (social media)
|
|
34
|
+
├── Slide deck (Beamer/PPTX)
|
|
35
|
+
└── Video narration (MP4)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Usage
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
from clawphd import ClawPhD
|
|
42
|
+
|
|
43
|
+
agent = ClawPhD(llm_provider="anthropic")
|
|
44
|
+
|
|
45
|
+
# Generate architecture diagram
|
|
46
|
+
diagram = agent.generate_diagram(
|
|
47
|
+
paper="paper.pdf",
|
|
48
|
+
style="clean", # clean, detailed, minimal
|
|
49
|
+
format="svg",
|
|
50
|
+
focus="method", # method, pipeline, architecture
|
|
51
|
+
)
|
|
52
|
+
diagram.save("architecture.svg")
|
|
53
|
+
|
|
54
|
+
# Generate research poster
|
|
55
|
+
poster = agent.generate_poster(
|
|
56
|
+
paper="paper.pdf",
|
|
57
|
+
template="academic", # academic, conference, minimal
|
|
58
|
+
size="A0",
|
|
59
|
+
color_scheme="blue",
|
|
60
|
+
)
|
|
61
|
+
poster.save("poster.pdf")
|
|
62
|
+
|
|
63
|
+
# Generate visual abstract
|
|
64
|
+
abstract = agent.generate_visual_abstract(
|
|
65
|
+
paper="paper.pdf",
|
|
66
|
+
format="png",
|
|
67
|
+
dimensions=(1200, 630), # Twitter/LinkedIn optimal
|
|
68
|
+
)
|
|
69
|
+
abstract.save("visual_abstract.png")
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Diagram Styles
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
# Architecture diagram
|
|
76
|
+
diagram = agent.generate_diagram(
|
|
77
|
+
paper="paper.pdf",
|
|
78
|
+
style="clean",
|
|
79
|
+
components={
|
|
80
|
+
"show_data_flow": True,
|
|
81
|
+
"show_dimensions": True,
|
|
82
|
+
"show_loss_functions": False,
|
|
83
|
+
"annotation_level": "medium",
|
|
84
|
+
},
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
# Pipeline diagram
|
|
88
|
+
pipeline = agent.generate_diagram(
|
|
89
|
+
paper="paper.pdf",
|
|
90
|
+
focus="pipeline",
|
|
91
|
+
layout="horizontal", # horizontal, vertical, circular
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
# Comparison diagram
|
|
95
|
+
comparison = agent.generate_comparison(
|
|
96
|
+
papers=["paper_a.pdf", "paper_b.pdf"],
|
|
97
|
+
aspects=["architecture", "performance", "complexity"],
|
|
98
|
+
)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Poster Generation
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
# Conference poster with full customization
|
|
105
|
+
poster = agent.generate_poster(
|
|
106
|
+
paper="paper.pdf",
|
|
107
|
+
template="neurips",
|
|
108
|
+
sections=[
|
|
109
|
+
"title_block",
|
|
110
|
+
"motivation",
|
|
111
|
+
"method",
|
|
112
|
+
"key_results",
|
|
113
|
+
"conclusions",
|
|
114
|
+
"qr_code",
|
|
115
|
+
],
|
|
116
|
+
style={
|
|
117
|
+
"font_family": "Helvetica",
|
|
118
|
+
"heading_color": "#2563EB",
|
|
119
|
+
"background": "#FFFFFF",
|
|
120
|
+
"columns": 3,
|
|
121
|
+
},
|
|
122
|
+
)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Slide Generation
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
# Generate presentation slides
|
|
129
|
+
slides = agent.generate_slides(
|
|
130
|
+
paper="paper.pdf",
|
|
131
|
+
format="beamer", # beamer, pptx, reveal_js
|
|
132
|
+
num_slides=15,
|
|
133
|
+
include_speaker_notes=True,
|
|
134
|
+
style="metropolis", # Beamer theme
|
|
135
|
+
)
|
|
136
|
+
slides.save("presentation.tex")
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Use Cases
|
|
140
|
+
|
|
141
|
+
1. **Conference posters**: Generate posters from papers
|
|
142
|
+
2. **Social media**: Visual abstracts for paper promotion
|
|
143
|
+
3. **Presentations**: Quick slide decks from papers
|
|
144
|
+
4. **Architecture diagrams**: Clean method visualizations
|
|
145
|
+
5. **Teaching**: Visual explanations of research papers
|
|
146
|
+
|
|
147
|
+
## References
|
|
148
|
+
|
|
149
|
+
- [ClawPhD GitHub](https://github.com/ZhihaoAIRobotic/ClawPhD)
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-flow-visualizer
|
|
3
|
+
description: "Convert Python, JavaScript, and TypeScript functions into Mermaid flowcharts"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "flow"
|
|
7
|
+
category: "tools"
|
|
8
|
+
subcategory: "diagram"
|
|
9
|
+
keywords: ["code visualization", "flowchart", "Mermaid", "Python", "control flow", "AST"]
|
|
10
|
+
source: "https://github.com/mermaid-js/mermaid"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Code Flow Visualizer
|
|
14
|
+
|
|
15
|
+
Convert Python, JavaScript, and TypeScript functions into Mermaid flowcharts by analyzing control flow structures. This skill helps researchers document and understand complex algorithmic logic, data processing pipelines, and experimental workflows embedded in code.
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
Research code often contains intricate control flow: nested conditionals for data filtering, loops over experimental conditions, error handling for API calls, and branching logic for different analysis paths. Understanding this flow is critical for reproducibility, code review, and documentation, yet reading nested code can be cognitively demanding.
|
|
20
|
+
|
|
21
|
+
This skill translates source code into visual Mermaid flowcharts by parsing control flow structures (if/else, for/while loops, try/catch, match/switch, return statements) and mapping them to flowchart nodes and edges. The resulting diagrams serve as documentation supplements in README files, lab notebooks, and paper appendices.
|
|
22
|
+
|
|
23
|
+
The approach works by performing a lightweight static analysis of the code's abstract syntax tree (AST). Each control structure maps to a specific flowchart pattern: conditionals become diamond decision nodes, loops become cycles with back-edges, function calls become subroutine nodes, and return statements become terminal nodes.
|
|
24
|
+
|
|
25
|
+
## Conversion Rules
|
|
26
|
+
|
|
27
|
+
### Control Flow Mapping
|
|
28
|
+
|
|
29
|
+
| Code Structure | Flowchart Element | Mermaid Shape |
|
|
30
|
+
|---------------|-------------------|---------------|
|
|
31
|
+
| Function entry | Start node | `([Function Name])` |
|
|
32
|
+
| Assignment / expression | Process node | `[statement]` |
|
|
33
|
+
| `if` / `else if` | Decision diamond | `{condition?}` |
|
|
34
|
+
| `for` / `while` loop | Decision + back-edge | `{loop condition?}` with cycle |
|
|
35
|
+
| `try` / `catch` | Process + error path | `[try block]` with dashed error edge |
|
|
36
|
+
| `return` / `yield` | Terminal / output node | `([return value])` |
|
|
37
|
+
| Function call | Subroutine node | `[[function_name()]]` |
|
|
38
|
+
| `match` / `switch` | Multi-branch decision | `{value?}` with labeled edges |
|
|
39
|
+
|
|
40
|
+
### Python Example
|
|
41
|
+
|
|
42
|
+
**Input code:**
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
def process_papers(papers, min_citations=10):
|
|
46
|
+
results = []
|
|
47
|
+
for paper in papers:
|
|
48
|
+
if paper.year < 2015:
|
|
49
|
+
continue
|
|
50
|
+
if paper.citation_count < min_citations:
|
|
51
|
+
continue
|
|
52
|
+
try:
|
|
53
|
+
abstract = fetch_abstract(paper.doi)
|
|
54
|
+
embeddings = compute_embeddings(abstract)
|
|
55
|
+
results.append({"paper": paper, "embedding": embeddings})
|
|
56
|
+
except APIError:
|
|
57
|
+
log_error(paper.doi)
|
|
58
|
+
return results
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Output flowchart:**
|
|
62
|
+
|
|
63
|
+
```mermaid
|
|
64
|
+
flowchart TD
|
|
65
|
+
Start(["process_papers(papers, min_citations=10)"]) --> Init["results = [ ]"]
|
|
66
|
+
Init --> Loop{"For each paper in papers?"}
|
|
67
|
+
Loop -->|Done| Return(["Return results"])
|
|
68
|
+
Loop -->|Next paper| YearCheck{"paper.year < 2015?"}
|
|
69
|
+
YearCheck -->|Yes| Loop
|
|
70
|
+
YearCheck -->|No| CitCheck{"citation_count < min_citations?"}
|
|
71
|
+
CitCheck -->|Yes| Loop
|
|
72
|
+
CitCheck -->|No| TryBlock["abstract = fetch_abstract(paper.doi)"]
|
|
73
|
+
TryBlock --> Embed["embeddings = compute_embeddings(abstract)"]
|
|
74
|
+
Embed --> Append["results.append(...)"]
|
|
75
|
+
Append --> Loop
|
|
76
|
+
TryBlock -.->|APIError| LogErr["log_error(paper.doi)"]
|
|
77
|
+
LogErr --> Loop
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### JavaScript / TypeScript Example
|
|
81
|
+
|
|
82
|
+
**Input code:**
|
|
83
|
+
|
|
84
|
+
```typescript
|
|
85
|
+
async function searchPapers(query: string, maxResults: number = 50): Promise<Paper[]> {
|
|
86
|
+
const cached = await cache.get(query);
|
|
87
|
+
if (cached) return cached;
|
|
88
|
+
|
|
89
|
+
const results: Paper[] = [];
|
|
90
|
+
let offset = 0;
|
|
91
|
+
|
|
92
|
+
while (results.length < maxResults) {
|
|
93
|
+
const batch = await api.search(query, offset, 10);
|
|
94
|
+
if (batch.length === 0) break;
|
|
95
|
+
|
|
96
|
+
for (const paper of batch) {
|
|
97
|
+
if (paper.isRetracted) continue;
|
|
98
|
+
results.push(paper);
|
|
99
|
+
}
|
|
100
|
+
offset += 10;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
await cache.set(query, results);
|
|
104
|
+
return results;
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Output flowchart:**
|
|
109
|
+
|
|
110
|
+
```mermaid
|
|
111
|
+
flowchart TD
|
|
112
|
+
Start(["searchPapers(query, maxResults=50)"]) --> Cache["cached = await cache.get(query)"]
|
|
113
|
+
Cache --> CacheHit{"cached exists?"}
|
|
114
|
+
CacheHit -->|Yes| ReturnCached(["Return cached"])
|
|
115
|
+
CacheHit -->|No| InitResults["results = [ ], offset = 0"]
|
|
116
|
+
InitResults --> WhileLoop{"results.length < maxResults?"}
|
|
117
|
+
WhileLoop -->|No| SaveCache["await cache.set(query, results)"]
|
|
118
|
+
WhileLoop -->|Yes| Fetch["batch = await api.search(query, offset, 10)"]
|
|
119
|
+
Fetch --> EmptyCheck{"batch.length === 0?"}
|
|
120
|
+
EmptyCheck -->|Yes| SaveCache
|
|
121
|
+
EmptyCheck -->|No| ForLoop{"For each paper in batch?"}
|
|
122
|
+
ForLoop -->|Done| IncOffset["offset += 10"]
|
|
123
|
+
IncOffset --> WhileLoop
|
|
124
|
+
ForLoop -->|Next| Retracted{"paper.isRetracted?"}
|
|
125
|
+
Retracted -->|Yes| ForLoop
|
|
126
|
+
Retracted -->|No| Push["results.push(paper)"]
|
|
127
|
+
Push --> ForLoop
|
|
128
|
+
SaveCache --> Return(["Return results"])
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Handling Complex Patterns
|
|
132
|
+
|
|
133
|
+
### Nested Conditionals
|
|
134
|
+
|
|
135
|
+
Deeply nested if/else chains are flattened into a decision tree. Each branch is labeled with its condition, and nodes at the same depth are arranged vertically for readability.
|
|
136
|
+
|
|
137
|
+
### Recursive Functions
|
|
138
|
+
|
|
139
|
+
Recursive calls are shown as subroutine nodes with a self-referencing edge back to the function start node. A note annotation indicates the recursion base case.
|
|
140
|
+
|
|
141
|
+
### Generator Functions (yield)
|
|
142
|
+
|
|
143
|
+
Python generators use `yield` as intermediate output nodes (shown as parallelogram shapes). The flowchart shows the suspension point and resumption path.
|
|
144
|
+
|
|
145
|
+
### Error Handling Chains
|
|
146
|
+
|
|
147
|
+
Multiple `except` clauses create parallel error paths from the `try` block, each labeled with the exception type. `finally` blocks are shown as a converging node that all paths pass through.
|
|
148
|
+
|
|
149
|
+
## Styling for Documentation
|
|
150
|
+
|
|
151
|
+
### Academic Paper Style
|
|
152
|
+
|
|
153
|
+
```mermaid
|
|
154
|
+
%%{init: {
|
|
155
|
+
'theme': 'base',
|
|
156
|
+
'themeVariables': {
|
|
157
|
+
'primaryColor': '#f8f9fa',
|
|
158
|
+
'primaryBorderColor': '#212529',
|
|
159
|
+
'primaryTextColor': '#212529',
|
|
160
|
+
'lineColor': '#495057',
|
|
161
|
+
'fontFamily': 'Times New Roman, serif',
|
|
162
|
+
'fontSize': '14px'
|
|
163
|
+
}
|
|
164
|
+
}}%%
|
|
165
|
+
flowchart TD
|
|
166
|
+
A["Step 1"] --> B{"Decision"} --> C["Step 2"]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Export for LaTeX
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Render Mermaid to PDF for LaTeX inclusion
|
|
173
|
+
mmdc -i flowchart.mmd -o flowchart.pdf -t neutral -b transparent
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
```latex
|
|
177
|
+
\begin{figure}[h]
|
|
178
|
+
\centering
|
|
179
|
+
\includegraphics[width=0.8\textwidth]{flowchart.pdf}
|
|
180
|
+
\caption{Control flow of the data processing pipeline.}
|
|
181
|
+
\label{fig:flowchart}
|
|
182
|
+
\end{figure}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Limitations and Best Practices
|
|
186
|
+
|
|
187
|
+
1. **Scope**: Works best for functions under 100 lines. For larger codebases, visualize individual functions or extract key subroutines.
|
|
188
|
+
2. **Dynamic dispatch**: Cannot trace through dynamic method resolution or callback chains. Show these as labeled subroutine nodes.
|
|
189
|
+
3. **Concurrency**: Async/await is shown sequentially. Concurrent branches (e.g., `Promise.all`) are noted but not fully modeled.
|
|
190
|
+
4. **Simplification**: Omit trivial assignments and logging statements to keep diagrams focused on control flow.
|
|
191
|
+
|
|
192
|
+
## References
|
|
193
|
+
|
|
194
|
+
- Mermaid flowchart syntax: https://mermaid.js.org/syntax/flowchart.html
|
|
195
|
+
- Python AST module: https://docs.python.org/3/library/ast.html
|
|
196
|
+
- TypeScript Compiler API: https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API
|
|
197
|
+
- Code2Flow (related tool): https://github.com/scottrogowski/code2flow
|