From claude-data-analyst
Take a user-stated hypothesis and test it against the data, producing a report stating whether the data supports, refutes, or is inconclusive about the claim. Use when the user has a specific question or claim they want to interrogate against a dataset.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin claude-data-analystThis skill uses the workspace's default tool permissions.
Rigorous first-pass evaluation of a user hypothesis against a dataset.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Rigorous first-pass evaluation of a user hypothesis against a dataset.
Before testing, restate the user's claim as:
Show this formalisation to the user and proceed unless they object.
| User hypothesis shape | Variables | Default test |
|---|---|---|
| Group A mean ≠ Group B mean | 1 numeric + 1 binary categorical | Welch's t-test (unequal var) or Mann-Whitney if non-normal |
| Difference across 3+ groups | 1 numeric + 1 categorical | One-way ANOVA or Kruskal-Wallis |
| Association between two categoricals | 2 categoricals | Chi-square (or Fisher's exact if small cells) |
| Correlation ≠ 0 | 2 numerics | Pearson (linear) or Spearman (monotonic) |
| Proportion differs from value | 1 binary | One-sample proportion z-test |
| Paired before/after | 1 numeric, paired | Paired t-test or Wilcoxon signed-rank |
| Time trend | 1 numeric + time | Mann-Kendall or regression slope test |
Check assumptions (normality via Shapiro-Wilk for small n or visual for large n; equal variance via Levene's) and fall back to the non-parametric counterpart when they fail.
Recommended: uv run --with pandas --with scipy --with statsmodels python -c '...'.
Report:
Classify as one of:
Do not equate "p > 0.05" with "no effect" — distinguish "evidence of no effect" (tight CI around zero) from "no evidence of effect" (wide CI).
Write <dataset>-hypothesis-<slug>.md: