@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,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: assessment-design-guide
|
|
3
|
+
description: "Psychometrics and educational assessment design for researchers"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "clipboard"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "education"
|
|
9
|
+
keywords: ["psychometrics", "assessment", "item-response-theory", "test-design", "validity", "reliability"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Assessment Design Guide
|
|
14
|
+
|
|
15
|
+
A skill for designing, validating, and analyzing educational assessments using modern psychometric methods. Covers classical test theory, item response theory, test construction, validity evidence, and computerized adaptive testing.
|
|
16
|
+
|
|
17
|
+
## Classical Test Theory
|
|
18
|
+
|
|
19
|
+
### Reliability Analysis
|
|
20
|
+
|
|
21
|
+
Classical test theory (CTT) models observed scores as the sum of a true score and error:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
X = T + E
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Key reliability coefficients:
|
|
28
|
+
|
|
29
|
+
| Coefficient | Method | Interpretation |
|
|
30
|
+
|-------------|--------|----------------|
|
|
31
|
+
| Cronbach's alpha | Internal consistency | Homogeneity of items |
|
|
32
|
+
| Test-retest | Stability over time | Temporal consistency |
|
|
33
|
+
| Parallel forms | Equivalent test versions | Form equivalence |
|
|
34
|
+
| Split-half (Spearman-Brown) | Odd-even item split | Internal consistency |
|
|
35
|
+
| Inter-rater (Cohen's kappa) | Multiple raters | Scoring agreement |
|
|
36
|
+
|
|
37
|
+
```python
|
|
38
|
+
import numpy as np
|
|
39
|
+
import pandas as pd
|
|
40
|
+
|
|
41
|
+
def item_analysis(responses: pd.DataFrame, total_scores: pd.Series) -> pd.DataFrame:
|
|
42
|
+
"""
|
|
43
|
+
Classical item analysis: difficulty, discrimination, point-biserial.
|
|
44
|
+
responses: binary DataFrame (1=correct, 0=incorrect), items as columns.
|
|
45
|
+
total_scores: total test score for each examinee.
|
|
46
|
+
"""
|
|
47
|
+
results = []
|
|
48
|
+
for item in responses.columns:
|
|
49
|
+
scores = responses[item]
|
|
50
|
+
difficulty = scores.mean() # p-value (proportion correct)
|
|
51
|
+
|
|
52
|
+
# Point-biserial correlation
|
|
53
|
+
corr = scores.corr(total_scores)
|
|
54
|
+
|
|
55
|
+
# Upper-lower discrimination (top/bottom 27%)
|
|
56
|
+
n = len(total_scores)
|
|
57
|
+
cutoff_high = total_scores.quantile(0.73)
|
|
58
|
+
cutoff_low = total_scores.quantile(0.27)
|
|
59
|
+
upper = scores[total_scores >= cutoff_high].mean()
|
|
60
|
+
lower = scores[total_scores <= cutoff_low].mean()
|
|
61
|
+
discrimination = upper - lower
|
|
62
|
+
|
|
63
|
+
results.append({
|
|
64
|
+
"item": item,
|
|
65
|
+
"difficulty": round(difficulty, 3),
|
|
66
|
+
"discrimination": round(discrimination, 3),
|
|
67
|
+
"point_biserial": round(corr, 3),
|
|
68
|
+
"flag": "review" if difficulty < 0.2 or difficulty > 0.9
|
|
69
|
+
or discrimination < 0.2 else "ok"
|
|
70
|
+
})
|
|
71
|
+
return pd.DataFrame(results)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Item Selection Guidelines
|
|
75
|
+
|
|
76
|
+
- **Difficulty**: Aim for p-values between 0.30 and 0.80 for maximum discrimination
|
|
77
|
+
- **Discrimination**: Items with D < 0.20 should be revised or removed
|
|
78
|
+
- **Distractors**: Each distractor should attract at least 5% of examinees
|
|
79
|
+
- **Point-biserial**: Should be positive and ideally above 0.25
|
|
80
|
+
|
|
81
|
+
## Item Response Theory
|
|
82
|
+
|
|
83
|
+
### The Three-Parameter Logistic Model
|
|
84
|
+
|
|
85
|
+
IRT provides a more rigorous framework than CTT by modeling the probability of a correct response as a function of ability and item parameters:
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
import numpy as np
|
|
89
|
+
|
|
90
|
+
def irt_3pl(theta: float, a: float, b: float, c: float) -> float:
|
|
91
|
+
"""
|
|
92
|
+
Three-parameter logistic IRT model.
|
|
93
|
+
theta: examinee ability (typically -3 to +3)
|
|
94
|
+
a: discrimination parameter (slope, typically 0.5 to 2.5)
|
|
95
|
+
b: difficulty parameter (location, same scale as theta)
|
|
96
|
+
c: guessing parameter (lower asymptote, typically 0.0 to 0.35)
|
|
97
|
+
Returns: probability of correct response
|
|
98
|
+
"""
|
|
99
|
+
exponent = -a * (theta - b)
|
|
100
|
+
return c + (1 - c) / (1 + np.exp(exponent))
|
|
101
|
+
|
|
102
|
+
# Item characteristic curves for three items
|
|
103
|
+
thetas = np.linspace(-3, 3, 100)
|
|
104
|
+
item_easy = [irt_3pl(t, a=1.0, b=-1.0, c=0.2) for t in thetas]
|
|
105
|
+
item_medium = [irt_3pl(t, a=1.5, b=0.0, c=0.2) for t in thetas]
|
|
106
|
+
item_hard = [irt_3pl(t, a=1.2, b=1.5, c=0.2) for t in thetas]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### IRT Model Estimation
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
# Using the 'mirt' package in R (called via rpy2 or standalone)
|
|
113
|
+
# R code for fitting a 2PL model:
|
|
114
|
+
r_code = """
|
|
115
|
+
library(mirt)
|
|
116
|
+
|
|
117
|
+
# responses: binary matrix (examinees x items)
|
|
118
|
+
mod <- mirt(responses, model = 1, itemtype = "2PL")
|
|
119
|
+
|
|
120
|
+
# Item parameters
|
|
121
|
+
coef(mod, simplify = TRUE)
|
|
122
|
+
|
|
123
|
+
# Ability estimates (Expected A Posteriori)
|
|
124
|
+
theta_hat <- fscores(mod, method = "EAP")
|
|
125
|
+
|
|
126
|
+
# Model fit
|
|
127
|
+
M2(mod) # limited-information fit statistic
|
|
128
|
+
itemfit(mod, fit_stats = "S_X2")
|
|
129
|
+
"""
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Model Comparison
|
|
133
|
+
|
|
134
|
+
| Model | Parameters | Use Case |
|
|
135
|
+
|-------|-----------|----------|
|
|
136
|
+
| Rasch (1PL) | b only | Equal discrimination assumed; measurement-focused |
|
|
137
|
+
| 2PL | a, b | Different discrimination; general purpose |
|
|
138
|
+
| 3PL | a, b, c | Multiple choice with guessing |
|
|
139
|
+
| Graded Response | a, b_k | Likert-scale or partial credit items |
|
|
140
|
+
| Nominal Response | a_k, c_k | Multiple choice with informative distractors |
|
|
141
|
+
|
|
142
|
+
## Validity Evidence
|
|
143
|
+
|
|
144
|
+
### The Unified Validity Framework
|
|
145
|
+
|
|
146
|
+
Following the Standards for Educational and Psychological Testing (AERA/APA/NCME, 2014), validity is a unitary concept supported by five types of evidence:
|
|
147
|
+
|
|
148
|
+
1. **Content evidence**: Expert review confirms items represent the construct domain
|
|
149
|
+
2. **Response process evidence**: Think-aloud protocols confirm examinees engage intended cognitive processes
|
|
150
|
+
3. **Internal structure evidence**: Factor analysis confirms dimensionality matches the test blueprint
|
|
151
|
+
4. **Relations to other variables**: Correlations with external criteria (convergent, discriminant, predictive)
|
|
152
|
+
5. **Consequences evidence**: Test use leads to intended benefits without unintended harm
|
|
153
|
+
|
|
154
|
+
```python
|
|
155
|
+
from factor_analyzer import FactorAnalyzer
|
|
156
|
+
|
|
157
|
+
# Confirmatory approach: check dimensionality
|
|
158
|
+
fa = FactorAnalyzer(n_factors=3, rotation="promax")
|
|
159
|
+
fa.fit(item_responses)
|
|
160
|
+
|
|
161
|
+
# Eigenvalues for scree plot
|
|
162
|
+
eigenvalues, _ = fa.get_eigenvalues()
|
|
163
|
+
print("Eigenvalues:", eigenvalues[:10])
|
|
164
|
+
|
|
165
|
+
# Factor loadings
|
|
166
|
+
loadings = pd.DataFrame(
|
|
167
|
+
fa.loadings_,
|
|
168
|
+
columns=["Factor1", "Factor2", "Factor3"],
|
|
169
|
+
index=item_names
|
|
170
|
+
)
|
|
171
|
+
print(loadings.round(3))
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Computerized Adaptive Testing
|
|
175
|
+
|
|
176
|
+
### CAT Algorithm
|
|
177
|
+
|
|
178
|
+
Computerized adaptive testing selects items in real time to match examinee ability:
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
Initialize: theta_0 = 0 (prior mean)
|
|
182
|
+
For each item i = 1, 2, ..., until stopping rule met:
|
|
183
|
+
1. Select item with maximum Fisher information at current theta
|
|
184
|
+
2. Administer item, observe response
|
|
185
|
+
3. Update theta estimate using maximum likelihood or Bayesian EAP
|
|
186
|
+
4. Check stopping rule:
|
|
187
|
+
- Fixed length (e.g., 30 items)
|
|
188
|
+
- SE(theta) < threshold (e.g., 0.30)
|
|
189
|
+
- Maximum time reached
|
|
190
|
+
Return: final theta estimate and standard error
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Item Exposure Control
|
|
194
|
+
|
|
195
|
+
To prevent overuse of high-quality items and maintain test security:
|
|
196
|
+
|
|
197
|
+
- **Sympson-Hetter method**: Set maximum exposure rates per item (e.g., 0.25)
|
|
198
|
+
- **a-stratified method**: Divide item bank into strata by discrimination, sample within strata
|
|
199
|
+
- **Shadow test approach**: Assemble full shadow tests at each step, administer the optimal item from the shadow test
|
|
200
|
+
|
|
201
|
+
## Tools and Software
|
|
202
|
+
|
|
203
|
+
- **R mirt package**: Full-featured IRT estimation, DIF analysis, CAT simulation
|
|
204
|
+
- **Python irt library (py-irt)**: Bayesian IRT models using PyTorch
|
|
205
|
+
- **jMetrik**: Open-source Java application for classical and IRT analysis
|
|
206
|
+
- **TAO (Testing Assistee par Ordinateur)**: Open-source assessment delivery platform
|
|
207
|
+
- **Concerto**: Open-source adaptive testing platform from Cambridge
|
|
208
|
+
|
|
209
|
+
## Key References
|
|
210
|
+
|
|
211
|
+
- Embretson, S.E. and Reise, S.P. (2000). *Item Response Theory for Psychologists*. Lawrence Erlbaum.
|
|
212
|
+
- de Ayala, R.J. (2022). *The Theory and Practice of Item Response Theory* (2nd ed.). Guilford Press.
|
|
213
|
+
- AERA, APA, and NCME (2014). *Standards for Educational and Psychological Testing*.
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: educational-research-methods
|
|
3
|
+
description: "Quantitative and qualitative research methods for education studies"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "books"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "education"
|
|
9
|
+
keywords: ["education", "research-methods", "qualitative", "quantitative", "survey-design", "classroom-research"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Educational Research Methods
|
|
14
|
+
|
|
15
|
+
A comprehensive skill for conducting rigorous educational research using both quantitative and qualitative methodologies. Covers study design, data collection instruments, analysis techniques, and reporting standards specific to education scholarship.
|
|
16
|
+
|
|
17
|
+
## Study Design Frameworks
|
|
18
|
+
|
|
19
|
+
### Quantitative Designs
|
|
20
|
+
|
|
21
|
+
Educational quantitative research typically follows one of these designs:
|
|
22
|
+
|
|
23
|
+
| Design | Purpose | Example |
|
|
24
|
+
|--------|---------|---------|
|
|
25
|
+
| Randomized controlled trial (RCT) | Causal inference | Random assignment to instruction methods |
|
|
26
|
+
| Quasi-experimental | Causal inference without randomization | Pre-post comparison with matched control |
|
|
27
|
+
| Correlational | Relationship exploration | Survey linking self-efficacy to GPA |
|
|
28
|
+
| Longitudinal panel | Change over time | Tracking cohort achievement K-12 |
|
|
29
|
+
| Cross-sectional survey | Snapshot description | National teacher satisfaction survey |
|
|
30
|
+
|
|
31
|
+
### Qualitative Designs
|
|
32
|
+
|
|
33
|
+
Common qualitative traditions in education:
|
|
34
|
+
|
|
35
|
+
- **Ethnography**: Extended immersion in a classroom or school culture to produce thick description
|
|
36
|
+
- **Case study**: In-depth examination of a bounded system (a program, a school, a student)
|
|
37
|
+
- **Grounded theory**: Iterative coding to build theory from interview and observation data
|
|
38
|
+
- **Phenomenology**: Exploring the lived experience of participants (e.g., first-generation college students)
|
|
39
|
+
- **Action research**: Practitioners systematically studying their own practice to improve it
|
|
40
|
+
|
|
41
|
+
### Mixed Methods
|
|
42
|
+
|
|
43
|
+
Sequential and concurrent mixed-methods designs are increasingly common in education research:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Sequential Explanatory:
|
|
47
|
+
Phase 1: Quantitative survey (n=500) --> identify patterns
|
|
48
|
+
Phase 2: Qualitative interviews (n=20) --> explain patterns
|
|
49
|
+
|
|
50
|
+
Concurrent Triangulation:
|
|
51
|
+
QUAN data collection + QUAL data collection (simultaneous)
|
|
52
|
+
--> merge and compare findings at interpretation stage
|
|
53
|
+
|
|
54
|
+
Embedded Design:
|
|
55
|
+
Primary: RCT measuring learning outcomes
|
|
56
|
+
Secondary: Classroom observations embedded within treatment arm
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Data Collection Instruments
|
|
60
|
+
|
|
61
|
+
### Survey and Questionnaire Design
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
import pandas as pd
|
|
65
|
+
from scipy import stats
|
|
66
|
+
|
|
67
|
+
# Reliability analysis for a Likert-scale instrument
|
|
68
|
+
def cronbach_alpha(df: pd.DataFrame) -> float:
|
|
69
|
+
"""
|
|
70
|
+
Compute Cronbach's alpha for internal consistency reliability.
|
|
71
|
+
df: DataFrame where each column is an item, each row a respondent.
|
|
72
|
+
Acceptable threshold: alpha >= 0.70 for research purposes.
|
|
73
|
+
"""
|
|
74
|
+
n_items = df.shape[1]
|
|
75
|
+
item_vars = df.var(axis=0, ddof=1)
|
|
76
|
+
total_var = df.sum(axis=1).var(ddof=1)
|
|
77
|
+
alpha = (n_items / (n_items - 1)) * (1 - item_vars.sum() / total_var)
|
|
78
|
+
return round(alpha, 4)
|
|
79
|
+
|
|
80
|
+
# Example usage with a 6-item motivation scale
|
|
81
|
+
data = pd.DataFrame({
|
|
82
|
+
'item1': [4, 5, 3, 4, 5, 3, 4, 5],
|
|
83
|
+
'item2': [3, 4, 3, 4, 5, 2, 4, 4],
|
|
84
|
+
'item3': [4, 5, 4, 5, 4, 3, 5, 5],
|
|
85
|
+
'item4': [3, 4, 2, 3, 5, 2, 3, 4],
|
|
86
|
+
'item5': [4, 5, 3, 4, 5, 3, 4, 5],
|
|
87
|
+
'item6': [3, 4, 3, 4, 4, 3, 4, 4],
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
alpha = cronbach_alpha(data)
|
|
91
|
+
print(f"Cronbach's alpha: {alpha}")
|
|
92
|
+
# alpha >= 0.70 indicates acceptable internal consistency
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Observation Protocols
|
|
96
|
+
|
|
97
|
+
Structured classroom observation instruments:
|
|
98
|
+
|
|
99
|
+
- **CLASS (Classroom Assessment Scoring System)**: Measures teacher-student interactions across emotional support, classroom organization, and instructional support
|
|
100
|
+
- **RTOP (Reformed Teaching Observation Protocol)**: Evaluates inquiry-based instruction in STEM
|
|
101
|
+
- **Flanders Interaction Analysis**: Codes teacher talk, student talk, and silence in timed intervals
|
|
102
|
+
|
|
103
|
+
### Interview Protocols
|
|
104
|
+
|
|
105
|
+
Semi-structured interview best practices for educational research:
|
|
106
|
+
|
|
107
|
+
1. Begin with rapport-building questions before moving to core topics
|
|
108
|
+
2. Use open-ended prompts: "Tell me about..." rather than yes/no questions
|
|
109
|
+
3. Prepare follow-up probes for each core question
|
|
110
|
+
4. Pilot the protocol with 2-3 participants and revise
|
|
111
|
+
5. Plan for 45-60 minute sessions to allow depth without fatigue
|
|
112
|
+
|
|
113
|
+
## Analysis Techniques
|
|
114
|
+
|
|
115
|
+
### Quantitative Analysis for Education Data
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
import statsmodels.api as sm
|
|
119
|
+
from statsmodels.formula.api import mixedlm
|
|
120
|
+
|
|
121
|
+
# Hierarchical Linear Model (HLM) -- essential for nested
|
|
122
|
+
# education data (students within classrooms within schools)
|
|
123
|
+
# Example: predicting math achievement from student SES
|
|
124
|
+
# and classroom teaching quality
|
|
125
|
+
|
|
126
|
+
model = mixedlm(
|
|
127
|
+
"math_score ~ student_ses + teaching_quality",
|
|
128
|
+
data=df,
|
|
129
|
+
groups=df["school_id"],
|
|
130
|
+
re_formula="~teaching_quality"
|
|
131
|
+
)
|
|
132
|
+
result = model.fit()
|
|
133
|
+
print(result.summary())
|
|
134
|
+
|
|
135
|
+
# Effect size calculation (Cohen's d)
|
|
136
|
+
def cohens_d(group1, group2):
|
|
137
|
+
n1, n2 = len(group1), len(group2)
|
|
138
|
+
var1, var2 = group1.var(), group2.var()
|
|
139
|
+
pooled_std = ((( n1 - 1) * var1 + (n2 - 1) * var2) / (n1 + n2 - 2)) ** 0.5
|
|
140
|
+
return (group1.mean() - group2.mean()) / pooled_std
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Qualitative Coding
|
|
144
|
+
|
|
145
|
+
Thematic analysis workflow (Braun and Clarke, 2006):
|
|
146
|
+
|
|
147
|
+
1. **Familiarization**: Read transcripts multiple times, take initial notes
|
|
148
|
+
2. **Initial coding**: Generate codes systematically across the dataset
|
|
149
|
+
3. **Theme search**: Collate codes into candidate themes
|
|
150
|
+
4. **Theme review**: Check themes against coded extracts and full dataset
|
|
151
|
+
5. **Theme definition**: Refine names and write analytic narrative
|
|
152
|
+
6. **Report**: Select vivid, compelling quotes that capture each theme
|
|
153
|
+
|
|
154
|
+
Tools: NVivo, ATLAS.ti, MAXQDA, or open-source Taguette for coding.
|
|
155
|
+
|
|
156
|
+
## Reporting Standards
|
|
157
|
+
|
|
158
|
+
### APA and AERA Guidelines
|
|
159
|
+
|
|
160
|
+
Educational research follows the APA Publication Manual (7th edition) and the AERA Standards for Reporting on Empirical Social Science Research:
|
|
161
|
+
|
|
162
|
+
- Report effect sizes alongside p-values for all statistical tests
|
|
163
|
+
- Describe the sample demographics in detail (age, gender, race/ethnicity, SES)
|
|
164
|
+
- Discuss both statistical significance and practical significance
|
|
165
|
+
- For qualitative work, describe researcher positionality and reflexivity
|
|
166
|
+
- Include limitations section addressing threats to validity
|
|
167
|
+
|
|
168
|
+
### Key Journals
|
|
169
|
+
|
|
170
|
+
- *American Educational Research Journal* (AERJ)
|
|
171
|
+
- *Educational Researcher*
|
|
172
|
+
- *Journal of Educational Psychology*
|
|
173
|
+
- *Review of Educational Research*
|
|
174
|
+
- *Teaching and Teacher Education*
|
|
175
|
+
- *International Journal of Educational Research*
|
|
176
|
+
|
|
177
|
+
## Ethical Considerations
|
|
178
|
+
|
|
179
|
+
Educational research involving human subjects (especially minors) requires Institutional Review Board (IRB) approval. Key considerations include informed consent from parents/guardians, assent from minors, data de-identification, and equitable participant selection. The Belmont Report principles (respect for persons, beneficence, justice) guide all education research ethics.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: edumcp-guide
|
|
3
|
+
description: "MCP server for educational content and learning management"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🎓"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "education"
|
|
9
|
+
keywords: ["education MCP", "learning management", "course content", "educational AI", "tutoring", "assessment"]
|
|
10
|
+
source: "https://github.com/edumcp/edumcp"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# EduMCP Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
EduMCP is an MCP server that provides educational content management and learning assistance capabilities to AI agents. It enables course content retrieval, quiz generation, learning progress tracking, and adaptive tutoring workflows. Designed for educational researchers and EdTech developers building AI-powered learning systems.
|
|
18
|
+
|
|
19
|
+
## MCP Configuration
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"edumcp": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["@edumcp/mcp-server"],
|
|
27
|
+
"env": {
|
|
28
|
+
"CONTENT_PATH": "./course_materials"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
### Content Management
|
|
39
|
+
- Course material indexing and retrieval
|
|
40
|
+
- Lecture note search (full-text + semantic)
|
|
41
|
+
- Syllabus parsing and topic extraction
|
|
42
|
+
- Resource recommendation by topic
|
|
43
|
+
|
|
44
|
+
### Assessment Generation
|
|
45
|
+
- Quiz/exam question generation from content
|
|
46
|
+
- Multiple question types (MCQ, short answer, essay)
|
|
47
|
+
- Difficulty calibration
|
|
48
|
+
- Answer key generation with explanations
|
|
49
|
+
|
|
50
|
+
### Learning Analytics
|
|
51
|
+
- Student progress tracking
|
|
52
|
+
- Knowledge gap identification
|
|
53
|
+
- Learning path recommendations
|
|
54
|
+
- Performance analytics
|
|
55
|
+
|
|
56
|
+
### Tutoring Support
|
|
57
|
+
- Concept explanation at multiple levels
|
|
58
|
+
- Step-by-step problem solving
|
|
59
|
+
- Misconception detection
|
|
60
|
+
- Socratic questioning
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Use Cases
|
|
64
|
+
|
|
65
|
+
1. **Course design**: AI-assisted curriculum development
|
|
66
|
+
2. **Assessment**: Automated quiz and exam generation
|
|
67
|
+
3. **Tutoring**: Adaptive explanation and guidance
|
|
68
|
+
4. **Analytics**: Learning progress analysis
|
|
69
|
+
5. **Research**: Educational AI system development
|
|
70
|
+
|
|
71
|
+
## References
|
|
72
|
+
|
|
73
|
+
- [EduMCP GitHub](https://github.com/edumcp/edumcp)
|
|
74
|
+
- [MCP Specification](https://modelcontextprotocol.io/)
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mooc-analytics-guide
|
|
3
|
+
description: "Analyzing MOOC data, learning analytics, and online education metrics"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "chart-increasing"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "education"
|
|
9
|
+
keywords: ["mooc", "learning-analytics", "online-education", "edx", "coursera", "clickstream"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# MOOC Analytics Guide
|
|
14
|
+
|
|
15
|
+
A skill for analyzing Massive Open Online Course data, implementing learning analytics pipelines, and extracting actionable insights from online education platforms. Covers clickstream processing, engagement modeling, dropout prediction, and A/B testing for course design.
|
|
16
|
+
|
|
17
|
+
## Data Sources and Formats
|
|
18
|
+
|
|
19
|
+
### Common MOOC Data Schemas
|
|
20
|
+
|
|
21
|
+
MOOC platforms export several standard data types:
|
|
22
|
+
|
|
23
|
+
| Data Type | Description | Typical Format |
|
|
24
|
+
|-----------|-------------|----------------|
|
|
25
|
+
| Clickstream logs | Page views, video plays, pauses, seeks | JSON event logs |
|
|
26
|
+
| Forum posts | Discussion text, timestamps, thread structure | CSV/JSON |
|
|
27
|
+
| Grade records | Assignment scores, quiz attempts, certificates | CSV |
|
|
28
|
+
| Course structure | Module hierarchy, release dates, prerequisites | XML/JSON |
|
|
29
|
+
| Survey responses | Pre/post course surveys, demographics | CSV |
|
|
30
|
+
|
|
31
|
+
### Accessing Open MOOC Datasets
|
|
32
|
+
|
|
33
|
+
Several open datasets are available for research:
|
|
34
|
+
|
|
35
|
+
- **MOOCdb**: Standardized schema from MIT, includes clickstream, forum, and grade data
|
|
36
|
+
- **Stanford MOOCPosts**: 30,000+ labeled forum posts for sentiment and urgency classification
|
|
37
|
+
- **Open University Learning Analytics (OULAD)**: Anonymized data for 30,000+ students across 7 courses
|
|
38
|
+
- **edX Research Data Exchange**: Available to institutional partners via application
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
import pandas as pd
|
|
42
|
+
|
|
43
|
+
# Load OULAD dataset (publicly available)
|
|
44
|
+
students = pd.read_csv("studentInfo.csv")
|
|
45
|
+
assessments = pd.read_csv("assessments.csv")
|
|
46
|
+
interactions = pd.read_csv("studentVle.csv")
|
|
47
|
+
|
|
48
|
+
# Basic engagement metric: total clicks per student per course
|
|
49
|
+
engagement = (
|
|
50
|
+
interactions
|
|
51
|
+
.groupby(["id_student", "code_module", "code_presentation"])
|
|
52
|
+
.agg(total_clicks=("sum_click", "sum"),
|
|
53
|
+
active_days=("date", "nunique"))
|
|
54
|
+
.reset_index()
|
|
55
|
+
)
|
|
56
|
+
print(engagement.describe())
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Engagement and Retention Analysis
|
|
60
|
+
|
|
61
|
+
### Defining Engagement Metrics
|
|
62
|
+
|
|
63
|
+
Key metrics used in learning analytics research:
|
|
64
|
+
|
|
65
|
+
- **Session count**: Number of distinct learning sessions (gap-based, e.g., 30-min inactivity threshold)
|
|
66
|
+
- **Time on task**: Total seconds spent on content pages and videos
|
|
67
|
+
- **Video completion ratio**: Fraction of video duration actually watched
|
|
68
|
+
- **Forum participation rate**: Posts + replies per student per week
|
|
69
|
+
- **Assignment submission rate**: Fraction of graded assignments submitted on time
|
|
70
|
+
- **Regularity index**: Entropy of daily activity distribution (lower entropy = more regular)
|
|
71
|
+
|
|
72
|
+
```python
|
|
73
|
+
import numpy as np
|
|
74
|
+
|
|
75
|
+
def regularity_index(daily_counts: np.ndarray) -> float:
|
|
76
|
+
"""
|
|
77
|
+
Compute regularity index based on Shannon entropy.
|
|
78
|
+
Lower values indicate more regular study patterns.
|
|
79
|
+
daily_counts: array of click counts per day over the course.
|
|
80
|
+
"""
|
|
81
|
+
total = daily_counts.sum()
|
|
82
|
+
if total == 0:
|
|
83
|
+
return float("nan")
|
|
84
|
+
probs = daily_counts / total
|
|
85
|
+
probs = probs[probs > 0]
|
|
86
|
+
entropy = -np.sum(probs * np.log2(probs))
|
|
87
|
+
max_entropy = np.log2(len(daily_counts))
|
|
88
|
+
return round(entropy / max_entropy, 4) # normalized [0, 1]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Dropout Prediction
|
|
92
|
+
|
|
93
|
+
Predicting which learners will drop out is a central MOOC analytics task:
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
from sklearn.ensemble import GradientBoostingClassifier
|
|
97
|
+
from sklearn.model_selection import TimeSeriesSplit
|
|
98
|
+
from sklearn.metrics import roc_auc_score
|
|
99
|
+
|
|
100
|
+
# Feature engineering: weekly aggregates
|
|
101
|
+
features = [
|
|
102
|
+
"clicks_week", "video_time_week", "forum_posts_week",
|
|
103
|
+
"assignments_submitted", "avg_score", "days_since_last_login",
|
|
104
|
+
"regularity_index", "week_number"
|
|
105
|
+
]
|
|
106
|
+
|
|
107
|
+
X = weekly_features[features]
|
|
108
|
+
y = weekly_features["dropped_next_week"]
|
|
109
|
+
|
|
110
|
+
# Time-aware cross-validation (no future leakage)
|
|
111
|
+
tscv = TimeSeriesSplit(n_splits=5)
|
|
112
|
+
aucs = []
|
|
113
|
+
for train_idx, test_idx in tscv.split(X):
|
|
114
|
+
model = GradientBoostingClassifier(
|
|
115
|
+
n_estimators=200, max_depth=4, learning_rate=0.1
|
|
116
|
+
)
|
|
117
|
+
model.fit(X.iloc[train_idx], y.iloc[train_idx])
|
|
118
|
+
pred = model.predict_proba(X.iloc[test_idx])[:, 1]
|
|
119
|
+
aucs.append(roc_auc_score(y.iloc[test_idx], pred))
|
|
120
|
+
|
|
121
|
+
print(f"Mean AUC: {np.mean(aucs):.3f} +/- {np.std(aucs):.3f}")
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Video Analytics
|
|
125
|
+
|
|
126
|
+
### Clickstream Processing for Video Events
|
|
127
|
+
|
|
128
|
+
Video interaction is the primary learning activity in MOOCs. Analyzing play, pause, seek, and speed-change events reveals learning patterns:
|
|
129
|
+
|
|
130
|
+
```python
|
|
131
|
+
def compute_video_metrics(events: pd.DataFrame) -> dict:
|
|
132
|
+
"""
|
|
133
|
+
Process video clickstream events into engagement metrics.
|
|
134
|
+
events: DataFrame with columns [user_id, video_id, event_type,
|
|
135
|
+
timestamp, position_seconds, video_duration]
|
|
136
|
+
"""
|
|
137
|
+
plays = events[events.event_type == "play"]
|
|
138
|
+
pauses = events[events.event_type == "pause"]
|
|
139
|
+
seeks = events[events.event_type == "seek"]
|
|
140
|
+
|
|
141
|
+
total_duration = events.video_duration.iloc[0]
|
|
142
|
+
watched_positions = set()
|
|
143
|
+
|
|
144
|
+
for _, row in plays.iterrows():
|
|
145
|
+
start = int(row.position_seconds)
|
|
146
|
+
# Estimate 10-second watch window per play event
|
|
147
|
+
for sec in range(start, min(start + 10, int(total_duration))):
|
|
148
|
+
watched_positions.add(sec)
|
|
149
|
+
|
|
150
|
+
return {
|
|
151
|
+
"play_count": len(plays),
|
|
152
|
+
"pause_count": len(pauses),
|
|
153
|
+
"seek_count": len(seeks),
|
|
154
|
+
"coverage_ratio": len(watched_positions) / max(total_duration, 1),
|
|
155
|
+
"replay_indicator": len(plays) > 1,
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Optimal Video Length
|
|
160
|
+
|
|
161
|
+
Research findings on video engagement (Guo et al., 2014):
|
|
162
|
+
|
|
163
|
+
- Videos under 6 minutes have the highest engagement
|
|
164
|
+
- Informal talking-head videos outperform studio productions
|
|
165
|
+
- Tablet drawing (Khan Academy style) is more engaging than slides
|
|
166
|
+
- Pre-production planning matters more than production quality
|
|
167
|
+
|
|
168
|
+
## A/B Testing for Course Design
|
|
169
|
+
|
|
170
|
+
### Experimental Design in MOOCs
|
|
171
|
+
|
|
172
|
+
MOOCs provide large sample sizes ideal for randomized experiments:
|
|
173
|
+
|
|
174
|
+
1. **Unit of randomization**: Typically the learner, but can be section or cohort
|
|
175
|
+
2. **Outcome metrics**: Completion rate, quiz scores, time to completion, forum engagement
|
|
176
|
+
3. **Duration**: Run for at least one full module cycle (typically 1-2 weeks)
|
|
177
|
+
4. **Power analysis**: With 10,000+ enrollees, even small effects (d=0.05) are detectable
|
|
178
|
+
|
|
179
|
+
```python
|
|
180
|
+
from scipy.stats import norm
|
|
181
|
+
|
|
182
|
+
def mooc_power_analysis(effect_size: float, n_per_group: int,
|
|
183
|
+
alpha: float = 0.05) -> float:
|
|
184
|
+
"""Compute statistical power for a two-sample t-test in MOOC A/B test."""
|
|
185
|
+
z_alpha = norm.ppf(1 - alpha / 2)
|
|
186
|
+
z_beta = effect_size * (n_per_group ** 0.5) / 2 - z_alpha
|
|
187
|
+
power = norm.cdf(z_beta)
|
|
188
|
+
return round(power, 4)
|
|
189
|
+
|
|
190
|
+
# Example: 5000 per group, small effect
|
|
191
|
+
print(mooc_power_analysis(0.1, 5000)) # ~0.94
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Tools and Platforms
|
|
195
|
+
|
|
196
|
+
- **edX Insights**: Built-in analytics dashboard for edX course teams
|
|
197
|
+
- **Google BigQuery** + **Coursera Research Exports**: SQL-based analysis at scale
|
|
198
|
+
- **Open edX**: Self-hosted platform with full database access (MySQL + MongoDB)
|
|
199
|
+
- **Learning Locker**: Open-source Learning Record Store (xAPI compliant)
|
|
200
|
+
- **MORF (MOOC Replication Framework)**: Docker-based reproducible analytics pipeline from University of Michigan
|
|
201
|
+
|
|
202
|
+
## Key References
|
|
203
|
+
|
|
204
|
+
- Guo, P.J., Kim, J., and Rubin, R. (2014). How video production affects student engagement. *ACM L@S*.
|
|
205
|
+
- Gardner, J. and Brooks, C. (2018). Student success prediction in MOOCs. *User Modeling and User-Adapted Interaction*.
|
|
206
|
+
- Reich, J. and Ruiperez-Valiente, J.A. (2019). The MOOC pivot. *Science*.
|