Skip to content
Automation
Skill

/causal-ml

This skill covers causal machine learning methods in applied economics and quantitative social science. Use when implementing or choosing between modern ML-based causal estimators — including double machine learning, DML, partially linear models, interactive regression models,

From plugin
auto-empirical-research-skills
4.9k200 skills

Claude Code

$ npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill causal-ml --agent claude-code

SKILL.md

causal-ml.SKILL.md
name: causal-ml
argument-hint: "<estimator or method choice>"
description: >-
  This skill covers causal machine learning methods in applied economics and quantitative social science. Use when implementing or choosing between modern ML-based causal estimators — including double machine learning, DML, partially linear models, interactive regression models, cross-fitting, Neyman orthogonality, debiased ML, causal forests, generalized random forest, GRF, honest causal trees, AIPW with machine learning, doubly robust with machine learning, DR-Learner, T-Learner, S-Learner, X-Learner, meta-learners, heterogeneous treatment effects, conditional average treatment effect, CATE, HTE, high-dimensional controls, LASSO controls, post-LASSO, post-double selection, Belloni-Chernozhukov-Hansen, Riesz representer, Chernozhukov, sample splitting, econml, DoubleML package, or any combination of machine learning and causal inference.

Causal Machine Learning

Reference for semiparametric ML estimators: DML with cross-fitting, generalized random forests, debiased regularization, and nuisance function approximation. Covers Neyman-orthogonal moment conditions, sample splitting, plug-in bias correction, and heterogeneous treatment effects.

When to Use This Skill

Use when the user is:

  • Estimating treatment effects with high-dimensional controls (p large relative to n)
  • Interested in heterogeneous treatment effects (CATE) as a primary estimand
  • Applying ML for flexible nuisance function estimation within a causal framework
  • Implementing cross-fitting, sample splitting, or Neyman-orthogonal estimators
  • Using `econml`, `DoubleML`, or `grf` packages

Skip when:

  • Sample is small (n < 500 — ML nuisance models need data)
  • A well-specified parametric model is available and defensible
  • The task is standard IV/DiD/RDD without high-dimensional controls (use `causal-inference` skill)
  • Structural modeling is needed (use `structural-modeling` skill)
  • The task needs formal identification proof (use `identification-proofs` skill)

Where to Start

  • **Choosing a method?** Jump to [Method Selection Guide](#method-selection-guide)
  • **ATE with many controls?** See `references/dml.md`
  • **Heterogeneous treatment effects?** See `references/grf-meta-learners.md`
  • **Variable selection for controls?** See `references/high-dim-cross-fitting.md`
  • **Reporting HTE results?** See `references/hte-inference.md`
  • **Connecting to traditional methods?** See `references/connections-traditional.md`

---

Causal ML vs Traditional Methods

| Dimension | Traditional (IV, DiD, RDD) | Causal ML | |-----------|--------------------------|-----------| | Functional form | Parametric | Nonparametric / semi-parametric | | High-dimensional controls | Problematic | Native support | | Heterogeneous effects | Secondary (subgroup analysis) | Primary estimand (CATE) | | Sample requirements | Moderate N | ML nuisance needs large N | | Identification | Explicit (IV, DiD, RCT) | Same assumptions — ML is estimation, not identification |

**Critical point:** Causal ML does not relax identification assumptions. If you need a valid instrument, parallel trends, or no unmeasured confounding, those must still hold.

---

Double Machine Learning (DML)

DML (Chernozhukov et al. 2018) fixes regularization bias in naive ML-in-regression. Partial out controls X from both Y and D using separate ML nuisance models, then regress residuals. Two properties: **Neyman orthogonality** (moment condition locally insensitive to nuisance error) and **cross-fitting** (prevents overfitting bias).

**PLR** (Partially Linear Regression): $Y = \theta D + g(X) + \varepsilon$. Workhorse for continuous or binary D with ATE under selection on observables. **IRM** (Interactive Regression Model): relaxes additive separability for binary D with heterogeneous effects.

Full implementation (Python/R code, cross-fitting from scratch, diagnostics) in `references/dml.md`.

Causal Forests

Causal forests (Wager-Athey 2018; Athey-Tibshirani-Wager 2019) estimate CATE $\tau(x) = E[Y(1)-Y(0)|X=x]$ using **honest** forests (structure learned on one subsample, effects estimated on another). Use when CATE is the primary estimand and n $\geq$ 2,000. Always run the calibration test before reporting heterogeneity.

R (`grf`) and Python (`econml`) implementations, ATE/ATT extraction, BLP projections in `references/grf-meta-learners.md`.

Meta-Learners

Decompose CATE estimation into supervised learning sub-problems. **DR-Learner** (Kennedy 2023): best properties when both nuisance models are well-specified. **T-Learner**: simplest baseline. **X-Learner**: designed for imbalanced treatment. For applied work: DR-Learner primary, T-Learner benchmark. Large disagreement signals nuisance model problems.

All implementations in `references/grf-meta-learners.md`.

High-Dimensional Controls

**PDS-LASSO** (Belloni-Chernozhukov-Hansen 2014): separate LASSOes of Y on X and D on X, union of selected variables, then OLS. Works at moderate n (~200 with sparse confounders). See `references/high-dim-cross-fitting.md`.

HTE Inference

Before reporting CATE, test for genuine heterogeneity using BLP calibration test. Do not report heterogeneous effects if calibration test fails (p > 0.10). See `references/hte-inference.md`.

---

Method Selection Guide

Decision Heuristic

1. n < 500? → Use standard methods (causal-inference skill)
2. High-dim controls (p > 20), want ATE? → PDS-LASSO or DML-PLR; binary D → DML-IRM
3. CATE is primary estimand? → Causal Forest (large n) or DR-Learner (doubly robust)
4. Endogenous treatment with instrument? → DML-PLIV
5. Treatment is rare/imbalanced? → X-Learner
6. Quick benchmark? → Always compute T-Learner as baseline

Full Method Comparison

| Method | Estimand | Python | R | Min n | Key diagnostic | |--------|----------|--------|---|-------|----------------| | DML-PLR | ATE | `doubleml`, `econml` | `DoubleML` | ~500 | Nuisance R², res

Read more
@brycewang-stanford
Ships withauto-empirical-research-skills

## 🔥 力荐 · StatsPAI — Stata 与 R 的 Python 平替,为 AI Agent 而生 🔁 Stata / R 平替:reghdfe、csdid、rdrobust、synth、fixest、did 等常用命令在 Python 中一站式替代,一个 import statspai as sp 搞定 DID / RD / IV / SCM / DML / matching 🤖 面向 Agent 设计:结构化结果对象 + 内置 MCP Server,Claude / Codex

4.9k200 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
4.9k
Star history of brycewang-stanford/Auto-Empirical-Research-Skills on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about causal-ml.

Which coding agents can use causal-ml?
causal-ml installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.