agentsclimarketplace

Stat causal inference

Skill charlieviettq/awesome-agent-skill/.cursor/skills/asgard-ai-platform/stat-causal-inference

Apply causal inference methods — counterfactual framework, instrumental variables, propensity score matching, and difference-in-differences — to estimate causal effects from observational data. Use this skill when the user needs to determine if X caused Y from non-experimental data, evaluate program/policy impact without a randomized trial, or control for confounders — even if they say 'did this change cause the improvement', 'how do we measure the impact without an experiment', or 'is this correlation or causation'.From its SKILL.md

Install
npx -y skills add charlieviettq/awesome-agent-skill --skill stat-causal-inference

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 24 stars24 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.6 KB, 874 tokens by cl100k_base, as published. Nobody here has run it

Causal Inference

Framework

IRON LAW: Correlation Is Not Causation — But Causation Is Estimable

Observational data cannot prove causation through correlation alone.
BUT with the right methodology (matching, IV, DID, RDD), we CAN
estimate causal effects from observational data — IF the assumptions
of each method are satisfied and explicitly tested.

The key question is always: "What would have happened WITHOUT the treatment?"
(the counterfactual)

The Fundamental Problem

We observe: Y_i(treated) — what happened to the treated unit. We want to know: Y_i(treated) - Y_i(untreated) — the causal effect. We can never observe: Y_i(untreated) for the same unit at the same time.

All causal inference methods estimate the counterfactual — what would have happened without the treatment.

Method Selection Guide

MethodWhen to UseKey Assumption
RCTYou can randomizeRandom assignment eliminates confounders
Propensity Score Matching (PSM)Treatment is non-random but based on observablesNo unobserved confounders (selection on observables)
Instrumental Variables (IV)Unobserved confounders exist but you have an instrumentInstrument affects treatment but not outcome directly
Difference-in-Differences (DID)Policy/event creates natural treatment/control groupsParallel trends: groups would have trended similarly without treatment
Regression Discontinuity (RDD)Treatment assigned by a cutoffObservations just above/below cutoff are comparable
Synthetic ControlOne treated unit, multiple control units (aggregate data)Synthetic weighted combination matches pre-treatment trends

Analysis Steps

  1. Define the causal question: What is the treatment? What is the outcome?
  2. Identify threats to validity: What confounders could explain the association?
  3. Choose a method: Based on data structure and available identification strategy
  4. Check assumptions: Each method has testable and untestable assumptions
  5. Estimate the effect: Run the analysis
  6. Sensitivity analysis: How much would results change if assumptions are partially violated?

Output Format

# Causal Analysis: {Treatment} → {Outcome}

## Causal Question
- Treatment: {what intervention/event}
- Outcome: {what we're measuring}
- Counterfactual: {what would have happened without treatment}

## Identification Strategy
- Method: {PSM / IV / DID / RDD / etc.}
- Rationale: {why this method fits}
- Key assumption: {stated explicitly}
- Assumption test: {how we check, or acknowledge if untestable}

## Results
- Estimated causal effect: {magnitude with CI}
- Robustness checks: {alternative specifications}

## Limitations
{What could still invalidate these results}

Gotchas

  • "Controlling for X" doesn't guarantee causation: Adding control variables to a regression reduces SOME confounding but not unobserved confounders. If the treatment wasn't random, OLS with controls is not causal.
  • Parallel trends is untestable: For DID, we can check pre-treatment parallel trends but can't prove they would have continued. It's an assumption, not a fact.
  • Weak instruments invalidate IV: An instrument that barely affects the treatment produces biased estimates (often worse than OLS). Test instrument strength with the first-stage F-statistic (> 10).
  • External validity: Causal effects estimated in one context may not generalize. An effect estimated for users near a cutoff (RDD) may not apply to the full population.
  • Causal inference requires domain knowledge: Statistical methods alone can't determine what is a confounder, what is a mediator, or what is a collider. Draw the causal diagram (DAG) first.

References

  • For directed acyclic graphs (DAGs), see references/causal-dags.md
  • For DID implementation in Python/R, see references/did-implementation.md

What ships with it: 3 files

29.2 KB alongside SKILL.md

examples/

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.