@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,310 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: network-analysis-guide
|
|
3
|
+
description: "Social network analysis methods, metrics, and visualization tools"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "globe_with_meridians"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "social-science"
|
|
9
|
+
keywords: ["social network analysis", "graph theory", "centrality", "community detection", "network visualization", "SNA"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Network Analysis Guide
|
|
14
|
+
|
|
15
|
+
A skill for conducting social network analysis (SNA) in research contexts. Covers network data collection and representation, key structural metrics (centrality, density, clustering), community detection algorithms, ego network analysis, longitudinal network models, and visualization best practices using Python NetworkX, igraph, and Gephi.
|
|
16
|
+
|
|
17
|
+
## Network Data Fundamentals
|
|
18
|
+
|
|
19
|
+
### Representing Network Data
|
|
20
|
+
|
|
21
|
+
Networks consist of nodes (actors) and edges (relationships). The first decision in any SNA project is how to represent the data.
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Network data formats:
|
|
25
|
+
|
|
26
|
+
Edge List (simplest):
|
|
27
|
+
source, target, weight
|
|
28
|
+
Alice, Bob, 3
|
|
29
|
+
Alice, Carol, 1
|
|
30
|
+
Bob, David, 5
|
|
31
|
+
|
|
32
|
+
Adjacency Matrix (for small networks):
|
|
33
|
+
Alice Bob Carol David
|
|
34
|
+
Alice 0 3 1 0
|
|
35
|
+
Bob 3 0 0 5
|
|
36
|
+
Carol 1 0 0 0
|
|
37
|
+
David 0 5 0 0
|
|
38
|
+
|
|
39
|
+
Network types:
|
|
40
|
+
Undirected: friendship, co-authorship, physical contact
|
|
41
|
+
Directed: email, citation, following on social media
|
|
42
|
+
Weighted: frequency of interaction, strength of tie
|
|
43
|
+
Bipartite: two types of nodes (e.g., people and events)
|
|
44
|
+
Multiplex: multiple types of edges between same nodes
|
|
45
|
+
Temporal: edges have timestamps or time windows
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Data Collection Methods
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Common SNA data collection approaches:
|
|
52
|
+
|
|
53
|
+
Survey-based (name generators):
|
|
54
|
+
"List up to 5 people you go to for work advice."
|
|
55
|
+
Advantages: captures subjective relationship perception
|
|
56
|
+
Limitations: recall bias, boundary specification problem
|
|
57
|
+
Best for: organizational networks, personal networks
|
|
58
|
+
|
|
59
|
+
Archival data:
|
|
60
|
+
Email logs, collaboration records, co-authorship
|
|
61
|
+
Advantages: objective, complete within data boundaries
|
|
62
|
+
Limitations: may not reflect relationship quality
|
|
63
|
+
Best for: large-scale communication networks
|
|
64
|
+
|
|
65
|
+
Observation:
|
|
66
|
+
Systematic recording of interactions
|
|
67
|
+
Advantages: captures actual behavior
|
|
68
|
+
Limitations: time-intensive, observer effects
|
|
69
|
+
Best for: small groups, classroom networks
|
|
70
|
+
|
|
71
|
+
Digital trace data:
|
|
72
|
+
Social media follows, retweets, mentions
|
|
73
|
+
Advantages: large-scale, timestamped
|
|
74
|
+
Limitations: platform-specific behavior, not generalizable
|
|
75
|
+
Best for: online community studies
|
|
76
|
+
|
|
77
|
+
Important considerations:
|
|
78
|
+
- Boundary specification: who is included in the network?
|
|
79
|
+
- Complete vs sampled networks require different methods
|
|
80
|
+
- IRB/ethics approval needed for human subjects research
|
|
81
|
+
- Node anonymization required for publication
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Core Network Metrics
|
|
85
|
+
|
|
86
|
+
### Node-Level Centrality
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
import networkx as nx
|
|
90
|
+
|
|
91
|
+
def compute_centrality_measures(G):
|
|
92
|
+
"""
|
|
93
|
+
Compute the four classic centrality measures for all nodes.
|
|
94
|
+
|
|
95
|
+
Each captures a different dimension of node importance:
|
|
96
|
+
- Degree: connectivity (popular nodes)
|
|
97
|
+
- Betweenness: brokerage (bridge nodes)
|
|
98
|
+
- Closeness: reachability (efficient nodes)
|
|
99
|
+
- Eigenvector: prestige (connected to important nodes)
|
|
100
|
+
"""
|
|
101
|
+
centralities = {}
|
|
102
|
+
|
|
103
|
+
# Degree centrality: proportion of nodes connected to
|
|
104
|
+
centralities["degree"] = nx.degree_centrality(G)
|
|
105
|
+
|
|
106
|
+
# Betweenness: proportion of shortest paths through node
|
|
107
|
+
centralities["betweenness"] = nx.betweenness_centrality(
|
|
108
|
+
G, weight="weight", normalized=True
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
# Closeness: inverse of average shortest path to all others
|
|
112
|
+
centralities["closeness"] = nx.closeness_centrality(G)
|
|
113
|
+
|
|
114
|
+
# Eigenvector: connected to other high-centrality nodes
|
|
115
|
+
try:
|
|
116
|
+
centralities["eigenvector"] = nx.eigenvector_centrality(
|
|
117
|
+
G, max_iter=1000, weight="weight"
|
|
118
|
+
)
|
|
119
|
+
except nx.PowerIterationFailedConvergence:
|
|
120
|
+
centralities["eigenvector"] = {}
|
|
121
|
+
|
|
122
|
+
return centralities
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Network-Level Metrics
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
def compute_network_metrics(G):
|
|
129
|
+
"""
|
|
130
|
+
Compute network-level structural properties.
|
|
131
|
+
"""
|
|
132
|
+
metrics = {}
|
|
133
|
+
|
|
134
|
+
n = G.number_of_nodes()
|
|
135
|
+
m = G.number_of_edges()
|
|
136
|
+
metrics["nodes"] = n
|
|
137
|
+
metrics["edges"] = m
|
|
138
|
+
|
|
139
|
+
# Density: actual edges / possible edges
|
|
140
|
+
metrics["density"] = nx.density(G)
|
|
141
|
+
|
|
142
|
+
# Average clustering coefficient: transitivity tendency
|
|
143
|
+
metrics["avg_clustering"] = nx.average_clustering(G)
|
|
144
|
+
|
|
145
|
+
# Global clustering (transitivity)
|
|
146
|
+
metrics["transitivity"] = nx.transitivity(G)
|
|
147
|
+
|
|
148
|
+
# Connected components
|
|
149
|
+
if G.is_directed():
|
|
150
|
+
metrics["weakly_connected_components"] = (
|
|
151
|
+
nx.number_weakly_connected_components(G)
|
|
152
|
+
)
|
|
153
|
+
else:
|
|
154
|
+
metrics["connected_components"] = (
|
|
155
|
+
nx.number_connected_components(G)
|
|
156
|
+
)
|
|
157
|
+
if nx.is_connected(G):
|
|
158
|
+
metrics["diameter"] = nx.diameter(G)
|
|
159
|
+
metrics["avg_shortest_path"] = (
|
|
160
|
+
nx.average_shortest_path_length(G)
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
# Degree distribution statistics
|
|
164
|
+
degrees = [d for n, d in G.degree()]
|
|
165
|
+
metrics["avg_degree"] = sum(degrees) / len(degrees)
|
|
166
|
+
metrics["max_degree"] = max(degrees)
|
|
167
|
+
|
|
168
|
+
return metrics
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def interpret_metrics(metrics):
|
|
172
|
+
"""
|
|
173
|
+
Provide interpretive context for network metrics.
|
|
174
|
+
"""
|
|
175
|
+
interpretations = []
|
|
176
|
+
|
|
177
|
+
if metrics["density"] > 0.5:
|
|
178
|
+
interpretations.append(
|
|
179
|
+
"High density: most actors are connected. "
|
|
180
|
+
"Information spreads quickly but network is "
|
|
181
|
+
"resource-intensive to maintain."
|
|
182
|
+
)
|
|
183
|
+
elif metrics["density"] < 0.1:
|
|
184
|
+
interpretations.append(
|
|
185
|
+
"Low density: sparse connections. Network "
|
|
186
|
+
"may have structural holes and brokerage "
|
|
187
|
+
"opportunities."
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
if metrics["avg_clustering"] > 0.5:
|
|
191
|
+
interpretations.append(
|
|
192
|
+
"High clustering: strong tendency to form "
|
|
193
|
+
"closed triads. Indicates group cohesion "
|
|
194
|
+
"and potential echo chambers."
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
return interpretations
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Community Detection
|
|
201
|
+
|
|
202
|
+
### Algorithms for Finding Groups
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
import community as community_louvain
|
|
206
|
+
|
|
207
|
+
def detect_communities_multiple(G):
|
|
208
|
+
"""
|
|
209
|
+
Apply multiple community detection algorithms and compare.
|
|
210
|
+
Different algorithms may reveal different structural patterns.
|
|
211
|
+
"""
|
|
212
|
+
results = {}
|
|
213
|
+
|
|
214
|
+
# Louvain method (modularity optimization)
|
|
215
|
+
results["louvain"] = community_louvain.best_partition(
|
|
216
|
+
G, weight="weight"
|
|
217
|
+
)
|
|
218
|
+
results["louvain_modularity"] = (
|
|
219
|
+
community_louvain.modularity(results["louvain"], G)
|
|
220
|
+
)
|
|
221
|
+
|
|
222
|
+
# Label Propagation (fast, non-deterministic)
|
|
223
|
+
lp_communities = nx.community.label_propagation_communities(G)
|
|
224
|
+
lp_partition = {}
|
|
225
|
+
for i, comm in enumerate(lp_communities):
|
|
226
|
+
for node in comm:
|
|
227
|
+
lp_partition[node] = i
|
|
228
|
+
results["label_propagation"] = lp_partition
|
|
229
|
+
|
|
230
|
+
# Girvan-Newman (edge betweenness, slow but interpretable)
|
|
231
|
+
# Only practical for small networks (< 1000 nodes)
|
|
232
|
+
if G.number_of_nodes() < 500:
|
|
233
|
+
gn_communities = nx.community.girvan_newman(G)
|
|
234
|
+
top_level = next(gn_communities)
|
|
235
|
+
gn_partition = {}
|
|
236
|
+
for i, comm in enumerate(top_level):
|
|
237
|
+
for node in comm:
|
|
238
|
+
gn_partition[node] = i
|
|
239
|
+
results["girvan_newman"] = gn_partition
|
|
240
|
+
|
|
241
|
+
return results
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Ego Network Analysis
|
|
245
|
+
|
|
246
|
+
### Analyzing Individual Networks
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
Ego network concepts:
|
|
250
|
+
|
|
251
|
+
Ego: the focal actor
|
|
252
|
+
Alters: ego's direct contacts
|
|
253
|
+
Ties: connections between alters (not through ego)
|
|
254
|
+
|
|
255
|
+
Key ego network measures:
|
|
256
|
+
- Size: number of alters
|
|
257
|
+
- Density: proportion of possible alter-alter ties that exist
|
|
258
|
+
- Constraint: Burt's measure of structural holes
|
|
259
|
+
- Low constraint = access to diverse information
|
|
260
|
+
- High constraint = redundant contacts
|
|
261
|
+
- Effective size: size minus redundancy of contacts
|
|
262
|
+
- Ego betweenness: brokerage within the ego network
|
|
263
|
+
|
|
264
|
+
Research applications:
|
|
265
|
+
- Social support and health outcomes
|
|
266
|
+
- Innovation diffusion and adoption
|
|
267
|
+
- Career success and social capital
|
|
268
|
+
- Information access and decision-making
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Visualization Best Practices
|
|
272
|
+
|
|
273
|
+
### Layout and Design
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
Network visualization guidelines:
|
|
277
|
+
|
|
278
|
+
Layout algorithms:
|
|
279
|
+
- Force-directed (Fruchterman-Reingold, ForceAtlas2):
|
|
280
|
+
Best for: showing clusters, general structure
|
|
281
|
+
Use when: exploring data, presenting to general audience
|
|
282
|
+
|
|
283
|
+
- Circular: Best for: showing connectivity patterns
|
|
284
|
+
Use when: comparing density across groups
|
|
285
|
+
|
|
286
|
+
- Hierarchical (Sugiyama): Best for: directed acyclic graphs
|
|
287
|
+
Use when: showing flow or hierarchy
|
|
288
|
+
|
|
289
|
+
Visual encoding:
|
|
290
|
+
- Node size: proportional to centrality or attribute value
|
|
291
|
+
- Node color: community membership or categorical attribute
|
|
292
|
+
- Edge width: relationship strength or frequency
|
|
293
|
+
- Edge color: relationship type (in multiplex networks)
|
|
294
|
+
|
|
295
|
+
Publication standards:
|
|
296
|
+
- Use colorblind-friendly palettes
|
|
297
|
+
- Include a legend for all visual encodings
|
|
298
|
+
- Report the layout algorithm used
|
|
299
|
+
- State N (nodes) and M (edges) in the caption
|
|
300
|
+
- For large networks, consider filtering to top-k nodes
|
|
301
|
+
- Provide the network data in supplementary materials
|
|
302
|
+
|
|
303
|
+
Tools:
|
|
304
|
+
- Gephi: interactive exploration, ForceAtlas2 layout
|
|
305
|
+
- Python pyvis: interactive HTML visualizations
|
|
306
|
+
- R igraph: publication-quality static figures
|
|
307
|
+
- Cytoscape: biological networks, rich plugin ecosystem
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Social network analysis provides a structural perspective on social phenomena that complements traditional individual-level analyses. By examining patterns of relationships rather than attributes of individuals, SNA reveals how position in a social structure shapes behavior, information access, influence, and outcomes.
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: psychology-research-guide
|
|
3
|
+
description: "Psychological research methods, experimental design, and analysis"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🧠"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "social-science"
|
|
9
|
+
keywords: ["psychology", "experimental design", "cognitive science", "psychometrics", "replication", "effect size"]
|
|
10
|
+
source: "https://github.com/psych-ds/psych-DS"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Psychology Research Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Psychology is the scientific study of mind and behavior, spanning cognitive processes, social influence, developmental trajectories, clinical disorders, and neuroscience. The field has undergone a methodological revolution since the replication crisis of the 2010s, with new standards for statistical rigor, pre-registration, transparency, and open science fundamentally reshaping how research is conducted and evaluated.
|
|
18
|
+
|
|
19
|
+
This guide covers the practical aspects of conducting psychology research in the post-replication-crisis era: experimental design with adequate power, pre-registration, appropriate statistical analysis, effect size reporting, and the tools and platforms that support reproducible psychological science. The focus is on what reviewers and editors at top journals now expect.
|
|
20
|
+
|
|
21
|
+
Whether you are designing a behavioral experiment, analyzing survey data, conducting a psychometric validation, or reviewing a manuscript, these patterns reflect current best practices in the field.
|
|
22
|
+
|
|
23
|
+
## Experimental Design
|
|
24
|
+
|
|
25
|
+
### Between-Subjects vs. Within-Subjects
|
|
26
|
+
|
|
27
|
+
| Design | Advantages | Disadvantages | When to Use |
|
|
28
|
+
|--------|-----------|---------------|-------------|
|
|
29
|
+
| Between-subjects | No carryover effects, simpler | Requires more participants, individual differences | Deception studies, one-shot manipulations |
|
|
30
|
+
| Within-subjects | More power, fewer participants | Order effects, demand characteristics | Perception, memory, reaction time |
|
|
31
|
+
| Mixed | Combines benefits | Complex analysis | Treatment x individual difference |
|
|
32
|
+
|
|
33
|
+
### Power Analysis Before You Collect Data
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from statsmodels.stats.power import TTestIndPower, FTestAnovaPower
|
|
37
|
+
import numpy as np
|
|
38
|
+
|
|
39
|
+
# Two-sample t-test power analysis
|
|
40
|
+
analysis = TTestIndPower()
|
|
41
|
+
|
|
42
|
+
# Question: "How many participants per group for d=0.5, power=0.80?"
|
|
43
|
+
n_per_group = analysis.solve_power(
|
|
44
|
+
effect_size=0.5, # Cohen's d (medium effect)
|
|
45
|
+
alpha=0.05,
|
|
46
|
+
power=0.80,
|
|
47
|
+
alternative="two-sided",
|
|
48
|
+
)
|
|
49
|
+
print(f"Required N per group: {int(np.ceil(n_per_group))}") # 64
|
|
50
|
+
|
|
51
|
+
# For small effects (d=0.2), which are common after replication
|
|
52
|
+
n_small = analysis.solve_power(effect_size=0.2, alpha=0.05, power=0.80)
|
|
53
|
+
print(f"Required N per group for d=0.2: {int(np.ceil(n_small))}") # 394
|
|
54
|
+
|
|
55
|
+
# One-way ANOVA (3 groups)
|
|
56
|
+
anova_analysis = FTestAnovaPower()
|
|
57
|
+
n_anova = anova_analysis.solve_power(
|
|
58
|
+
effect_size=0.25, # Cohen's f (medium)
|
|
59
|
+
alpha=0.05,
|
|
60
|
+
power=0.80,
|
|
61
|
+
k_groups=3,
|
|
62
|
+
)
|
|
63
|
+
print(f"Required N per group (ANOVA): {int(np.ceil(n_anova))}") # 53
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Effect Sizes That Reviewers Expect
|
|
67
|
+
|
|
68
|
+
| Measure | Small | Medium | Large | Use For |
|
|
69
|
+
|---------|-------|--------|-------|---------|
|
|
70
|
+
| Cohen's d | 0.2 | 0.5 | 0.8 | Group differences |
|
|
71
|
+
| Pearson r | 0.1 | 0.3 | 0.5 | Correlations |
|
|
72
|
+
| Cohen's f | 0.1 | 0.25 | 0.4 | ANOVA effects |
|
|
73
|
+
| eta-squared | 0.01 | 0.06 | 0.14 | ANOVA variance explained |
|
|
74
|
+
| Odds ratio | 1.5 | 2.5 | 4.0 | Binary outcomes |
|
|
75
|
+
| Cohen's w | 0.1 | 0.3 | 0.5 | Chi-squared tests |
|
|
76
|
+
|
|
77
|
+
**Important:** Post-replication-crisis psychology finds that most real effects are small (d = 0.2-0.4). Design for small effects unless you have strong prior evidence for larger ones.
|
|
78
|
+
|
|
79
|
+
## Pre-Registration
|
|
80
|
+
|
|
81
|
+
### What to Pre-Register
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Pre-registration template (AsPredicted.org format):
|
|
85
|
+
|
|
86
|
+
1. HYPOTHESES
|
|
87
|
+
H1: Participants in the gratitude condition will report higher
|
|
88
|
+
life satisfaction (SWLS scores) than those in the control
|
|
89
|
+
condition (d >= 0.3).
|
|
90
|
+
|
|
91
|
+
2. DESIGN
|
|
92
|
+
- 2 (gratitude vs. control) between-subjects
|
|
93
|
+
- Random assignment via Qualtrics randomizer
|
|
94
|
+
|
|
95
|
+
3. PLANNED SAMPLE
|
|
96
|
+
- N = 200 per condition (400 total)
|
|
97
|
+
- Power: 0.90 for d = 0.3 at alpha = 0.05
|
|
98
|
+
- Recruitment: Prolific, US residents, 18-65
|
|
99
|
+
|
|
100
|
+
4. EXCLUSION CRITERIA (stated before data collection)
|
|
101
|
+
- Failed attention check (embedded in survey)
|
|
102
|
+
- Completion time < 3 minutes or > 30 minutes
|
|
103
|
+
- Duplicate IP addresses
|
|
104
|
+
|
|
105
|
+
5. MEASURED VARIABLES
|
|
106
|
+
- DV: Satisfaction With Life Scale (SWLS; Diener et al., 1985)
|
|
107
|
+
- Manipulation check: "How grateful do you feel right now?" (1-7)
|
|
108
|
+
- Covariates: Age, gender, baseline mood (PANAS)
|
|
109
|
+
|
|
110
|
+
6. ANALYSIS PLAN
|
|
111
|
+
- Primary: Independent samples t-test on SWLS scores
|
|
112
|
+
- Secondary: ANCOVA controlling for baseline PANAS-PA
|
|
113
|
+
- Exploratory: Moderation by trait gratitude (GQ-6)
|
|
114
|
+
|
|
115
|
+
7. ANYTHING ELSE
|
|
116
|
+
- All deviations from this plan will be labeled as exploratory
|
|
117
|
+
- We will report all conditions and all measures
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Pre-Registration Platforms
|
|
121
|
+
|
|
122
|
+
| Platform | Strengths | Journal Integration |
|
|
123
|
+
|----------|-----------|-------------------|
|
|
124
|
+
| OSF Registries | Most widely used, free, flexible | Registered Reports at 300+ journals |
|
|
125
|
+
| AsPredicted.org | Simple, private until you share | Widely accepted |
|
|
126
|
+
| ClinicalTrials.gov | Required for clinical studies | FDA-mandated |
|
|
127
|
+
| EGAP | Political science, field experiments | APSR, AJPS |
|
|
128
|
+
|
|
129
|
+
## Statistical Analysis
|
|
130
|
+
|
|
131
|
+
### The Modern Analysis Workflow
|
|
132
|
+
|
|
133
|
+
```python
|
|
134
|
+
import pandas as pd
|
|
135
|
+
import pingouin as pg
|
|
136
|
+
from scipy import stats
|
|
137
|
+
|
|
138
|
+
# Load data
|
|
139
|
+
df = pd.read_csv("experiment_data.csv")
|
|
140
|
+
|
|
141
|
+
# Step 1: Descriptive statistics by condition
|
|
142
|
+
descriptives = df.groupby("condition").agg(
|
|
143
|
+
n=("dv", "count"),
|
|
144
|
+
mean=("dv", "mean"),
|
|
145
|
+
sd=("dv", "std"),
|
|
146
|
+
median=("dv", "median"),
|
|
147
|
+
).round(3)
|
|
148
|
+
|
|
149
|
+
# Step 2: Check assumptions
|
|
150
|
+
# Normality
|
|
151
|
+
for condition in df["condition"].unique():
|
|
152
|
+
subset = df[df["condition"] == condition]["dv"]
|
|
153
|
+
stat, p = stats.shapiro(subset)
|
|
154
|
+
print(f"{condition}: Shapiro-Wilk W={stat:.3f}, p={p:.3f}")
|
|
155
|
+
|
|
156
|
+
# Homogeneity of variance
|
|
157
|
+
levene_stat, levene_p = stats.levene(
|
|
158
|
+
df[df["condition"] == "treatment"]["dv"],
|
|
159
|
+
df[df["condition"] == "control"]["dv"],
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
# Step 3: Primary analysis with effect size and CI
|
|
163
|
+
result = pg.ttest(
|
|
164
|
+
df[df["condition"] == "treatment"]["dv"],
|
|
165
|
+
df[df["condition"] == "control"]["dv"],
|
|
166
|
+
paired=False,
|
|
167
|
+
alternative="two-sided",
|
|
168
|
+
)
|
|
169
|
+
print(result[["T", "dof", "p-val", "cohen-d", "CI95%", "BF10"]])
|
|
170
|
+
|
|
171
|
+
# Step 4: Bayesian analysis (increasingly expected)
|
|
172
|
+
bf10 = float(result["BF10"].values[0])
|
|
173
|
+
print(f"Bayes Factor BF10 = {bf10:.2f}")
|
|
174
|
+
if bf10 > 10:
|
|
175
|
+
print("Strong evidence for H1")
|
|
176
|
+
elif bf10 > 3:
|
|
177
|
+
print("Moderate evidence for H1")
|
|
178
|
+
elif bf10 > 1:
|
|
179
|
+
print("Anecdotal evidence for H1")
|
|
180
|
+
else:
|
|
181
|
+
print("Evidence favors H0")
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### ANOVA with Post-Hoc Comparisons
|
|
185
|
+
|
|
186
|
+
```python
|
|
187
|
+
# One-way ANOVA
|
|
188
|
+
aov = pg.anova(dv="score", between="group", data=df, detailed=True)
|
|
189
|
+
print(aov)
|
|
190
|
+
|
|
191
|
+
# Effect size (eta-squared and omega-squared)
|
|
192
|
+
print(f"Eta-squared: {aov['np2'].values[0]:.3f}")
|
|
193
|
+
|
|
194
|
+
# Post-hoc pairwise comparisons with correction
|
|
195
|
+
posthoc = pg.pairwise_tukey(dv="score", between="group", data=df)
|
|
196
|
+
print(posthoc)
|
|
197
|
+
|
|
198
|
+
# Mixed ANOVA (between + within)
|
|
199
|
+
mixed = pg.mixed_anova(
|
|
200
|
+
dv="score", between="group", within="time",
|
|
201
|
+
subject="participant_id", data=df_long
|
|
202
|
+
)
|
|
203
|
+
print(mixed)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Psychometric Validation
|
|
207
|
+
|
|
208
|
+
```python
|
|
209
|
+
# Scale reliability
|
|
210
|
+
from pingouin import cronbach_alpha
|
|
211
|
+
|
|
212
|
+
items = df[["item1", "item2", "item3", "item4", "item5"]]
|
|
213
|
+
alpha, ci = cronbach_alpha(items)
|
|
214
|
+
print(f"Cronbach's alpha = {alpha:.3f}, 95% CI = [{ci[0]:.3f}, {ci[1]:.3f}]")
|
|
215
|
+
|
|
216
|
+
# Confirmatory Factor Analysis (using semopy)
|
|
217
|
+
from semopy import Model
|
|
218
|
+
|
|
219
|
+
model_spec = """
|
|
220
|
+
factor1 =~ item1 + item2 + item3
|
|
221
|
+
factor2 =~ item4 + item5 + item6
|
|
222
|
+
"""
|
|
223
|
+
model = Model(model_spec)
|
|
224
|
+
model.fit(df)
|
|
225
|
+
print(model.inspect())
|
|
226
|
+
|
|
227
|
+
# Fit indices
|
|
228
|
+
stats_result = model.calc_stats()
|
|
229
|
+
print(f"CFI = {stats_result.loc['CFI', 'Value']:.3f}")
|
|
230
|
+
print(f"RMSEA = {stats_result.loc['RMSEA', 'Value']:.3f}")
|
|
231
|
+
print(f"SRMR = {stats_result.loc['SRMR', 'Value']:.3f}")
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Reporting Results (APA Format)
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
Standard reporting patterns:
|
|
238
|
+
|
|
239
|
+
t-test:
|
|
240
|
+
"Participants in the gratitude condition (M = 5.23, SD = 1.12) reported
|
|
241
|
+
significantly higher life satisfaction than those in the control condition
|
|
242
|
+
(M = 4.67, SD = 1.08), t(398) = 4.89, p < .001, d = 0.49, 95% CI [0.29, 0.69]."
|
|
243
|
+
|
|
244
|
+
ANOVA:
|
|
245
|
+
"There was a significant main effect of group on performance,
|
|
246
|
+
F(2, 297) = 8.43, p < .001, eta-p-squared = .054."
|
|
247
|
+
|
|
248
|
+
Correlation:
|
|
249
|
+
"Life satisfaction was positively correlated with gratitude,
|
|
250
|
+
r(198) = .42, p < .001, 95% CI [.30, .53]."
|
|
251
|
+
|
|
252
|
+
Always include: test statistic, df, p-value, effect size, confidence interval.
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Best Practices
|
|
256
|
+
|
|
257
|
+
- **Power for small effects.** Assume d = 0.2-0.4 unless prior meta-analyses suggest otherwise.
|
|
258
|
+
- **Pre-register everything.** Even exploratory studies benefit from stating what is confirmatory vs. exploratory.
|
|
259
|
+
- **Report all measures and conditions.** Selective reporting is the primary source of false positives.
|
|
260
|
+
- **Use Bayesian statistics** alongside frequentist tests to quantify evidence for the null.
|
|
261
|
+
- **Share data and code on OSF.** Transparency is now a condition for publication at many journals.
|
|
262
|
+
- **Distinguish statistical from practical significance.** A p < .001 with d = 0.05 is not meaningful.
|
|
263
|
+
|
|
264
|
+
## References
|
|
265
|
+
|
|
266
|
+
- [Open Science Framework (OSF)](https://osf.io/) -- Pre-registration, data sharing, collaboration
|
|
267
|
+
- Simmons, J. P., Nelson, L. D., & Simonsohn, U. (2011). False-Positive Psychology. Psychological Science, 22(11), 1359-1366.
|
|
268
|
+
- Cumming, G. (2014). The New Statistics: Why and How. Psychological Science, 25(1), 7-29.
|
|
269
|
+
- [pingouin](https://pingouin-stats.org/) -- Python statistical package for psychology
|
|
270
|
+
- [PsychDS](https://psych-ds.github.io/) -- Data standard for psychology datasets
|