From researcher
Statistical method selection, guidance, and results reporting. Triggers when user says: 'which statistical test', 'analyze data', 'statistical analysis', 'p-value', 'significance test', 'power analysis', 'sample size calculation', 'effect size', 'regression', 'ANOVA', 'compare groups', 'correlation analysis', 'assumption check', 'meta-analysis', 'pool effect sizes', 'pooled effect', 'forest plot', 'funnel plot', 'heterogeneity', 'random-effects model', 'I-squared'. Guides users through choosing the right statistical test, checking assumptions, generating implementation code, reporting results in APA format, and running the meta-analysis synthesis step of a systematic review. Use this skill whenever the user needs help with quantitative data analysis or pooling effect sizes across studies.
How this skill is triggered — by the user, by Claude, or both
Slash command
/researcher:statistical-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Statistical method selection, assumption verification, implementation, and results reporting.
Statistical method selection, assumption verification, implementation, and results reporting.
Guide the user through a decision tree to select the appropriate test.
| Question | Direction |
|---|---|
| Is there a difference between groups? | → Comparison tests |
| Is there a relationship between variables? | → Correlation / regression |
| Can we predict an outcome? | → Regression / classification |
| Does this sample differ from a known value? | → One-sample tests |
| Is there an association between categories? | → Chi-square / Fisher's exact |
Determine based on the data:
| Scenario | Parametric | Non-parametric |
|---|---|---|
| 2 independent groups | Independent t-test | Mann-Whitney U |
| 2 paired groups | Paired t-test | Wilcoxon signed-rank |
| 3+ independent groups | One-way ANOVA | Kruskal-Wallis |
| 3+ paired groups | Repeated measures ANOVA | Friedman test |
| 2 continuous variables | Pearson correlation | Spearman correlation |
| Predict continuous outcome | Linear regression | N/A |
| Predict binary outcome | Logistic regression | N/A |
| 2 categorical variables | N/A | Chi-square / Fisher's exact |
| Time-to-event | Cox proportional hazards | Log-rank test |
| Test | Effect Size | Small | Medium | Large |
|---|---|---|---|---|
| t-test | Cohen's d | 0.2 | 0.5 | 0.8 |
| ANOVA | Eta-squared (η²) | 0.01 | 0.06 | 0.14 |
| Correlation | r | 0.1 | 0.3 | 0.5 |
| Chi-square | Cramer's V | 0.1 | 0.3 | 0.5 |
When running multiple tests, recommend the appropriate correction:
Guide the user through verifying each assumption for the selected test.
Generate ready-to-run code in the user's preferred language.
# Libraries: scipy.stats, statsmodels, pingouin, scikit-posthocs
# Generate complete analysis script with:
# - Data loading
# - Assumption checks (with plots)
# - Test execution
# - Effect size calculation
# - Results summary
# Libraries: base R, tidyverse, ggpubr, rstatix, effectsize
# Same structure as Python output
Provide equivalent implementations on request.
Always include:
Generate publication-ready results text from statistical output.
t-test:
An independent-samples t-test revealed a [significant/non-significant] difference in [DV] between [group 1] (M = X.XX, SD = X.XX) and [group 2] (M = X.XX, SD = X.XX), t(df) = X.XX, p = .XXX, d = X.XX [95% CI: X.XX, X.XX].
ANOVA:
A one-way ANOVA showed a [significant/non-significant] effect of [IV] on [DV], F(df1, df2) = X.XX, p = .XXX, η² = .XX. Post-hoc comparisons using Tukey's HSD indicated...
Correlation:
There was a [strong/moderate/weak] [positive/negative] correlation between [var1] and [var2], r(df) = .XX, p = .XXX [95% CI: .XX, .XX].
Chi-square:
A chi-square test of independence showed a [significant/non-significant] association between [var1] and [var2], χ²(df) = X.XX, p = .XXX, V = .XX.
Calculate required sample size or achieved power:
statsmodels.stats.power (Python) / pwr package (R)The synthesis step of a systematic review (see the systematic-review skill for the surrounding workflow). Meta-analysis pools effect sizes across the included studies; run it only when clinical and methodological homogeneity support pooling, otherwise synthesize narratively and say why.
Effect sizes arrive from the extraction-tables skill as typed columns, one row per study or per
contrast: point estimate, its variance or standard error (or the confidence interval bounds), the
n per arm, and the metric definition (RR, OR, Hedges g / SMD, mean difference, hazard ratio). Only
these typed, extracted values are pooled. A cell the extraction step marked "not reported" or
insufficient-passage is EXCLUDED from the pool, never imputed silently; if imputation is used
(for example computing SE from a CI, or a correlation for a change score), state the method
explicitly in the manuscript.
context: fork + agent: code-agent frontmatter and forks into the Sonnet-pinned
code-agent (D1 model split). Prose cannot switch models; that frontmatter does.The code-agent produces a Python script (for example scripts/meta_analysis.py) with pinned
dependencies in a per-review environment (a committed requirements.txt or lockfile). The script:
figures/pooled-estimates.json) that the manuscript and plots read from;Commit the script alongside its inputs and outputs, then bind every pooled number to it so the M3 compile gate can verify it was not altered by hand:
core/schemas/experiment-manifest.schema.json)
carrying code_commit, dirty_worktree, data_hashes (the input extraction-table hash),
environment_lockfile_hash, metric_definitions, and artifact_hashes (the generated
pooled-estimates.json and plot files), with a caller-supplied ts per D19.{claim_id, target_kind: "internal", manifest_hash}, per evidence-edge.schema.json) into the
manuscript lineage graph (manuscript/lineage/graph.jsonl), pointing at that manifest hash.researcher compile reports C002 (altered number) and the
gate fails. C006 (artifact-code drift) fires if the run's commit is not an ancestor of HEAD or
the worktree was dirty at run time. This is what makes "no pooled number is hand-typed" enforceable
rather than a promise.Report, in APA / PRISMA 2020 wording: the pooled estimate with its 95% CI, the number of studies and participants, the model and estimator named, I-squared with its CI, tau-squared, and the prediction interval. Interpret I-squared with caveats (roughly 25 / 50 / 75 percent as low / moderate / high, but read alongside the CI and the number of studies, never mechanically). Feed funnel-plot asymmetry into the GRADE publication-bias domain (see the RoB 2 / GRADE worksheets). The forest plot is a generated figure; the visualization skill may restyle it via presets, which change only colors, fonts, and line widths, never the values.
Compile-time verification of the pooled numbers (D3: this needs uv and core/):
uv run --project "${CLAUDE_PLUGIN_ROOT}/core" python -m researcher_core \
compile --manuscript manuscript/ --lineage manuscript/lineage/graph.jsonl --json
Read the --json report's diagnostics list, not the exit code alone: a C002 on the meta-analysis
artifact means a pooled number was altered after generation; a C006 means the run drifted from
HEAD. Exit 1 is a failing gate (refusal-grade only on C001 through C006 on clean evidence); an
inconclusive or insufficient-passage line item is an open item and NEVER fails the gate (D9,
D11). Fallbacks: pip install -e core/ then researcher-core compile ..., or
python -m researcher_core compile ... from a checkout.
Degradation path when uv and core/ are absent: still generate the pinned-dependency script,
still commit the script with its inputs and outputs, but state plainly in the manuscript that the
pooled numbers are NOT compile-verified in this environment. Do not claim the D18 binding you cannot
produce, and never hand-type a pooled number to fill the gap.
retracted (axis b) or contradicted
(axis c) source; inconclusive and insufficient-passage are open items for human review, never
treated as fabrication and never refusal-grade.Canonical copy: references/integrity-constraints.md.
npx claudepluginhub sokolmarek/researcherGuides statistical analysis with test selection, assumption checking, power analysis, and APA reporting. Use with /ds:experiment for methodology design, validation, and results.
Guides statistical analysis with test selection, assumption checking, power analysis, and APA-formatted reporting. Use for academic research or when you need help choosing appropriate tests.
Guides statistical analysis with test selection, assumption checking, power analysis, and APA-formatted reporting. Use for academic research or when you need help choosing appropriate tests.