skillfed

Best statistics and quantitative analysis skills for AI agents

statistics · published · SkillFed · edited by Mike Arbuzov

Ask an agent to "run the statistics" and it will hand you something that looks right. A test, a p-value, a confident sentence. What it will not do from general knowledge is check the assumption that makes the test valid, notice that the library renamed the column it is reading, or admit that the number it just produced answers a different question from the one you asked. And "statistics" is not one job. Comparing two groups, deciding which variant at a genome locus is actually causal, and deciding whether a volatility overlay survives trading costs share a vocabulary and almost nothing else — a document that is excellent at one is dead weight at the others.

The useful surprise, reading these: the best of them are the ones that argue against themselves. One volatility toolkit's own verdict section says its headline result dies at retail trading costs. One survival-analysis document stops mid-install to tell you its licence and its upstream library's licence are different things. That habit — publishing the limit alongside the recipe — turns out to be the single best signal of which of these to hand your agent.

Top picks

Five picks, plus the documents they were chosen over and the ones that turned out to be doing a different job entirely.

skill publisher license verdict updated
statistical-analysis K-Dense-AI MIT Top pick — group comparisons and write-ups 2026-07-28
scikit-survival K-Dense-AI MIT Top pick — time-to-event, leakage rules first 2026-07-28
tooluniverse-gwas-finemapping mims-harvard Apache-2.0 Top pick — causal variants, not lead SNPs 2026-07-27
garch-volatility-toolkit terrylica MIT Top pick — volatility sizing, honest verdict 2026-07-28
statistics-verifier travisjneuman MIT Top pick — auditing numbers you did not compute 2026-07-17
scikit-survival synthetic-sciences Apache-2.0 Strong alternative — better model-choice guide 2026-07-27
statsmodels K-Dense-AI MIT Different job — model-specific APIs, pinned release 2026-07-28
statsmodels synthetic-sciences Apache-2.0 Strong alternative — same text, more examples 2026-07-27
statistical-analysis winstonkoh87 MIT Different job — client reporting pipeline 2026-07-27
Statistical Analysis drshailesh88 none declared Different job — reading clinical trial results 2026-06-18
gwas-database synthetic-sciences Apache-2.0 Different job — catalogue lookup, not inference 2026-07-27
volatility HKUDS MIT Different job — a signal spec, not a forecast 2026-07-27
lifelines tondevrel MIT Too thin to lead on 2026-02-01

Group comparisons: the one that knows your library moved

For t-tests, ANOVA, regression and their Bayesian counterparts, K-Dense-AI's guided workbench runs a fixed arc: state the hypothesis before touching data, inspect per-group n and missingness, pick the test, run the bundled assumption_checks.py, then report effect sizes with intervals. Nothing else here tracks the version drift in these particular libraries — Pingouin 0.6.0 renamed its output columns, ArviZ 1.x defaults az.summary() to 89% intervals under a renamed width parameter, and a one-sided t-test call now silently drops its Bayes Factor column while the dedicated Bayes-Factor function raises on the same request.

Two of those announce themselves, as a missing key or a statistic that never arrives. The ArviZ default is the one that produces a plausible wrong number — an 89% interval written up as a 95% one. The document also refuses the flattering move: it calls post-hoc observed power circular and tells you to run a sensitivity analysis instead. Its own summary of why effect sizes are mandatory — "a p-value says an effect exists; the effect size says whether anyone should care" — is the sentence most agent statistics output is missing. Caveat: it deliberately defers model-specific APIs to a separate statsmodels document.

Time-to-event: take the one that leads with leakage rules

Survival analysis is where careless pipelines quietly cheat, and K-Dense-AI's scikit-survival document puts ten non-negotiable rules ahead of any code, aimed squarely at that. Split before any learned preprocessing. Fit censoring distributions on training data only, never a pooled train-plus-test outcome. Match predictions to metrics, because concordance wants higher-is-riskier scores while Brier wants survival probabilities. Never estimate an event-specific probability as one minus Kaplan-Meier while censoring competing events. It also names its own gaps: no Fine-Gray regression, and no dedicated calibration-curve API in the version it pins.

The synthetic-sciences document covering the same library is a better teaching text — it has a model-selection decision tree and the useful rule that Harrell's concordance index gives way to Uno's above 40% censoring. But its numbered preprocessing list puts the train-test split after imputation, encoding and scaling; the safe pipeline pattern appears later in the file, so the fix is in the document, just not in the workflow an agent would follow. The tondevrel lifelines card covers Kaplan-Meier, Cox and log-rank correctly and stops there — a lookup card, not a method.

GWAS loci: assume the lead SNP is the wrong answer

Hand an agent a genome-wide hit and it will name the nearest gene. This ToolUniverse fine-mapping document exists to stop that. It states the trap plainly — the top-scoring variant is "simply the best-tagged variant on the genotyping array" — then gives the procedure: pull the credible set, treat a posterior probability under 0.5 as evidence the lead variant is not causal, and break ties with functional evidence, because variants above an r² of 0.8 cannot be told apart statistically. It notes that African-ancestry studies give better fine-mapping resolution through shorter linkage blocks.

Its rival for the same shelf is a GWAS Catalog query manual: rs IDs, study accessions, trait ontology terms, REST endpoints. That document finds you the association. It cannot tell you which variant to believe, and the two are complements rather than substitutes. One caveat worth knowing before install: the front matter sets disable-model-invocation: true, so your agent will not reach for this on its own — you invoke it by name.

Volatility sizing: the toolkit that publishes its own null result

terrylica's garch-volatility-toolkit runs walk-forward GARCH(1,1) and GJR(1,1) fits over a 252-bar rolling window, with an inverse-volatility position overlay clipped to between half and double the base size. What makes it worth installing is the leakage section: a symbol written BTCUSDT instead of BTC/USDT silently zeroes every position, returns and prices are off by one bar unless you align them deliberately, and the reference volatility must be fitted on a closed window or you have imported the test set.

Then it grades itself. The verdict block sits above the code and says it plainly — "A negative-to-marginal result set, not a deployable edge" — before the numbers: the GJR overlay lifts ensemble Sharpe from +0.49 to +1.00 at 2 bps, but at 7 bps the lift is +0.02 with a p-value of 0.54. It says outright that its value is the methodology, not an alpha claim. HKUDS's volatility strategy is a different animal — a percentile-rank signal spec, honest in its own way ("Volatility is not direction"), and correct that crypto annualises on 365 rather than 252 — but it forecasts nothing.

Someone else's numbers: install the auditor separately

There is nothing executable in travisjneuman's statistics-verifier, and that is the point. It is a reading protocol for claims you did not compute: source, methodology, number sense, replication, conclusion, in that order. The red-flag table is specific enough to act on — "Up to X%" framing as a cherry-picked best case, relative risk quoted without an absolute difference, a highlighted subgroup analysis as likely post-hoc fishing. A severity matrix ranks p-hacking and selection bias as critical, and puts missing confidence intervals well below them.

It closes with a verdict vocabulary — verified, plausible, uncertain, misleading, false, unverifiable — which is what makes it usable as an agent instruction rather than a lecture. Bradford Hill's causation criteria appear with an explicit decision rule attached, not just as a list. One caveat: it cross-references sibling documents by relative path, and those links will not resolve if you install this file on its own.

What does the licence line in a skill's front matter actually tell you?

Often, not what you assume. In these documents the front-matter license: field tends to name the licence of the library or database the skill describes, not the licence of the skill text. K-Dense-AI's scikit-survival document is the one that says so out loud, distinguishing its own MIT terms from the upstream package and telling you to "review upstream licensing before redistribution". The synthetic-sciences document about the same library collapses the distinction instead: its front matter declares GPL-3.0 while the repository it ships in is Apache-2.0. Its GWAS Catalog document simply declares the licence Unknown.

The direction that actually bites runs the other way. The GARCH toolkit's repository record says MIT; the document's own footer says PolyForm Noncommercial. If you are building anything commercial on top of it, that is a difference worth five minutes before you install. The working rule: read the document, not the catalogue row. Of the three places a licence can turn up, the one written into the body — a footer like terrylica's, or an installation section like K-Dense-AI's — is the publisher's most direct statement about the text, and it is exactly the one a record built from repository metadata cannot show you. The front-matter license: line is the weakest of the three: treat it as a hint about the tool being wrapped until the body says otherwise.

Two skills with the same name are not two versions of the same thing

Skills are community-published and their names are not namespaced, so the same name routinely covers unrelated documents — and, occasionally, near-identical ones. Both effects show up here.

Two of the documents named statsmodels are effectively the same text. Their front-matter description sentences match word for word, and the best-practices, common-workflows, common-pitfalls and closing-links sections are identical between them — three of the four byte for byte, the fourth differing only in trailing whitespace. Neither declares an upstream source, and each carries its own author field, so which came first is not something the documents will tell you. They differ where it counts for a reader: one pins a specific release, the other adds runnable quick-start code for regression, logistic models, ARIMA and GLM. You want one of them, not both.

Documents named statistical-analysis go the opposite way and share almost nothing. One is the guided test-selection workbench above. One is a consultant's delivery pipeline built around SPSS output, assumption matrices and a client-ready report structure. One is a cardiology-focused guide to interpreting published trial results in absolute-risk and number-needed-to-treat terms. They even disagree on statistical convention: the first calls an R² of 0.13 a medium effect, the second sets that boundary at 0.09. Both are defensible readings of the same benchmark tradition, which is precisely why you cannot let the name decide.

The check takes a minute. Open the body and read two things: the first workflow section, which tells you what the document actually makes an agent do, and the front matter, which tells you who wrote it and what it thinks it wraps. The publisher and the body are a skill's identity; the name is only its topic.

What to install

Statistics is several jobs, so install by job. Take K-Dense-AI's statistical-analysis for group comparisons, assumption checks and write-ups; its scikit-survival when the outcome is a time to an event; the ToolUniverse fine-mapping document when you have a locus and need a causal variant rather than a nearest gene; the GARCH toolkit when you are sizing positions on forecast volatility; statistics-verifier when the numbers came from someone else.

What you have avoided by choosing this way: reading a p-value out of a column your library renamed, scaling a dataset before you split it, believing a lead SNP because it had the smallest p-value, and shipping a commercial backtest on a document whose own footer forbids it. None of those failures announce themselves. Every one of them was written down, in the body of a skill, by someone who had already made the mistake.

More skills worth a look

biostatistics

This skill handles survival analysis and time-to-event data common in clinical research, including Kaplan-Meier estimation, Cox proportional hazards regression, and competing risks modeling. It also covers longitudinal data analysis, diagnostic accuracy assessment, and missing data strategies tailored to biomedical studies.

MIT · ★ 869
tooluniverse-meta-analysis

Combine quantitative results from two or more studies into a pooled estimate and confidence interval, with built-in heterogeneity assessment (I², Q, τ²). The skill converts raw reported values—odds ratios, risk ratios, hazard ratios, means, proportions, correlations—into the standardized (effect, standard error) format pooling requires, then applies fixed- or random-effects models and generates a forest plot to visualize agreement across studies.

Apache-2.0 · ★ 1,595
quant-statistics

Quant-statistics provides time-series testing and volatility modeling tools for quantitative investing. It covers stationarity detection via ADF tests, cointegration analysis for pair trading, GARCH volatility forecasting, and regression diagnostics including heteroskedasticity and autocorrelation checks.

MIT · ★ 28,096
cointegration-analysis

Cointegration Analysis identifies when two non-stationary price series move together toward a stable equilibrium, enabling statistical arbitrage and mean-reversion trading. The skill implements Engle-Granger two-step regression, Johansen multivariate testing, and rolling window monitoring to detect relationship breakdowns. Use it to screen correlated assets, estimate hedge ratios, and validate spread mean reversion before deploying pairs strategies.

MIT · ★ 248
historical-risk

Quantify how risky an investment has been using historical price data. This skill computes annualized volatility, maximum drawdown, recovery time, historical VaR, downside deviation, and tracking error—supporting multiple volatility estimators including Parkinson and Yang-Zhang methods. Use it to analyze peak-to-trough losses and asymmetric downside risk.

MIT · ★ 159
data-stats-analysis

This skill brings rigorous statistical testing to your LLM workflow using standard Python libraries (scipy, statsmodels, numpy) that execute locally in your environment. Perform t-tests, ANOVA, correlation analysis, multiple testing corrections, and non-parametric tests—all compatible with any LLM provider including GPT, Claude, Gemini, and others.

MIT · ★ 869
Tooluniverse Phewas

Tooluniverse Phewas inverts the GWAS paradigm by fixing a variant or gene and scanning the entire phenome across four ancestry-matched biobanks plus exome-wide gene-burden data. Query a single rsID to discover all associated phenotypes, compare effect directions and allele frequencies across populations, and distinguish robust replicated signals from ancestry-specific or underpowered findings.

Apache-2.0 · ★ 1,595
mean-reversion

Mean-reversion identifies when prices, spreads, or other financial metrics deviate from their long-run average and predictably return. This skill provides statistical tests (ADF, Hurst exponent, variance ratio) to confirm mean reversion, half-life estimation to time entries and exits, z-score frameworks for signal generation, and Ornstein-Uhlenbeck process modeling for continuous-time analysis.

MIT · ★ 248
pywayne-statistics

Pywayne Statistics provides a unified library for statistical hypothesis testing across normality assessment, group comparisons, correlation analysis, time series validation, and regression diagnostics. Each test returns consistent result objects with p-values, confidence intervals, and effect sizes, making it straightforward to validate data assumptions and detect significant effects in A/B tests and observational studies.

MIT · ★ 8
onekgpd

onekgpd queries the 1000 Genomes Project cohort (3,202 whole-genome-sequenced individuals) to identify variants in a region and the individuals who carry them. Filter by allele frequency, consequence, AlphaMissense score, ClinVar significance, and zygosity; retrieve gnomAD annotations and kinship coefficients. Requires GRCh38 coordinates resolved beforehand.

MIT · ★ 31,940
regime-detection

Regime Detection classifies market conditions across volatility and trend axes to help you choose the right strategy for current conditions. It combines simple approaches like ATR percentiles and ADX with statistical methods including Hurst exponent and change-point detection, with tuning for crypto's faster regime shifts.

MIT · ★ 248
performance-metrics

Compute and interpret industry-standard risk-adjusted performance metrics for investment analysis. This skill covers Sharpe ratio, Sortino ratio, Information ratio, Treynor ratio, Calmar ratio, Omega ratio, and capture ratios—each designed to measure returns relative to different types of risk. Use it to compare funds, assess manager skill, and understand whether volatility is justified by returns.

MIT · ★ 159
statistical-testing

Statistical Testing provides researchers with advanced methods for hypothesis testing, Bayesian inference, survival analysis, time series modeling, and meta-analysis. The skill covers multiple comparison corrections, effect size calculations, and bootstrap/permutation approaches with APA-compliant reporting standards.

MIT · ★ 869
pair-trade-screener

Pair Trade Screener detects statistical arbitrage opportunities by identifying cointegrated stock pairs within sectors and analyzing their spread behavior. The skill uses correlation analysis, cointegration testing, and z-score calculations to generate market-neutral trading signals based on mean-reversion patterns. Designed for investors seeking uncorrelated trading strategies that profit regardless of overall market direction.

MIT · ★ 2,514