Skills
Fifteen skills, four groups.
The pack covers designing and estimating (identification, causal designs, panel data, time series, inference, diagnostics), writing it up in R and Stata reproducibly, reasoning about economics without inherited priors, and giving every number its identity. Each skill states the specific model failure it prevents — and 32 of those failures are now executable rules the linter checks.
Install
git clone https://github.com/alfredbirkelund/equilibriumlabs.git
mkdir -p ~/.claude/skills
cp -r equilibriumlabs/skills/*/ ~/.claude/skills/
Agent Skills format — a directory with a SKILL.md. Install by copying into .claude/skills, or read them as documentation. Full instructions, including Windows and project-scoped
installs, are in the docs.
Practice
Designing the analysis and estimating it — the order of the work, the identification, and the inference.
Orders the work — question, identification, data, specification, estimation, diagnostics, reporting — and routes to the right skill at each stage.
Prevents
A model that runs a regression the moment someone says "regress y on x", before anyone has said what would make the coefficient mean something.
Establishes what variation identifies the parameter, what must be true for it to, and what would break it — before an equation is written.
Prevents
Treating "we control for relevant covariates" as an identification strategy, when it names no assumption that could fail.
The assumption set, diagnostic tests, and reporting obligations specific to difference-in-differences, event studies, IV, regression discontinuity, synthetic control, and matching.
Prevents
Reading a passed pre-trend test as proof of parallel trends, when parallel trends is a claim about a counterfactual that no test can confirm.
Fixed versus random effects, what the within transformation absorbs, and the modern estimators for staggered treatment adoption.
Prevents
Applying two-way fixed effects to a staggered rollout, where negative weights can flip the sign even when every unit-level effect is positive.
Stationarity, unit roots, cointegration, HAC inference, structural breaks, and forecast evaluation that is actually out of sample.
Prevents
Regressing two integrated series on each other and reporting the high R-squared as a relationship.
Choosing the clustering level, surviving few clusters, multiple testing, and reporting effect sizes rather than stars.
Prevents
Reporting default standard errors on clustered data — the most common silent error in model-produced analysis.
Functional form, influence, collinearity, limited dependent variables, and missing data — as inputs to reporting, never as a licence to search.
Prevents
Deleting influential observations until the result firms up, and describing it as a robustness check.
Software
Writing it up in R and Stata, in a form that reproduces on a machine that is not yours.
Modern R idioms: fixest, sandwich and lmtest, modelsummary, and the project layout that keeps an analysis reproducible.
Prevents
Reading coefficients off summary(lm(...)) and reporting them as robust, when that output is not robust to anything.
Modern Stata: reghdfe, ivreghdfe, xtreg, vce() discipline, margins, and a master do-file that runs from raw data to final table.
Prevents
Quoting the Cragg-Donald weak-identification statistic under clustered errors, where the Kleibergen-Paap statistic is the one that applies.
Seeds, lockfiles, immutable raw data, and a run manifest — with the rule that no step may depend on something done by hand.
Prevents
An analysis that reproduces only on the machine that produced it, because one step was a manual edit nobody recorded.
Reasoning
Thinking about economics without replaying the priors a training corpus installs.
The moves that make analysis economic: the counterfactual, incidence, partial versus general equilibrium, elasticities, margins, and mechanism versus effect.
Prevents
Answering a general-equilibrium question with a partial-equilibrium estimate, and not saying which one was used.
Separates settled questions from contested ones, and requires the model to name the framework its answer assumes when the framework is doing the work.
Prevents
Delivering the modal position of the training corpus with the confidence of arithmetic, on a question the literature has not settled.
A checklist against the specific ways language models get economics wrong, each with the correction — run over a draft before it is published.
Prevents
Smuggling a welfare judgement into a positive claim through vocabulary — efficiency, distortion, burden — without declaring the criterion.
Numbers
Giving every figure an identity, and refusing rather than guessing when it has none.
Seasonal adjustment, real versus nominal, rebasing and chain-linking, denominators, methodology breaks, and data vintages.
Prevents
The right-looking number from the wrong series: correctly transcribed, correctly sourced, and not measuring what the sentence claims.
Every figure carries source, identifier, units, period, and vintage — with explicit rules for refusing rather than guessing.
Prevents
Stating a specific statistic from memory, which fails in exactly the way that looks most confident.
Found one that's wrong
A rule stated too strongly becomes a rule applied where it doesn't hold. Corrections
are the most valuable contribution this project can receive.
How to contribute ↗