Skip to content
mcp/skillhub

Agent Skill

Full-empirical-analysis-skill skill

Full-empirical-analysis-skillbrycewang-stanford/Auto-Empirical-Research-Skillsskills/00.1-Full-empirical-analysis-skill_Python/SKILL.md

Classical end-to-end empirical analysis workflow in the traditional Python econometric stack — pandas + numpy + scipy + statsmodels + linearmodels + pyfixest + rdrobust + econml + causalml + matplotlib/seaborn. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) — every run produces a publication-ready output set with a multi-column regression table (M1→M6 progressive controls/FE) as the centerpiece, plus Table 1 (descriptives), mechanism / heterogeneity / robustness tables, and event-study + coefficient + trend figures. Covers the full 8-step pipeline an applied economist or quantitative social scientist runs on every paper — (1) data cleaning, (2) variable construction & transformation, (3) descriptive statistics & Table 1, (4) statistical diagnostic tests, (5) baseline empirical modeling, (6) robustness battery, (7) further analysis (mechanism, heterogeneity, mediation, moderation), (8) publication-ready tables & figures. **Also covers two parallel domain modes that share the same 8-step scaffolding** — **Mode A — Epidemiology / public health** (target-trial emulation via `zepid` / hand-rolled `pandas`, IPTW + g-formula + TMLE doubly-robust triplet via `zepid` / `econml` / `lifelines`, Mendelian randomization via `pymr` / `mrtool` (or `rpy2` → `MendelianRandomization`/`TwoSampleMR`), KM / AFT / Cox survival via `lifelines`, E-value sensitivity, principal stratification — STROBE / TRIPOD reporting), and **Mode B — ML causal inference** (DML via `econml.dml` / `doubleml`, S/T/X/R/DR meta-learners via `econml.metalearners` / `causalml`, causal forest via `econml.grf` / `causalml`, Dragonnet / TARNet / CEVAE neural causal via `causalml`, BCF via `pymc-bart` / `bcf-py`, matrix completion, CATE distribution + policy tree via `econml.policy` / `policytree-py`, off-policy evaluation, conformal causal via `mapie`, fairness audit via `fairlearn`, DAG learning via `causal-learn` / `cdt` / LLM-assisted). Prescribes which library to reach for at each step, shows the canonical code, and links to deeper `references/` files for variant-specific patterns. Use when the user asks for a **complete empirical analysis** in Python, wants to replicate an applied-economics paper from scratch, needs a reproducible workflow that is NOT opinionated on any single vertical package (contrast with StatsPAI), wants explicit control over every estimator and diagnostic, or asks "how do I write a full empirical pipeline in Python?". Also triggers when the user names a specific classical step in isolation — "winsorize at 1/99%", "run Breusch-Pagan", "build a Table 1 balance table", "do a placebo test", "event study plot", "mediation analysis" — and wants it wired into the broader pipeline. Mode A triggers on "target trial emulation", "IPTW", "TMLE", "Mendelian randomization", "STROBE", "公共健康", "流行病学". Mode B triggers on "DML", "double machine learning", "causal forest", "meta-learner", "Dragonnet", "BCF", "policy tree", "conformal causal", "fairness audit", "因果机器学习".

4.7k

always on

779 tokname + description

once used

31,086 tokSKILL.md body

bundled files

9116 KB

repo stars

4.7kGitHub

Install the Full-empirical-analysis-skill skill

Skills CLI (Claude Code, Codex, Cursor and others)

npx skills add https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills --skill Full-empirical-analysis-skill

Claude Code, by hand (all projects)

git clone --depth 1 https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills.git /tmp/Auto-Empirical-Research-Skills
mkdir -p ~/.claude/skills
cp -R /tmp/Auto-Empirical-Research-Skills/skills/00.1-Full-empirical-analysis-skill_Python ~/.claude/skills/00.1-Full-empirical-analysis-skill_Python

For one project only, copy the folder into .claude/skills/ in that project instead. The agent picks it up when a task matches its description.

What it costs your context

Agent Skills load in three steps. Tokens counted with the o200k tokenizer; your model's count will differ a little.

WhenWhat loadsCost
Every sessionName and description779 tok
When the agent uses itThe SKILL.md instructions31,086 tok
Only if opened9 bundled files (116 KB)varies

Until it is used, Full-empirical-analysis-skill costs about 1.7× less than the median MCP server we measured (1,363 tokens on every turn). Installing all 150 skills from brycewang-stanford/Auto-Empirical-Research-Skills would load 14,926 tokens of descriptions. Skills vs MCP study

Checks

  • The instructions are over 5,000 tokens, the Agent Skills specification's guideline for SKILL.md.
  • The instructions are over 500 lines; the specification suggests moving detail into reference files.
  • The description is longer than the specification's 1,024-character limit, so some agents may cut or reject it.
  • The name breaks the specification (lowercase letters, digits and single hyphens, up to 64 characters).

Checked 2026-10-22 · method

What's inside

The headings of its SKILL.md. Read the full file on GitHub.

  • Full Empirical Analysis — Classical Python Workflow
  • Philosophy
  • SkillOpt-style execution gate
  • Three domain modes (default = AER econ; alternates = epi & ML-causal)
  • Default Output Spec — Economics Empirical Paper
  • Required tables (always produced)
  • Required figures (always produced)
  • Output file layout (default)
  • When to deviate
  • Required Libraries
  • The 8 Steps — Canonical Pipeline (mapped to AER paper sections)
  • Paper-ready figure & table inventory (what to produce by section)
  • Export cookbook — LaTeX / Word / Excel in one block
  • Step −1 — Pre-Analysis Plan (pre-data; AEA RCT Registry style)
  • Step 0 — Sample-construction log & 5-check data contract
  • 0.1 Sample-construction log (footnote 4)
  • 0.2 Five-check data contract (go / no-go gate)
  • Step 1 — Data cleaning
  • Step 2 — Variable construction & transformation
  • Step 2.5 — Empirical strategy (write the equation + identifying assumption)
  • Step 3 — Descriptive statistics & Table 1
  • Step 3.5 — Identification graphics (Section "Identification, graphical evidence")
  • Step 4 — Diagnostic statistical tests
  • Step 5 — Baseline empirical modeling (Section 4: Main Results)

More skills from brycewang-stanford/Auto-Empirical-Research-Skills

All skills in this repo
  1. Answering Research Questionsbrycewang-stanford/Auto-Empirical-Research-Skills

    Main orchestration workflow for systematic literature research - search, evaluate, traverse, synthesize

    4.7k22 tok idle · 4,546 in use
  2. Building Paper Screening Rubricsbrycewang-stanford/Auto-Empirical-Research-Skills

    Collaboratively build and refine paper screening rubrics through brainstorming, test-driven development, and iterative feedback

    4.7k25 tok idle · 4,524 in use
  3. Checking ChEMBL for Structured SAR Databrycewang-stanford/Auto-Empirical-Research-Skills

    Check if medicinal chemistry papers are in ChEMBL database to access curated bioactivity data

    4.7k26 tok idle · 3,679 in use
  4. Cleaning Up Research Sessionsbrycewang-stanford/Auto-Empirical-Research-Skills

    Safely remove intermediate files from completed research sessions while preserving important data

    4.7k18 tok idle · 2,943 in use
  5. Evaluating Paper Relevancebrycewang-stanford/Auto-Empirical-Research-Skills

    Two-stage paper screening - abstract scoring then deep dive for specific data extraction

    4.7k20 tok idle · 5,077 in use
  6. Finding Open Access Papersbrycewang-stanford/Auto-Empirical-Research-Skills

    Use Unpaywall API to find free full-text versions of paywalled papers

    4.7k21 tok idle · 2,422 in use
  7. Full-empirical-analysis-skill-Rbrycewang-stanford/Auto-Empirical-Research-Skills

    Classical end-to-end empirical analysis workflow in the modern tidyverse + econometrics R ecosystem — dplyr + tidyr + haven + fixest + sandwich + lmtest + clubSandwich + AER + ivreg + did + bacondecomp + HonestDiD + eventstudyr + rdrobust + rddensity + Synth + gsynth + synthdid + MatchIt + WeightIt + cobalt + ebal + grf + DoubleML + mediation + marginaleffects + modelsummary + kableExtra + gt + ggplot2 + ggpubr + cowplot + binsreg. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) — every run produces a publication-ready output set with a multi-column regression table (M1→M6 progressive controls/FE) as the centerpiece, plus Table 1 (descriptives), mechanism / heterogeneity / robustness tables, and event-study + coefficient + trend figures. Covers the full 8-step R pipeline an applied economist runs on every paper — (1) data import & cleaning (read_dta/read_csv, naniar, janitor, validate-merges), (2) variable construction (mutate/across/winsorize/group_by + lag/lead with dplyr), (3) descriptive statistics & Table 1 (gtsummary, modelsummary::datasummary, tableone), (4) classical diagnostic tests (shapiro/jarque.bera.test/bptest/dwtest/bgtest/vif/adf.test/kpss.test/Hausman), (5) baseline modeling (fixest::feols, ivreg, did::att_gt, eventstudyr, sun_ab, did_imputation, synthdid, rdrobust, MatchIt, WeightIt, grf::causal_forest, DoubleML, mediation), (6) robustness battery (modelsummary stack, clubSandwich CRSE, fwildclusterboot, ri2, robomit Oster, bacondecomp, HonestDiD), (7) further analysis (interactions + marginaleffects, mediation::mediate, gsem via lavaan, dose-response splines, grf CATE), (8) publication-ready tables & figures (modelsummary, kableExtra, gt, stargazer, texreg, flextable to LaTeX/Word/HTML; ggplot2 + ggpubr + cowplot + binsreg + iplot for figures). **Also covers two parallel domain modes that share the same 8-step scaffolding** — **Mode A — Epidemiology / public health** (target-trial emulation, IPTW + g-formula + TMLE doubly-robust triplet via `WeightIt` / `gfoRmula` / `tmle` / `ltmle`, Mendelian randomization via `MendelianRandomization` / `TwoSampleMR` / `MRPRESSO`, KM / Cox / AFT / RMST survival via `survival` / `survminer` / `flexsurv`, E-value sensitivity via `EValue`, principal stratification — STROBE / TRIPOD reporting), and **Mode B — ML causal inference** (DML via `DoubleML`, S/T/X/R/DR meta-learners via `causalweight` / `grf`, causal forest via `grf::causal_forest`, BART/BCF via `bartCause` / `bcf`, matrix completion via `MCPanel`, CATE distribution + policy tree via `policytree`, off-policy evaluation, conformal causal via `conformalInference` / `cfcausal`, fairness audit via `fairmodels`, DAG learning via `pcalg` / `bnlearn` / LLM-assisted). Use when the user asks for a complete R empirical analysis, wants a tidyverse-style reproducible R script / Quarto workflow, prefers fixest over reghdfe, needs the R counterpart to StatsPAI / 00.1 / 00.2, or names a specific R step in isolation ("feols with cluster", "MatchIt nearest neighbor", "bacondecomp in R", "gtsummary table 1", "modelsummary to Word"). Mode A triggers on "target trial emulation R", "tmle ltmle", "MendelianRandomization", "TwoSampleMR", "MRPRESSO", "survival cox AFT", "STROBE R", "EValue R", "公共健康 R", "流行病学 R". Mode B triggers on "DoubleML R", "grf causal forest", "policytree", "bartCause bcf", "conformal causal R", "fairmodels", "pcalg NOTEARS", "因果机器学习 R".

    4.7k990 tok idle · 34,618 in use
  8. Full-empirical-analysis-skill-Statabrycewang-stanford/Auto-Empirical-Research-Skills

    Classical end-to-end empirical analysis workflow in the traditional Stata ecosystem — native Stata + reghdfe + ivreg2 + csdid + did_imputation + eventstudyinteract + sdid + rdrobust + rddensity + synth + synth_runner + psmatch2 + teffects + ebalance + coefplot + esttab + asdoc + binscatter. **Defaults to economics empirical-paper style** (AER / QJE / AEJ) — every run produces a publication-ready output set with a multi-column regression table (M1→M6 progressive controls/FE) as the centerpiece, plus Table 1 (descriptives), mechanism / heterogeneity / robustness tables, and event-study + coefficient + trend figures. Covers the full 8-step Stata pipeline an applied economist runs on every paper — (1) data import & cleaning (use/import, destring, misstable, duplicates, merge assert), (2) variable construction (gen/egen/winsor2/xtile/xtset with L./F./D.), (3) descriptive statistics & Table 1 (tabstat/balancetable/asdoc), (4) classical diagnostic tests (sktest/swilk/hettest/imtest/xtserial/xttest3/vif/dfuller/kpss/hausman/estat overid), (5) baseline modeling (reg/xtreg/reghdfe/ivreg2/ivregress/csdid/did_imputation/eventstudyinteract/sdid/rdrobust/synth/psmatch2/teffects/heckman/qreg/ppmlhdfe), (6) robustness battery (bacondecomp/honestdid/rwolf/ritest/wildbootstrap/oster), (7) further analysis (subgroup/triple-diff/interactions/medsem/marginsplot/binscatter by group), (8) publication-ready tables & figures (esttab/outreg2/estout/coefplot/marginsplot/rdplot/twoway combined). **Also covers two parallel domain modes that share the same 8-step scaffolding** — **Mode A — Epidemiology / public health** (target-trial emulation, IPTW + g-formula + TMLE doubly-robust triplet via `teffects ipw` / `teffects ipwra` / `teffects aipw` / `eltmle`, Mendelian randomization via `mrrobust` (IVW / Egger / weighted median) and `mregger` / `mrpresso`, KM / Cox / AFT / RMST survival via `sts` / `stcox` / `streg` / `strmst2`, E-value sensitivity via `evalue` (Linden-Mathur), principal stratification — STROBE / TRIPOD reporting), and **Mode B — ML causal inference** (DML via `ddml` / `pdslasso`, S/T/X/R/DR meta-learners via `crforest` and `ddml interactive`, causal forest via `crforest` / `cforest`, BART/BCF via `bart` / `bartCause`-style externals, CATE distribution + policy tree via `crforest`, off-policy evaluation, conformal causal externals, fairness audit, DAG learning via `pcalg` / external Python callouts). Use when the user asks for a complete Stata empirical analysis, wants a reproducible .do-file pipeline, needs a Stata counterpart to the Python StatsPAI / Full-empirical-analysis-skill, or names a specific Stata step in isolation ("run reghdfe with two-way clustering", "csdid event study", "winsor2 at 1%", "esttab to LaTeX", "coefplot with CI", "ivreg2 weak-IV test", "synth_runner placebos", "teffects psmatch balance check"). Mode A triggers on "target trial emulation Stata", "teffects ipw aipw", "eltmle", "mrrobust", "mregger weighted median", "stcox AFT survival", "strmst2", "evalue Stata", "STROBE Stata", "公共健康 Stata", "流行病学 Stata". Mode B triggers on "ddml Stata", "pdslasso", "crforest causal forest Stata", "policy tree Stata", "因果机器学习 Stata".

    4.7k939 tok idle · 34,481 in use