@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,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: infiagent-benchmark-guide
|
|
3
|
+
description: "Agent benchmark for data analysis evaluation (ICML 2024)"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🏆"
|
|
7
|
+
category: "analysis"
|
|
8
|
+
subcategory: "statistics"
|
|
9
|
+
keywords: ["InfiAgent", "benchmark", "data analysis", "agent evaluation", "ICML", "DABench"]
|
|
10
|
+
source: "https://github.com/InfiAgent/InfiAgent"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# InfiAgent Data Analysis Benchmark Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
InfiAgent (ICML 2024) is a benchmark for evaluating AI agents on data analysis tasks. It provides DABench — a standardized set of data analysis problems ranging from basic EDA to complex statistical modeling, each with ground-truth solutions and automated evaluation metrics. Measures agent capabilities in code generation, statistical reasoning, and visualization.
|
|
18
|
+
|
|
19
|
+
## Benchmark Structure
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
DABench (Data Analysis Benchmark)
|
|
23
|
+
├── Task Categories
|
|
24
|
+
│ ├── Data Understanding (profiling, cleaning)
|
|
25
|
+
│ ├── Exploratory Analysis (distributions, correlations)
|
|
26
|
+
│ ├── Statistical Testing (hypothesis tests)
|
|
27
|
+
│ ├── Visualization (appropriate chart selection)
|
|
28
|
+
│ ├── Modeling (regression, classification)
|
|
29
|
+
│ └── Interpretation (insights, conclusions)
|
|
30
|
+
├── Difficulty Levels
|
|
31
|
+
│ ├── Easy (single-step operations)
|
|
32
|
+
│ ├── Medium (multi-step analysis)
|
|
33
|
+
│ └── Hard (complex reasoning + code)
|
|
34
|
+
└── Evaluation Metrics
|
|
35
|
+
├── Code executability
|
|
36
|
+
├── Answer correctness
|
|
37
|
+
├── Visualization quality
|
|
38
|
+
└── Statistical validity
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Usage
|
|
42
|
+
|
|
43
|
+
```python
|
|
44
|
+
from infiagent import DABench
|
|
45
|
+
|
|
46
|
+
bench = DABench()
|
|
47
|
+
|
|
48
|
+
# List tasks
|
|
49
|
+
for task in bench.tasks[:5]:
|
|
50
|
+
print(f"[{task.difficulty}] {task.id}: {task.description}")
|
|
51
|
+
print(f" Dataset: {task.dataset}")
|
|
52
|
+
print(f" Category: {task.category}")
|
|
53
|
+
|
|
54
|
+
# Evaluate an agent
|
|
55
|
+
from infiagent import evaluate
|
|
56
|
+
|
|
57
|
+
results = evaluate(
|
|
58
|
+
agent_fn=my_data_agent,
|
|
59
|
+
tasks="all",
|
|
60
|
+
timeout=120,
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
print(f"Executability: {results.exec_rate:.1%}")
|
|
64
|
+
print(f"Correctness: {results.correct_rate:.1%}")
|
|
65
|
+
print(f"Statistical validity: {results.stats_valid:.1%}")
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Task Examples
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
# Easy: "What is the mean and standard deviation of column X?"
|
|
72
|
+
# Medium: "Is there a significant correlation between A and B?
|
|
73
|
+
# Control for confounders C and D."
|
|
74
|
+
# Hard: "Build a predictive model for Y using all available
|
|
75
|
+
# features. Report cross-validated performance and
|
|
76
|
+
# identify the 3 most important features."
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Leaderboard Results
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
# Selected results from DABench
|
|
83
|
+
scores = {
|
|
84
|
+
"GPT-4 + Code": {"exec": 95, "correct": 67},
|
|
85
|
+
"Claude 3.5 Sonnet": {"exec": 93, "correct": 64},
|
|
86
|
+
"GPT-3.5 + Code": {"exec": 88, "correct": 45},
|
|
87
|
+
"CodeLlama-34B": {"exec": 72, "correct": 31},
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
print(f"{'Agent':<22} {'Exec%':>6} {'Correct%':>9}")
|
|
91
|
+
for agent, s in scores.items():
|
|
92
|
+
print(f"{agent:<22} {s['exec']:>5}% {s['correct']:>8}%")
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Use Cases
|
|
96
|
+
|
|
97
|
+
1. **Agent evaluation**: Standard benchmark for data analysis agents
|
|
98
|
+
2. **Model comparison**: Compare LLMs on analytical tasks
|
|
99
|
+
3. **Capability testing**: Assess statistical reasoning abilities
|
|
100
|
+
4. **Research**: Study agent strengths and failure modes
|
|
101
|
+
5. **Development**: Target specific weak areas for improvement
|
|
102
|
+
|
|
103
|
+
## References
|
|
104
|
+
|
|
105
|
+
- [InfiAgent GitHub](https://github.com/InfiAgent/InfiAgent)
|
|
106
|
+
- [DABench Paper (ICML 2024)](https://arxiv.org/abs/2401.05507)
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ml-experiment-tracker
|
|
3
|
+
description: "Plan reproducible ML experiment runs with parameters and metrics tracking"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🧪"
|
|
7
|
+
category: "analysis"
|
|
8
|
+
subcategory: "statistics"
|
|
9
|
+
keywords: ["experiment tracking", "machine learning", "reproducibility", "hyperparameters", "MLflow", "model evaluation"]
|
|
10
|
+
source: "https://github.com/AcademicSkills/ml-experiment-tracker"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ML Experiment Tracker
|
|
14
|
+
|
|
15
|
+
A skill for planning, executing, and tracking machine learning experiments with full reproducibility. Covers experiment design, hyperparameter management, metric logging, model versioning, and comparison across runs to support rigorous ML research.
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
Machine learning research involves running dozens or hundreds of experiments with varying architectures, hyperparameters, data splits, and preprocessing pipelines. Without systematic tracking, it becomes impossible to reproduce results, compare configurations, or identify which changes actually improved performance. This skill provides a structured methodology for experiment management that aligns with academic standards for reproducible ML research.
|
|
20
|
+
|
|
21
|
+
The approach is framework-agnostic but demonstrates integration with MLflow, Weights & Biases, and plain file-based logging. It emphasizes the practices needed for publications: complete hyperparameter documentation, statistical significance testing across runs, and artifact management for model checkpoints and evaluation outputs.
|
|
22
|
+
|
|
23
|
+
## Experiment Design Framework
|
|
24
|
+
|
|
25
|
+
### Defining an Experiment Plan
|
|
26
|
+
|
|
27
|
+
Before writing any training code, document the experiment plan:
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
# experiment_plan.yaml
|
|
31
|
+
experiment:
|
|
32
|
+
name: "transformer-sentiment-analysis-v3"
|
|
33
|
+
hypothesis: "Adding relative positional encoding improves F1 on long reviews (>512 tokens)"
|
|
34
|
+
dataset:
|
|
35
|
+
name: "imdb-extended"
|
|
36
|
+
version: "2025.1"
|
|
37
|
+
splits: {train: 0.8, val: 0.1, test: 0.1}
|
|
38
|
+
stratify_by: "label"
|
|
39
|
+
random_seed: 42
|
|
40
|
+
|
|
41
|
+
baselines:
|
|
42
|
+
- name: "bert-base-uncased"
|
|
43
|
+
checkpoint: "bert-base-uncased"
|
|
44
|
+
- name: "roberta-base"
|
|
45
|
+
checkpoint: "roberta-base"
|
|
46
|
+
|
|
47
|
+
variables:
|
|
48
|
+
independent:
|
|
49
|
+
- positional_encoding: ["absolute", "relative", "rotary"]
|
|
50
|
+
controlled:
|
|
51
|
+
- learning_rate: 2e-5
|
|
52
|
+
- batch_size: 32
|
|
53
|
+
- max_epochs: 10
|
|
54
|
+
- early_stopping_patience: 3
|
|
55
|
+
- optimizer: "AdamW"
|
|
56
|
+
- weight_decay: 0.01
|
|
57
|
+
|
|
58
|
+
metrics:
|
|
59
|
+
primary: "f1_macro"
|
|
60
|
+
secondary: ["accuracy", "precision_macro", "recall_macro", "loss"]
|
|
61
|
+
report_at: ["best_val", "final"]
|
|
62
|
+
|
|
63
|
+
compute:
|
|
64
|
+
gpus: 1
|
|
65
|
+
estimated_time_per_run: "45min"
|
|
66
|
+
total_runs: 9 # 3 encodings x 3 seeds
|
|
67
|
+
|
|
68
|
+
seeds: [42, 123, 456]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Factorial Design for Hyperparameter Studies
|
|
72
|
+
|
|
73
|
+
```python
|
|
74
|
+
from itertools import product
|
|
75
|
+
|
|
76
|
+
def generate_experiment_grid(config: dict) -> list:
|
|
77
|
+
"""
|
|
78
|
+
Generate all experiment configurations from a factorial design.
|
|
79
|
+
"""
|
|
80
|
+
param_names = list(config.keys())
|
|
81
|
+
param_values = list(config.values())
|
|
82
|
+
|
|
83
|
+
runs = []
|
|
84
|
+
for combo in product(*param_values):
|
|
85
|
+
run_config = dict(zip(param_names, combo))
|
|
86
|
+
run_config['run_id'] = '_'.join(f"{k}={v}" for k, v in run_config.items())
|
|
87
|
+
runs.append(run_config)
|
|
88
|
+
|
|
89
|
+
return runs
|
|
90
|
+
|
|
91
|
+
# Example: 3 learning rates x 2 batch sizes x 3 seeds = 18 runs
|
|
92
|
+
grid = generate_experiment_grid({
|
|
93
|
+
'learning_rate': [1e-5, 2e-5, 5e-5],
|
|
94
|
+
'batch_size': [16, 32],
|
|
95
|
+
'seed': [42, 123, 456]
|
|
96
|
+
})
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Experiment Logging with MLflow
|
|
100
|
+
|
|
101
|
+
### Setup and Run Tracking
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
import mlflow
|
|
105
|
+
import json
|
|
106
|
+
from datetime import datetime
|
|
107
|
+
|
|
108
|
+
def start_tracked_experiment(experiment_name: str, run_config: dict):
|
|
109
|
+
"""
|
|
110
|
+
Initialize an MLflow experiment run with full configuration logging.
|
|
111
|
+
"""
|
|
112
|
+
mlflow.set_experiment(experiment_name)
|
|
113
|
+
|
|
114
|
+
with mlflow.start_run(run_name=run_config.get('run_id', None)) as run:
|
|
115
|
+
# Log all hyperparameters
|
|
116
|
+
mlflow.log_params(run_config)
|
|
117
|
+
|
|
118
|
+
# Log environment info for reproducibility
|
|
119
|
+
mlflow.log_param("python_version", "3.11.5")
|
|
120
|
+
mlflow.log_param("torch_version", "2.1.0")
|
|
121
|
+
mlflow.log_param("timestamp", datetime.now().isoformat())
|
|
122
|
+
|
|
123
|
+
# Log the full config as an artifact
|
|
124
|
+
with open("/tmp/run_config.json", "w") as f:
|
|
125
|
+
json.dump(run_config, f, indent=2)
|
|
126
|
+
mlflow.log_artifact("/tmp/run_config.json")
|
|
127
|
+
|
|
128
|
+
return run.info.run_id
|
|
129
|
+
|
|
130
|
+
def log_epoch_metrics(epoch: int, metrics: dict):
|
|
131
|
+
"""Log metrics for a training epoch."""
|
|
132
|
+
for name, value in metrics.items():
|
|
133
|
+
mlflow.log_metric(name, value, step=epoch)
|
|
134
|
+
|
|
135
|
+
def log_final_results(metrics: dict, model_path: str = None):
|
|
136
|
+
"""Log final evaluation metrics and optionally the model artifact."""
|
|
137
|
+
for name, value in metrics.items():
|
|
138
|
+
mlflow.log_metric(f"final_{name}", value)
|
|
139
|
+
if model_path:
|
|
140
|
+
mlflow.log_artifact(model_path)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Results Comparison and Statistical Testing
|
|
144
|
+
|
|
145
|
+
### Comparing Runs Across Seeds
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
from scipy import stats
|
|
149
|
+
import numpy as np
|
|
150
|
+
|
|
151
|
+
def compare_experiment_results(results: dict) -> dict:
|
|
152
|
+
"""
|
|
153
|
+
Compare experiment configurations using statistical tests.
|
|
154
|
+
|
|
155
|
+
Args:
|
|
156
|
+
results: Dict mapping config_name -> list of metric values across seeds
|
|
157
|
+
e.g., {'relative_pe': [0.87, 0.86, 0.88], 'absolute_pe': [0.84, 0.83, 0.85]}
|
|
158
|
+
"""
|
|
159
|
+
config_names = list(results.keys())
|
|
160
|
+
comparisons = {}
|
|
161
|
+
|
|
162
|
+
for i in range(len(config_names)):
|
|
163
|
+
for j in range(i + 1, len(config_names)):
|
|
164
|
+
name_a, name_b = config_names[i], config_names[j]
|
|
165
|
+
values_a, values_b = results[name_a], results[name_b]
|
|
166
|
+
|
|
167
|
+
# Paired t-test (same seeds)
|
|
168
|
+
t_stat, p_value = stats.ttest_rel(values_a, values_b)
|
|
169
|
+
|
|
170
|
+
# Effect size (Cohen's d)
|
|
171
|
+
diff = np.array(values_a) - np.array(values_b)
|
|
172
|
+
cohens_d = np.mean(diff) / np.std(diff, ddof=1)
|
|
173
|
+
|
|
174
|
+
comparisons[f"{name_a}_vs_{name_b}"] = {
|
|
175
|
+
'mean_a': np.mean(values_a),
|
|
176
|
+
'mean_b': np.mean(values_b),
|
|
177
|
+
'mean_diff': np.mean(diff),
|
|
178
|
+
't_statistic': round(t_stat, 4),
|
|
179
|
+
'p_value': round(p_value, 4),
|
|
180
|
+
'significant': p_value < 0.05,
|
|
181
|
+
'cohens_d': round(cohens_d, 3)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return comparisons
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Results Summary Table
|
|
188
|
+
|
|
189
|
+
| Configuration | F1 (mean +/- std) | Accuracy | p-value vs. baseline |
|
|
190
|
+
|--------------|-------------------|----------|---------------------|
|
|
191
|
+
| Baseline (absolute PE) | 0.840 +/- 0.010 | 0.852 | -- |
|
|
192
|
+
| Relative PE | 0.870 +/- 0.008 | 0.881 | 0.003 |
|
|
193
|
+
| Rotary PE | 0.865 +/- 0.012 | 0.876 | 0.011 |
|
|
194
|
+
|
|
195
|
+
## Reproducibility Checklist
|
|
196
|
+
|
|
197
|
+
Before submitting ML results for publication, verify:
|
|
198
|
+
|
|
199
|
+
- [ ] Random seeds are fixed and reported for all stochastic operations
|
|
200
|
+
- [ ] Dataset version and exact split indices are saved
|
|
201
|
+
- [ ] All hyperparameters are logged (not just the "important" ones)
|
|
202
|
+
- [ ] Software versions (framework, CUDA, key libraries) are documented
|
|
203
|
+
- [ ] Results are averaged over at least 3 random seeds with standard deviations
|
|
204
|
+
- [ ] Statistical significance tests are performed for key comparisons
|
|
205
|
+
- [ ] Model checkpoints or training scripts are archived
|
|
206
|
+
- [ ] Data preprocessing pipeline is fully specified and deterministic
|
|
207
|
+
|
|
208
|
+
## References
|
|
209
|
+
|
|
210
|
+
- Bouthillier, X., et al. (2021). Accounting for Variance in Machine Learning Benchmarks. *MLSys 2021*.
|
|
211
|
+
- Zaharia, M., et al. (2018). Accelerating the Machine Learning Lifecycle with MLflow. *IEEE Data Eng. Bull.*
|
|
212
|
+
- Dodge, J., et al. (2019). Show Your Work: Improved Reporting of Experimental Results. *EMNLP 2019*.
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pywayne-statistics-guide
|
|
3
|
+
description: "37+ statistical testing methods for rigorous hypothesis testing"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "📐"
|
|
7
|
+
category: "analysis"
|
|
8
|
+
subcategory: "statistics"
|
|
9
|
+
keywords: ["hypothesis testing", "statistical tests", "p-value", "parametric tests", "nonparametric tests", "effect size", "multiple comparisons"]
|
|
10
|
+
source: "https://github.com/AcademicSkills/pywayne-statistics-guide"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# PyWayne Statistics Guide
|
|
14
|
+
|
|
15
|
+
A comprehensive reference for 37+ statistical testing methods covering parametric, nonparametric, and resampling-based hypothesis tests. Provides decision trees for test selection, implementation in Python (scipy, statsmodels, pingouin), effect size calculation, and proper reporting standards for academic publications.
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
Hypothesis testing remains the backbone of quantitative research across the sciences, social sciences, and engineering. However, selecting the appropriate test for a given research question, data structure, and assumption profile is a persistent challenge, especially for researchers outside statistics. This skill provides a structured decision framework that maps research questions to the correct statistical test, verifies assumptions, computes test statistics and effect sizes, and formats results for publication.
|
|
20
|
+
|
|
21
|
+
All 37+ tests are organized by the type of comparison (one-sample, two-sample, k-sample, association, agreement) and whether parametric assumptions are met. Each test entry includes when to use it, assumptions to verify, the Python implementation, and the correct APA-style reporting format.
|
|
22
|
+
|
|
23
|
+
## Test Selection Decision Tree
|
|
24
|
+
|
|
25
|
+
### Step 1: Identify the Research Question Type
|
|
26
|
+
|
|
27
|
+
| Question Type | Examples |
|
|
28
|
+
|--------------|----------|
|
|
29
|
+
| **One-sample** | Is this sample mean different from a known value? |
|
|
30
|
+
| **Two-sample (independent)** | Do treatment and control groups differ? |
|
|
31
|
+
| **Two-sample (paired)** | Do pre-test and post-test scores differ? |
|
|
32
|
+
| **K-sample (independent)** | Do 3+ groups differ on an outcome? |
|
|
33
|
+
| **K-sample (repeated)** | Do measurements differ across 3+ time points? |
|
|
34
|
+
| **Association** | Is variable X related to variable Y? |
|
|
35
|
+
| **Agreement** | Do two raters/methods agree? |
|
|
36
|
+
|
|
37
|
+
### Step 2: Check Data Type and Assumptions
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Is the outcome variable continuous?
|
|
41
|
+
├── Yes → Are the data normally distributed?
|
|
42
|
+
│ ├── Yes → Are variances equal (for group comparisons)?
|
|
43
|
+
│ │ ├── Yes → Use PARAMETRIC test
|
|
44
|
+
│ │ └── No → Use Welch's correction or nonparametric
|
|
45
|
+
│ └── No → Use NONPARAMETRIC test
|
|
46
|
+
└── No → Is it ordinal or nominal?
|
|
47
|
+
├── Ordinal → Use rank-based NONPARAMETRIC test
|
|
48
|
+
└── Nominal → Use CHI-SQUARE or exact test
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Parametric Tests
|
|
52
|
+
|
|
53
|
+
### Two-Sample Tests
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
from scipy import stats
|
|
57
|
+
import pingouin as pg
|
|
58
|
+
import numpy as np
|
|
59
|
+
|
|
60
|
+
def two_sample_comparison(group_a, group_b, paired=False):
|
|
61
|
+
"""
|
|
62
|
+
Perform the appropriate two-sample test with assumption checks.
|
|
63
|
+
"""
|
|
64
|
+
results = {}
|
|
65
|
+
|
|
66
|
+
# Assumption: Normality
|
|
67
|
+
_, p_norm_a = stats.shapiro(group_a)
|
|
68
|
+
_, p_norm_b = stats.shapiro(group_b)
|
|
69
|
+
normal = p_norm_a > 0.05 and p_norm_b > 0.05
|
|
70
|
+
|
|
71
|
+
if paired:
|
|
72
|
+
if normal:
|
|
73
|
+
# Paired t-test
|
|
74
|
+
t, p = stats.ttest_rel(group_a, group_b)
|
|
75
|
+
d = pg.compute_effsize(group_a, group_b, paired=True, eftype='cohen')
|
|
76
|
+
results = {'test': 'paired t-test', 't': t, 'p': p, 'cohens_d': d}
|
|
77
|
+
else:
|
|
78
|
+
# Wilcoxon signed-rank
|
|
79
|
+
w, p = stats.wilcoxon(group_a, group_b)
|
|
80
|
+
r = w / (len(group_a) * (len(group_a) + 1) / 2)
|
|
81
|
+
results = {'test': 'Wilcoxon signed-rank', 'W': w, 'p': p, 'rank_biserial': r}
|
|
82
|
+
else:
|
|
83
|
+
if normal:
|
|
84
|
+
# Check equal variances
|
|
85
|
+
_, p_levene = stats.levene(group_a, group_b)
|
|
86
|
+
if p_levene > 0.05:
|
|
87
|
+
t, p = stats.ttest_ind(group_a, group_b)
|
|
88
|
+
results = {'test': 'independent t-test', 't': t, 'p': p}
|
|
89
|
+
else:
|
|
90
|
+
t, p = stats.ttest_ind(group_a, group_b, equal_var=False)
|
|
91
|
+
results = {'test': "Welch's t-test", 't': t, 'p': p}
|
|
92
|
+
d = pg.compute_effsize(group_a, group_b, eftype='cohen')
|
|
93
|
+
results['cohens_d'] = d
|
|
94
|
+
else:
|
|
95
|
+
# Mann-Whitney U
|
|
96
|
+
u, p = stats.mannwhitneyu(group_a, group_b, alternative='two-sided')
|
|
97
|
+
results = {'test': 'Mann-Whitney U', 'U': u, 'p': p}
|
|
98
|
+
|
|
99
|
+
return results
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### K-Sample Tests (ANOVA Family)
|
|
103
|
+
|
|
104
|
+
| Test | Use Case | Assumptions |
|
|
105
|
+
|------|----------|-------------|
|
|
106
|
+
| One-way ANOVA | 3+ independent groups, continuous outcome | Normality, homoscedasticity |
|
|
107
|
+
| Welch's ANOVA | 3+ groups, unequal variances | Normality |
|
|
108
|
+
| Repeated measures ANOVA | 3+ related measurements | Normality, sphericity |
|
|
109
|
+
| Two-way ANOVA | Two factors, continuous outcome | Normality, homoscedasticity |
|
|
110
|
+
| ANCOVA | Group comparison controlling for covariate | Normality, homogeneity of slopes |
|
|
111
|
+
| MANOVA | Multiple dependent variables | Multivariate normality |
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
def k_sample_test(groups: list, method: str = 'auto'):
|
|
115
|
+
"""Run the appropriate k-sample comparison."""
|
|
116
|
+
# Check normality for all groups
|
|
117
|
+
all_normal = all(stats.shapiro(g)[1] > 0.05 for g in groups)
|
|
118
|
+
|
|
119
|
+
if all_normal:
|
|
120
|
+
# Check homogeneity of variance
|
|
121
|
+
_, p_levene = stats.levene(*groups)
|
|
122
|
+
if p_levene > 0.05:
|
|
123
|
+
f, p = stats.f_oneway(*groups)
|
|
124
|
+
return {'test': 'one-way ANOVA', 'F': f, 'p': p}
|
|
125
|
+
else:
|
|
126
|
+
# Welch's ANOVA via pingouin
|
|
127
|
+
return {'test': "Welch's ANOVA", 'note': 'Use pg.welch_anova()'}
|
|
128
|
+
else:
|
|
129
|
+
h, p = stats.kruskal(*groups)
|
|
130
|
+
return {'test': 'Kruskal-Wallis H', 'H': h, 'p': p}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Nonparametric Tests Reference
|
|
134
|
+
|
|
135
|
+
| Parametric Test | Nonparametric Alternative | When to Use |
|
|
136
|
+
|----------------|--------------------------|-------------|
|
|
137
|
+
| One-sample t-test | Wilcoxon signed-rank | Non-normal single sample |
|
|
138
|
+
| Independent t-test | Mann-Whitney U | Non-normal, 2 independent groups |
|
|
139
|
+
| Paired t-test | Wilcoxon signed-rank | Non-normal, paired data |
|
|
140
|
+
| One-way ANOVA | Kruskal-Wallis H | Non-normal, 3+ groups |
|
|
141
|
+
| Repeated measures ANOVA | Friedman test | Non-normal, 3+ related measures |
|
|
142
|
+
| Pearson correlation | Spearman rho / Kendall tau | Non-linear or ordinal association |
|
|
143
|
+
|
|
144
|
+
## Multiple Comparisons Correction
|
|
145
|
+
|
|
146
|
+
When performing multiple hypothesis tests, control the family-wise error rate:
|
|
147
|
+
|
|
148
|
+
```python
|
|
149
|
+
from statsmodels.stats.multitest import multipletests
|
|
150
|
+
|
|
151
|
+
def correct_multiple_tests(p_values: list, method: str = 'fdr_bh') -> dict:
|
|
152
|
+
"""
|
|
153
|
+
Apply multiple comparisons correction.
|
|
154
|
+
|
|
155
|
+
Methods:
|
|
156
|
+
'bonferroni': Conservative, controls FWER
|
|
157
|
+
'holm': Less conservative than Bonferroni, controls FWER
|
|
158
|
+
'fdr_bh': Benjamini-Hochberg, controls FDR (recommended default)
|
|
159
|
+
'fdr_by': Benjamini-Yekutieli, conservative FDR control
|
|
160
|
+
"""
|
|
161
|
+
reject, corrected_p, _, _ = multipletests(p_values, method=method)
|
|
162
|
+
return {
|
|
163
|
+
'method': method,
|
|
164
|
+
'original_p': p_values,
|
|
165
|
+
'corrected_p': corrected_p.tolist(),
|
|
166
|
+
'reject': reject.tolist(),
|
|
167
|
+
'n_significant': int(reject.sum())
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Effect Size Reference
|
|
172
|
+
|
|
173
|
+
| Test | Effect Size | Small | Medium | Large |
|
|
174
|
+
|------|------------|-------|--------|-------|
|
|
175
|
+
| t-test | Cohen's d | 0.2 | 0.5 | 0.8 |
|
|
176
|
+
| ANOVA | Eta-squared | 0.01 | 0.06 | 0.14 |
|
|
177
|
+
| Correlation | r | 0.1 | 0.3 | 0.5 |
|
|
178
|
+
| Chi-square | Cramér's V | 0.1 | 0.3 | 0.5 |
|
|
179
|
+
| Mann-Whitney | Rank-biserial r | 0.1 | 0.3 | 0.5 |
|
|
180
|
+
|
|
181
|
+
## APA Reporting Examples
|
|
182
|
+
|
|
183
|
+
- **t-test**: "An independent samples t-test revealed a significant difference, t(58) = 2.45, p = .017, d = 0.63."
|
|
184
|
+
- **ANOVA**: "A one-way ANOVA showed a significant main effect of condition, F(2, 87) = 4.12, p = .020, eta-squared = 0.09."
|
|
185
|
+
- **Mann-Whitney**: "A Mann-Whitney U test indicated that scores were significantly higher in the treatment group, U = 245, p = .003, r = 0.42."
|
|
186
|
+
- **Chi-square**: "A chi-square test of independence revealed a significant association, X2(2, N = 150) = 8.34, p = .015, V = 0.24."
|
|
187
|
+
|
|
188
|
+
## References
|
|
189
|
+
|
|
190
|
+
- Cohen, J. (1988). *Statistical Power Analysis for the Behavioral Sciences* (2nd ed.). Routledge.
|
|
191
|
+
- Vallat, R. (2018). Pingouin: Statistics in Python. *JOSS*, 3(31), 1026.
|
|
192
|
+
- Lakens, D. (2013). Calculating and Reporting Effect Sizes. *Frontiers in Psychology*, 4, 863.
|